gp-dimm-city 1.1.3 → 1.1.5

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 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.1.5] - 2026-10-09
11
+
12
+ ### Changed
13
+
14
+ - **The chapter-opener chevron rules move from `chrome.css` into the
15
+ chapter-opener template in `page-templates.css`.** No component sheet
16
+ selects `.chapter`/`.page` any more, and the integrity test enforces
17
+ that with no exceptions. Pixel-identical in both books.
18
+ - `docs/cleanup-backlog.md` gains a "Still considering" section:
19
+ - the Field Guide's sidebar areas, with the inset-rail rules;
20
+ - the specialty-card redesign;
21
+ - the configurable chapter prefix;
22
+ - the offset tokens.
23
+ - `docs/css-roadmap.md` records the warnings that are known and accepted:
24
+ - the design guide's 8 heading jumps inside component examples, which
25
+ need an `h4`;
26
+ - the `clip-path` and `page-containment` lint false positives, reported
27
+ as dimm-city/gutterpress#339.
28
+
29
+ ## [1.1.4] - 2026-10-09
30
+
31
+ ### Changed
32
+
33
+ - **The columns contract is refined.** Page and section column layouts
34
+ stay in `page-templates.css`. A component may lay out its own insides in
35
+ columns in its own sheet, on a selector rooted in its `.dc-*` class (the
36
+ two-column skill cards, the card grid). The integrity test enforces that
37
+ rule in place of an exception list. No CSS moved.
38
+ - The integrity test's remaining exceptions are genuine hooks: the outcome
39
+ tiers, the chapter classes gutterpress adds itself, and the design
40
+ guide's page labels.
41
+ - `docs/css-roadmap.md` records what the CSS review left to do, and in
42
+ which order.
43
+
44
+ ### Removed
45
+
46
+ - Two unused design-guide classes: `dg-face-sample` and the
47
+ `dc-banner-demo` section class.
48
+
10
49
  ## [1.1.3] - 2026-10-09
11
50
 
12
51
  ### Removed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gp-dimm-city",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
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",
@@ -18,7 +18,7 @@
18
18
  - Component-scoped public custom properties (--dc-alert-bg, etc.)
19
19
 
20
20
  MUST NOT CONTAIN:
21
- - columns:N rules of any kind (→ page-templates.css)
21
+ - page/section columns:N layouts (→ page-templates.css)
22
22
  - @page declarations or named-page assignments (→ page-rules.css)
23
23
  - div.chapter scaffolding (→ the consuming book's own sheet)
24
24
  - :root token definitions (→ dc-component-defaults.css)
@@ -26,13 +26,10 @@
26
26
  miscommunicates the semantic (CONTENTS shouldn't read as a warning).
27
27
  Rubric: D9 (brand identity per chapter — chroma anchor must match
28
28
  the banner's semantic role). */
29
- /* Chevron banner. Applies to elements explicitly marked `.dc-chevron`
30
- AND to the h1 that's the first child of a chapter-opener intro section
31
- — so authors don't have to write `{.dc-chevron}` on every chapter h1.
32
- The structural-selector branch is the same selector used by the
33
- chapter-opener composite rules above. */
34
- .dc-chevron,
35
- .chapter[data-chapter-label] > .page[data-page="intro"] > .section > h1:first-of-type {
29
+ /* Chevron banner on elements marked `.dc-chevron`. The chapter opener's first
30
+ h1 gets the same treatment without the class; that rule lives with the
31
+ opener template in page-templates.css. */
32
+ .dc-chevron {
36
33
  font-family: var(--font-display);
37
34
  font-size: var(--dc-chevron-font-size);
38
35
  letter-spacing: 0.06em;
@@ -83,14 +80,6 @@ h1.dc-chevron {
83
80
  line-height: 1.2;
84
81
  }
85
82
 
86
- /* Chapter-opener heading runs at a smaller size than other h1.dc-chevron
87
- instances so the section body weight stays the focal anchor below the
88
- composite badge + banner. User-approved 2026-05-25. */
89
- .chapter[data-chapter-label] > .page[data-page="intro"] > .section > h1:first-of-type {
90
- font-size: 1.1rem;
91
- line-height: 1.2;
92
- }
93
-
94
83
  /* Front-matter chevron font-size overrides moved to the book's own sheet (unlayered) per A1
95
84
  layer-ownership (page-context rules belong in the guide-specific override
96
85
  file, not the portable component library). Three-judge gate iteration 3. */
@@ -412,9 +401,8 @@ hr {
412
401
  background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--crimson) 85%, var(--dc-tape-bg)) 0 6px, var(--dc-tape-bg) 6px 10px);
413
402
  }
414
403
 
415
- /* Chapter-opener badge + H1 banner — see the chapter-opener composite
416
- block further down (.page[data-page="intro"][data-chapter-label]).
417
- The legacy .dc-chapter-opener-no rules previously here were removed
404
+ /* Chapter-opener badge + H1 banner — see "PAGE TEMPLATE: CHAPTER OPENER"
405
+ in page-templates.css. The legacy .dc-chapter-opener-no rules previously here were removed
418
406
  when the legacy @chapter-opener macro was retired. */
419
407
 
420
408
  /* ── Specialty art full-page plate ─────────────────────────────────────────── */
@@ -743,8 +743,8 @@ h3 + .section {
743
743
  [repeat for 6+ specialties]
744
744
  @end-section
745
745
 
746
- The column-flow rules (columns:2) live in page-templates.css
747
- per the architectural contract. Here we own only the chrome-reset (the
746
+ The page/section column rules live in page-templates.css; the grid's own
747
+ columns:2 is a component-internal layout and lives below. Here we also own the chrome-reset (the
748
748
  .dc-card-grid section has no card background/shadow — it's a pure layout
749
749
  wrapper) plus the per-card density tweaks so all 8 specialty cards fit
750
750
  comfortably on one page. */
@@ -4,9 +4,10 @@
4
4
 
5
5
  ── ARCHITECTURAL CONTRACT ────────────────────────────────────────────────
6
6
  OWNS:
7
- - ALL THEME columns:N rules — this is the ONLY file that may set columns on
8
- a theme selector. Components are always single-flow. It may NOT set
9
- columns on core's `.gp-columns-*` (only their `--gp-column-gap`).
7
+ - ALL page and section columns:N layouts — this is the ONLY file that may
8
+ set columns on a page template or section run. A component may column its
9
+ OWN internals in its own sheet (cards.css, section.css .dc-card-grid). It
10
+ may NOT set columns on core's `.gp-columns-*` (only their `--gp-column-gap`).
10
11
  - .page.* content layout rules (columns, flex, grid on page content divs)
11
12
  - .page base geometry, .column-break
12
13
  - .dc-full-page full-bleed geometry (its named-page assignment,
@@ -26,8 +27,9 @@
26
27
  - @media screen rules (print-only project)
27
28
 
28
29
  COLUMN OWNERSHIP RULE (narrowed, dc#41): if a THEME rule sets columns:N on a PAGE TEMPLATE (.page.*) in this
29
- project, it belongs here and ONLY here. Any columns:N found in another file
30
- is a bug. Core's `.gp-columns-2` / `.gp-columns-3` are the generic column
30
+ project, it belongs here and ONLY here. A columns:N on a page/section
31
+ selector found in another file is a bug (a component's own-internals layout
32
+ in its sheet is not). Core's `.gp-columns-2` / `.gp-columns-3` are the generic column
31
33
  vocabulary and are NOT this file's to redefine — this file may only set
32
34
  their `--gp-column-gap`. See the column-runs block below.
33
35
 
@@ -684,9 +686,28 @@
684
686
  attribute. Negative margins cancel the section padding so it reaches the
685
687
  section's outer edges; its --clip-banner tail then tapers in by --clip-tail. */
686
688
  .chapter[data-chapter-label] > .page[data-page="intro"] > .section > h1:first-of-type {
689
+ /* The .dc-chevron look (components/chrome.css), applied without the class
690
+ so authors need not write `{.dc-chevron}` on every chapter h1. */
691
+ font-family: var(--font-display);
692
+ letter-spacing: 0.06em;
693
+ color: var(--dc-chevron-color);
694
+ text-transform: uppercase;
695
+ background: var(--dc-chevron-bg);
696
+ padding: 10px 28px 10px 14px;
697
+ display: block;
698
+ box-sizing: border-box;
699
+ clip-path: var(--clip-banner);
700
+ word-break: break-word;
701
+
702
+ /* Smaller than other h1.dc-chevron so the section body stays the focal
703
+ anchor below the banner. User-approved 2026-05-25. */
704
+ font-size: 1.1rem;
705
+ line-height: 1.2;
706
+
687
707
  margin-top: calc(var(--dc-chapter-opener-pad-top) * -1);
688
708
  margin-left: calc(var(--dc-chapter-opener-pad-side) * -1);
689
709
  margin-right: calc(var(--dc-chapter-opener-pad-right) * -1);
710
+ margin-bottom: 0;
690
711
  --dc-chevron-bg: var(--dc-chapter-opener-accent);
691
712
  }
692
713