---
phase: 06.3
plan: "09"
subsystem: collision
tags: [game-logic, client, e2e, navi-mask]
requires:
  - phase: "06.3"
    provides: "06.3-01 layout telemetry"
provides:
  - "D-54 NAVI_MASK center-feet-relative constants"
  - "All-edge floor collision Playwright regression gate"
affects: [phase-06.3, D-54, NAVI_MASK, game-logic, floor-collision]
tech-stack:
  added: []
  patterns: ["Convert extracted sprite-local bbox to Phaser center-feet offsets"]
key-files:
  created: []
  modified:
    - packages/game-logic/src/constants.ts
    - packages/game-logic/test/navi-mask-bbox.test.ts
    - packages/game-logic/test/walkable-edge.test.ts
    - packages/game-logic/test/wall-slide.test.ts
    - apps/client/test/e2e/cli-08-floor-collision.e2e.test.ts
requirements-completed:
  - REQ-CLI-04
  - REQ-CLI-06
  - REQ-CLI-08
duration: 18 min
completed: 2026-05-14
---

# Phase 06.3 Plan 09: D-54 NAVI_MASK Correction Summary

**NAVI_MASK now uses center-x / feet-y offsets that match Phaser sprite origin `(0.5, 1)`.**

## Accomplishments

- Changed `NAVI_MASK` from extracted top-left bbox values `{9,40,26,46}` to center-feet offsets `{-9,-8,8,-2}`.
- Updated unit coverage to assert the conversion from `NaviMask/meta.json`.
- Updated edge/wall-slide unit geometry that had the old coordinate system baked in.
- Expanded `cli-08-floor-collision.e2e.test.ts` from south-only to north/south/east/west wall checks.

## Task Commits

1. **Task 1/2/3: D-54 NAVI_MASK fix** - `179f41c` (`fix(06.3-09)`)

## Deviations from Plan

- The plan referenced `packages/game-logic/test/constants.test.ts`, but the actual repo test is `packages/game-logic/test/navi-mask-bbox.test.ts`.
- Two additional game-logic tests needed geometry updates because they encoded the old top-left-relative mask positions.

## Verification

- `pnpm --filter @rebno/game-logic test --run` - PASS, 10 test files passed, 50 tests passed.
- `pnpm --filter @rebno/game-logic typecheck` - PASS.
- `pnpm --filter @rebno/client typecheck` - PASS.
- `pnpm --filter @rebno/client exec playwright test --list | Select-String "floor"` - PASS, lists four floor-collision edge tests.

## Next Phase Readiness

Ready for D-40 residual handling (`06.3-10`) and staging collision smoke after Wave 2.

---
*Phase: 06.3*
*Completed: 2026-05-14*
