Repository navigation
Conversation
5375b6e to
fdc1b76
Compare
The gallery is a table with three games to a row, and new games go at its end. Every game after the first moved cell shifts, so two pull requests that each add a game always conflicted in README.md, and the resolution was redoing the rows by hand. docs/images/gallery.tsv now holds the gallery, one row per game in the order it shows them: image, name, note (the IPA size and a remark) and optionally the title ID that links the name to the game's note. dm/tools/docs_gallery.py writes README.md's table from it between two comment markers; the table it writes is byte for byte the one README had (the only change to README.md is the two markers). .gitattributes merges the TSV with the union driver, so two new rows merge without a conflict; README.md can still conflict in the gallery, and running docs_gallery.py on it, conflict markers and all, writes the right table. Checked in a clone: two branches that each add a game at the end rebase onto each other with the TSV merged cleanly and README.md conflicting; docs_gallery.py then writes both games and test_docs passes. test_docs fails when README's gallery is not the one the table gives, or a game is in the table twice. AGENTS.md's rule for the gallery names the table.
The union driver can retain both rows when one branch edits a game's caption or screenshot while another updates its IPA size. Checking only captions lets renamed games appear twice with every docs check passing. Validate unique images, captions and non-empty title IDs in the gallery reader before regenerating README, and exercise the actual union merge for each identity in the regression test. Validation: eight docs tests pass on Python 3.14; the three identity regressions fail against the original generator; concurrent append and README conflict recovery passes; both generated docs checks pass; the pinned lint ratchet has zero new or stale findings. This only changes documentation generation and its tests; no game runtime paths are touched. Co-authored-by: v0lumehi <aljic.zijad@gmail.com>
Carry Final Fantasy Crystal Chronicles into the gallery source after rebasing onto main. Allow an unknown IPA size without an empty subcaption, escape plain-text captions and notes, and reject reversed gallery markers with a clear error before writing README. Keep union merging on the gallery TSV only. The separate reference-doc union proposal can silently combine contradictory handwritten prose that its duplicate-bullet check does not detect, so it is no longer a dependency of this PR. Document the gallery editing and conflict-recovery workflow. Check concurrent additions with a real Git merge and regeneration, retain the conflicting-identity regressions, and cover plain text and missing sizes. Ten docs tests pass; the full tool suite passes 384 tests with 16 skipped outside the sandbox. Pinned lint reports 405 baseline findings, zero new and zero stale. README matches main byte for byte except for its two generator markers. No game runtime code changes. Co-authored-by: v0lumehi <aljic.zijad@gmail.com>
86c209b to
3a78737
Compare
Keep one gallery row per game in docs/images/gallery.tsv and generate the existing three-column README table. Scope union merging to that TSV and reject duplicate game identities after conflicting edits. Keep handwritten reference docs on normal merging; this lands independently of #400. Preserve every current gallery entry, allow unknown IPA sizes without an empty subcaption, and escape captions and notes at the HTML boundary. Document regeneration and conflict recovery and test concurrent additions with a real Git merge. All five PR checks pass. The review's Python tool suite passed 384 tests with 16 skipped; the 10 documentation tests and both generated-document checks pass again on current main. README is byte-identical apart from its two generator markers. No runtime paths or game profiles change. Co-authored-by: v0lumehi <aljic.zijad@gmail.com>
|
Taken into The landed version keeps union merging limited to the gallery TSV, preserves the complete current gallery, supports unmeasured IPA sizes, escapes plain-text captions and notes, and tests concurrent additions and conflicting game identities. The reference-document union rules from #400 are excluded; this change stands on its own. All five PR checks passed. The review's full Python tool suite passed 384 tests with 16 skipped; the 10 documentation tests, both generated-document checks and the final diff checks passed again against current main. README's visible content is preserved. No game runtime or profile changes are included. Closing as incorporated, following the repository's documented squash-and-close workflow. |
Upstream now writes the README gallery from docs/images/gallery.tsv (seedds#401); Pokémon Violet is a row there, and README.md keeps the fork's XCI line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThnUkJcQeXJALXUB4nYYEK
Keep one gallery row per game in docs/images/gallery.tsv and generate the existing three-column README table. Scope union merging to that TSV and reject duplicate game identities after conflicting edits. Keep handwritten reference docs on normal merging; this lands independently of seedds#400. Preserve every current gallery entry, allow unknown IPA sizes without an empty subcaption, and escape captions and notes at the HTML boundary. Document regeneration and conflict recovery and test concurrent additions with a real Git merge. All five PR checks pass. The review's Python tool suite passed 384 tests with 16 skipped; the 10 documentation tests and both generated-document checks pass again on current main. README is byte-identical apart from its two generator markers. No runtime paths or game profiles change. Co-authored-by: v0lumehi <aljic.zijad@gmail.com>
Concurrent game additions reshuffle README's three-column gallery and conflict. Store the gallery as one ordered TSV row per game and generate the existing HTML table with
dm/tools/docs_gallery.py, following the symptom-index workflow.Change
docs/images/gallery.tsvholds screenshots, captions, optional IPA-size notes and optional links to game notes. The current gallery, including Final Fantasy Crystal Chronicles, is preserved byte for byte; README gains only two invisible generator markers..gitattributesuses the union driver only for the gallery TSV. The reference-document and symptom-index merge rules from Merge docs/reference and the symptom index with git's union driver #400 are excluded, so this PR can land independently. Union merging handwritten prose can retain contradictory edits without a conflict, and a duplicate-bullet check cannot reliably detect that.Validation
dm/tools/testssuite: 384 tests, 16 skipped, no failures (run outside the sandbox for macOS packaging tools).--checkcommands andgit diff --checkpass. Removing the two gallery markers produces README byte for byte as on main.Game impact
No games selected for gameplay regression: the change affects documentation generation only, with no host, shader, profile or build changes.
regress.py impact origin/main..HEADreports eight changed files, zero NVN/HLE entry points and zero runtime feature rules reached. The four available manifests (Hades, Breath of the Wild, Pokémon Scarlet and Tears of the Kingdom) are unaffected; 80 profiles have no manifest..gitattributesanddocs_gallery.pyhave no runtime mapping. Gameplay, graphics and shader builds were not rerun.