@justai/cuts 0.84.0 → 0.85.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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/Toolbar.astro +28 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@justai/cuts",
3
- "version": "0.84.0",
3
+ "version": "0.85.0",
4
4
  "description": "A persona's named parts — the page shell that holds them, and the cuts themselves.",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
package/src/Toolbar.astro CHANGED
@@ -350,6 +350,34 @@ import AuthMount from "./AuthMount.astro";
350
350
  inside the same 19px. If the row is ever to read level, the way there is to grow the GLYPHS, not to
351
351
  shrink the identity. */
352
352
  .tb-nav.tb-mark :global(img) { width: 19px; height: 19px; }
353
+
354
+ /* ── WHATEVER IS FIRST IN THE ROW READS AT 20; EVERYTHING AFTER IT AT 19 ────────────────────
355
+ *
356
+ * queries: toolbar icon sizes · why is the first icon bigger · 20 and 19 · first position
357
+ *
358
+ * The founder's rule, with app.zone's own mark as the reference every icon is measured against.
359
+ * It is POSITIONAL, not about which icon happens to be there — the row is saying that the first
360
+ * thing in it is not one of the sections, and that is true whatever fills the slot:
361
+ *
362
+ * a persona `BackToZone` — the way out to app.zone
363
+ * a child persona the parent's face — the way up
364
+ * app.zone itself its OWN mark, because there is no way out of the zone from the zone
365
+ *
366
+ * Written structurally for that reason. `BackToZone` sizes itself; when it is absent the nav group
367
+ * becomes the first child of `.tb-left`, and its first item is what a person sees first. Expressed
368
+ * as a selector rather than a list of ids, a fourth arrangement is right without anyone editing
369
+ * this file — which is what "positional" has to mean to be worth the words.
370
+ *
371
+ * Measured across nine live surfaces first: `home` was 20 on eleven personas and 19 on qr, which
372
+ * had overridden it; the three children's parent icon was 19; auth's was 19 because I set it there
373
+ * an hour earlier having read the drift backwards; app.zone's own mark was 19 while being the
374
+ * first thing in its row. `BackToZone`'s default was right the whole time.
375
+ *
376
+ * The first slot always holds a MARK — a drawing that fills its own viewBox — so a 20px box is
377
+ * 20px of ink. A glyph there would need 26.67 to read the same, and if one ever lands in that slot
378
+ * this rule is where the exception belongs. */
379
+ .tb-left > .tb-nav-group:first-child > .tb-nav:first-child :global(svg),
380
+ .tb-left > .tb-nav-group:first-child > .tb-nav:first-child :global(img) { width: 20px; height: 20px; }
353
381
  .tb-nav :global(svg) { width: 19px; height: 19px; }
354
382
 
355
383
  /* ── EQUAL INK, TWO BOXES ────────────────────────────────────────────────────────────────────