pmx-canvas 0.6.1 → 0.6.2
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 +22 -0
- package/Readme.md +2 -2
- package/dist/canvas/global.css +22 -3
- package/dist/canvas/index.js +53 -53
- package/dist/types/client/canvas/use-pan-zoom.d.ts +2 -1
- package/docs/node-types.md +1 -1
- package/package.json +1 -1
- package/skills/pmx-canvas/SKILL.md +10 -7
- package/skills/pmx-canvas/evals/evals.json +1 -1
- package/skills/pmx-canvas/references/excalidraw-diagram-authoring.md +5 -0
- package/skills/pmx-canvas/references/full-reference.md +5 -4
- package/skills/pmx-canvas-testing/SKILL.md +13 -4
- package/skills/web-artifacts-builder/scripts/bundle-artifact.sh +11 -12
- package/src/client/canvas/CanvasNode.tsx +9 -12
- package/src/client/canvas/CanvasViewport.tsx +10 -34
- package/src/client/canvas/ContextMenu.tsx +13 -0
- package/src/client/canvas/EdgeLayer.tsx +2 -2
- package/src/client/canvas/SessionPanel.tsx +23 -4
- package/src/client/canvas/ShortcutOverlay.tsx +2 -2
- package/src/client/canvas/use-pan-zoom.ts +16 -3
- package/src/client/nodes/ExtAppFrame.tsx +7 -1
- package/src/client/state/sse-bridge.ts +3 -1
- package/src/client/theme/global.css +22 -3
- package/src/server/canvas-operations.ts +2 -2
- package/src/server/operations/ops/viewport.ts +6 -1
- package/src/server/server.ts +9 -9
- package/src/server/web-artifacts/scripts/bundle-artifact.sh +29 -8
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
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.2] - 2026-09-09
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- 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.
|
|
11
|
+
- Rename nodes through their action menu instead of double-clicking the title.
|
|
12
|
+
- The Session panel starts compact, opens for pending approvals, and closes after they settle unless the user opened it manually.
|
|
13
|
+
- Skill guidance distinguishes product-source testing from consumer testing and requested app dimensions from persisted post-mount sizes.
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- Focusing a node stays clear of the minimap and command bar instead of being interrupted by server layout or window-size updates.
|
|
18
|
+
- Relative file paths resolve against the configured workspace rather than the daemon's process directory.
|
|
19
|
+
- Published artifact builds automatically clear a corrupted Parcel cache and retry once; genuine build errors still fail.
|
|
20
|
+
- Expanded embedded apps accept their first click reliably during loading in Chromium.
|
|
21
|
+
- The extreme resize corner is hittable, and all timeline filter chips fit on one row.
|
|
22
|
+
- WebView startup errors now retain the Chrome constructor failure in `lastError`.
|
|
23
|
+
|
|
24
|
+
### Known limitations
|
|
25
|
+
|
|
26
|
+
- 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.
|
|
27
|
+
|
|
6
28
|
## [0.6.1] - 2026-09-07
|
|
7
29
|
|
|
8
30
|
The Bun 1.4.2 upgrade and fixes from the 0.5.1 field reports (Amp orb, Copilot app).
|
package/Readme.md
CHANGED
|
@@ -36,7 +36,7 @@ communication — proximity means relatedness, pinning means *focus here*.
|
|
|
36
36
|
Drag, group, arrange, and **pin** nodes spatially. Connect nodes with typed
|
|
37
37
|
edges — flow, depends-on, relation, references — drawn as smooth curves that
|
|
38
38
|
leave each card perpendicular to its border and bend toward their target.
|
|
39
|
-
Edges stay editable in place:
|
|
39
|
+
Edges stay editable in place: double-click one to relabel, retype, restyle, or
|
|
40
40
|
delete it, or click it and press Delete. Curation is the channel
|
|
41
41
|
from human intent to agent context — the agent reads `canvas://pinned-context`
|
|
42
42
|
and `canvas://spatial-context` (proximity clusters, reading order, pinned
|
|
@@ -359,7 +359,7 @@ services:
|
|
|
359
359
|
```bash
|
|
360
360
|
# .agents/setup — install the CLI (pin the exact version: a fresh orb running
|
|
361
361
|
# @latest can silently pick up a newer release than the one you validated)
|
|
362
|
-
npm install -g pmx-canvas@0.6.
|
|
362
|
+
npm install -g pmx-canvas@0.6.2
|
|
363
363
|
```
|
|
364
364
|
|
|
365
365
|
The server binds the portal-assigned `$PORT` automatically (gated on the
|
package/dist/canvas/global.css
CHANGED
|
@@ -1377,7 +1377,7 @@ body,
|
|
|
1377
1377
|
animation: session-panel-in 180ms ease;
|
|
1378
1378
|
}
|
|
1379
1379
|
.session-panel.is-collapsed {
|
|
1380
|
-
width:
|
|
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
|
|
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;
|