Skip to content

EPIC: USER-TRUTH GATES — the paint the player sees must agree with the game they play (owner playtest 2026-07-22) #1647

Description

@100yenadmin

Owner playtest verdict (live player, screenshots on file): walk through walls/staircases/objects/fire, invisible character, spawn inside a bookcase, no functional doors — 'it doesn't make sense from a user perspective.' Engine probes on the same instance show the ENGINE layer correct (walls/props reject imp=Y, camera contract exact). The gap is systematic: every gate we run certifies GEOMETRY truth; NOTHING certifies the USER'S VISUAL truth. The five feedback items decompose into 4 instrument gaps + 1 stale build (fixed):

  1. FIXED TONIGHT — invisible/crumpled actor: the client: runtime-spawned actors bind the animated roster setup (T-pose fix, #1601) #1616 fallback-model fix existed in code but no build carrying it had reached the owner app. Installed (with a new refresh-flow trap: ditto-to-~/Applications → OS_REASON_CODESIGNING kill; fix = xattr -dr quarantine + ad-hoc codesign — runbook update queued). Post-install frame: actor upright + animated.
  2. Occluded-actor silhouette (P1): standing behind a tall occluder fully masks the sprite — only the name label floats ('invisible half the time'). Isometric convention: draw a tinted SILHOUETTE through occluders. Client change; rides the next box build.
  3. Door affordance (P1 — escalates Room Pipeline: door-cell ↔ painted-arch reconciliation (cosmetic) #1585 from 'cosmetic'): the door CELL works but the PAINTED archway is elsewhere; clicking the visible door does nothing → 'no functional doors.' Fix: click-target at the painted arch mapped to the door cell (per-room arch-pixel annotation or glow hotspot at the arch), not just the label.
  4. Paint-coverage coherence (P1): grid-open cells under painted furniture ('spawn in a bookcase', 'walk through objects/fire', 'through the staircase' — that staircase is paint with no geometry). Reproduced live: engine happily walks to (1,1) in the shop = inside the painted shelf. Fix: extend check_grid_paint_coherence (the camp-truegrey instrument) into a PER-ROOM CERTIFICATION STAGE — every walkable cell must be visually floor-open in the plate (or the cell gets blocked / the plate re-locked); spawns + door arrivals REQUIRE paint-open cells.
  5. USER-TRUTH walk-gate stage: the walk gate gains: click-the-painted-door (must cross), walk-behind-occluder (silhouette visible), spawn/arrival visual-openness. A room certifies only when the GAME THE USER SEES agrees with the game the engine plays.
  6. Owner-instance continuous gate: gates ran in the QA sandbox on new builds while the owner pair went unverified between installs. Rule: any owner-touching change ends with a walk-gate probe against the OWNER instance (probe-set + party-return), and installs end with a fresh-frame eyeball.

Companions: #1639 (cast presence), #1645 (combat lifecycle), #1644 (camp plate retirement). This epic is the next sprint's spine — it outranks further paint cycles.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions