@ammduncan/easel 0.2.19 → 0.2.21

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
@@ -2,6 +2,17 @@
2
2
 
3
3
  All notable changes to easel. This project adheres to [Semantic Versioning](https://semver.org/).
4
4
 
5
+ ## 0.2.21 — 2026-05-23
6
+
7
+ ### Fixed
8
+ - **Stray backticks in a CSS comment blanked every card.** The 0.2.20 prose-cap comment contained `` `.wrap` `` / `` `.full-bleed` `` in backticks. That comment lives inside `buildDefaultWrapper`'s JS template literal, so the backticks prematurely closed the template string → the function threw `… .wrap is not a function` on every render → hydrate failed and no cards showed (the push count still read 5). Removed the backticks from the comment.
9
+ - **Build now syntax-checks the client JS.** `viewer.js` / `index.js` are plain browser JS copied as-is (never run through `tsc`), so this class of bug shipped undetected. `scripts/copy-client.mjs` now runs `node --check` on each after copying and fails the build on a syntax error — this exact bug would have been caught at build time.
10
+
11
+ ## 0.2.20 — 2026-05-23
12
+
13
+ ### Fixed
14
+ - **Prose reading-width cap silently missed when content was wrapped in `.wrap`.** The 880px cap only targeted direct body children (`body > p`, `body > h1`, …). But the skill recommends wrapping push content in `<div class="wrap">`, so prose became `body > .wrap > p` and the selector never matched — prose stretched the full card width (defeating the whole point of the reading column, and making the 0.2.19 full-bleed demo look like "everything's wide" rather than "prose narrow, mockup wide"). Extended the cap to also match one level deep through `.wrap`. `.full-bleed` was unaffected (it escapes via viewport units regardless of nesting).
15
+
5
16
  ## 0.2.19 — 2026-05-23
6
17
 
7
18
  ### Added
@@ -693,9 +693,16 @@ body {
693
693
  body { max-width: 1600px; }
694
694
  }
695
695
  /* Constrain prose to a comfortable reading length, but let visual blocks
696
- (cards, grids, tables, mockups) use the full card width. */
696
+ (cards, grids, tables, mockups) use the full card width. Match prose both
697
+ as direct body children AND one level deep through a .wrap container —
698
+ the skill recommends wrapping content in div.wrap, and without the
699
+ .wrap branch the cap silently misses and prose stretches full width.
700
+ .full-bleed still escapes via viewport units regardless of nesting. */
697
701
  body > p, body > .deck, body > .lede, body > ul, body > ol, body > blockquote,
698
- body > h1, body > h2, body > h3, body > h4 {
702
+ body > h1, body > h2, body > h3, body > h4,
703
+ body > .wrap > p, body > .wrap > .deck, body > .wrap > .lede,
704
+ body > .wrap > ul, body > .wrap > ol, body > .wrap > blockquote,
705
+ body > .wrap > h1, body > .wrap > h2, body > .wrap > h3, body > .wrap > h4 {
699
706
  max-width: 880px;
700
707
  }
701
708
  body > *:first-child { margin-top: 0 !important; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ammduncan/easel",
3
- "version": "0.2.19",
3
+ "version": "0.2.21",
4
4
  "description": "A live browser tab for every Claude Code (and MCP) session. The push MCP tool appends HTML cards to a scrolling feed you keep open in split-screen.",
5
5
  "type": "module",
6
6
  "license": "MIT",