feat(web): render canonical living hedge maze walls
This commit is contained in:
@@ -63,6 +63,11 @@ blocked-move text. Opened-passage bits in an ordinary cell projection render as
|
||||
a permanent trampled bush gap. Effects have one restartable timer and clear on
|
||||
pause, result, reset, disconnect, and control reset. Reduced motion is static.
|
||||
|
||||
The map draws only a bounded canonical hedge-edge layer generated from current
|
||||
received cells. It hashes each visible edge deterministically to choose the
|
||||
approved local SVG variant, so the browser neither retains unseen geometry nor
|
||||
decides topology. The layer is decorative and cannot receive input.
|
||||
|
||||
All remaining Russian system messages use one `role=status` live message rail
|
||||
above the application top bar. One connection-loss message has highest priority
|
||||
and remains until a successful recovery; other messages deduplicate, replace
|
||||
|
||||
@@ -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