pmx-canvas 0.6.1 → 0.6.3

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/Readme.md +14 -2
  3. package/dist/canvas/global.css +22 -3
  4. package/dist/canvas/index.js +64 -64
  5. package/dist/json-render/index.js +57 -57
  6. package/dist/types/client/canvas/auto-fit.d.ts +3 -0
  7. package/dist/types/client/canvas/use-pan-zoom.d.ts +2 -1
  8. package/dist/types/client/nodes/use-iframe-content-height.d.ts +3 -3
  9. package/dist/types/client/state/human-store.d.ts +1 -0
  10. package/dist/types/json-render/catalog.d.ts +20 -20
  11. package/dist/types/json-render/schema.d.ts +40 -0
  12. package/dist/types/mcp/skills.d.ts +13 -0
  13. package/dist/types/server/bundled-skills.d.ts +32 -4
  14. package/docs/http-api.md +5 -1
  15. package/docs/mcp.md +35 -1
  16. package/docs/node-types.md +1 -1
  17. package/docs/product-context-vision-2026-09.md +16 -5
  18. package/docs/product-vision-2026-09.md +4 -2
  19. package/package.json +11 -11
  20. package/skills/json-render-mcp/SKILL.md +118 -2
  21. package/skills/pmx-canvas/SKILL.md +42 -16
  22. package/skills/pmx-canvas/evals/evals.json +1 -1
  23. package/skills/pmx-canvas/references/excalidraw-diagram-authoring.md +5 -0
  24. package/skills/pmx-canvas/references/full-reference.md +5 -4
  25. package/skills/pmx-canvas/references/installing-pmx-canvas.md +5 -5
  26. package/skills/pmx-canvas-testing/SKILL.md +13 -4
  27. package/skills/web-artifacts-builder/scripts/bundle-artifact.sh +11 -12
  28. package/src/client/canvas/CanvasNode.tsx +9 -12
  29. package/src/client/canvas/CanvasViewport.tsx +10 -34
  30. package/src/client/canvas/ContextMenu.tsx +13 -0
  31. package/src/client/canvas/EdgeLayer.tsx +2 -2
  32. package/src/client/canvas/SessionPanel.tsx +23 -4
  33. package/src/client/canvas/ShortcutOverlay.tsx +2 -2
  34. package/src/client/canvas/auto-fit.ts +20 -1
  35. package/src/client/canvas/use-pan-zoom.ts +16 -3
  36. package/src/client/nodes/ExtAppFrame.tsx +7 -1
  37. package/src/client/nodes/use-iframe-content-height.ts +44 -24
  38. package/src/client/state/human-store.ts +6 -6
  39. package/src/client/state/sse-bridge.ts +3 -1
  40. package/src/client/theme/global.css +22 -3
  41. package/src/json-render/catalog.ts +6 -0
  42. package/src/json-render/renderer/index.tsx +17 -0
  43. package/src/json-render/schema.ts +4 -0
  44. package/src/mcp/server.ts +9 -4
  45. package/src/mcp/skills.ts +47 -0
  46. package/src/server/bundled-skills.ts +92 -53
  47. package/src/server/canvas-operations.ts +2 -2
  48. package/src/server/operations/ops/nodes.ts +43 -11
  49. package/src/server/operations/ops/viewport.ts +6 -1
  50. package/src/server/server.ts +9 -9
  51. package/src/server/web-artifacts/scripts/bundle-artifact.sh +29 -8
  52. package/src/shared/content-height-reporter.ts +4 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,47 @@
3
3
  All notable changes to `pmx-canvas` are documented here. This project follows
4
4
  [Semantic Versioning](https://semver.org/).
5
5
 
6
+ ## [0.6.3] - 2026-09-23
7
+
8
+ ### Added
9
+
10
+ - MCP Skills extension support lets compatible hosts discover bundled skills and read their references, scripts, and assets on demand.
11
+ - JSON-render Cards support custom header and footer slots around their body content.
12
+
13
+ ### Changed
14
+
15
+ - Updated the json-render packages to 0.21.0.
16
+
17
+ ### Fixed
18
+
19
+ - JSON-render validation preserves initial state, repeat definitions, watchers, and named-slot references instead of dropping them.
20
+ - Authored iframe cards remeasure changing content and leave space around neighbors when growing automatically.
21
+ - Automatic card fitting waits for human grabs to end, and relocations can be undone.
22
+ - Repointing file nodes resolves relative paths against the workspace and rejects unreadable targets without losing the existing content or watcher.
23
+ - Bundled installation instructions match the package version, and paint guidance requires visual confirmation in the affected host.
24
+
25
+ ## [0.6.2] - 2026-09-09
26
+
27
+ ### Changed
28
+
29
+ - Double-left-click opens the board, node, or edge menu; right-button dragging pans with a grabbing-hand cursor, while single-left-click still selects.
30
+ - Rename nodes through their action menu instead of double-clicking the title.
31
+ - The Session panel starts compact, opens for pending approvals, and closes after they settle unless the user opened it manually.
32
+ - Skill guidance distinguishes product-source testing from consumer testing and requested app dimensions from persisted post-mount sizes.
33
+
34
+ ### Fixed
35
+
36
+ - Focusing a node stays clear of the minimap and command bar instead of being interrupted by server layout or window-size updates.
37
+ - Relative file paths resolve against the configured workspace rather than the daemon's process directory.
38
+ - Published artifact builds automatically clear a corrupted Parcel cache and retry once; genuine build errors still fail.
39
+ - Expanded embedded apps accept their first click reliably during loading in Chromium.
40
+ - The extreme resize corner is hittable, and all timeline filter chips fit on one row.
41
+ - WebView startup errors now retain the Chrome constructor failure in `lastError`.
42
+
43
+ ### Known limitations
44
+
45
+ - Native Copilot/WebKit Excalidraw tiles can still appear blank despite a successful paint probe; expand-close remains a workaround, not a confirmed first-render fix.
46
+
6
47
  ## [0.6.1] - 2026-09-07
7
48
 
8
49
  The Bun 1.4.2 upgrade and fixes from the 0.5.1 field reports (Amp orb, Copilot app).
package/Readme.md CHANGED
@@ -4,6 +4,12 @@ pmx-canvas is a visual workspace for planning, discovery, analysis, coordination
4
4
  and orchestrating work with agents—from exploring an idea to directing its
5
5
  execution and carrying the learning forward.
6
6
 
7
+ **The board is your extended memory and your agent's working memory.** Use it
8
+ to research, analyze, work with dashboards, and start or plan coding and other
9
+ knowledge work—not just to prepare context for an agent. The [long-term vision](docs/product-context-vision-2026-09.md#work-becomes-memory-and-memory-supports-more-work)
10
+ connects that work to a growing memory graph and maintained wiki, bringing useful
11
+ understanding back into whatever you do next.
12
+
7
13
  **A moldable canvas for agent-assisted thinking.** An infinite 2D surface
8
14
  where files, plans, status, charts, fetched web pages, annotations, code
9
15
  diffs, and diagrams live side by side. Every node carries its own renderer; agents
@@ -36,7 +42,7 @@ communication — proximity means relatedness, pinning means *focus here*.
36
42
  Drag, group, arrange, and **pin** nodes spatially. Connect nodes with typed
37
43
  edges — flow, depends-on, relation, references — drawn as smooth curves that
38
44
  leave each card perpendicular to its border and bend toward their target.
39
- Edges stay editable in place: right-click one to relabel, retype, restyle, or
45
+ Edges stay editable in place: double-click one to relabel, retype, restyle, or
40
46
  delete it, or click it and press Delete. Curation is the channel
41
47
  from human intent to agent context — the agent reads `canvas://pinned-context`
42
48
  and `canvas://spatial-context` (proximity clusters, reading order, pinned
@@ -359,7 +365,7 @@ services:
359
365
  ```bash
360
366
  # .agents/setup — install the CLI (pin the exact version: a fresh orb running
361
367
  # @latest can silently pick up a newer release than the one you validated)
362
- npm install -g pmx-canvas@0.6.1
368
+ npm install -g pmx-canvas@0.6.3
363
369
  ```
364
370
 
365
371
  The server binds the portal-assigned `$PORT` automatically (gated on the
@@ -405,6 +411,12 @@ the agent can read `canvas://skills` and pull in companion skills
405
411
  `control-session-orchestrator`, `web-artifacts-builder`, `json-render-*`,
406
412
  `pmx-canvas-testing`, `playwright-cli`, etc.) as the work demands.
407
413
 
414
+ The MCP server also supports the [Skills extension](docs/mcp.md#skills-extension-sep-2640):
415
+ compatible hosts discover skills through `skills/list` and read instructions, references,
416
+ scripts, and assets at `skill://<name>/<path>`. Files come from the running MCP package;
417
+ restart MCP after an upgrade. Host support determines automatic skill loading, and reading
418
+ a skill never grants permission to execute its scripts. Filesystem installation remains available.
419
+
408
420
  ## Documentation
409
421
 
410
422
  - **[Node types](docs/node-types.md)** — every node type, edge types, and
@@ -1377,7 +1377,7 @@ body,
1377
1377
  animation: session-panel-in 180ms ease;
1378
1378
  }
1379
1379
  .session-panel.is-collapsed {
1380
- width: 28px;
1380
+ width: 40px;
1381
1381
  align-items: center;
1382
1382
  padding-top: 10px;
1383
1383
  gap: 10px;
@@ -1390,6 +1390,17 @@ body,
1390
1390
  text-transform: uppercase;
1391
1391
  color: var(--c-dim);
1392
1392
  }
1393
+ .session-collapsed-live {
1394
+ display: inline-flex;
1395
+ flex-direction: column;
1396
+ align-items: center;
1397
+ gap: 4px;
1398
+ font: 9px var(--mono);
1399
+ color: var(--c-dim);
1400
+ }
1401
+ .session-collapsed-live .session-live-dot {
1402
+ background: var(--c-ok);
1403
+ }
1393
1404
 
1394
1405
  .session-panel-header {
1395
1406
  height: var(--hud-bar-height);
@@ -1717,7 +1728,7 @@ body,
1717
1728
  }
1718
1729
  .session-timeline-filters .activity-filter {
1719
1730
  flex-shrink: 0;
1720
- padding: 2px 4px;
1731
+ padding: 2px 3px;
1721
1732
  }
1722
1733
 
1723
1734
  .session-timeline-row {
@@ -3745,6 +3756,12 @@ body,
3745
3756
  }
3746
3757
 
3747
3758
  /* Node resize handle */
3759
+ .canvas-node:has(.node-resize-handle) {
3760
+ /* Keep the four-pixel corner grab inside the shell's inner clip, not on
3761
+ its rounded border. The other corners retain the standard card radius. */
3762
+ border-bottom-right-radius: 8px;
3763
+ }
3764
+
3748
3765
  .canvas-node .node-resize-handle {
3749
3766
  position: absolute;
3750
3767
  bottom: 0;
@@ -3789,7 +3806,9 @@ html.is-node-dragging .attention-field-layer {
3789
3806
  }
3790
3807
 
3791
3808
  html.is-node-dragging,
3792
- html.is-node-dragging * {
3809
+ html.is-node-dragging *,
3810
+ html.is-canvas-panning,
3811
+ html.is-canvas-panning * {
3793
3812
  cursor: grabbing !important;
3794
3813
  user-select: none !important;
3795
3814
  -webkit-user-select: none !important;