Skip to content

Commit a2baa39

Browse files
committed
fix(deck-neon): use the full canvas — split / full-bleed / centered layouts
Replaces the left-aligned narrow column (which left a large empty right half) with three width-filling layouts: split (text + a first-class visual filling the other column), full-bleed headline (title ~70vw + full-width detail row), and centered focus. Adds a per-slide 'no empty right half' self-test and the matching failure mode. Verified by regenerating effective-agents at 2560px wide: cover (full-width info strip), thesis (left text + node-graph visual), compare (two columns), data (centered big number), closing (left text + layered-stack visual) — all balanced edge-to-edge, console clean.
1 parent ac9a8a1 commit a2baa39

1 file changed

Lines changed: 38 additions & 18 deletions

File tree

skills/openkb-deck-neon/SKILL.md

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -149,25 +149,40 @@ These three layers are what stop the dark background from looking flat/cheap.
149149

150150
### Composition rules
151151

152-
* **Wrap each slide's content in one `.inner` block with an EXPLICIT
153-
`max-width`.** This is mandatory under fill-viewport — without it a centered
154-
box sizes to `min-content` and collapses into a narrow sliver on a wide
155-
screen (the #1 bug). Never let a content box use `min-content`/`fit-content`.
156-
* Left-aligned types (cover/chapter/thesis/closing): `.inner{
157-
max-width:min(60ch,62vw); margin-right:auto}` — hugs the left.
158-
* Centered types (`data`, `quote`): `.inner{max-width:min(840px,80vw);
159-
margin:0 auto; text-align:center}`.
160-
* `compare`: `.inner{max-width:min(1100px,88vw); margin:0 auto;
161-
display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3vw,56px)}`
162-
with the glowing teal rule between columns.
163-
* `data` big number: `white-space:nowrap` (so `93.1%` never wraps) at
164-
`clamp(3.5rem,11vh,9rem)`; body beneath stays centered in the SAME `.inner`
165-
as a readable ~3-line paragraph — never a 3-word column.
152+
**Use the WHOLE canvas — never a left sliver with a big empty right half.**
153+
This is the #1 layout failure under fill-viewport. Every slide must span the
154+
width via ONE of these (vary them across the deck):
155+
156+
* **Split** — default for `thesis` / `chapter` / `closing` (and `cover` when it
157+
has a visual). A 2-column grid that fills the slide:
158+
`.inner{display:grid; grid-template-columns:1.05fr .95fr;
159+
gap:clamp(40px,5vw,96px); align-items:center; width:100%;
160+
max-width:min(1600px,92vw); margin:0 auto}`. Text in one column; a
161+
**first-class VISUAL in the other** — inline-SVG diagram, node/flow sketch,
162+
big labeled stat, or schema table — sized `width:100%` to fill its column,
163+
NEVER a thumbnail in a corner.
164+
* **Full-bleed headline**`cover`, big `thesis`. The gradient display title
165+
spans ~70vw across the upper canvas; subtitle + a thin full-width detail row
166+
(kicker / stat strip / row of chips) beneath. The title fills the width, so
167+
there is no right-hand void.
168+
* **Centered focus**`data`, `quote`. `.inner{max-width:min(900px,72vw);
169+
margin:0 auto; text-align:center}` with SYMMETRIC breathing room on both
170+
sides (never one-sided dead space).
171+
* **`compare`** — `.inner{max-width:min(1180px,90vw); margin:0 auto;
172+
display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3vw,56px)}`, with
173+
the glowing teal rule between columns.
174+
175+
**Per-slide self-test: is there a large empty right half? Then the layout is
176+
wrong** — widen the headline, add the visual column, or center it. The closing
177+
diagram, compare columns, and any flow/graph MUST fill their region, never
178+
shrink to a corner. Never size a content box to `min-content`/`fit-content`
179+
(collapses to a sliver).
180+
181+
* `data` big number: `white-space:nowrap` at `clamp(3.5rem,11vh,9rem)`; body
182+
beneath centered in the same `.inner` as a readable ~3-line paragraph.
166183
* Cover/chapter titles never wrap an article ("the"/"an"/"to") onto its own line.
167-
* Maintain contrast: body text is `--ink` on `--bg`. Never set body copy to
168-
`--muted`/`--soft` as its main color — it disappears on dark. (Exception:
169-
a `quote` slide's pull-quote is intentionally `--soft`, and `cover`/`closing`
170-
subtitles may use `--soft` — these are the only body exceptions.)
184+
* Contrast: body is `--ink` on `--bg`; never body copy in `--muted`/`--soft`
185+
(exception: `quote` pull-quotes and cover/closing subtitles may be `--soft`).
171186

172187
## Slide grammar (7 permitted `data-type` values)
173188

@@ -231,6 +246,9 @@ Cover/closing have no chapter context → top-left label is "OPENKB".
231246
(invalid; fires a console error). Give inline SVG a `viewBox` and size it
232247
with CSS (`width:100%;height:auto` in a `style`) or fixed `width`/`height`
233248
attributes — never `height="auto"` as an attribute.
249+
14. **Left sliver / right void** — content crammed into a left column with a
250+
large empty right half (the worst look). Use a split / full-bleed / centered
251+
layout (§Composition) so the right half is content or symmetric space.
234252

235253
## Self-check (before reporting back)
236254

@@ -246,5 +264,7 @@ Cover/closing have no chapter context → top-left label is "OPENKB".
246264
`max-width` / fixed `1280px` box, no letterbox side-bands)?
247265
7. Is content wrapped in an `.inner` with an explicit `max-width` — no narrow
248266
sliver / `min-content` collapse, and big numbers `white-space:nowrap`?
267+
8. Does every slide use the full width (split / full-bleed / centered) with NO
268+
large empty right half, and do text-heavy slides carry a visual?
249269

250270
If any answer is no, revise and re-run this self-check.

0 commit comments

Comments
 (0)