Skip to content

Markers classify by what they are, not where they draw - #80

Merged
rebaserHEAD merged 1 commit into
mainfrom
fix/marker-layer-depth
Jul 28, 2026
Merged

Markers classify by what they are, not where they draw#80
rebaserHEAD merged 1 commit into
mainfrom
fix/marker-layer-depth

Conversation

@rebaserHEAD

Copy link
Copy Markdown
Owner

About

Field report: the Atmos Markers layer toggle did nothing, and atmos markers hid with the Doors toggle instead.

Root cause: MarkerBase (and with it every spawner and atmos-fix marker in the corpus) draws at Overdoors (+10), the same depth band as doors. The layer filter bucketed purely by draw depth and only checked marker-ness inside the 0..+7 band, so every marker fell through to the Doors bucket. Doors toggle hid all markers; Markers and Atmos Markers toggles hit nothing.

The fix moves the marker checks in front of the depth bands: markers are a semantic category, not a depth band, so they answer to their own toggles at any draw depth. Actual doors still follow the Doors toggle.

So worth flagging: the existing tests all exercised markers at depth 0, where the old code happened to work. That is exactly how this shipped broken. The new tests pin the real depth (+10).

Testing

  • npx vitest run src/rendering/__tests__/markerLayer.test.ts - 14 passing, 5 new cases covering markers at +10 (marker toggles work, Doors toggle leaves them alone, real doors still hide).
  • Full suite: 949 passed, typecheck clean.

Checklist

  • Changelog updated
  • Tests pass

MarkerBase (and with it every spawner and atmos-fix marker) draws at
Overdoors (+10), the same depth band as doors. The layer filter bucketed
purely by draw depth and only tested marker-ness inside the 0..+7 band,
so every marker landed in the Doors bucket: the Doors toggle hid them
all, and the Markers / Atmos Markers toggles hit nothing.

Classify markers before the depth bands. The existing tests all passed
depth 0, which is exactly how this slipped through; the new ones pin the
real depth.
@rebaserHEAD
rebaserHEAD merged commit 749e5de into main Jul 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant