@ammduncan/easel 0.3.0 → 0.3.1

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,12 @@
2
2
 
3
3
  All notable changes to easel. This project adheres to [Semantic Versioning](https://semver.org/).
4
4
 
5
+ ## 0.3.1 — 2026-05-26
6
+
7
+ ### Fixed
8
+ - **Prose measure tightened from ~90 to ~66 characters per line.** The reading-column cap was `max-width: 880px`, which at the 18px body font produces ~90-character lines — past WCAG 1.4.8's 80-char ceiling and well past Bringhurst's 45–75 comfortable range. Changed to `max-width: 56ch`. The `ch` unit is the width of the "0" glyph and proportional Inter averages narrower, so 56ch renders ~66 actual characters — the reading-measure sweet spot. (`ch` scales with font-size, so headings stay proportional; short headings never hit the cap, so it's load-bearing only on body paragraphs, which is correct.)
9
+ - **`.full-bleed` now has vertical breathing room.** It only set horizontal margins, so a paragraph after an embedded mockup hugged the frame with no gap. Added `margin: 32px 0`; it collapses correctly against adjacent prose margins (32px, not 64) and the existing first/last-child margin resets still zero it at the card's top/bottom edge.
10
+
5
11
  ## 0.3.0 — 2026-05-26
6
12
 
7
13
  ### Fixed
@@ -829,7 +829,10 @@ body > h1, body > h2, body > h3, body > h4,
829
829
  body > .wrap > p, body > .wrap > .deck, body > .wrap > .lede,
830
830
  body > .wrap > ul, body > .wrap > ol, body > .wrap > blockquote,
831
831
  body > .wrap > h1, body > .wrap > h2, body > .wrap > h3, body > .wrap > h4 {
832
- max-width: 880px;
832
+ /* ~56ch of "0"-width lands ~66 actual characters in proportional Inter
833
+ (avg glyph is narrower than "0"), i.e. Bringhurst's reading-measure sweet
834
+ spot — not 56 literal characters. */
835
+ max-width: 56ch;
833
836
  }
834
837
  body > *:first-child { margin-top: 0 !important; }
835
838
  body > *:last-child { margin-bottom: 0 !important; }
@@ -840,12 +843,13 @@ body > *:last-child { margin-bottom: 0 !important; }
840
843
  stays as a gutter, so neither the mockup nor the surrounding text ever touches
841
844
  the card border. (The name is historical — it's "full content width", not
842
845
  "bleed to the card edge".) Capped at 100% of the content column, which the
843
- body's max-width already limits to desktop-realistic proportions. */
846
+ body's max-width already limits to desktop-realistic proportions.
847
+ Vertical margin gives an embedded mockup breathing room from the prose above
848
+ and below it (without it, the next paragraph hugs the frame). */
844
849
  .full-bleed {
845
850
  width: 100%;
846
851
  max-width: 100% !important;
847
- margin-left: 0;
848
- margin-right: 0;
852
+ margin: 32px 0;
849
853
  }
850
854
  .wrap { display: block; }
851
855
  .kicker {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ammduncan/easel",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
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",