@marver-design/marver 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@ Minimal is enough - list the frames; the shell fills sizes from each frame's
9
9
  viewport and lays it out:
10
10
 
11
11
  ```json
12
- { "version": 1, "name": "checkout-compare", "auto": false,
12
+ { "version": 1, "name": "checkout-compare", "order": 1, "auto": false,
13
13
  "nodes": [ { "frame": "checkout-a/cart" }, { "frame": "checkout-b/cart" } ] }
14
14
  ```
15
15
 
@@ -18,8 +18,14 @@ viewport and lays it out:
18
18
  increasing `x`).
19
19
  - The human's tidy (`t`) and device views re-layout in frame-id order, so id
20
20
  ordering is the durable arrangement; explicit coordinates are one-off setups.
21
- - `auto: false` boards show exactly their list. `all-scenes` is auto-managed -
22
- never write it.
21
+ - **`"order": <n>` ranks the board in the switcher, and the LOWEST-ordered board is
22
+ the LANDING board the canvas opens on.** Rank them so the first is a tight, fast,
23
+ orienting board (an overview or the primary flow) - never a giant one. Boards
24
+ without an `order` sort after the ranked ones, by name. Set `order` deliberately on
25
+ every curated board; it is the first impression.
26
+ - `auto: false` boards show exactly their list. `all-scenes` is auto-managed (it holds
27
+ EVERY frame, so it is the heavy one) and always sinks to the BOTTOM of the switcher -
28
+ never the landing board, and never write its file.
23
29
  - Do not edit board files while the canvas is open unless asked; the shell owns
24
30
  their layout fields.
25
31
  - Use boards for comparisons: version A vs B vs C of a flow, side by side. Variant
@@ -92,10 +92,10 @@ export default () => (
92
92
  shows an in-frame card: fix the source, the frame heals live. Never hand-set
93
93
  colors or `%%{init}%%` themes - marver's palette is injected and source
94
94
  overrides are stripped.
95
- - `Img` shows `design/assets/<src>` with an optional caption; `h={n}` cover-crops
96
- to a fixed rendered height (the lever for optically aligning a mixed row - see
97
- "Images and mood boards" below). Blocks carry their own padding, border, and
98
- surface - never hand-manage spacing around them.
95
+ - `Img` shows `design/assets/<src>` with an optional caption, ALWAYS in full at its
96
+ natural aspect ratio - never cropped, never letterboxed. Size it by how many images
97
+ share its `Row` (fewer = bigger), not by a fixed height. Blocks carry their own
98
+ padding, border, and surface - never hand-manage spacing around them.
99
99
  - `intent` (`diagram` | `spec` | `moodboard` | `notes`) is the frame's PURPOSE,
100
100
  not its content mix - a frame with two diagrams and a paragraph is still the
101
101
  "diagram frame" if diagrams are why it exists. It drives the icon the human
@@ -154,21 +154,23 @@ screenshots, official brand logos, product visuals - download into
154
154
  of described imagery every time (the full asset rules: instructions/craft.md,
155
155
  "Real assets").
156
156
 
157
- **Size images to be SEEN, and make rows read as one set:**
158
-
159
- - An image that renders as a stamp is a defect. The image IS the content of a
160
- mood board - give the important one most of a row, let supporting shots share
161
- a row, and never pack so many into one `Row` that each collapses below
162
- legibility.
163
- - Equal component widths do NOT make unequal images look equal - aspect ratios
164
- and internal density differ, so a row of same-width `Img` blocks can still
165
- read ragged. Normalize a mixed row with a shared rendered height:
166
- `<Img src="..." h={240} />` cover-crops every image in the row to one height,
167
- which is what makes them READ aligned. Group similar aspects together when
168
- cropping would destroy the shot.
169
- - Alignment is judged on the RENDER, not the props: after composing, look at the
170
- actual frame (screenshot it if you can) and adjust until the rows sit
171
- optically consistent. "The code says they're the same width" proves nothing.
157
+ **Size images to be SEEN - by row grouping, never by cropping:**
158
+
159
+ - The image IS the content: it always renders in FULL at its natural aspect ratio, so
160
+ a screenshot stays fully legible and is never sliced. You size it by how many images
161
+ share a `Row` - fewer per row = larger. Give a detailed screenshot its own row or a
162
+ pair; let small supporting shots share a row of three or four. An image that renders
163
+ as a stamp is a defect - pull it into a shorter row.
164
+ - A row of same-aspect images (e.g. app screenshots, all the same window shape) lines
165
+ up as one set on its own: equal column width + equal aspect = equal height, with no
166
+ fixed-height prop. Only mixed aspects read ragged - split those into their own rows
167
+ by shape rather than forcing a height (forcing one would crop or letterbox the shot).
168
+ - Reach for `layout="wide"` on image-heavy reference frames so each shot has room, and
169
+ never set a frame height - the frame auto-heights to fit everything the canvas
170
+ measures. Marver renders images crisp and zooms fast, so fine detail is one zoom away.
171
+ - Judge on the RENDER, not the props: after composing, look at the actual frame
172
+ (screenshot it if you can) and adjust the per-row count until it reads well. "The code
173
+ says they're the same width" proves nothing.
172
174
 
173
175
  ## When Shape ends
174
176