67 lines
2.4 KiB
Markdown
67 lines
2.4 KiB
Markdown
# twitter
|
|
|
|
Emit Threadwell archive notes from a `thread_data.json` dump. No fetch. Lift and CRT snapshot are still manual.
|
|
|
|
## Emit
|
|
|
|
```
|
|
python C:\projects\Threadwell\scripts\twitter\emit_archive.py --input C:\projects\manual_slop\docs\twitter\2064858927829745887 --vault C:\projects\Threadwell --slug steamos-init --archived 2026-08-23
|
|
```
|
|
|
|
`--tip <id>` climbs same-handle `reply_to` and uses that chain as `index.md`.
|
|
|
|
`--all` skips a dump whose `post_id` already exists unless `--force`.
|
|
|
|
`--force` rewrites `media.json` to orig-only. Restore CRT/OCR rows with `media_merge.py`.
|
|
|
|
## Tip graph (no vault writes)
|
|
|
|
```
|
|
python C:\projects\Threadwell\scripts\twitter\graph_dry_run.py --input C:\projects\manual_slop\docs\twitter\<id>
|
|
```
|
|
|
|
## CRT (stock slang only)
|
|
|
|
`crt_pass.py` nearest-scales, then runs **unpatched** `crt-lottes-multipass.slangp` / `crt-Cyclon.slangp` via `librashader-cli`. It does not edit shaders. ShaderGlass snapshot is still the look reference.
|
|
|
|
```
|
|
python C:\projects\Threadwell\scripts\twitter\crt_pass.py --in ORIG.png --out CRT.png --preset cyclon --nn 3 --shader-scale 100% --dry-run
|
|
```
|
|
|
|
`--nn 3` is Affinity 300%. `--shader-scale` is librashader `-d`. `--shaderglass` only launches the .sgp.
|
|
|
|
If the plate is wrong, snapshot ShaderGlass yourself and drop `*_crt.png` next to the orig, then `media_merge.py`.
|
|
|
|
## OCR
|
|
|
|
```
|
|
python C:\projects\Threadwell\scripts\twitter\ocr_pass.py --in ORIG.png --media-json THREAD\media.json
|
|
```
|
|
|
|
Prefers `umi-ocr` (`scoop install extras/umi-ocr`), then tesseract, then Windows.Media.Ocr. Writes `*_ocr.txt`. ShareX has no OCR CLI.
|
|
|
|
## Select CRT vs orig in the note
|
|
|
|
```
|
|
python C:\projects\Threadwell\scripts\twitter\media_embed.py --thread ASSETS_THREAD --notes ARCHIVE_THREAD --media-id GBgHT_2WIAAKuNq --show crt
|
|
python C:\projects\Threadwell\scripts\twitter\media_embed.py --thread ASSETS_THREAD --notes ARCHIVE_THREAD --media-id GBgHT_2WIAAKuNq --attach-ocr
|
|
```
|
|
|
|
## Lift to catbox
|
|
|
|
```
|
|
python C:\projects\Threadwell\scripts\twitter\lift_catbox.py --thread ASSETS_THREAD --notes ARCHIVE_THREAD --orig
|
|
```
|
|
|
|
Reads `[catbox] userhash` from `secrets/credentials.toml`. Never prints it. Rewrites `Media (not lifted): \`file\`` to ``.
|
|
|
|
## Restore extra media.json rows
|
|
|
|
```
|
|
python C:\projects\Threadwell\scripts\twitter\media_merge.py --thread ASSETS_THREAD
|
|
```
|
|
|
|
## Frozen Onat
|
|
|
|
`do_not_refetch.txt` — do not overwrite those three dumps.
|