@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 +6 -0
- package/dist/client/viewer.js +8 -4
- package/package.json +1 -1
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
|
package/dist/client/viewer.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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.
|
|
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",
|