maniator / maniator/verticopolis
[P3] tdt-empty-tower-export: confirm the 1994 reader accepts lobbyHeight 0
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Deferred finding from the gds-code-review Edge Case Hunter on PR #564 (starter-lobby mode split).
Lobby tiles are permanent, so before canon-zero founding every tower always carried a ground lobby and hasGroundLobby=false was reachable only from forged saves. With Classic founding an empty lot, a player can export a zero-unit tower to TDT before laying the first lobby, and src/storage/tdtEncoder.ts writes lobbyHeight 0 where 1994 canon is 1-3. (Lobby-first founding, added in the same PR, means a tower with any units always has a lobby; only the fully empty tower hits this.)
A headless probe (empty Classic tower: 3 days of ticks, save round-trip, reload plus tick, buildTDT) passed with no errors. What remains unverified is whether the real 1994 reader accepts lobbyHeight 0; existing harness notes confirm the people-count-0 case, not lobbyHeight 0.
Acceptance: run the empty-tower TDT through the SimTower harness. If the reader rejects it, either gate export on a lobby existing (with a reason message) or clamp lobbyHeight to 1 for empty towers; either way pin the choice with a test.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/storage/tdtEncoder.ts and the SimTower harness notes, then run the empty Classic tower through the 1994 reader. Verify whether lobbyHeight 0 is accepted and pin the result with a test; if rejected, follow the issue's stated export-handling alternatives and confirm the resulting TDT behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100