@justai/cuts 0.129.5 → 0.129.7

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@justai/cuts",
3
- "version": "0.129.5",
3
+ "version": "0.129.7",
4
4
  "description": "A persona's named parts \u2014 the page shell that holds them, and the cuts themselves.",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
package/src/Preroll.astro CHANGED
@@ -369,12 +369,29 @@ const safeId = "game-" + (id.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/
369
369
  * half a second to fade - and every pause put a brief wave of darkness across the game itself.
370
370
  * Static costs nothing (the room is transparent outside playing) and cannot mistime. */
371
371
  .cut.kernel:has(#pr) { position: relative; z-index: 35; }
372
+ /* ── THE ROOM IS DARK DOT PAPER, NOT A BLACK FILM ───────────────────────────────────────────
373
+ * queries: theater dim flat colour · the dots disappear in the dark · blender dark theme ·
374
+ * dot paper grid in theater mode
375
+ *
376
+ * The founder, looking at the first dim: *"dot paper grid'de dot kendini belli etmeyince bu
377
+ * sefer duz bir renk gibi algilaniyor"* — and pointing at the fix: 3dviewer's player, whose
378
+ * stage is Blender's own Theme Space grey, read out of a running Blender. A flat translucent
379
+ * black erased the ground's identity; a dark room should still be THE SAME PAPER with the
380
+ * lights down, the way Blender's viewport keeps its grid in the dark.
381
+ *
382
+ * So the layer carries its own lattice — the door's 24px dot grid, light-on-dark — over a
383
+ * neutral Blender-family dark. The opacity is high on purpose: the dots belong to THIS layer,
384
+ * and a translucent lattice over a busy page is noise, while a nearly-opaque one is a surface.
385
+ * The chrome beneath (the toolbar steps under at z 20) stays legible as shapes in a dark room. */
372
386
  .pr-room {
373
387
  position: fixed; inset: 0; z-index: 30;
374
- background: #05070d; opacity: 0; pointer-events: none;
388
+ background:
389
+ radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px) 0 0 / 24px 24px,
390
+ #262626;
391
+ opacity: 0; pointer-events: none;
375
392
  transition: opacity 0.5s var(--ease-out, ease-out);
376
393
  }
377
- html[data-stage="playing"] .pr-room { opacity: 0.55; }
394
+ html[data-stage="playing"] .pr-room { opacity: 0.86; }
378
395
  </style>
379
396
 
380
397
  <script>
package/src/Toolbar.astro CHANGED
@@ -457,16 +457,21 @@ import AuthMount from "./AuthMount.astro";
457
457
  * Opacity and pointer-events here; the INERT that takes them out of the tab order is set in the
458
458
  * script, because CSS cannot. The transition matters more than it looks: chrome that snaps away
459
459
  * reads as breaking, chrome that withdraws reads as dimming the house lights. */
460
- /* QUIET, NOT DEAD. The first version faded the row to 16% and made it inert - a locked door.
461
- * The founder's better idea: leave everything enabled, and USING any of it pauses the game -
462
- * *"gitti chats'e tikladi. game state playing ise otomatik oyunu pause eder. daha smooth bir
463
- * deneyim."* One tap instead of pause-then-tap, and the whole row becomes the way back. */
464
- :global(html[data-stage="playing"]) .tb-nav-group,
465
- :global(html[data-stage="playing"]) .tb-right,
466
- :global(html[data-stage="playing"]) .tb-title {
467
- opacity: 0.5;
468
- transition: opacity 0.4s var(--ease-out);
469
- }
460
+ /* ── IN THE DARK, NOT DISABLED — how this row goes quiet while a game plays ─────────────────
461
+ * queries: toolbar looks disabled · faded but clickable · toolbar during a game · theater
462
+ *
463
+ * Three versions of quieting, each struck by the founder. Fading the elements was the last one:
464
+ * *"neden disable mis gibi gozukuyor ama tiklanabiliyor? tiklanabiliyorsa disable gibi
465
+ * gozukmemeli."* Right - reduced opacity IS the visual language of disabled, and nothing
466
+ * clickable may speak it.
467
+ *
468
+ * The answer was in the theater metaphor the whole time: in a dark cinema the seats are not
469
+ * disabled, they are in the dark. So the elements keep their full strength and the ROW STEPS
470
+ * UNDER THE ROOM'S DIM - below the .pr-room layer the stage protocol hangs over the page - and
471
+ * darkens with everything else in one coherent light change. The dim takes no pointer events,
472
+ * so every control underneath works exactly as it looks like it should: like chrome in a dark
473
+ * room, waiting. */
474
+ :global(html[data-stage="playing"]) .tb-slot { z-index: 20; }
470
475
  /* icon-only section nav — current cut highlighted */
471
476
  .tb-nav {
472
477
  display: grid; place-items: center; width: 38px; height: 36px;