feat(web): render canonical living hedge maze walls
This commit is contained in:
@@ -158,6 +158,35 @@ are not MVP requirements.
|
||||
at 34, 40, and 46 CSS pixels. They contain no coordinates, objects,
|
||||
ownership, hidden topology, animation, or runtime dependencies.
|
||||
|
||||
### Runtime hedge rendering
|
||||
|
||||
- The local `/hedges.svg` sprite is derived from the approved review source.
|
||||
It contains only reusable runtime symbols and no scripts, raster data, or
|
||||
external dependencies. The review sheet in `docs/` is never requested by a
|
||||
browser page.
|
||||
- A map uses one non-interactive hedge-edge element for each canonical closed
|
||||
or server-opened edge in its current projection. Closed shared edges are
|
||||
owned by their north or west cell; east and south edges are rendered only at
|
||||
the current projection boundary. This bounds a full 32 by 32 map to 2,112
|
||||
hedge elements and avoids duplicated foliage.
|
||||
- A stable integer hash of the canonical edge index and orientation selects one
|
||||
of the six approved intact variants. Opened edges select one of the three
|
||||
approved breach variants. The same projection edge always receives the same
|
||||
art without random state, retained exploration, or a protocol field.
|
||||
- Gameplay readability takes priority over foliage density. Hedge foliage is
|
||||
at most 20% of one cell, and the center line of every horizontal or vertical
|
||||
symbol must coincide with its authoritative cell edge. Rotation must preserve
|
||||
that center line instead of shifting a vertical hedge through cell centers.
|
||||
Every runtime SVG instance uses the approved `160 x 40` view box scaled to
|
||||
exactly one cell edge; source-coordinate artwork must never overflow into
|
||||
unrelated cells. Cell interiors remain visually quiet and continuous so
|
||||
passages read as open floor rather than as a grid of highlighted rectangles.
|
||||
- Hedge edges are decorative, have `pointer-events: none`, sit below map
|
||||
objects and players, and may overhang an edge by at most 15% of a cell. A
|
||||
projection replacement removes all obsolete edge nodes. One restartable
|
||||
breakthrough timer may briefly show the approved breakthrough frame; reduced
|
||||
motion settles immediately on the permanent breach.
|
||||
|
||||
## 8. Responsive behavior
|
||||
|
||||
- The minimum supported player viewport is `412 x 916` CSS pixels.
|
||||
|
||||
Reference in New Issue
Block a user