What problem does it solve? The overworld board in this game can be drawn in two projections—a laid-back 3D trapezoid or a flat top-down 2D grid—and code that assumes one projection or reads the wrong constants produces broken rendering, misplaced sprites, and incorrect pointer hit-testing. ## Core Features & Use Cases - Projection selection rules: Explains that viewFor(width, height) picks flat for portrait screens and laid-back otherwise, with the player's Flat board setting as the only override. - Querying the live view: Directs all drawing code to boardView() for mode, depth, rise, squash, aspect, and span instead of the fixed GROUND_* constants in src/canvas/tilt.ts. - Screen registration before projection: Requires setBoardScreen(width, height) before projecting points, covering painters, pointer handlers, and browser tests like spotOf in e2e/walk.ts. - Use Case: When adding a new overworld effect such as a shadow or weather layer, consult this Skill to decide how it must behave on the flat board and which view values to read. ## Quick Start Ask the assistant to review or write canvas drawing code for the overworld board and confirm it reads the projection from boardView() rather than assuming a tilt.