maniator / maniator/verticopolis
[P3] Ghost-occupant coverage is missing for five populated room looks
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Deferred from the second gds-code-review of the room occupant seats fix (PR #831).
roomCapacity.test.ts has two halves: capacity at full population, and "the showpiece rooms draw their crowd honestly" (that a room draws min(people, seats) and no ghosts). The honesty half covers skyBar, nightclub, daycare, Yoga Studio and Spin Studio. Five populated looks are only ever rendered at full occupancy and asserted for CAPACITY: VR Lounge, Mini Golf, Weight Floor, Boxing Gym, Climbing Wall.
So nothing asserts that an EMPTY weight floor, boxing gym, climbing wall, VR lounge or mini golf draws zero people. A ghost member in an unoccupied gym passes every test in the suite. The suite's own framing is "under-drawing is the opposite failure from a ghost and just as wrong", so the ghost half is missing for exactly the looks nobody had to touch.
Fix: extend the honesty sweep to every populated look, not only the ones this pass rewired.
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 in roomCapacity.test.ts and read the existing honesty sweep alongside the full-population coverage for VR Lounge, Mini Golf, Weight Floor, Boxing Gym, and Climbing Wall. Extend the sweep so each empty look is asserted to draw zero people, then run the room capacity tests and confirm the existing min(people, seats) behavior remains covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100