maniator / maniator/verticopolis
[Bug]: People can float across disconnected floor sections and use unreachable stairs/escalators
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Build version
1.100.0
What happened?
People are not consistently respecting disconnected floor segments when calculating or following transportation routes.
In the provided Split Tower save, most upper floors are divided into two physically separate sections with no floor tiles connecting them. Despite this, people can:
- Appear to float or move through the empty space between the sections.
- Travel down stairs or escalators located on the opposite section of the floor, even though there is no valid horizontal path to reach that transportation.
This suggests that pedestrian pathfinding may currently treat an entire floor number as one connected node instead of tracking each contiguous walkable section separately.
Expected behavior: each contiguous floor section should be treated as a separate walkable component. A person should only be able to access transportation or destinations when a continuous valid pedestrian path exists.
Steps to reproduce
- Import and load the attached
split-tower.vctowersave. - Let the simulation run at normal or accelerated speed.
- Observe people traveling within the split portions of the tower.
- Watch people whose destination or selected transportation is located on the opposite side of the empty floor gap.
- Observe one or both of the following:
- A person appears in or moves across unsupported empty space.
- A person uses or travels down stairs or escalators on the other floor section without a valid route to reach them.
The behavior may be easiest to see around floors where the left-side standard elevator and right-side stairs or service elevator overlap vertically.
Reproduction save details
- File:
split-tower.vctower - Tower name: Split Tower
- Save schema version: 7
- Tower rating: 2 stars
Attach the
.vctowerfile directly to this issue by editing the issue and dragging it into this section, or add it in a comment below.
Relevant tower layout
Beginning on floor 2, the tower is split into two disconnected horizontal sections:
- Left section: approximately
x = 167–184 - Empty gap: approximately
x = 185–192 - Right section: approximately
x = 193–208
Transportation is distributed between the separate sections:
- Stairs around
x = 199on the right section connect floors 0–15. - A standard elevator around
x = 175on the left section connects floors 15–45. - A service elevator around
x = 199on the right section connects floors 31–43.
Browser
PWA/Chrome
Platform
Pixel 8a
Game mode
Modern
Console errors
None reported.
Additional acceptance criteria
- Pedestrians cannot cross gaps where no floor tiles exist.
- Separate sections on the same floor are represented as separate pathfinding components.
- Stairs, escalators, and elevators are accessible only from the floor section physically connected to their entrance.
- Pedestrians do not float, teleport, or visually traverse unsupported space.
- Invalid or stale routes recover safely after floor or transportation demolition.
- The supplied save is added as a regression fixture or used to derive a smaller deterministic fixture.
- Automated coverage verifies that a person on one disconnected section cannot select or use transportation on the other.
Regression test suggestion
Create a minimal tower containing two disconnected floor sections on the same floor, with a tenant or origin on one section and stairs or an escalator only on the other. Assert that no valid route is produced between the disconnected components and that the pedestrian never occupies coordinates inside the empty gap.
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 by loading the described Split Tower save and observing routes across the floor gap, then trace the pedestrian pathfinding and transportation-access logic involved. Use the proposed minimal disconnected-floor scenario as a regression fixture; done means pedestrians cannot cross the gap or use unreachable transportation, stale routes recover safely, and automated coverage verifies the separation.
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
- 48/100