gp-dimm-city 1.5.0 → 1.6.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 (39) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/README.md +24 -11
  3. package/components.yaml +262 -82
  4. package/package.json +2 -1
  5. package/plugin.js +344 -109
  6. package/snippets/augment.md +11 -0
  7. package/snippets/callout-example.md +5 -0
  8. package/snippets/definition.md +5 -1
  9. package/snippets/drug.md +11 -0
  10. package/snippets/faction.md +9 -0
  11. package/snippets/field-effects.md +5 -0
  12. package/snippets/field-equipment.md +5 -0
  13. package/snippets/field-requires.md +5 -0
  14. package/snippets/field-side-effects.md +5 -0
  15. package/snippets/field-specs.md +5 -0
  16. package/snippets/field-traits.md +5 -0
  17. package/snippets/field.md +5 -0
  18. package/snippets/npc-stat-compact.md +15 -0
  19. package/snippets/roll-table.md +11 -0
  20. package/snippets/section-catalog.md +19 -0
  21. package/snippets/section-choose.md +9 -0
  22. package/snippets/section-dm.md +7 -0
  23. package/snippets/section-lore.md +7 -0
  24. package/snippets/section-reference.md +10 -0
  25. package/snippets/treasure.md +11 -0
  26. package/snippets/vehicle.md +11 -0
  27. package/styles/components/callouts.css +22 -0
  28. package/styles/components/cards.css +33 -14
  29. package/styles/components/data.css +125 -45
  30. package/styles/components/entries.css +255 -0
  31. package/styles/components/images.css +3 -23
  32. package/styles/components/section.css +218 -54
  33. package/styles/dc-component-defaults.css +32 -11
  34. package/styles/dc-core.css +2 -2
  35. package/styles/page-templates.css +22 -4
  36. package/snippets/glossary.md +0 -7
  37. package/snippets/section-aside.md +0 -7
  38. package/snippets/sidebar-box.md +0 -9
  39. package/snippets/sidebar.md +0 -7
package/CHANGELOG.md CHANGED
@@ -7,6 +7,107 @@ cut a version that has no `## [X.Y.Z]` heading below.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.6.0] - 2026-10-12
11
+
12
+ ### Added
13
+
14
+ - **The d20 ladder is recognised by its bands.** A two-column pipe table whose
15
+ first column holds exactly the five standard bands (`20`, `11-19`, `6-10`,
16
+ `2-5`, `1`, in either order) is drawn as the coloured outcome ladder, in a
17
+ skill card or anywhere else, whatever its headers say (`Roll | Result`,
18
+ `Result | Effect`, empty). A band is read however it is typed (`11-19`,
19
+ `11 – 19`, `**20**`) and shown as `11–19`. Any other set of bands (six bands,
20
+ a split at 10) stays a plain table. Before, only a `Roll | Outcome` header
21
+ triggered it, and only inside a skill card.
22
+ - **`@roll-table`**, a neutral random-table component for tables with equal
23
+ bands (`1-4`, `5-8`, …): a caption with a die chip (`die=d20`, any `dN`) and
24
+ a `label`, a mono range column, equal-weight rows and no tier colours. The
25
+ table inside stays a plain pipe table and is never read as a ladder.
26
+ - **Four kinds of text, as words on `@section`:** `reference` (a look-up:
27
+ HUD blue, a pale title band, tight rows), `lore` (the world: brass on aged
28
+ paper, a long shard corner, italic sub-heads), `dm` (behind the screen: an ink
29
+ bar with a Dream Master chip on a cold body) and `choose` (a choice the
30
+ player writes on the Citizen File: a lighter form sheet, dotted write-in
31
+ rules, tick boxes, a "Your choice" chip, in the chapter's accent). Each is a
32
+ panel plus one class that sets the panel's tokens, with no marker of its own.
33
+ New tokens `--dc-section-tab`, `--dc-section-tab-bg` and `--dc-section-tab-fg`
34
+ draw the chip. `@flaws`, `@ideals` and `@dreams` are now `choose` sections
35
+ with their own class.
36
+ - **`@callout example`**, the one spelling for a worked example: a dashed cyan
37
+ edge, a taped-on label, upright text. It replaces `@block shard label="Example"`
38
+ and `**Example:**` paragraphs.
39
+ - **`@faction megacorp | cabal | cult | enforcer`**, an organization's profile:
40
+ a card whose rail and kind badge take the kind's colour (`--dc-faction-accent`,
41
+ `--dc-faction-badge-fg`). `label="…"` names a badge of your own.
42
+ - **`@npc-stat compact`** for a small creature, a companion or a drone: no
43
+ panel, a framed box, the two stat lines as chips side by side.
44
+ - **The stat strip.** A table with an `HP` column and a `Damage` column is set
45
+ as a strip of labels and big numbers (a cell holding only a number is set large) wherever it sits, with no marker
46
+ (`--dc-stat-strip-accent`, `--dc-stat-strip-value`). A creature inside a
47
+ skill's ability text needs this: a section marker there would end the skill.
48
+ - **A chapter-start page with no fiction excerpt still opens like a chapter.**
49
+ The `# Title` is a band in the chapter's accent and the paragraph under it is
50
+ the lede (an `@lede` keeps its own look). A page with a fiction excerpt is
51
+ unchanged.
52
+ - **`@definition` reads as a glossary** when it holds a run of `#### Term`
53
+ entries: a small mono-caps term, a dashed rule between entries, and the block
54
+ may split between them. A `---` inside is the same dashed rule.
55
+ - `| highlight` on a skill heading is documented as the capstone look (the
56
+ card that pays off a path); it is not a new word.
57
+
58
+ - **Entry cards: `@augment`, `@treasure`, `@vehicle`, `@drug`.** Cybernetics and
59
+ mods, magic items and relics, vehicles, and drugs and consumables each get
60
+ their own marker, snippet and catalog entry. They share one card style family
61
+ (`.dc-entry`) and each kind is a token setter on it (rail colour, name colour,
62
+ surface, and a small kind word over the name), so the CSS stays small. Existing
63
+ entry markdown (`#### Name`, a blockquote tagline, a `**SPECS:**` paragraph,
64
+ prose) works unchanged inside them. An entry with no name, or with two names
65
+ run together, is reported as a problem.
66
+ - **`@field`, and bold labels that mean it.** A labelled field with variants
67
+ `specs`, `traits`, `equipment`, `effects`, `side-effects` and `requires`; the
68
+ default label is the variant's name and `label="…"` replaces it. Inside an
69
+ entry card, an `@npc-stat` and a `@skill`, a paragraph that opens with a label
70
+ the books already write (`**SPECS:**`, `**Traits:**`, `**Equipment:**`,
71
+ `**Effects:**`, `**Side Effects:**`, `**Requires:**`, `**Wirephreak Gear:**`,
72
+ `**Cybersurgeon Instrument(s):**`, `**TECHNOENHANCEMENT:**`) becomes the same
73
+ field, so books need no content change. The labels are one table in
74
+ `plugin.js`.
75
+ - **`@section catalog`.** A panel for a run of entries that rules them instead of
76
+ boxing them: each entry takes a rule in its own accent colour over it, so the
77
+ hand-typed `---` between entries is not needed (one left in draws nothing).
78
+ Write `@columns 2` under the intro as before.
79
+ - New tokens `--dc-entry-accent`, `--dc-entry-ink`, `--dc-entry-surface`,
80
+ `--dc-entry-rail`, `--dc-entry-rule`, `--dc-entry-kind` and
81
+ `--dc-field-accent`, `--dc-field-surface`, `--dc-field-fg`,
82
+ `--dc-field-label-fg`.
83
+
84
+ ### Changed
85
+
86
+ - **Skill cards split across pages by default.** A whole card is a third to half
87
+ a page, so keeping each one atomic left most specialty pages holding one card
88
+ and a third of the sheet empty. A card now splits at sensible places: it never
89
+ opens with only its tab, an ability row is never cut, a lead-in stays with what
90
+ it introduces, and the last block stays with the one above. `.dc-avoid-split`
91
+ (written on the `@skill` line, as on a section) keeps one whole.
92
+ `.dc-allow-split` is retired: it is the default.
93
+ - A table of five bands now shows its roll as `11–19` (an en dash) however the
94
+ author typed it, and its tier and name come from the band.
95
+ - `@gear` is now an entry card (`dc-card dc-entry dc-gear`) and takes a `####`
96
+ name as well as `###`; its rules moved from `section.css` to the new
97
+ `styles/components/entries.css`. `@callout gear label="SPECS"` still works.
98
+
99
+ ### Removed
100
+
101
+ - `@glossary` and `.dc-terms`: write `@definition` (a run of `#### Term` entries,
102
+ or `**Term** — gloss` paragraphs).
103
+ - `@sidebar-box` and the `--dc-sidebar-box-*` tokens: write `@definition` (a
104
+ `####` heading, `---` and body make the same box).
105
+ - `@section aside`: write `@callout`.
106
+ - `@sidebar` and `--dc-sidebar-surface` / `--dc-sidebar-border`: write
107
+ `@callout note .dc-sidebar`. `.dc-sidebar` remains as a float placement only.
108
+ - `@block codex` (`.dc-codex`): write `@section reference` for a look-up panel, or `@block panel` for a small box inside a section (a section cannot nest).
109
+ - `.dc-allow-split` on `@skill` (see above).
110
+
10
111
  ## [1.5.0] - 2026-10-12
11
112
 
12
113
  Needs **Gutterpress 0.11.17 or later**: that core resolves the variant
package/README.md CHANGED
@@ -48,16 +48,28 @@ package renders and prints; `docs/macros.md` is the full inventory and
48
48
  | Rules or reference text under a heading | `@section panel` |
49
49
  | The same, kept on one page | `@section panel .dc-avoid-split` |
50
50
  | Unboxed text that carries the accent rail | `@section flat` |
51
- | A short note set off from the text | `@section aside` (or `@sidebar-box`) |
52
- | A term and its definition | `@definition` |
51
+ | A table or list to look up (prices, conditions, a menu of options) | `@section reference` |
52
+ | World or setting text | `@section lore` |
53
+ | Advice for the Dream Master, behind the screen | `@section dm` (a short one: `@callout dm`) |
54
+ | A choice the player writes on the Citizen File | `@section choose` |
55
+ | A term and its definition, or a glossary of terms | `@definition` |
53
56
  | A boxed note, warning, DM note, vibe, origin or visit | `@callout …` (`@dm-note`) |
54
- | A box in one of four registers: panel, slate, shard, codex | `@block …` |
55
- | A box floated beside the text | `@sidebar` |
56
- | Fiction, lore, a chapter-opener story | `@fiction-excerpt` |
57
- | A creature or NPC | `@npc-stat` |
58
- | Gear, a vehicle, a drug, an augment | `@gear` (and `@callout gear label="SPECS"` for the specs) |
59
- | A roll-result ladder | `@outcome` |
60
- | Flaw, ideal or dream choices | `@flaws`, `@ideals`, `@dreams` (each a run of `@card`) |
57
+ | A worked example | `@callout example` |
58
+ | A box in one of three registers: panel, slate, shard | `@block …` |
59
+ | A callout floated beside the text | `@callout note .dc-sidebar` |
60
+ | Fiction, a chapter-opener story | `@fiction-excerpt` |
61
+ | A creature or NPC | `@npc-stat` (small ones: `@npc-stat compact`) |
62
+ | An organization: megacorp, cabal, cult, enforcers | `@faction megacorp`, `cabal`, `cult`, `enforcer` |
63
+ | General gear | `@gear` |
64
+ | A cybernetic or mod | `@augment` |
65
+ | A magic item or relic | `@treasure` |
66
+ | A vehicle | `@vehicle` |
67
+ | A drug, elixir or consumable | `@drug` |
68
+ | A labelled line in an entry: SPECS, Traits, Effects… | `**SPECS:**` (or `@field specs`) |
69
+ | A titled run of entries, two columns | `@section catalog` with `@columns 2` |
70
+ | A roll-result ladder | a pipe table of the five bands (20, 11-19, 6-10, 2-5, 1), or `@outcome` |
71
+ | A random table with equal bands (1-4, 5-8, …) | `@roll-table` |
72
+ | Flaw, ideal or dream choices | `@flaws`, `@ideals`, `@dreams` (each a `choose` section holding a run of `@card`) |
61
73
  | The Citizen File field list | `@citizen-walkthrough` |
62
74
  | The specialty catalog | `@card-grid` |
63
75
  | A specialty, its learning paths and skill cards | `@specialty`, `@learning-path`, `@skill` |
@@ -67,14 +79,15 @@ package renders and prints; `docs/macros.md` is the full inventory and
67
79
 
68
80
  The named components are also words on `@section` (`@npc-stat` is
69
81
  `@section npc`, `@fiction-excerpt` is `@section fiction`); either spelling
70
- renders the same. Sections split across pages by default. A page or chapter
82
+ renders the same. `reference`, `lore`, `dm` and `choose` are words only: panels
83
+ that say what kind of text they hold. Sections split across pages by default. A page or chapter
71
84
  word draws no box of its own: it re-tunes the sections inside it.
72
85
 
73
86
  Also in the box:
74
87
 
75
88
  - **More macros**, from `plugin.js`: `@specialty-intro` / `@specialty-art` /
76
89
  `@specialty-card`, `@continue` (a skill card that spans a page break),
77
- `@card`, `@procedure`, `@lede`, `@toc`, `@glossary`, GFM alerts
90
+ `@card`, `@procedure`, `@lede`, `@toc`, GFM alerts
78
91
  (`> [!NOTE]`, `[!WARNING]`, `[!DM]`, `[!VIBE]`, `[!ORIGIN]`, `[!VISIT]`,
79
92
  `[!GEAR]`, `[!FLAVOR]`, `[!PULLQUOTE]`), and the automatic `ROLL THE DIE!`
80
93
  chip. `docs/components-and-palette-reference.md` maps each to the classes it