maniator / maniator/verticopolis

[Parity]: [P3] Does 1994 commercial ever go vacant? (TDT vacancy round-trip, harness-gated)

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

Nobody has claimed this yet.

classic parity
Dominant language
TypeScript
Stars
5
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Imported from the engineering backlog (_bmad-output/implementation-artifacts/backlog.md, story tdt-commercial-vacancy-roundtrip).
Priority P3 (do-first order) | Severity: low | Status: idea | Epic: SimTower parity | Type: design-decision | Recorded: 2026-07-12

Divergence from the 1994 original

Party decision 2026-07-12 (PR #184 takeover review): harness-gated. TDT import seeds every non-construction fastFood/restaurant/shop as occupied and ignores the unit status byte; our exporter never writes a status for commercial. So vacancy cannot round-trip: export a vacant venue, reimport, it comes back occupied and the next export adds its catalog customers (self-round-trip census drift). Cloud's read: the 1994 game likely has no vacant-commercial state at all (built venues always operate), which would make the importer FAITHFUL and the drift a Modern-tower-only lossy edge. Validate against the real game via the Wine harness (does the 1994 status byte ever encode commercial vacancy?) before touching the exporter/importer; if canon has no vacancy, document the one-way mapping in the fidelity report instead.

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 the referenced backlog story, tdt-commercial-vacancy-roundtrip, and inspect the importer/exporter behavior described for commercial status. Use the Wine harness to determine whether the 1994 game encodes commercial vacancy; done means either validating the round-trip behavior and updating the fidelity report, or identifying the exporter/importer change required by the result.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
game-dev, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.