gp-dimm-city 1.6.3 → 1.7.0-alpha.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 +235 -0
- package/README.md +6 -3
- package/components.yaml +151 -68
- package/package.json +1 -1
- package/plugin.js +15 -10
- package/snippets/definition-lucid.md +7 -0
- package/snippets/definition-surreal.md +7 -0
- package/snippets/specialty-catalog-page.md +19 -0
- package/styles/components/callouts.css +215 -31
- package/styles/components/cards.css +52 -72
- package/styles/components/chrome.css +106 -49
- package/styles/components/data.css +335 -83
- package/styles/components/entries.css +220 -46
- package/styles/components/images.css +37 -2
- package/styles/components/section.css +663 -131
- package/styles/components/specialty-identity.css +353 -135
- package/styles/components/specialty.css +132 -14
- package/styles/dc-component-defaults.css +209 -26
- package/styles/dc-core.css +9 -6
- package/styles/dc-identity.css +8 -14
- package/styles/dc-native.css +160 -42
- package/styles/dc-palette.css +14 -11
- package/styles/page-rules.css +27 -16
- package/styles/page-templates.css +227 -24
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,241 @@ cut a version that has no `## [X.Y.Z]` heading below.
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.7.0] - 2026-10-15
|
|
11
|
+
|
|
12
|
+
A redesign pass by component family. A reader should know what kind of box they
|
|
13
|
+
are looking at from its silhouette, fill value and colour before reading a word,
|
|
14
|
+
and every variant is told apart in grayscale as well as in colour (value, edge
|
|
15
|
+
and label, never hue alone). Magenta is display punch only (chevrons, spray
|
|
16
|
+
titles, pull quotes, `ROLL THE DIE!`, the VAR chip, the default panel accent);
|
|
17
|
+
the other roles are HUD blue for player rules and look-ups, cyan on ink for the
|
|
18
|
+
Dream Master only, hazard yellow with ink for danger and choices, blood and rust
|
|
19
|
+
for harm and cost, violet for the world, fungi green for the organic. The
|
|
20
|
+
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
|
+
new components, and §IX narrows the Pass 6/7/8 bans to specialty cards and
|
|
23
|
+
reading surfaces.
|
|
24
|
+
|
|
25
|
+
A second pass, from review of 1.7.0-alpha.1, set a 10pt type floor for all
|
|
26
|
+
text, took every word off the brick wall, tied shape to meaning and added a
|
|
27
|
+
little grit.
|
|
28
|
+
|
|
29
|
+
### Added
|
|
30
|
+
|
|
31
|
+
- **`@page specialty-catalog`**: the specialty catalog is a designed two-page
|
|
32
|
+
spread. It opens on a left page; the title, the lede and four cards fill the
|
|
33
|
+
left page and six the right, in aligned rows of equal height. Each card is a
|
|
34
|
+
poster: portrait on top in an ink mat cut to its specialty's silhouette,
|
|
35
|
+
name, tagline, pitch and an index chip. Snippet *Specialty Catalog Page*.
|
|
36
|
+
- **`@definition lucid` and `@definition surreal`**: the two roll states drawn
|
|
37
|
+
as opposites. Lucid is a light, machined, upright sheet in a blue frame;
|
|
38
|
+
Surreal is an inverted violet-black sheet with a skewed torn edge,
|
|
39
|
+
off-register inks and a leaning headword.
|
|
40
|
+
- **No text on the wall.** On wall pages free-standing text gets a substrate
|
|
41
|
+
with no markup: a `#` title is an accent banner, `##` a pasted paper slip
|
|
42
|
+
(accent rail, dashed foot, tape), `###` a plain slip, `####` and below a
|
|
43
|
+
label slip, and loose paragraphs, lists and quotes share one paper sheet per
|
|
44
|
+
run. A bare `@section` is a paper sheet; flavor lines and the spec tweak sit
|
|
45
|
+
on paper strips; the Citizen File running head is an amber tab. Tokens
|
|
46
|
+
`--dc-page-slip-*`, `--dc-page-sheet-pad`, `--dc-page-title-ink`,
|
|
47
|
+
`--dc-flavor-bg`.
|
|
48
|
+
- **Grit**, vector and opaque, on edges and labels only: chipped corners,
|
|
49
|
+
tape strips, misregistered second-ink rules (`--dc-band-reg` on the tech
|
|
50
|
+
specialties), worn stamp rings, torn feet, a staple on the procedure plate.
|
|
51
|
+
- **`--dc-accent-ink`**: the text-safe ink of the component you are in. Every
|
|
52
|
+
alert, section kind, block, card, faction, entry, table and specialty sets
|
|
53
|
+
it; chapter accents flow through.
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
|
|
57
|
+
- **Type floor: 10pt for all text**, chips, tabs, tier pills, AP chips,
|
|
58
|
+
badges, stamps, folio and chapter chips, stickers and labels included. New
|
|
59
|
+
token `--fs-floor` (10pt); `--fs-h6` is the floor (was 9pt). Chrome that
|
|
60
|
+
grew was refitted so nothing wraps or clips; a five-step sticker chain may
|
|
61
|
+
now wrap to two rows.
|
|
62
|
+
- **ROLL THE DIE! takes the colour of its component** (deep magenta in a
|
|
63
|
+
magenta panel, blood in a blood box, the specialty's ink on a skill card).
|
|
64
|
+
`--dc-roll-the-die-color` is replaced by `--dc-accent-ink`.
|
|
65
|
+
- **Fiction is a cavity.** `@fiction-excerpt` is an aged page sunk into a
|
|
66
|
+
ragged hole in the wall: a dark torn rim, a hard shadow down the top and
|
|
67
|
+
left, a lit lip at the bottom and right, deeper on a chapter opener. New
|
|
68
|
+
tokens `--dc-fiction-depth`, `-depth-bg`, `-cavity`, `-lip`, `-rim`,
|
|
69
|
+
`-hole`; `--dc-fiction-lift` and `-lift-bg` are removed.
|
|
70
|
+
- **Shape carries meaning.** Player rules and look-ups are machined chamfers;
|
|
71
|
+
Dream-Master-only boxes are file folders (the `dm` section's tab carries the
|
|
72
|
+
words, replacing its chip); danger and enforcement are sign plates; lore and
|
|
73
|
+
cabal long asymmetric slashes; fiction, backstory, cult and flaws torn;
|
|
74
|
+
choices ticket notches; gear tags; magic facets; organic boxes wobble. The
|
|
75
|
+
seven alerts, every section kind, block, choice card, faction, entry, table
|
|
76
|
+
and all ten specialties are re-cut to match, and every clipped edge is
|
|
77
|
+
padded clear of its cut by 2pt or more.
|
|
78
|
+
- **Folio and chapter chips** are fixed-height boxes with their type centred,
|
|
79
|
+
on recto and verso. The chapter chip is a stamped coupon with a perforated
|
|
80
|
+
edge, replacing the dashed outline.
|
|
81
|
+
|
|
82
|
+
- **Alerts: seven registers, seven silhouettes.** Each has its own fill value,
|
|
83
|
+
edge and label, and bodies are upright (only vibe and origin stay italic).
|
|
84
|
+
- note: the calm HUD-blue panel with a blue rail, as before.
|
|
85
|
+
- warning: a light cream hazard sign: a yellow and black stripe rail, an ink
|
|
86
|
+
frame and a yellow caution-tape label. It signals consequence.
|
|
87
|
+
- dm: an ink slab with a cyan rail and a cyan chip. It signals the Dream Master
|
|
88
|
+
only.
|
|
89
|
+
- vibe: a barely violet flat sheet in one dashed violet edge, italic, with no
|
|
90
|
+
rail: the world's voice, not a slab.
|
|
91
|
+
- origin: warm paper, a rust rail, a dog-eared corner and a crimson rubber-stamp
|
|
92
|
+
label: second-person backstory.
|
|
93
|
+
- visit: a fungi-green signpost with a map-pin label: a place.
|
|
94
|
+
- example: a dashed cyan rail with a taped-on label.
|
|
95
|
+
New tokens `--dc-alert-frame`, `-label-bg` and `-label-pad` carry the frame
|
|
96
|
+
and label chrome. The hazard rail, the dog-ear fold, the spray stencil line and
|
|
97
|
+
the NPC card foot are drawn in vector (dashed borders and clip-path), because
|
|
98
|
+
gradients are dropped or rasterised in PDF/X. The DM and visit bodies are
|
|
99
|
+
semibold (reversed type).
|
|
100
|
+
- **Section kinds read from their bar and sheet.** Panel keeps the solid accent
|
|
101
|
+
bar on cream (magenta by default, the only kind a chapter re-themes); reference
|
|
102
|
+
a pale HUD band; lore a deep violet bar over a lilac sheet; dm an ink bar with a
|
|
103
|
+
cyan rule, a cyan rail and a Dream Master chip (cyan on ink is now the Dream
|
|
104
|
+
Master's alone), with a strip of its own when it has no heading. `choose` is a
|
|
105
|
+
printed form, not a panel: a paper sheet a hair lighter than cream, a dashed ink
|
|
106
|
+
edge, no bar or cut corners, an ink title over a double rule, heavy ink tick
|
|
107
|
+
boxes, dotted write-in rules and a yellow *Your choice* stamp. The title bar is
|
|
108
|
+
one rule reading new tokens (`--dc-section-bar-mix` / `-bar-tone` / `-bar-fg` /
|
|
109
|
+
`-bar-rule` / `-bar-rule-sub`, and `--dc-section-flag`); each kind sets them
|
|
110
|
+
instead of repainting the bar, and so does the catalog. A block's band reads
|
|
111
|
+
`--dc-block-title-rule` and `--dc-block-tag`.
|
|
112
|
+
- **Blocks: three registers.** `@block panel` stays HUD blue; `slate` is an ink
|
|
113
|
+
body under a blood band with a stamped *Binding* tag (not magenta, not the
|
|
114
|
+
Dream Master's cyan); `shard` is light zine paper with a torn foot and a taupe
|
|
115
|
+
label strip, no accent hue.
|
|
116
|
+
- **Choice cards say which choice they are.** A Flaw is blood with a cracked edge,
|
|
117
|
+
an Ideal HUD blue with a steady tablet shape, a Dream violet with a rising edge,
|
|
118
|
+
each with a one-word chip and a kind-tinted quote. The kind sets
|
|
119
|
+
`--dc-choice-accent`, `-surface`, `-tint` and `-kind`, and a card inside them
|
|
120
|
+
reads them (the choice chrome is scoped to `@flaws`/`@ideals`/`@dreams`, so a
|
|
121
|
+
gear entry or a faction keeps the plain card).
|
|
122
|
+
The card name is the first `####`; the docs and snippets say `####` throughout.
|
|
123
|
+
- **Factions have their own silhouettes.** Megacorp a hard blue rectangle with a
|
|
124
|
+
cyan-edged band, cabal violet with long corner cuts, cult blood and torn, enforcer
|
|
125
|
+
an octagon with a hazard-stripe band and a yellow name label. The bands are
|
|
126
|
+
vector (solid inset shadows; the enforcer's tape is a skewed dashed border), not
|
|
127
|
+
gradients. New tokens `--dc-faction-surface`, `-band` (a box-shadow list),
|
|
128
|
+
`-band-height`, `-pad-bottom`, `-badge-shape`, `-title`, `-title-bg` and
|
|
129
|
+
`-title-pad`.
|
|
130
|
+
- **A creature's stat line is a chip.** The first line of an `@npc-stat`'s primary
|
|
131
|
+
stat paragraph is set 12pt bold, cream on the block's colour (`::first-line`, no
|
|
132
|
+
markup); the rest falls under it as a small-caps tag.
|
|
133
|
+
- **Entry cards differ by silhouette, surface and badge.** Gear is a hang tag
|
|
134
|
+
(a paper card in a heavy ink frame, an eyelet, a rust rail), an augment a spec
|
|
135
|
+
chip (a stepped notch, a cyan rule), treasure a gem (an octagon cut, a facet), a
|
|
136
|
+
vehicle an industrial plate (a dotted seam of rivets, a yellow badge), a drug a
|
|
137
|
+
prescription label (the one rounded shape, an *Rx · Drug* pill). Every mark is a
|
|
138
|
+
solid fill, border or clip, so it prints as vector in PDF/X (no gradients). New
|
|
139
|
+
tokens `--dc-entry-radius`, `-ornament`, `-orn-inset`, `-orn-bg`, `-orn-border`,
|
|
140
|
+
`-orn-clip`, `-orn-z`, `-frame` and `-badge-bg`, `-badge-fg`, `-badge-shape`,
|
|
141
|
+
`-badge-radius`. Chips and tags never hyphenate. Field labels share one chip: effects are a solid teal frame
|
|
142
|
+
with a +, side effects a dashed blood frame with a – (`--dc-field-edge-width`,
|
|
143
|
+
`-edge-style`).
|
|
144
|
+
- **Catalog entries are kept whole.** An entry never splits across a column or a
|
|
145
|
+
page (the catalog itself still splits between entries), and its title bar is a
|
|
146
|
+
ledger band with an INVENTORY chip instead of an accent bar.
|
|
147
|
+
- **Procedure is off the wall.** `@procedure` is an instruction plate: a cream
|
|
148
|
+
sheet with an ink frame and a hard shadow, a solid HUD-blue number strip, step
|
|
149
|
+
text in ink and dashed dividers (`--dc-steps-accent`, `--dc-steps-surface`).
|
|
150
|
+
- **At-a-glance has a hierarchy.** The tile is a reversed label band over a large
|
|
151
|
+
value, with an ink frame and a hard shadow (`--dc-at-a-glance-accent`, `-value`).
|
|
152
|
+
The outcome ladder's chip column is `max(130px, 26%)` (`--dc-outcome-key-col`)
|
|
153
|
+
so long band names wrap cleanly.
|
|
154
|
+
- **Definition is a dictionary page,** not a tinted note: cream, a heavy rule over
|
|
155
|
+
it, the term set first as a blue headword; the shape is `none` by default.
|
|
156
|
+
- **The lede is the opening statement.** Upright semibold ink type at 13pt on a
|
|
157
|
+
light panel (lighter than the wall) with a heavy accent rail and an ink foot rule
|
|
158
|
+
(`--dc-intro-color`, `-size`, `-weight`, `-style`, `-rail`, `-rule`). Flavor is a
|
|
159
|
+
rail and no box, in ink-dark. Contents and credits ledes keep body size.
|
|
160
|
+
- **NPC flavor lines** are a ruled line, not a box.
|
|
161
|
+
- **Chrome.** `.dc-tag` is an inline chip with a hard edge and an ink hairline
|
|
162
|
+
(`--dc-tag-bg`, `-fg`, `-border`); `.dc-tape` is masking tape with torn ends and
|
|
163
|
+
ink edges (`--dc-tape-shape`); `.dc-spray` is a stencil tag with a stepped edge
|
|
164
|
+
and a dashed stencil line (`--dc-spray-stencil`) against the chevron's deep
|
|
165
|
+
banner; the spec tweak fits one line; the NPC sidebar is a contact card with a
|
|
166
|
+
blue ID band and a dashed strip foot.
|
|
167
|
+
- **Specialties are told apart.** The title bands (path banner and specialty-intro
|
|
168
|
+
title) are each specialty's own signal colour with its own register: an LED rim
|
|
169
|
+
and a rule of LED dots on the tech specialties, a facet plane on the magic ones, a
|
|
170
|
+
hazard-tape rule on Streetwarden, a torn bottom edge on Proxy and Gutterdruid, all
|
|
171
|
+
drawn as solid fills, dotted/dashed borders and clip-paths (no gradient, so they
|
|
172
|
+
survive PDF/X). New tokens `--dc-band-rule`, `-rule-h`, `-tick`, `-tick-style`,
|
|
173
|
+
`-tick-w`, `-rule-skew`, `-rule-bleed`, `-facet`, `-facet-width`,
|
|
174
|
+
`-facet-clip` and `-rim`, and `--dc-path-code-*`, `--dc-path-chip-*`,
|
|
175
|
+
`--dc-path-note-rail`. A path with no subtitle is the band alone.
|
|
176
|
+
- **The tier pill is the specialty's own.** `--dc-tier-bg`, `-fg` and `-edge`,
|
|
177
|
+
set per specialty, replace the bronze, gold and silver by position (the
|
|
178
|
+
`--tier-*` tokens are gone).
|
|
179
|
+
- **AP chips differ in grayscale.** Free is an unlit LED, a grey lens with a hollow
|
|
180
|
+
lamp and an ink edge (it was the same blood red as increased), reduced is pale
|
|
181
|
+
blue with a drawn down triangle, increased blood with a drawn up triangle (CSS
|
|
182
|
+
shapes, not font glyphs), VAR deep magenta (cream on the bright one was 4.06:1),
|
|
183
|
+
special amber with cream type.
|
|
184
|
+
- **Technosorcerer and Generalist leave violet.** Violet is the world's colour
|
|
185
|
+
(lore, vibe, cabal, treasure), so the Technosorcerer is now electric indigo
|
|
186
|
+
(`--signal-indigo`) and the Generalist cool slate (`--crystal-slate`), with new
|
|
187
|
+
mid and dark tones. Proxy's band is a shade lighter so ink on it holds 4.5:1.
|
|
188
|
+
- **New neutrals.** `--paper-form` (the `choose` sheet) and `--paper-zine` (the
|
|
189
|
+
fiction excerpt and shard sheets).
|
|
190
|
+
|
|
191
|
+
### Fixed
|
|
192
|
+
|
|
193
|
+
- The learning-path title band lines up with the path frame's top-right cut
|
|
194
|
+
for every specialty: it spans the frame and is cut from the same point list,
|
|
195
|
+
where it stopped 12px short.
|
|
196
|
+
- The design guide's heading specimens sit on paper, not on brick.
|
|
197
|
+
- Footer chips no longer touch content: body pages have a 1in bottom margin
|
|
198
|
+
and the folio and chapter chips sit 0.125in below the text. The chapter
|
|
199
|
+
chip takes the chapter's colour (named pages `dc-chip-<hue>`) and lost a
|
|
200
|
+
stray notch.
|
|
201
|
+
- The `dm` section's folder tab stays with its box when the section splits
|
|
202
|
+
across a page; it had left cyan type on grey paper.
|
|
203
|
+
- The page-level wall-text rules skip components (`[class*="dc-"]`), so a
|
|
204
|
+
`@procedure`, `@lede` or `@toc` placed straight on a page keeps its look.
|
|
205
|
+
- Reversed type is semibold: slate and Surreal bodies, skill-tab names. Cream
|
|
206
|
+
on the default magenta bar is 4.7:1 (`--dc-section-bar-mix` 90%); outcome
|
|
207
|
+
band names are at least 4.5:1.
|
|
208
|
+
- Flaw, Ideal and Dream cards differ in grayscale (edge style, fill value,
|
|
209
|
+
silhouette depth); `reference`, `lore`, `panel` and `dm` title bars differ
|
|
210
|
+
in treatment, not only colour.
|
|
211
|
+
- A wrapped learning-path sticker chain never ends a line on its arrow.
|
|
212
|
+
- Heading slips keep with what follows, prose sheets take orphans and widows
|
|
213
|
+
of 3, and `###`/`####` slips hang offset (`--dc-page-slip-gap`,
|
|
214
|
+
`-slip-offset`, `--dc-heading-gap`).
|
|
215
|
+
- `--dc-accent-ink` is documented and tested as a per-component context
|
|
216
|
+
token, the one exception to the token convention.
|
|
217
|
+
- Tests guard the 10pt floor, the context-token allow-list, page-level
|
|
218
|
+
components and the Lucid/Surreal variants.
|
|
219
|
+
|
|
220
|
+
- **Contrast and type.** The special AP chip (ink on amber, 3.5:1), the tier pills
|
|
221
|
+
(accent fails 4.5:1 for 9px type on Augmerc and Proxy), the learning-path
|
|
222
|
+
subtitle (ink-smoke on `--paper-stain`, 3.4:1), the Augmerc title band (cream on
|
|
223
|
+
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
|
|
224
|
+
body is upright instead of 9pt italic.
|
|
225
|
+
- **A chapter no longer repaints the alerts.** The Dream Mastery chapter's override
|
|
226
|
+
turned every alert grey-brown and rust in Part 2; the alert identity now survives
|
|
227
|
+
re-theming. Its DM panel heading was ink on ink (an empty-looking bar) and is
|
|
228
|
+
readable.
|
|
229
|
+
- **Names stay on one line where they can.** An NPC name in a two-column run,
|
|
230
|
+
a catalog entry name and TECHNOSORCERER on its specialty card no longer wrap
|
|
231
|
+
mid-name or orphan a letter.
|
|
232
|
+
- **Empty strips are gone.** A learning path with no subtitle or stickers is the
|
|
233
|
+
band alone, not a band over an empty well.
|
|
234
|
+
- **The design guide's choice-card snippets work.** They wrote `### Name`, which
|
|
235
|
+
core does not turn into the card heading (only the first `####` is); they now
|
|
236
|
+
write `####`. The Part 2 Fodder description sat between the quote and the stat
|
|
237
|
+
lines and was set as a stat line; it is now inside the quote.
|
|
238
|
+
- **README example.** The author-override example set `--dc-alert-accent`, a token
|
|
239
|
+
that does not exist; it now sets `--dc-section-accent` on `.dc-section-panel`.
|
|
240
|
+
|
|
241
|
+
### Removed
|
|
242
|
+
|
|
243
|
+
- **The highlight skill-card variant** (`#### Name | Tier | highlight`, `@skill {.dc-highlight}`) is gone, and the guide no longer describes a capstone skill: the game has none. A third `|` part in a skill heading is ignored.
|
|
244
|
+
|
|
10
245
|
## [1.6.3] - 2026-10-12
|
|
11
246
|
|
|
12
247
|
Content and markers by default, overrides when wanted: the defaults now do more,
|
package/README.md
CHANGED
|
@@ -76,8 +76,11 @@ package renders and prints; `docs/macros.md` is the full inventory and
|
|
|
76
76
|
|
|
77
77
|
The named components are also words on `@section` (`@npc-stat` is
|
|
78
78
|
`@section npc`, `@fiction-excerpt` is `@section fiction`); either spelling
|
|
79
|
-
renders the same. `reference`, `lore`, `dm` and `choose` are words only:
|
|
80
|
-
that say what kind of text they hold
|
|
79
|
+
renders the same. `reference`, `lore`, `dm` and `choose` are words only: boxes
|
|
80
|
+
that say what kind of text they hold, each by its own bar, sheet and silhouette
|
|
81
|
+
(`choose` is a form, not a panel). Every variant, in every family, is told apart
|
|
82
|
+
in colour and in grayscale, so a chapter re-tunes a panel's accent but never
|
|
83
|
+
repaints an alert, a faction or a choice card. Write the content and the marker that says
|
|
81
84
|
what it is: the defaults set how it looks and where it breaks (sections split
|
|
82
85
|
across pages, a catalog too, and a creature and a callout stay whole). A page
|
|
83
86
|
or chapter word draws no box of its own: it re-tunes the sections inside it. To
|
|
@@ -209,7 +212,7 @@ the package on every update. Reset the component's public tokens on a context
|
|
|
209
212
|
selector instead:
|
|
210
213
|
|
|
211
214
|
```css
|
|
212
|
-
.chapter-05 .dc-
|
|
215
|
+
.chapter-05 .dc-section-panel { --dc-section-accent: var(--hud-blue); }
|
|
213
216
|
```
|
|
214
217
|
|
|
215
218
|
The tokens each component exposes are listed under `tokens:` in
|