maniator / maniator/verticopolis
[Feature]: [P2] Seed occupants from imported TDT occupancy (96 vs 234 census)
Nobody has claimed this yet.
- 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, storytdt-import-population-seed).
Priority P2 (do-first order) | Severity: med | Status: idea | Epic: SimTower parity | Type: feature-request | Recorded: 2026-07-08
Problem / motivation
Gated: needs a small spec. Owner question 2026-07-08 (real-tower import): pop 96 vs the save's 234. We import the persistent OCCUPANCY (offices tenanted, condos sold, hotel rooms booked) but NOT the save's live person roster (§6, 768 sims) or live satisfaction: those are a transient crowd snapshot in the original's sim-model (positions, destinations, states referencing original floor/elevator indices) that does not map cleanly onto our emergent crowd, and it churns within sim-minutes, so a person-by-person port is high-effort/low-fidelity (correctly deferred). The real symptom worth fixing is the HEADCOUNT: on load our tower re-populates the crowd from empty, so pop lags the save's number for a while (worse before the stairs fix, since upper floors were unreachable). Proposal: SEED the initial population/crowd from the imported occupancy (and optionally the save's per-floor population line in the finance block §9, which we already locate) so the headcount and initial fill match on load, WITHOUT importing individual sims. Verify against my_tower.TDT (target pop ~234). Distinct from named-tenant import (still deferred). Minor bump.
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 _bmad-output/implementation-artifacts/backlog.md and the tdt-import-population-seed story, then trace the existing TDT occupancy import and the finance block §9 population line. Use my_tower.TDT as the reference case. Done means the initial crowd is seeded from imported occupancy, reaches roughly 234 occupants on load, and does not import individual transient sims or named tenants.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100