@justai/cuts 0.116.0 → 0.118.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 +2 -2
  2. package/src/Preroll.astro +24 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@justai/cuts",
3
- "version": "0.116.0",
3
+ "version": "0.118.0",
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": {
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@justai/core": "^0.26.0",
45
- "@justai/ui": "^0.15.0",
45
+ "@justai/ui": "^0.16.0",
46
46
  "@justai/atrium": "^0.1.9"
47
47
  }
48
48
  }
package/src/Preroll.astro CHANGED
@@ -183,9 +183,28 @@ const safeId = "game-" + (id.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/
183
183
  position: absolute; inset: 0; z-index: 1;
184
184
  display: grid;
185
185
  grid-template-columns: 1fr;
186
- grid-template-rows: 1fr auto auto auto;
186
+ /* ── THE ART TAKES THE TOP HALF; THE COPY BEGINS ON THE CENTRE LINE ────────────────────────
187
+ * queries: preroll composition · where does the copy start · the play button is too low ·
188
+ * the button is under the browser bar · centre line · x-ray grid
189
+ *
190
+ * The founder, describing it through the x-ray's own grid — which is what that instrument was
191
+ * for: *"logo 1. satırın 2. cell'inde ortada olsa daha iyi olur… içerik de 2. satırın top'undan
192
+ * başlasa daha iyi olur."*
193
+ *
194
+ * `50%` on the first row is exact rather than approximate: the door's padding is equal top and
195
+ * bottom, so half of its content box IS the frame's centre — the same line the x-ray draws. The
196
+ * art centres in the half above it and the copy starts on it.
197
+ *
198
+ * AND IT IS WHY THE BUTTON IS SAFE ON A REAL PHONE. The last row takes the slack, so the button
199
+ * sits directly under the copy instead of at the bottom of the frame — which on a real device is
200
+ * where the browser puts its own bar. He sent a screenshot from one: the URL bar sitting over the
201
+ * play button, and a strip of the next section showing beneath it. A composition that ends at the
202
+ * frame's bottom edge is a composition whose call to action a phone can cover. */
203
+ grid-template-rows: 50% auto auto minmax(0, 1fr);
187
204
  grid-template-areas: "art" "copy" "play" "imprint";
188
205
  padding: clamp(18px, 7cqw, 64px);
206
+ /* And the strip the OS keeps for its home indicator, on top of the inset — never instead of it. */
207
+ padding-block-end: calc(clamp(18px, 7cqw, 64px) + env(safe-area-inset-bottom, 0px));
189
208
  background:
190
209
  radial-gradient(90cqw 52cqh at 8% -12%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 62%),
191
210
  radial-gradient(76cqw 46cqh at 96% 4%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%),
@@ -198,9 +217,12 @@ const safeId = "game-" + (id.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/
198
217
  /* THE ART TAKES THE TOP AND SITS TO THE RIGHT, which is the card's own diagonal stood up: art one
199
218
  side, type the other. Everything centred is the safe composition and it is the one that reads as
200
219
  a placeholder — the card is left-aligned and that is this family's voice. */
220
+ /* CENTRED, not pushed to the edge. The first version put the mark hard right to echo the card's
221
+ diagonal — and the card is a landscape rectangle where that diagonal has room to be one. Stood up
222
+ in a tall frame it stops reading as a composition and starts reading as a thing that drifted. */
201
223
  .pr-art {
202
224
  grid-area: art; min-height: 0;
203
- display: flex; align-items: center; justify-content: flex-end;
225
+ display: flex; align-items: center; justify-content: center;
204
226
  }
205
227
  .pr-art :global(svg), .pr-art :global(img) {
206
228
  display: block; width: auto; height: auto;