Recovers the Apr 23 hand-edit (lost in subsequent refactors) and re-wires
it as a TOML midasm hook so codegen regeneration can no longer drop it.
Hook fires immediately after the guest decompressor (bl 0x822CF510)
returns, reads the entry record via r11 (codec at +1, csize at +8,
usize at +12), source offset from *(r31+22888), entry tag from r10, and
calls Ac6DumpPacDecodedEntry with the decoded buffer at r4. With
AC6_DUMP_PAC_DECODED=1, all 800 compressed entries now drop as
FHM-magic'd entry_*_mode1_*.bin in out/ac6_pac_runtime_dump/.
Also adds streamer-worker dispatch probes (AC6_TRACE_PAC_WORK_ITEMS),
PPC stack walking on PAC reads (AC6_TRACE_PAC_STACKS), the AC6 PAC
index parser, the chunk-coalescing dump fallback, and a user-facing
walkthrough at docs/ac6_asset_extraction_walkthrough.txt.
TranslateAnalyzedShader and CreateD3D12Pipeline assumed host vertex type was only kVertex for non-tessellation paths. Point/rectangle list expansion uses kPointListAsTriangleStrip and kRectangleListAsTriangleStrip while still emitting a vertex shader — accept those types for logging and PSO creation.
Made-with: Cursor
StartVertexOrDomainShader only handled kVertex and tessellation domain types; kPointListAsTriangleStrip and kRectangleListAsTriangleStrip fell through to assert_unhandled_case after enabling D3D12 point expansion by default. Route them through the same vertex index setup as kVertex.
Made-with: Cursor
D3D12 previously assumed native point-list + geometry-shader expansion; that path can drop or rasterize points incorrectly (invisible missile trails). Default to the shared triangle-strip VS expansion path with an init-time CVar override.
Vulkan: default vulkan_force_expand_point_sprites_in_vs to true for the same behavior on non-D3D12 hosts.
Made-with: Cursor
Add guest primitive-type histograms and per-frame DrawStatsSnapshot to frame capture summary so AC6 debugging can correlate point-list draws (trails) and sampler churn with native graphics planning without extra tooling.
Made-with: Cursor
Remove the Windows runtime path that referenced the SDL driver so Windows builds do not require SDL symbols while Linux continues to use the SDL backend.
Made-with: Cursor