@ammduncan/easel 0.2.16 → 0.2.17

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,11 @@
2
2
 
3
3
  All notable changes to easel. This project adheres to [Semantic Versioning](https://semver.org/).
4
4
 
5
+ ## 0.2.17 — 2026-05-23
6
+
7
+ ### Added
8
+ - **`kind: "mockup"` / `"app"` pushes now break out to near-full viewport width.** Two width bounds applied to every push: (1) the wrapper's presentation frame (`max-width: 1400px` + body padding + 880px prose cap), removed by app-fidelity mode since 0.2.13; (2) the feed reading column (`min(94vw, 1600px)` ≈ ~1540px usable), which still squeezed desktop UI recreations. Now app-fidelity cards get `.push--full-bleed` — `width: min(98vw, 1920px)` centred on the viewport — so desktop screens render at real desktop proportions instead of being pinched into the reading column. Presentation pushes stay in the column as before.
9
+
5
10
  ## 0.2.16 — 2026-05-23
6
11
 
7
12
  ### Changed
@@ -501,6 +501,18 @@ body {
501
501
  animation: pop-in 360ms cubic-bezier(0.2, 0.7, 0.2, 1);
502
502
  }
503
503
 
504
+ /* App-fidelity pushes (kind: mockup / app) break out of the feed column to
505
+ near-full viewport width, so desktop UI recreations render at real desktop
506
+ proportions instead of being squeezed to the ~1540px reading column.
507
+ margin-left:50% moves the left edge to the column's centre line (which is
508
+ the viewport centre, since .feed is margin:0 auto), then translateX(-50%)
509
+ pulls back by half the element's own width → viewport-centred full bleed. */
510
+ .push--full-bleed {
511
+ width: min(98vw, 1920px);
512
+ margin-left: 50%;
513
+ transform: translateX(-50%);
514
+ }
515
+
504
516
  @keyframes pop-in {
505
517
  from { opacity: 0; transform: translateY(10px); }
506
518
  to { opacity: 1; transform: none; }
@@ -426,6 +426,11 @@
426
426
  const card = document.createElement("article");
427
427
  card.className = "push";
428
428
  if (opts && opts.fresh) card.classList.add("fresh");
429
+ // App-fidelity pushes (mockup / app) break out of the feed column to
430
+ // near-full viewport width so desktop screens render at real proportions.
431
+ if (push.kind === "mockup" || push.kind === "app") {
432
+ card.classList.add("push--full-bleed");
433
+ }
429
434
  card.id = "push-" + push.id;
430
435
 
431
436
  const meta = document.createElement("div");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ammduncan/easel",
3
- "version": "0.2.16",
3
+ "version": "0.2.17",
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",