Promote the F10 ship-capture correlator from an example into a reusable, unit- tested library module (ship_capture): parse_capture (log -> per-draw rigid WorldView from the c0..c2 WVP constants), correlate (match parts to draws by vertex count, express each in the reference part's frame), and a checked-in placement-table format (serialize_table/parse_table, embedded via embedded_placement from data/ship_placements.txt). build_ship_model now prefers a ship's captured placement over the static assemble_ship when a table entry exists (empty table -> unchanged fallback). correlate_capture example refactored onto the module + gains --emit to print a table block. Doc updated: bake plumbing done; remaining is running real F10 captures to populate the table (needs the emulator). 5 new ship_capture tests (parse/normalize/correlate/table round-trip); 76 formats-lib tests + viewer build green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
14 lines
671 B
Plaintext
14 lines
671 B
Plaintext
# Capital-ship part placements — runtime-captured ground truth (see
|
|
# docs/re/ship-placement-runtime-capture.md and src/ship_capture.rs).
|
|
#
|
|
# Populate with:
|
|
# SYLPHEED_ISO=... cargo run --release --example correlate_capture -- \
|
|
# <capture.log> <Stage_SNN> <ship_id> [ref_part_substr] --emit
|
|
# then paste the emitted `ship …` block(s) below. The viewer prefers a ship's
|
|
# entry here over the static assembler when present.
|
|
#
|
|
# Per placement line: <part> <R00 R01 R02 R10 R11 R12 R20 R21 R22> <T0 T1 T2>
|
|
#
|
|
# (No ships baked in yet — a real F10 capture log is required. e106 ADAN
|
|
# Destroyer was validated live; re-run the capture on the emulator box to bake.)
|