stagecraft 0.1.0 → 0.2.0
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 +54 -0
- package/package.json +28 -5
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.2.0 — 2026-05-23
|
|
4
|
+
|
|
5
|
+
### Themes
|
|
6
|
+
- Added **Shopware** theme — fifth official theme, sourced from the Meteor design system (`@shopware-ag/meteor-tokens` v1.4.0). Light, Inter, brand-blue `#0870ff`, semantic palette piped through. Full overrides for all 50 components and all transitions.
|
|
7
|
+
- Polished **Paper**, **Neon**, and **Brand** themes with per-family component overrides (each had been mostly inheriting Phosphor before — now they have distinct visual personalities).
|
|
8
|
+
- **Theme picker** in the storyboard toolbar lets you switch live across all 5 themes.
|
|
9
|
+
- Demo loads all 5 themes' CSS so switching is instant (no reload). Production starter loads a single theme bundle and reloads on switch.
|
|
10
|
+
|
|
11
|
+
### Editor
|
|
12
|
+
- New **'E' keypress** toggles edit-mode affordances on/off without disconnecting the dev server — present cleanly even with the server running.
|
|
13
|
+
- New **Speaker notes** field (`Stage.register(slide, {notes: '…'})`) with 🎙 button per storyboard tile. AST-aware roundtrip preserves all other slide fields.
|
|
14
|
+
- New **CRUD** in storyboard: ➕ add slide (with template choice), 🗑 delete slide.
|
|
15
|
+
- New **Process notes** button copies a ready-made agent prompt to the clipboard.
|
|
16
|
+
- New **Pin markers** on annotated elements during edit mode (yellow pulsing dots, hover for note text).
|
|
17
|
+
- Element click for inline editing changed from double-click to single click.
|
|
18
|
+
|
|
19
|
+
### Presenter view
|
|
20
|
+
- Press **P** to open a second window with the presenter view: current slide, next-slide thumbnail, speaker notes, elapsed timer, wall clock. Multi-monitor via `BroadcastChannel` sync. Laptop sees notes, beamer sees clean slide.
|
|
21
|
+
|
|
22
|
+
### Components (50 total)
|
|
23
|
+
- Phase 3 added: ImageText, FullImage, Quote, BigNumber, Stats, Bento, Pillars, Timeline, Pyramid, Cycle, Funnel, Matrix2x2, BarChart, Progress, ProcessFlow, Venn, KPI, DonutChart, LineChart, Gauge, SparkLine, Heatmap, Roadmap, SWOT, CodeBlock, CodeDiff, Pricing, Testimonial, TeamGrid, Agenda, Checklist, Steps, CTA, Callout, Tip, BeforeAfter, Statement, QandA, Manifesto, Punchline, Definition, ImageGrid, Spotlight, Marquee.
|
|
24
|
+
|
|
25
|
+
### Transitions (15 total)
|
|
26
|
+
- Added zoom-in, zoom-out, flip (3D rotateY), iris (clip-path), shutter, push, typewriter, shatter.
|
|
27
|
+
- Hover-to-play-once preview in the picker.
|
|
28
|
+
|
|
29
|
+
### Tooling
|
|
30
|
+
- **Bundle script** (`npm run build`): concatenates everything into `dist/stagecraft.bundle.{js,css}` + per-theme CSS bundles.
|
|
31
|
+
- **PDF export** (`npx stagecraft export pdf`): renders deck to PDF via Playwright + pdf-lib (optional deps).
|
|
32
|
+
- **Visual regression** harness (`tests/visual/run.js`): Playwright snapshots with optional pixelmatch diffing.
|
|
33
|
+
- **GitHub Pages CI**: `npm run build` + `scripts/deploy-build.js` produce a `deploy/` directory; `.github/workflows/deploy-pages.yml` ships it on every push to main.
|
|
34
|
+
- **Verify CI**: `.github/workflows/verify.yml` runs `npm run verify` (AST tests), syntax-checks every JS file, builds bundles, and assembles the deploy directory on every PR.
|
|
35
|
+
|
|
36
|
+
### Accessibility
|
|
37
|
+
- `prefers-reduced-motion: reduce` shortcuts the typewriter, particles, and stagger animations to their final state.
|
|
38
|
+
|
|
39
|
+
### Bug fixes
|
|
40
|
+
- CodeBlock/CodeDiff: removed redundant `<pre>` wrapper that was preserving template-string whitespace as huge inter-line gaps.
|
|
41
|
+
- Venn diagram: geometry now expressed in SVG viewBox units; labels converted to container-% on render, so they align with the circles regardless of container aspect ratio.
|
|
42
|
+
- Heatmap: x-labels wrapped in a `.hm-x-row` grid container so they run horizontally instead of stacking.
|
|
43
|
+
- Drag-to-reorder in storyboard: the synthetic click after drop no longer closes the storyboard.
|
|
44
|
+
- Click-to-advance no longer fires in edit mode (previously prevented inline editing on the first click of any potential double-click).
|
|
45
|
+
- Storyboard state persists across the file-watcher reload after a drag-drop reorder.
|
|
46
|
+
- 'cut' transition now has a picker-only preview animation (was invisible before).
|
|
47
|
+
|
|
48
|
+
## 0.1.0 — 2026-05-22
|
|
49
|
+
|
|
50
|
+
Initial release.
|
|
51
|
+
|
|
52
|
+
- Engine, primitives, 6 core components, 4 themes, 5 cookbook examples.
|
|
53
|
+
- Edit mode with slide-level notes, element-pin notes, transition picker, inline text editing.
|
|
54
|
+
- Dev server with WebSocket + AST roundtrip.
|
package/package.json
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stagecraft",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Cinematic, agent-authored presentations in a single HTML file.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/engine.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"stagecraft": "bin/cli.js"
|
|
9
9
|
},
|
|
10
|
+
"homepage": "https://noegel.io/stagecraft/",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/dnoegel/stagecraft.git"
|
|
14
|
+
},
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/dnoegel/stagecraft/issues"
|
|
17
|
+
},
|
|
18
|
+
"author": "Daniel Nögel",
|
|
10
19
|
"files": [
|
|
11
20
|
"src",
|
|
12
21
|
"themes",
|
|
@@ -15,7 +24,9 @@
|
|
|
15
24
|
"bin",
|
|
16
25
|
"starter",
|
|
17
26
|
"AGENT.md",
|
|
18
|
-
"README.md"
|
|
27
|
+
"README.md",
|
|
28
|
+
"LICENSE",
|
|
29
|
+
"CHANGELOG.md"
|
|
19
30
|
],
|
|
20
31
|
"scripts": {
|
|
21
32
|
"serve": "node bin/serve.js",
|
|
@@ -25,7 +36,8 @@
|
|
|
25
36
|
"build": "node scripts/bundle.js",
|
|
26
37
|
"test:visual": "node tests/visual/run.js",
|
|
27
38
|
"test:visual:update": "node tests/visual/run.js --update-baseline",
|
|
28
|
-
"export": "node bin/export.js"
|
|
39
|
+
"export": "node bin/export.js",
|
|
40
|
+
"prepublishOnly": "npm run build"
|
|
29
41
|
},
|
|
30
42
|
"dependencies": {
|
|
31
43
|
"@babel/generator": "^7.24.0",
|
|
@@ -36,6 +48,17 @@
|
|
|
36
48
|
"mime-types": "^2.1.35",
|
|
37
49
|
"ws": "^8.16.0"
|
|
38
50
|
},
|
|
39
|
-
"keywords": [
|
|
40
|
-
|
|
51
|
+
"keywords": [
|
|
52
|
+
"slides",
|
|
53
|
+
"presentation",
|
|
54
|
+
"agent",
|
|
55
|
+
"llm",
|
|
56
|
+
"stagecraft",
|
|
57
|
+
"deck",
|
|
58
|
+
"keynote"
|
|
59
|
+
],
|
|
60
|
+
"license": "MIT",
|
|
61
|
+
"engines": {
|
|
62
|
+
"node": ">=18"
|
|
63
|
+
}
|
|
41
64
|
}
|