maniator / maniator/verticopolis

[P3] tdt-empty-tower-export: confirm the 1994 reader accepts lobbyHeight 0

Open
#569 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.