This commit is contained in:
MrARM
2026-07-07 00:25:38 -05:00
parent 8207a1e356
commit 7ff39227fe
89 changed files with 20141 additions and 408 deletions

View File

@@ -22,22 +22,109 @@ These files are workspace-local generated artifacts, not target-root files.
| `ad44ee65ddbd7f0a44e0a4b7f15332460fa48185fc45b12dc74b10f9dece9334` | `project.zip` | Improved Godot editor reconstruction with restored PNG source paths and loose `lcd`/`nuk` assets; 980,835,332 bytes. |
| `ad44ee65ddbd7f0a44e0a4b7f15332460fa48185fc45b12dc74b10f9dece9334` | `project_reconstructed.zip` | Same improved archive as `project.zip`, kept under an explicit reconstruction name. |
| `05d2606f23e694c369c855a232a787e03b8c838b346558df615598f01519cca1` | `project_basic_exported.zip` | First-pass exported-resource-only Godot wrapper; 255,346,627 bytes. |
| `4be4399dcebce7d3f857dd76319061ef4284a65770fe3de3d742668c31ae8fbf` | `godot_editor_project_reconstructed/project.godot` | Reconstructed Godot 4.4.1 project settings wrapper based on `project.binary`. |
| `bf673928249f53f763ebeb56bda55fab75128523194c41188b2df529eddcec98` | `godot_editor_project_reconstructed/project.godot` | Reconstructed Godot 4.4.1 project settings wrapper based on `project.binary`; autoload uses the compiled `SpikeSoundIds` global name. |
| `d56d6efd7a5b6cbf26cd1a2fcf1292b11ba3131fdefc3e821edde1b6f8be240e` | `godot_editor_project_reconstructed/RECONSTRUCTION_MANIFEST.json` | Manifest for the improved reconstruction: 1,050 restored PNG sources and media-audio scan summary. |
| `256ffb7711beecdc9f165e40d8f84fd2b1e474798bc4b497ab64558129f94964` | `analysis/media-audio-scan.tsv` | `ffprobe` scan of Godot and loose media containers; one AAC-bearing MP4 found. |
| `a976fbd8d25f6376a5abee510c5fed9ade44cdacff6dfd6d399bfff3e30c8ee5` | `rootfs-triage-wiki/scripts/build_godot_editor_reconstruction.py` | Static reconstruction builder for restored PNG sources, loose asset copy, media scan, and zip packaging. |
| `a89999280fcf84a7e757c88246c35dcf3c49f7ec548c40b3b051aec3f2336ac1` | `rootfs-triage-wiki/scripts/build_godot_editor_reconstruction.py` | Static reconstruction builder for restored PNG sources, loose asset copy, media scan, autoload wrapper names, and zip packaging. |
| `19187f77af51093e2262ba8a042ec5a41cb5be20f9f12d19ef8855055567b952` | `rootfs-triage-wiki/scripts/search_audio_assets.py` | Whole-target-root static audio search helper; scans filenames, `file(1)`, magic signatures, strings, and `ffprobe` stream metadata. |
| `fafbd090ed03f1f0bb10e319ac01028a8f1120c3fd02c931415671377c1fe6ee` | `rootfs-triage-wiki/scripts/parse_radium_image.py` | Static Radium `image.bin` parser; validates section 8 CRC, extracts PCM chunk metadata, resolves section 5 opcode `0x0b` sound references, decodes generic section 5 opcode streams with image-specific table offsets, records opcode payload fields, and writes full/capped WAV exports. |
| `db6cdbd7d35da08cd432f27137aa7bd5e427981dc62151059e28cfd9526a774c` | `rootfs-triage-wiki/scripts/dump_radium_opcode_tables.py` | Static native opcode table dumper for Radium command streams; writes handler addresses, payload lengths, observed command counts, and common payloads for the main and SPIKE menu images. |
| `fa9da51e188771fd5ce1f9e0df0f586ab14948e6aa5d3d155df20f081d04cb8e` | `rootfs-triage-wiki/scripts/build_media_preview_pages.py` | Generates split wiki preview pages for exported sounds, Pokedex voice labels, catalog-matched ASR labels, low-confidence ASR review candidates, catalog-offset candidate labels, unresolved structural review rows, SPIKE menu sounds, best-named sound aliases, confirmed native sound-name aliases, sound-test-adjacent candidate rows, ASR draft labels, openable image/video/text/font assets, and Radium section 3 bitmap previews. |
| `f5c6d5046dd7c3591b4de9201c7cd7254e1fa0ff6d6363ed09c19ccceebc050b` | `rootfs-triage-wiki/scripts/export_radium_section3_bitmaps.py` | Static section 3 bitmap-record exporter; writes raw-indexed PNG previews when payload length supports `width * height` pixels and marks compact records as undecoded. |
| `e972f7bdbec246c3bf50f783cdb6dfcd8638c501450a0335c422971f762b9673` | `rootfs-triage-wiki/scripts/build_best_named_sound_aliases.py` | Builds one best-available named alias per exported main-game and SPIKE-menu WAV while preserving confirmed/aligned/catalog-ASR/ASR-review/catalog-offset-candidate/draft/duplicate-hash/hash-match/structural name provenance. |
| `01e3abd11d6bb77763b9043c226e0f0ae9b6b7dc8c2cddd4658efb4af36c4df0` | `rootfs-triage-wiki/scripts/build_asr_review_sound_labels.py` | Filters rejected Whisper ASR rows into low-confidence content-derived review candidates; these labels are weaker than accepted ASR and not native-confirmed. |
| `02a5df386d57609d8ed58d244bd3a8c0da2612d9615a3b51bb93316227214319` | `rootfs-triage-wiki/scripts/build_asr_catalog_sound_labels.py` | Matches accepted ASR transcripts to known Godot `SE_PK_VO_*` catalog constants using exact phrase matches and narrow documented ASR error variants. |
| `02033a942c02c8e8277ab6d97ca914f6b45be3f05b494b48c5b4389fda4ac5cf` | `rootfs-triage-wiki/scripts/build_pokedex_voice_aliases.py` | Aligns Radium objects `409` through `1545` to Pokedex description/name/category clips using `pokemon_data.txt` and ASR evidence, including six duplicate description variants. |
| `e09b6d47a3fb9a91f9e1236bf5fb95b36252f3fddbd52878c2f8dc79e482a2a1` | `rootfs-triage-wiki/scripts/build_catalog_offset_candidate_labels.py` | Builds an audit-only catalog-order offset candidate table from the two Ghidra-confirmed native anchor blocks; candidates are not promoted into best-name aliases. |
| `b6602ee951006b784fa0c2e75287ff7cb4d45f989b1d1f6155375888b6c0a5e3` | `rootfs-triage-wiki/scripts/transcribe_sound_draft_labels.py` | Local Whisper ASR helper for draft content labels on exported WAVs; output labels are triage aids, not native symbols. |
| `53fc124eb6ed43c8f93acb44495db55be1a15c7785d06ce964861851e7f964f7` | `rootfs-triage-wiki/scripts/extract_native_sound_registrations.py` | Static AArch64 extractor for native `GodotSpikeBridge` sound registration calls in `/games/pokemon_pro/game`. |
| `a0cf4cad90fcccfd97140599935e56d8e49ef68560aff6e25813e731ac3c20c0` | `rootfs-triage-wiki/scripts/build_native_named_sound_aliases.py` | Builds confirmed-name hardlink aliases for native sound registrations. |
| `e9a156d4371e03232c6826bd70e1576e34b6720352beafb06a9f41321c32cf1e` | `rootfs-triage-wiki/scripts/extract_native_sound_test_labels.py` | Extracts native sound-test-adjacent candidate rows and builds audit hardlink aliases for the candidate WAVs. |
| `ac0f243ec3fb29e1cd61cdd8b807ac1578bc1202e03538be3314c4380dbea723` | `rootfs-triage-wiki/scripts/extract_godot_gdc_strings.py` | Static decoder for exported Godot `.gdc` files: strips `GDSC` header, decompresses Zstandard payloads, and recovers plain plus XOR-`0xb6` strings. |
| `1488286a2a9f59fde8ab7c48f1f992fb5be65db2791d0b5a400a9523cfebc6f6` | `rootfs-triage-wiki/scripts/build_viewer.py` | Static wiki viewer builder with media preview directives for audio, image, video, text, and font assets. |
| `975df239ca2930e91abf7af5e53cb24a865ce31faf11a2bba9adae6e61995c3a` | `analysis/audio-search/summary.json` | Broad target-root audio scan summary: 7,375 files scanned, 281 stream-bearing files, 0 target-root files with audio streams. |
| `9f0132e612f2a6aafb5b00335cbf74b7f5fb57c5b34a4f9bda21e02b6ad0f91b` | `analysis/audio-search/filename-hits.tsv` | Audio-related filename hits; system audio stack files and images, not gameplay sound content. |
| `818e61772280cd597c3b101aa90b90764630bd8d7892ea5c20bf5e48f34d408c` | `analysis/audio-search/file-type-hits.tsv` | `file(1)` media/audio-looking hits; target-root video containers plus firmware false positives. |
| `8707c33b9ce6b33c693dcf187f277b474d0abd4086858096b041d3e1f2abd0eb` | `analysis/audio-search/magic-hits.tsv` | Binary magic signature hits, including expected codec/library false positives and invalid Ogg-like executable offsets. |
| `b93b2019c8b021267e96c77fee7932f30e8d8f8f71b0c424e4f74f9e02f3c9d9` | `analysis/audio-search/ffprobe-streams.tsv` | `ffprobe` stream metadata for target-root files; all parsed streams are video/non-audio. |
| `0587eb42a19459c99f35574b0892ea20a97737ad11c498189698392e7c7cc95a` | `analysis/audio-search/audio-related-strings.json` | Audio-related string samples from target-root support files and game binaries. |
| `6e87e7e5fb591d23336026299c3f2d8122b21fbebaa179dceee39227d6b68dc1` | `analysis/radium-image/header.json` | Parsed `/games/pokemon_pro/image.bin` header, section 8 CRC summary, command-reference summary, and generic command-stream summary; stored and calculated CRC32 both `0x3f401e79`. |
| `0c0d5c62f99def85df6cc2bd897e49cbc7f6940faf8598b5190632681e2711ec` | `analysis/radium-image/section4_table.tsv` | First-pass section 4 table parse: 27 rows, 32 bytes each. |
| `6c978cc5aca4b033ab5d805943e0dab395734c1506689c1c917496337bb5f7e8` | `analysis/radium-image/section3_bitmap_manifest.tsv` | Section 3 bitmap-record manifest: 1,477 pointer records, 1,449 raw indexed PNG previews, and 28 compact payload records left undecoded. |
| `5166347f4071c06e9aba93c150544b6bd1b4b3c7940dc039b517a429e100e137` | `analysis/radium-image/section3-bitmaps/` | Combined checksum over 1,449 generated section 3 bitmap preview PNG files. |
| `6bae024f109b39e5c07caff4cd9f51b43b4c33ec9f23b1d8f537e1e829d6500f` | `analysis/radium-image/section8_entries.tsv` | Parsed section 8 table: 2,491 rows of offset/key/count metadata for headerless PCM chunks. |
| `6bae024f109b39e5c07caff4cd9f51b43b4c33ec9f23b1d8f537e1e829d6500f` | `analysis/radium-image/pcm_candidates.tsv` | PCM candidates derived from section 8; all 2,491 rows produce bounded nonzero PCM lengths. |
| `35eb78ca13b2ba60bd861f4c4d1ba5245cfc35c101c58e6fadba33b11de17299` | `analysis/radium-image/command_sound_refs.tsv` | Static section 5 command-stream references: 12,710 opcode `0x0b` rows resolving local object IDs and variants to all 2,491 section 8 PCM chunks. |
| `2b831075a86f2d6b4bd7a939abd091325d39744f3850c69a4acda52749c7016f` | `analysis/radium-image/command_stream_summary.tsv` | Generic section 5 stream decode summary: 12,655 stream rows, 2,531 unique stream offsets, no malformed streams. |
| `027f6d19feff25b61244dea05bb2210368918c667bf4dac7f9cb278e8f95d16d` | `analysis/radium-image/command_opcode_rows.tsv` | Per-opcode section 5 decode rows with payload hex and generic little-endian field views: 108,765 command rows across 13 observed opcodes. |
| `fc061d33187c619ce75b9c321b2c5a08bdb938b142ffcc7fbcbfa566370f1d4d` | `analysis/radium-image/command_opcode_payload_summary.tsv` | Compact section 5 opcode payload summary for the main game image: command counts, unique payload counts, and common payload field values. |
| `51b1321758abf11f32dfe58dbb8906f1e36dcf2be028e367fd52fccab11d8131` | `analysis/radium-image/command_opcode_histogram.tsv` | Compact histogram of observed main-game section 5 opcodes and payload sizes. |
| `904a2146f0cd98560887cbbc0298a19b43d25020ae0c4a4598bc96728e1afcc2` | `analysis/radium-image/opcode_handler_table.tsv` | Main-game native opcode table dump: 19 entries with handler addresses, payload lengths, observed command counts, sound-reference counts, and common payloads. |
| `2cd69dd62290e99b015fdb4c819d9afc08999e6f1c55398e3847466ccc3a22a4` | `analysis/radium-image/sound_export_manifest.tsv` | Full sound export manifest: 2,491 deterministic WAV names, object/chunk refs, durations, channels, and offsets. |
| `78527ee3196c931b9d4856c90370cc0a34ed78feb849e2f42a40938a49ba8ac4` | `analysis/radium-image/sound_export_manifest.json` | JSON version of the full sound export manifest. |
| `c13f5856e4d513d880ca0b11d7bf3b673d021b7c1ba943289bab0ec834c8f5fe` | `analysis/radium-image/native_sound_id_map.tsv` | Ghidra-confirmed native sound-name map: 25 `GodotSpikeBridge` names, native IDs, registration call offsets, and string offsets. |
| `23da581619acf17232111a64d9883342c751308a402cb81899aca8d38f64de76` | `analysis/radium-image/native_named_sound_manifest.tsv` | Confirmed-name alias manifest linking native IDs to full-export WAVs and alias paths. |
| `64ea65706b60f89bfa8324eb3672951e8ac395bb7c184383128c842e39f3cfe0` | `analysis/radium-image/native_sound_test_label_manifest.tsv` | Native sound-test-adjacent candidate manifest linking 4 raw candidate rows to full-export WAVs and audit alias paths. |
| `d35eeca159a84358072bc0dea34feeacd1c6031a16ed492e4bacdae41e74f0a2` | `analysis/radium-image/asr_draft_sound_labels.tsv` | Local Whisper draft-label manifest: 2,486 rows transcribed, 1,705 accepted draft content labels. |
| `1ec01c850fd65aa5553cae652be493da64e36d702cfa677740ea93af331bc0d9` | `analysis/radium-image/asr_catalog_sound_label_candidates.tsv` | Catalog-match overlay: 220 accepted ASR rows matched to 90 known `SE_PK_VO_*` Godot voice catalog constants; inferred, not native-confirmed. |
| `35562e1c0e46c839bf7557f5659b0e4465f1321febb997134d53420f8b025cb8` | `analysis/radium-image/asr_review_sound_label_candidates.tsv` | Low-confidence review overlay: 169 rejected-ASR rows retained as weak content-derived candidates for human audit. |
| `31b767ed38401765c06c0d333739cb1218d6dfd598f8939237517e353fd133a3` | `analysis/radium-image/catalog_offset_candidate_labels.tsv` | Catalog-order offset audit: 225 rows with 25 confirmed native anchors, 199 unpromoted neighboring candidates, and 1 sound-test-candidate disagreement. |
| `d0d4a3894bb734ab0461baffa07918ffb3c9f47292a72e0f842aec682b368fa5` | `analysis/radium-image/sounds/` | Combined checksum over the per-file SHA-256 list for all 2,491 exported WAV files; directory size about 1.1 GiB. |
| `2513e32787cce9333a68481a3e9ba61d39affcc2990dce6e34b89704ac846aa8` | `analysis/radium-image/sounds-native-named/` | Combined checksum over the 25 confirmed-name WAV aliases; hardlinks to full-export WAV payloads. |
| `79ab3d3633c2d2034785dd49b855f8e5fedc2cf1512284c57699cc2a8a671717` | `analysis/radium-image/sounds-native-sound-test/` | Combined checksum over the 4 sound-test-adjacent candidate WAV aliases; hardlinks to full-export WAV payloads for audit. |
| `c53d2b82c1a26803ea40ac8b71b0fbde5335601f5e955f98bec45cf985b6694a` | `analysis/radium-image/pokedex_voice_label_manifest.tsv` | Pokedex voice alignment manifest: 1,137 rows for objects `409` through `1545`, with six duplicate description variants. |
| `3c1a9d36e1ca402bc183aa240b41df2fd788244354fa7043445221daec6ae89c` | `analysis/radium-image/sounds-pokedex-voice/` | Combined checksum over 1,137 aligned Pokedex voice WAV aliases. |
| `30a7cbf8c9dc0ee228ad1e481fb6096da848162c8a62905f28c81e35802d6ab3` | `analysis/all-sound-best-name-manifest.tsv` | Complete best-available named sound manifest: 2,545 rows covering 2,491 main-game WAVs and 54 SPIKE-menu WAVs with confirmed, aligned, catalog-ASR, low-confidence ASR-review, catalog-offset-candidate, draft, duplicate-hash, hash-match, or structural name provenance. |
| `900249bd3dc788ffac90060361cbf4b0b3e08e2d914108e66d30a68c84c072a4` | `analysis/radium-image/sounds-best-named/` | Combined checksum over 2,491 best-named main-game WAV aliases, including 220 catalog-matched ASR names, 34 low-confidence ASR-review names, 196 catalog-offset candidate names, and 1 duplicate-hash inherited confirmed name. |
| `0e270c384a14139587e7d5e1fe5ff23efb4631bd2093446eea96f5667328c893` | `analysis/radium-spike-menu-image/header.json` | Parsed SPIKE menu `/games/pokemon_pro/spike3/spike_menu/image.bin` header; section 8 CRC `0xb8fe11f9` matches, with 300 resolved command sound refs and generic stream summary. |
| `25b1d867ec76a08c5d98516a6022355aeb7671e82f4c5350d0e82c854b5ec51f` | `analysis/radium-spike-menu-image/section4_table.tsv` | First-pass section 4 table parse for the SPIKE menu image: 27 rows, 32 bytes each. |
| `a30feeef50cc2b26a4b5f32661202265f5a37306bcb35ec27a716190fce9dfd1` | `analysis/radium-spike-menu-image/section8_entries.tsv` | Parsed SPIKE menu section 8 table: 54 rows, all bounded PCM candidates. |
| `a30feeef50cc2b26a4b5f32661202265f5a37306bcb35ec27a716190fce9dfd1` | `analysis/radium-spike-menu-image/pcm_candidates.tsv` | SPIKE menu PCM candidates derived from section 8; all 54 rows produce bounded nonzero PCM lengths. |
| `8ddfd47fd6d066e9da4573bceb1cace9eee976476fd178301dfe817e9035bd48` | `analysis/radium-spike-menu-image/command_sound_refs.tsv` | Static SPIKE menu section 5 command-stream references: 300 opcode `0x0b` rows resolving local object IDs and variants to all 54 section 8 PCM chunks. |
| `e37ea95cd4b83827975ae1986255c3f580cfda20dfc9a8e8031d9a99454a07d7` | `analysis/radium-spike-menu-image/command_stream_summary.tsv` | Generic SPIKE menu section 5 stream decode summary: 340 stream rows, 68 unique stream offsets, no malformed streams. |
| `86274559c18487e6ea1b717ed5e114608e3dcdeddd68531469e8e52f21f790d1` | `analysis/radium-spike-menu-image/command_opcode_rows.tsv` | Per-opcode SPIKE menu section 5 decode rows with payload hex and generic little-endian field views: 2,065 command rows across 10 observed opcodes. |
| `fc0b051db9df47287a0827be5e48cc0ceaa84e6acbc63491a86045d70c804149` | `analysis/radium-spike-menu-image/command_opcode_payload_summary.tsv` | Compact section 5 opcode payload summary for the SPIKE menu image: command counts, unique payload counts, and common payload field values. |
| `21970c852818377c528c6b5d3324f3573786aa9bb885fbec492decc6381660ac` | `analysis/radium-spike-menu-image/command_opcode_histogram.tsv` | Compact histogram of observed SPIKE menu section 5 opcodes and payload sizes. |
| `0e10b997cf1beee324d2ed59fb6df17960c5ef4ffabbd2cd7211e0965bc9a406` | `analysis/radium-spike-menu-image/opcode_handler_table.tsv` | SPIKE menu native opcode table dump: 19 entries with handler addresses, payload lengths, observed command counts, sound-reference counts, and common payloads. |
| `13c87842755d123b4e1f28e176fa65cf636b10f6db4f8176b6e0c55907879cd0` | `analysis/radium-spike-menu-image/sound_export_manifest.tsv` | SPIKE menu sound export manifest: 54 deterministic WAV names, object/chunk refs, durations, channels, and offsets. |
| `1e4368123b723716567cf77e4029878cad4caa7e6c1cad41eadbcac4d7978820` | `analysis/radium-spike-menu-image/sound_export_manifest.json` | JSON version of the SPIKE menu sound export manifest. |
| `7d75cb16331405ae0179ebc0e765c30f5c81bfc073948d984dd1cbcbf537a744` | `analysis/radium-spike-menu-image/sounds/` | Combined checksum over 54 exported SPIKE menu WAV files. |
| `1cb6cd892f6ac5ae0bba76fee0933dd077417b4073d79ae6aad99f3469dc68a3` | `analysis/radium-spike-menu-image/sounds-best-named/` | Combined checksum over 54 best-named SPIKE-menu WAV aliases. |
| `f3d5a11da30d91b75757a411b23e14319e9fd09883b80a5318ef24e8875a0326` | `analysis/godot-introspection/gdc_script_summary.tsv` | Summary of 93 decoded `.gdc` scripts, decompressed sizes, recovered token counts, and validated sound-reference counts. |
| `8bf24ccb9ddaaab578bd50313232df3b2f55f286e5a2820e4ad1d4bf487a536a` | `analysis/godot-introspection/gdc_strings.tsv` | Recovered plain and XOR-`0xb6` string tokens from compiled Godot scripts. |
| `0db013f19c74d3bade949b59ce6dfeda68d35def01c78e1cd374f02b17705d3b` | `analysis/godot-introspection/gdc_sound_refs.tsv` | Validated `SE_*` references from compiled Godot scripts: 760 catalog constants and 12 direct Pokedex scene references. |
| `6eafaeeb0bc59a5d05a9a22f60a432a3b0e9fb21b0725609b20e25f6547c41ab` | `analysis/radium-image/wav-preview-manifest.json` | Manifest for 20 capped WAV previews generated from section 8 PCM chunks at 44.1 kHz. |
| `b39a9123afb9c65da5babf6b8531a7597f0008c94c3d34e5480647676efaeb26` | `analysis/media-preview-pages.json` | Generated preview-page summary: 2,491 main sounds, 1,137 Pokedex voice labels, 220 catalog-matched ASR labels, 169 low-confidence ASR review candidates, 225 catalog-offset candidate rows, 345 unresolved structural review rows, 54 SPIKE menu sounds, 2,545 complete best-named sound aliases, 25 confirmed native sound aliases, 4 sound-test-adjacent candidate rows, 1,705 draft ASR labels, 1,212 images, 273 videos, 1,170 text files, 5 fonts, and 1,449 Radium section 3 bitmap previews. |
| `975eef45348a0a313110617c756978c87cb77eace904bd57acc858dfc6f00b43` | `rootfs-triage-wiki/sound-catalog-offset-candidates.md` | Generated preview page with 225 audit-only catalog-offset candidate audio entries. |
| `3f35647f82fd9257351dd687c1614318e4def57efa6b0182f66a1278e3979300` | `rootfs-triage-wiki/sound-asr-review-candidates.md` | Generated preview page with 169 low-confidence ASR review candidate audio entries. |
| `c710013ae59cea8451c4211954678b835da98613aa6687d7a88116f5e92eb5d3` | `rootfs-triage-wiki/sound-unresolved-review.md` | Generated preview page with 345 remaining structural object-reference audio entries grouped by duration/channel review buckets. |
| `0899658ff2760be786ba4f682c4920a99a55c51350801c602528f47cecf2ffa2` | `rootfs-triage-wiki/radium-section3-bitmaps.md` | Generated preview index for 1,449 decoded Radium section 3 bitmap PNGs and 28 undecoded compact payload rows. |
| `e33480f3c18c1e81096fa029b671765f13316b0bad33b9718de5587e316d3137` | `rootfs-triage-wiki/scripts/extract_godot_pck_assets.py` | Static Godot PCK extractor and converter. |
| `b5ddb933f125cf6b54b81c56f4e3430ded50d843c045a49f0727a1f7ebc5f66f` | `rootfs-triage-wiki/scripts/harvest_loose_openable_assets.py` | Static loose-asset copier for PNG, TTF, MP4, and MOV files. |
| `257cb2d9ba653385aba63157a3bc143bb479c5188071ef529996d3f5da258b71` | `analysis/topper-emulator/topper_emulator.py` | MicroPython SPIKE node-board emulator for the Magikarp topper serial-key path; 6,452 bytes. |
| `32263b75f49aefba04596c196f85cc4ae4477eb536f767fcdeac7c0d5fc40e9b` | `analysis/topper-emulator/README.md` | Emulator notes and recovered command summary; 5,820 bytes. |
## Docker/QEMU Emulation Scaffold
These files are workspace-local generated support artifacts, not target-root evidence files. Runtime disk images under `emulation/work/` are mutable and intentionally not treated as durable hashes here.
| SHA-256 | Path | Notes |
| --- | --- | --- |
| `76636f3634164c840c87c506d007d8be3f1590a0eca7318cd8b9734c2dd2dacf` | `emulation/compose.yaml` | Docker Compose entry point for QEMU, noVNC, dashboard, and conagent backend ports. |
| `bcb5aa5acc8bc886ffeae9bef198601ab05aab969d9aac290e385834d3a17260` | `emulation/docker/Dockerfile` | Debian-based emulator image with QEMU, noVNC, ffmpeg, qemu-user-static, initramfs tools, and AArch64 cross tools. |
| `86d366aaadc007f2479b117dd1bca3c2799d90eb9ca0a37f13880cfee1694ffb` | `emulation/docker/fetch-debian-arm64-kernel.sh` | Downloads Debian ARM64 kernel/modules and builds an initramfs with DRM/`virtio_gpu` modules. |
| `d3f51f25950db7bcc9c9b9651b830cc3a5703e6914f54ae03da68d4c9ecfc00f` | `emulation/docker/entrypoint.sh` | Container entrypoint for image preparation, noVNC, conagent backend, dashboard, and QEMU startup. |
| `c2b9fad36ae9d82cb25ddcf9a2f2e2007cc8106e7fe9a40ed0f90691f89966fc` | `emulation/scripts/prepare-rootfs-image.sh` | Builds the generated ext4 guest image from target-root entries and injects guest helpers, Mesa fallback drivers, and stubs. |
| `09df11645738898e381645705eb2654195f1488056d3297db5ade60dae7a54d3` | `emulation/scripts/run-qemu.sh` | Starts QEMU `virt` with `virtio-blk`, `virtio-gpu`, noVNC-facing VNC, serial logs, networking, and a control socket. |
| `5645e999de047a5e33c75e9951bc6169f2e1f7775bef08c190c750c760718755` | `emulation/guest/emu-init` | Guest init for mounts, diagnostics, hardware placeholders, control agent startup, and target launch. |
| `dcb509523563ad4515d5becf048bda5dcb1e345758a8df0d88ff529761c73c65` | `emulation/guest/setup-fake-devices.sh` | Creates early inert device placeholders and hardware setup log. |
| `0212843e592f9fb87d2110c4f468df580cc56c1c118d2a4a87dc19e50c754abb` | `emulation/guest/guest-control-agent.sh` | Guest virtio-serial event logger for dashboard switch events. |
| `2f166b37c165f61b423d0c91ef1dbfc642cb9e6157503499c6f7d5abad3266ea` | `emulation/guest/launch-target.sh` | Launches `boot_display`, SPIKE menu, main game, monitor scripts, or shell with emulator environment. |
| `b9ea20682dc5f463296f64f535050b7aff0a1d5ebabd2dc33f49a818dbd74590` | `emulation/dashboard/server.py` | Browser dashboard and JSON switch-event API. |
| `b292d6bbf1d3d0ce2d4f7c0fce3890142d464584c81e26907b8a8a83c8436e32` | `emulation/stubs/spike3emu_stub.c` | AArch64 `LD_PRELOAD` stub for logging/faking selected device opens and ioctls. |
| `91ec43cc9eeb05c81e1d9967b81cbeb76fbfdd0d65f1127e222e8cbe7601c54c` | `emulation/README.md` | User-facing emulator runbook and current limitations. |
| `9b783c5ba9135b1c48d11299648404ab777d6b4bc2edc52a267b091f061f668b` | `rootfs-triage-wiki/docker-qemu-emulation.md` | Wiki page documenting implementation, verification status, and current display blocker. |
## Generated Static Triage Artifacts
These files are workspace-local generated artifacts, not target-root files.