gp-dimm-city 1.7.0-alpha.7 → 1.7.2
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/CHANGELOG.md +61 -20
- package/components.yaml +1 -1
- package/package.json +1 -1
- package/styles/components/cards.css +2 -1
- package/styles/components/section.css +9 -31
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,45 @@ cut a version that has no `## [X.Y.Z]` heading below.
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.7.2] - 2026-10-15
|
|
11
|
+
|
|
12
|
+
No package rule counts a book's rows or blocks any more: a threshold like
|
|
13
|
+
"four blocks or fewer" or "12 rows or more" only holds for the content it was
|
|
14
|
+
measured on, so it belongs in that book's own sheet.
|
|
15
|
+
|
|
16
|
+
### Removed
|
|
17
|
+
|
|
18
|
+
- **The 1.7.1 long-choose-table rule** (`.dc-section-choose > table:has(> tbody
|
|
19
|
+
> tr:nth-child(12))`). Tables are kept whole again, as in 1.7.0. A book with a
|
|
20
|
+
table taller than the page under its heading lets that one split from its own
|
|
21
|
+
sheet, e.g. `.dc-flaws > table { break-inside: auto; }` for the Field Guide's
|
|
22
|
+
Flaw table.
|
|
23
|
+
- **The panel break rules that counted blocks** (`components/section.css`,
|
|
24
|
+
"Where a panel may break"): a panel of four blocks or fewer kept whole, and a
|
|
25
|
+
panel of five or more keeping its 2nd block with its 3rd and its last block
|
|
26
|
+
with the one above. A panel now splits where the page ends; its heading still
|
|
27
|
+
stays with the block under it, and text still keeps 3 orphans and 3 widows.
|
|
28
|
+
A book that wants the 1.7.1 behaviour copies the three rules into its own
|
|
29
|
+
sheet; the design guide does (`design-guide/styles/guide.css` §7).
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- **A skill card's opening** is written `:first-child, :first-child + *`
|
|
34
|
+
instead of `:nth-child(-n+2)`. Same rule: the flavor line and the block
|
|
35
|
+
after it stay with what follows.
|
|
36
|
+
|
|
37
|
+
## [1.7.1] - 2026-10-15
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
|
|
41
|
+
- **A long table of choices splits between rows.** A table of 12 rows or more
|
|
42
|
+
in a `choose` section (`@flaws`, `@ideals`, `@section choose`) may now break
|
|
43
|
+
between rows; each row is a whole option and the header repeats. At the 10pt
|
|
44
|
+
floor the Field Guide's 19-row Flaw table no longer fit under its heading,
|
|
45
|
+
so the whole table jumped to the next page, left the opening page empty and
|
|
46
|
+
pushed the section's last two lines onto a third page. Shorter tables, and
|
|
47
|
+
tables outside `choose` sections, still stay whole.
|
|
48
|
+
|
|
10
49
|
## [1.7.0] - 2026-10-15
|
|
11
50
|
|
|
12
51
|
A redesign pass by component family. A reader should know what kind of box they
|
|
@@ -18,9 +57,8 @@ the other roles are HUD blue for player rules and look-ups, cyan on ink for the
|
|
|
18
57
|
Dream Master only, hazard yellow with ink for danger and choices, blood and rust
|
|
19
58
|
for harm and cost, violet for the world, fungi green for the organic. The
|
|
20
59
|
constitution is revised to match: §II adds the colour roles and the grayscale
|
|
21
|
-
rule, §V and §VI set a 10pt type floor, §VII describes the
|
|
22
|
-
|
|
23
|
-
reading surfaces.
|
|
60
|
+
rule, §V and §VI set a 10pt type floor, and §VII describes the new
|
|
61
|
+
components.
|
|
24
62
|
|
|
25
63
|
A second pass, from review of 1.7.0-alpha.1, set a 10pt type floor for all
|
|
26
64
|
text, took every word off the brick wall, tied shape to meaning and added a
|
|
@@ -75,15 +113,15 @@ little grit.
|
|
|
75
113
|
words, replacing its chip); danger and enforcement are sign plates; lore and
|
|
76
114
|
cabal long asymmetric slashes; fiction, backstory, cult and flaws torn;
|
|
77
115
|
choices ticket notches; gear tags; magic facets; organic boxes wobble. The
|
|
78
|
-
|
|
116
|
+
eight alerts, every section kind, block, choice card, faction, entry, table
|
|
79
117
|
and all ten specialties are re-cut to match, and every clipped edge is
|
|
80
118
|
padded clear of its cut by 2pt or more.
|
|
81
119
|
- **Folio and chapter chips** are fixed-height boxes with their type centred,
|
|
82
|
-
on recto and verso. The chapter chip is a stamped coupon
|
|
83
|
-
|
|
120
|
+
on recto and verso. The chapter chip is a stamped coupon in the chapter's
|
|
121
|
+
colour, replacing the dashed outline.
|
|
84
122
|
|
|
85
|
-
- **Alerts:
|
|
86
|
-
edge and label
|
|
123
|
+
- **Alerts: eight registers, eight silhouettes.** Each has its own fill value,
|
|
124
|
+
edge and label. Bodies are italic, as before; the example's is upright.
|
|
87
125
|
- note: the calm HUD-blue panel with a blue rail, as before.
|
|
88
126
|
- warning: a light cream hazard sign: a yellow and black stripe rail, an ink
|
|
89
127
|
frame and a yellow caution-tape label. It signals consequence.
|
|
@@ -93,6 +131,7 @@ little grit.
|
|
|
93
131
|
rail: the world's voice, not a slab.
|
|
94
132
|
- origin: warm paper, a rust rail, a dog-eared corner and a crimson rubber-stamp
|
|
95
133
|
label: second-person backstory.
|
|
134
|
+
- location: the origin's document in map teal: a place written up.
|
|
96
135
|
- visit: a fungi-green signpost with a map-pin label: a place.
|
|
97
136
|
- example: a cyan rail with a taped-on label.
|
|
98
137
|
New tokens `--dc-alert-frame`, `-label-bg` and `-label-pad` carry the frame
|
|
@@ -107,7 +146,7 @@ little grit.
|
|
|
107
146
|
Master's alone), with a strip of its own when it has no heading. `choose` is a
|
|
108
147
|
printed form, not a panel: a paper sheet a hair lighter than cream, an ink
|
|
109
148
|
edge, no bar or cut corners, an ink title over a double rule, heavy ink tick
|
|
110
|
-
boxes, dotted write-in rules and a yellow *
|
|
149
|
+
boxes, dotted write-in rules and a yellow *Choose* stamp. The title bar is
|
|
111
150
|
one rule reading new tokens (`--dc-section-bar-mix` / `-bar-tone` / `-bar-fg` /
|
|
112
151
|
`-bar-rule` / `-bar-rule-sub`, and `--dc-section-flag`); each kind sets them
|
|
113
152
|
instead of repainting the bar, and so does the catalog. A block's band reads
|
|
@@ -201,9 +240,8 @@ little grit.
|
|
|
201
240
|
- **New neutrals.** `--paper-form` (the `choose` sheet) and `--paper-zine` (the
|
|
202
241
|
fiction excerpt and shard sheets).
|
|
203
242
|
- **Ink coverage under 280%.** Measured through the build's own PDF/X
|
|
204
|
-
conversion: `--ink` is `#1e1d1c` (278%, was 284%)
|
|
205
|
-
|
|
206
|
-
heavy fills, frames and borders. `--deep-rust`, `--fungi-rot` and six
|
|
243
|
+
conversion: `--ink` is `#1e1d1c` (278%, was 284%) and `--ink-dark` is
|
|
244
|
+
`#2f2622` (266%, was 271%). `--deep-rust`, `--fungi-rot` and six
|
|
207
245
|
specialty darks are lifted to 268% or less. Every palette and identity token
|
|
208
246
|
carries its measured CMYK and TAC. No raw `#000`/`#fff` remains in a
|
|
209
247
|
`color-mix()`.
|
|
@@ -260,16 +298,19 @@ little grit.
|
|
|
260
298
|
- Heading slips keep with what follows, prose sheets take orphans and widows
|
|
261
299
|
of 3, and `###`/`####` slips hang offset (`--dc-page-slip-gap`,
|
|
262
300
|
`-slip-offset`, `--dc-heading-gap`).
|
|
263
|
-
-
|
|
264
|
-
|
|
265
|
-
-
|
|
266
|
-
|
|
301
|
+
- Tests guard the 10pt floor, page-level components, the Lucid/Surreal
|
|
302
|
+
variants, opaque paint and repeating gradients.
|
|
303
|
+
- The tape divider's crimson dashes print in PDF/X: they were a repeating
|
|
304
|
+
gradient, which PDF/X drops, and are now an ordinary gradient tiled every
|
|
305
|
+
10px (#41).
|
|
306
|
+
- A learning-path banner contains its slanted band rule, so the overhang no
|
|
307
|
+
longer widens the page and a book builds without `allowShrink`.
|
|
267
308
|
|
|
268
309
|
- **Contrast and type.** The special AP chip (ink on amber, 3.5:1), the tier pills
|
|
269
|
-
(accent
|
|
270
|
-
subtitle (ink-smoke on `--paper-stain`, 3.4:1), the
|
|
271
|
-
bright magenta, 3.6:1) now pass 4.5:1, and the NPC flavor line is a ruled line on the paper instead of italic on a grey box. The DM alert
|
|
272
|
-
body is
|
|
310
|
+
(the accent failed 4.5:1 for 9px type on the magenta and orange bands), the learning-path
|
|
311
|
+
subtitle (ink-smoke on `--paper-stain`, 3.4:1), the magenta title band (cream on
|
|
312
|
+
bright magenta, 3.6:1; now the Wirephreak's) now pass 4.5:1, and the NPC flavor line is a ruled line on the paper instead of italic on a grey box. The DM alert
|
|
313
|
+
body is set at the 10pt floor instead of 9pt.
|
|
273
314
|
- **A chapter no longer repaints the alerts.** The Dream Mastery chapter's override
|
|
274
315
|
turned every alert grey-brown and rust in Part 2; the alert identity now survives
|
|
275
316
|
re-theming. Its DM panel heading was ink on ink (an empty-looking bar) and is
|
package/components.yaml
CHANGED
|
@@ -1019,7 +1019,7 @@ components:
|
|
|
1019
1019
|
emits: div.section.dc-section-panel.dc-section-choose
|
|
1020
1020
|
css: [styles/components/section.css]
|
|
1021
1021
|
tokens: [--dc-section-bg, --dc-section-accent, --dc-section-tab, --dc-section-tab-bg, --dc-section-tab-fg]
|
|
1022
|
-
notes: "A printed, stamped form, not a panel: a paper sheet a hair lighter than cream (--paper-form), recessed (sunk into the wall: a cast shadow along its top, a light lip on its bottom and right) in an ink edge cut like a ticket (a V punched in each side, a perforated foot), no bar and no drop shadow, an ink title over a double rule, dotted write-in rules under table rows, a heavy ink tick box before each list item and a hazard-yellow '
|
|
1022
|
+
notes: "A printed, stamped form, not a panel: a paper sheet a hair lighter than cream (--paper-form), recessed (sunk into the wall: a cast shadow along its top, a light lip on its bottom and right) in an ink edge cut like a ticket (a V punched in each side, a perforated foot), no bar and no drop shadow, an ink title over a double rule, dotted write-in rules under table rows, a heavy ink tick box before each list item and a hazard-yellow 'Choose' stamp (drawn even when there is no heading). The chapter's accent colours only the double rule. @flaws, @ideals and @dreams are runs of @card inside a choose section with their own class."
|
|
1023
1023
|
|
|
1024
1024
|
- name: faction
|
|
1025
1025
|
status: live
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gp-dimm-city",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "Dimm City design system for Gutterpress: the markdown-it macros (@skill, @specialty, @learning-path, @callout, …), print stylesheets, design tokens, fonts and page templates the Dimm City TTRPG books are set in.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "plugin.js",
|
|
@@ -289,7 +289,8 @@
|
|
|
289
289
|
/* A card never opens with just its tab and a line or two at a page foot: its
|
|
290
290
|
first two blocks (the flavor line and a possibly one-line ability) stay with
|
|
291
291
|
the first two lines of what follows, or the card moves to the next page. */
|
|
292
|
-
.dc-skill-card .dc-card-inner > :
|
|
292
|
+
.dc-skill-card .dc-card-inner > :first-child,
|
|
293
|
+
.dc-skill-card .dc-card-inner > :first-child + * {
|
|
293
294
|
break-after: avoid;
|
|
294
295
|
}
|
|
295
296
|
|
|
@@ -147,36 +147,14 @@ div[class="section"] {
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
/* ── Where a panel may break ────────────────────────────────────────────────
|
|
150
|
-
A panel
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
token, a class on the panel).
|
|
156
|
-
|
|
157
|
-
1. A SHORT panel stays whole. Four blocks or fewer (the heading bar counts)
|
|
158
|
-
is a third of a page at most, so it moves to the next page rather than
|
|
159
|
-
splitting 3 + 1. One with a column run or a table in it is left alone: it
|
|
160
|
-
is the tall kind, and keeping it whole leaves the page before it empty.
|
|
161
|
-
2. A LONG panel (five blocks or more) never opens with its heading and a single
|
|
162
|
-
block: the second block stays with the third (the heading bar already stays
|
|
163
|
-
with the second), so a panel does not start at a page foot with a bar and
|
|
164
|
-
one line.
|
|
165
|
-
3. A long panel never ends with one block alone: its last block stays with the
|
|
166
|
-
block above it, so a continuation is never a lone paragraph. (Not for a
|
|
167
|
-
heading: `break-after: avoid` on headings is core's.)
|
|
150
|
+
A panel splits wherever the page ends; its heading bar stays with the block
|
|
151
|
+
under it (`break-after: avoid` on headings is core's). Which panels a book
|
|
152
|
+
keeps whole depends on how long its panels are, so that is the book's call:
|
|
153
|
+
`.dc-avoid-split` on one panel, or `--dc-section-break-inside: avoid` from
|
|
154
|
+
the book's own sheet.
|
|
168
155
|
Text in a panel or a callout keeps 3 orphans and 3 widows (the body's are 2): at 2
|
|
169
156
|
Chromium still splits a three-line paragraph 2 + 1, and the one-line tail opens
|
|
170
157
|
the next page. At 3 a paragraph of five lines or fewer moves whole. */
|
|
171
|
-
.dc-section-panel:not(:has(> :nth-child(5), > .gp-columns, > table)) {
|
|
172
|
-
--dc-section-break-inside: avoid;
|
|
173
|
-
}
|
|
174
|
-
.dc-section-panel:has(> :nth-child(5)) > :nth-child(2) {
|
|
175
|
-
break-after: avoid;
|
|
176
|
-
}
|
|
177
|
-
.dc-section-panel:has(> :nth-child(5)) > :last-child:not(h2, h3, h4) {
|
|
178
|
-
break-before: avoid;
|
|
179
|
-
}
|
|
180
158
|
.dc-section-panel :is(p, li),
|
|
181
159
|
.dc-alert :is(p, li) {
|
|
182
160
|
orphans: 3;
|
|
@@ -381,7 +359,7 @@ h3 + .dc-section-panel {
|
|
|
381
359
|
reference look it up, a PALE bar all four, small HUD blue
|
|
382
360
|
lore the world, not the rules top left + bottom right, long violet, lilac sheet
|
|
383
361
|
dm behind the screen top right + bottom left ink bar, cyan rule and rail, DM chip
|
|
384
|
-
choose a form to fill in: NO bar, lightest sheet, sunk in an ink edge, yellow "
|
|
362
|
+
choose a form to fill in: NO bar, lightest sheet, sunk in an ink edge, yellow "Choose" stamp
|
|
385
363
|
catalog a run of entries (entries.css) both top
|
|
386
364
|
npc-stat a creature (below) both right
|
|
387
365
|
citizen-walkthrough (below) top left
|
|
@@ -596,7 +574,7 @@ h3 + .dc-section-panel {
|
|
|
596
574
|
Not a panel: a printed form, stamped. A paper sheet barely lighter than the
|
|
597
575
|
panel's cream (`--paper-form`), no solid bar, no chamfers, sunk into the wall
|
|
598
576
|
(see "Recessed kinds"). An ink edge, a title that is only ink on paper over
|
|
599
|
-
a double rule in the chapter's accent, a hazard-yellow "
|
|
577
|
+
a double rule in the chapter's accent, a hazard-yellow "Choose" stamp, a
|
|
600
578
|
dotted write-in rule under every row and a heavy ink tick box in front of
|
|
601
579
|
every option. The accent stays the chapter's: it colours the rule only. */
|
|
602
580
|
.dc-section-choose {
|
|
@@ -604,7 +582,7 @@ h3 + .dc-section-panel {
|
|
|
604
582
|
--dc-section-shadow: none;
|
|
605
583
|
--dc-section-edge: 0px;
|
|
606
584
|
--dc-section-bg: var(--paper-form);
|
|
607
|
-
--dc-section-tab: "
|
|
585
|
+
--dc-section-tab: "Choose";
|
|
608
586
|
--dc-section-tab-bg: var(--brand-yellow);
|
|
609
587
|
--dc-section-tab-fg: var(--ink);
|
|
610
588
|
--dc-section-bar-mix: 0%;
|
|
@@ -644,7 +622,7 @@ h3 + .dc-section-panel {
|
|
|
644
622
|
}
|
|
645
623
|
/* No heading: the sheet carries the stamp itself, floated to its right corner. */
|
|
646
624
|
.dc-section-choose:not(:has(> :is(h2, h3):first-child))::before {
|
|
647
|
-
content: "
|
|
625
|
+
content: "Choose";
|
|
648
626
|
position: static;
|
|
649
627
|
float: right;
|
|
650
628
|
inset: auto;
|