pmx-canvas 0.8.2 → 0.9.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/.github/extensions/pmx-canvas/runtime.json +1 -1
- package/.github/extensions/pmx-canvas/tools.json +601 -22
- package/CHANGELOG.md +59 -0
- package/Readme.md +131 -532
- package/dist/canvas/global.css +2724 -476
- package/dist/canvas/index.js +168 -107
- package/dist/canvas/mcp-app.html +2899 -596
- package/dist/json-render/index.js +20 -20
- package/dist/types/client/canvas/BarHint.d.ts +12 -2
- package/dist/types/client/canvas/BoardLinkDialog.d.ts +3 -1
- package/dist/types/client/canvas/BoardPinButton.d.ts +10 -0
- package/dist/types/client/canvas/BoardSwitcher.d.ts +1 -1
- package/dist/types/client/canvas/CanvasViewport.d.ts +1 -1
- package/dist/types/client/canvas/CommandBar.d.ts +3 -4
- package/dist/types/client/canvas/ConnectionBanner.d.ts +2 -1
- package/dist/types/client/canvas/ContextChip.d.ts +3 -0
- package/dist/types/client/canvas/CrossBoardReferences.d.ts +5 -0
- package/dist/types/client/canvas/EdgeLayer.d.ts +14 -3
- package/dist/types/client/canvas/EmptyState.d.ts +4 -4
- package/dist/types/client/canvas/HomeGraphView.d.ts +2 -0
- package/dist/types/client/canvas/HomeMapView.d.ts +1 -0
- package/dist/types/client/canvas/HomeReviewView.d.ts +6 -0
- package/dist/types/client/canvas/HomeView.d.ts +9 -7
- package/dist/types/client/canvas/KnowledgeDialog.d.ts +4 -0
- package/dist/types/client/canvas/LifecycleChrome.d.ts +5 -0
- package/dist/types/client/canvas/LifecycleFields.d.ts +7 -0
- package/dist/types/client/canvas/LifecyclePanel.d.ts +1 -0
- package/dist/types/client/canvas/MemoryInspector.d.ts +7 -0
- package/dist/types/client/canvas/NearPinLayer.d.ts +14 -0
- package/dist/types/client/canvas/NodeContextMark.d.ts +40 -7
- package/dist/types/client/canvas/RelationPresetsDialog.d.ts +4 -0
- package/dist/types/client/canvas/RelationsPanel.d.ts +4 -0
- package/dist/types/client/canvas/SessionPanel.d.ts +2 -0
- package/dist/types/client/canvas/canvas-area.d.ts +1 -1
- package/dist/types/client/canvas/graph-geometry.d.ts +27 -0
- package/dist/types/client/canvas/graph-model.d.ts +37 -0
- package/dist/types/client/canvas/memory-layout.d.ts +23 -0
- package/dist/types/client/canvas/use-chrome-height.d.ts +2 -0
- package/dist/types/client/canvas/use-focus-trap.d.ts +1 -0
- package/dist/types/client/canvas/use-memory-graph.d.ts +8 -0
- package/dist/types/client/canvas/use-pan-zoom.d.ts +4 -1
- package/dist/types/client/icons.d.ts +0 -10
- package/dist/types/client/nodes/AxStepControls.d.ts +1 -1
- package/dist/types/client/nodes/InlineMarkdownEditor.d.ts +4 -4
- package/dist/types/client/nodes/MarkdownNode.d.ts +5 -1
- package/dist/types/client/nodes/McpAppNode.d.ts +4 -4
- package/dist/types/client/nodes/viewer-runtime-state.d.ts +1 -1
- package/dist/types/client/state/boards-store.d.ts +81 -9
- package/dist/types/client/state/canvas-store.d.ts +14 -1
- package/dist/types/client/state/context-chip-store.d.ts +22 -0
- package/dist/types/client/state/context-status-store.d.ts +35 -0
- package/dist/types/client/state/human-store.d.ts +2 -1
- package/dist/types/client/state/intent-bridge.d.ts +11 -8
- package/dist/types/client/state/knowledge-store.d.ts +22 -0
- package/dist/types/client/state/near-pin-store.d.ts +44 -1
- package/dist/types/client/state/presence-store.d.ts +4 -4
- package/dist/types/client/state/presentation.d.ts +28 -0
- package/dist/types/client/state/relation-store.d.ts +10 -0
- package/dist/types/client/state/session-store.d.ts +41 -2
- package/dist/types/client/state/workspace-settings.d.ts +7 -0
- package/dist/types/client/types.d.ts +13 -1
- package/dist/types/client/utils/keyboard.d.ts +2 -0
- package/dist/types/client/utils/time-ago.d.ts +4 -0
- package/dist/types/mcp/context-uri-template.d.ts +3 -1
- package/dist/types/server/agent-presence.d.ts +10 -3
- package/dist/types/server/ax-context.d.ts +1 -1
- package/dist/types/server/canvas-db.d.ts +30 -7
- package/dist/types/server/canvas-operations.d.ts +24 -2
- package/dist/types/server/canvas-provenance.d.ts +22 -2
- package/dist/types/server/canvas-serialization.d.ts +2 -0
- package/dist/types/server/canvas-state.d.ts +93 -15
- package/dist/types/server/canvas-validation.d.ts +1 -1
- package/dist/types/server/context-brief.d.ts +94 -6
- package/dist/types/server/context-reads.d.ts +33 -7
- package/dist/types/server/edit-summary.d.ts +20 -0
- package/dist/types/server/index.d.ts +71 -10
- package/dist/types/server/knowledge-lifecycle.d.ts +221 -0
- package/dist/types/server/lifecycle-status.d.ts +10 -0
- package/dist/types/server/memory-graph.d.ts +9 -0
- package/dist/types/server/mutation-history.d.ts +2 -0
- package/dist/types/server/operations/ops/ax-shared.d.ts +1 -1
- package/dist/types/server/operations/ops/boards.d.ts +2 -1
- package/dist/types/server/operations/ops/lifecycle.d.ts +2 -0
- package/dist/types/server/operations/ops/memory-graph.d.ts +2 -0
- package/dist/types/server/operations/ops/nodes.d.ts +5 -0
- package/dist/types/server/operations/ops/query.d.ts +23 -0
- package/dist/types/server/operations/registry.d.ts +1 -0
- package/dist/types/server/placement.d.ts +7 -0
- package/dist/types/server/scope-fence.d.ts +2 -1
- package/dist/types/server/spatial-analysis.d.ts +6 -3
- package/dist/types/server/tour-control.d.ts +32 -0
- package/dist/types/server/wiki-links.d.ts +14 -0
- package/dist/types/server/workbench-auth.d.ts +2 -0
- package/dist/types/shared/agent-context.d.ts +2 -0
- package/dist/types/shared/agent-presence.d.ts +15 -12
- package/dist/types/shared/auto-arrange.d.ts +1 -0
- package/dist/types/shared/boards.d.ts +4 -4
- package/dist/types/shared/knowledge-lifecycle.d.ts +41 -0
- package/dist/types/shared/knowledge-presets.d.ts +6 -0
- package/dist/types/shared/lifecycle-status.d.ts +24 -0
- package/dist/types/shared/memory-graph.d.ts +53 -0
- package/dist/types/shared/relations.d.ts +68 -0
- package/dist/types/shared/semantic-attention.d.ts +2 -0
- package/dist/types/shared/tour.d.ts +38 -0
- package/dist/types/shared/workspace-settings.d.ts +11 -0
- package/docs/RELEASE.md +21 -3
- package/docs/adr-001-bun-only-runtime.md +7 -1
- package/docs/adr-002-shared-product-separate-runtimes.md +93 -0
- package/docs/api-reference.md +109 -0
- package/docs/ax-host-adapter-contract.md +1 -1
- package/docs/ax-state-contract.md +5 -4
- package/docs/cli.md +153 -15
- package/docs/demos/pmx-canvas-demo.mp4 +0 -0
- package/docs/design/AgentContext.dc.html +3 -3
- package/docs/design/BoardPins.dc.html +37 -22
- package/docs/design/Categories.dc.html +208 -0
- package/docs/design/CategoryEditor.dc.html +33 -0
- package/docs/design/Chrome.dc.html +52 -9
- package/docs/design/ContextChip.dc.html +224 -0
- package/docs/design/ContextChip600.dc.html +136 -0
- package/docs/design/EmptyState.dc.html +45 -0
- package/docs/design/Flows.dc.html +23 -1
- package/docs/design/HeaderMarks.dc.html +183 -0
- package/docs/design/Home.dc.html +19 -1
- package/docs/design/HomeGraph.dc.html +86 -202
- package/docs/design/HomeMap.dc.html +23 -1
- package/docs/design/HomeTeam.dc.html +32 -14
- package/docs/design/Lifecycle.dc.html +22 -0
- package/docs/design/Lifecycle600.dc.html +18 -0
- package/docs/design/LifecycleVariants.dc.html +157 -0
- package/docs/design/LinkAuthorship.dc.html +139 -0
- package/docs/design/LinksChanged.dc.html +203 -0
- package/docs/design/LinksOptions.dc.html +137 -0
- package/docs/design/LinksOptions600.dc.html +134 -0
- package/docs/design/NearPin.dc.html +9 -10
- package/docs/design/Pane600.dc.html +4 -3
- package/docs/design/Relations.dc.html +3 -2
- package/docs/design/Restore.dc.html +152 -0
- package/docs/design/SeeChange.dc.html +267 -0
- package/docs/design/Uses.dc.html +12 -6
- package/docs/design/canvas.json +146 -19
- package/docs/design.md +449 -16
- package/docs/environment.md +0 -1
- package/docs/evals/curation-effect.md +128 -0
- package/docs/http-api.md +459 -37
- package/docs/mcp.md +146 -18
- package/docs/node-types.md +58 -3
- package/docs/plans/design-gaps-2026-10-08.md +53 -0
- package/docs/plans/plan-009-tech-debt-backlog.md +379 -0
- package/docs/plans/plan-016-context-made-visible-wave-1.md +150 -5
- package/docs/plans/plan-017-knowledge-categories-and-lifecycle.md +175 -0
- package/docs/plans/plan-018-connected-memory-wave-2.md +594 -0
- package/docs/plans/plan-019-post-0.9-roadmap.md +198 -0
- package/docs/product-context-vision-2026-09.md +17 -1
- package/docs/product-vision-2026-09.md +1082 -43
- package/docs/product-vision-review-2026-09.md +13 -1
- package/docs/screenshots/workbench-live-dark.png +0 -0
- package/docs/screenshots/workbench-live-light.png +0 -0
- package/docs/sdk.md +62 -2
- package/package.json +1 -1
- package/plugins/pmx-canvas/com.github.copilot/extensions/pmx-canvas/runtime.json +1 -1
- package/plugins/pmx-canvas/plugin.json +1 -1
- package/plugins/pmx-canvas/runtime.json +1 -1
- package/plugins/pmx-canvas/tools.json +601 -22
- package/skills/pmx-canvas/SKILL.md +216 -42
- package/skills/pmx-canvas/evals/evals.json +224 -0
- package/skills/pmx-canvas/references/full-reference.md +120 -21
- package/skills/pmx-canvas/references/github-copilot-app-adapter.md +2 -2
- package/skills/pmx-canvas/references/importing-context.md +132 -0
- package/skills/pmx-canvas/references/installing-pmx-canvas.md +6 -6
- package/skills/pmx-canvas/references/tours-and-recording.md +16 -1
- package/skills/pmx-canvas-testing/SKILL.md +20 -0
- package/src/cli/agent.ts +2 -0
- package/src/cli/commands/ax.ts +12 -0
- package/src/cli/commands/boards.ts +88 -11
- package/src/cli/commands/edges.ts +28 -0
- package/src/cli/commands/groups.ts +7 -0
- package/src/cli/commands/nodes.ts +1 -0
- package/src/cli/commands/query.ts +34 -2
- package/src/cli/commands/record.ts +199 -48
- package/src/cli/index.ts +6 -1
- package/src/client/App.tsx +177 -70
- package/src/client/canvas/AttentionHistory.tsx +0 -2
- package/src/client/canvas/BarHint.tsx +40 -2
- package/src/client/canvas/BoardCopyDialog.tsx +1 -1
- package/src/client/canvas/BoardFolderDialog.tsx +7 -7
- package/src/client/canvas/BoardLinkDialog.tsx +138 -33
- package/src/client/canvas/BoardPinButton.tsx +33 -0
- package/src/client/canvas/BoardSwitcher.tsx +26 -40
- package/src/client/canvas/CanvasNode.tsx +360 -237
- package/src/client/canvas/CanvasViewport.tsx +45 -7
- package/src/client/canvas/CommandBar.tsx +29 -23
- package/src/client/canvas/CommandPalette.tsx +5 -12
- package/src/client/canvas/ConnectionBanner.tsx +3 -3
- package/src/client/canvas/ContextChip.tsx +296 -0
- package/src/client/canvas/ContextMenu.tsx +63 -5
- package/src/client/canvas/CrossBoardReferences.tsx +60 -0
- package/src/client/canvas/EdgeLayer.tsx +339 -76
- package/src/client/canvas/EmptyState.tsx +33 -18
- package/src/client/canvas/ExpandedNodeOverlay.tsx +72 -40
- package/src/client/canvas/ExternalWriters.tsx +57 -42
- package/src/client/canvas/HomeGraphView.tsx +942 -0
- package/src/client/canvas/HomeMapView.tsx +641 -0
- package/src/client/canvas/HomeReviewView.tsx +167 -0
- package/src/client/canvas/HomeView.tsx +687 -160
- package/src/client/canvas/IntentLayer.tsx +19 -12
- package/src/client/canvas/KnowledgeDialog.tsx +488 -0
- package/src/client/canvas/LifecycleChrome.tsx +133 -0
- package/src/client/canvas/LifecycleFields.tsx +91 -0
- package/src/client/canvas/LifecyclePanel.tsx +543 -0
- package/src/client/canvas/MemoryInspector.tsx +104 -0
- package/src/client/canvas/Minimap.tsx +3 -3
- package/src/client/canvas/NearPinLayer.tsx +187 -0
- package/src/client/canvas/NodeContextMark.tsx +175 -97
- package/src/client/canvas/Presentation.tsx +23 -57
- package/src/client/canvas/RelationPresetsDialog.tsx +413 -0
- package/src/client/canvas/RelationsPanel.tsx +82 -0
- package/src/client/canvas/SelectionBar.tsx +3 -6
- package/src/client/canvas/SessionPanel.tsx +90 -50
- package/src/client/canvas/SessionReceipt.tsx +311 -39
- package/src/client/canvas/ShortcutOverlay.tsx +1 -1
- package/src/client/canvas/SnapshotPanel.tsx +27 -36
- package/src/client/canvas/ToolRail.tsx +367 -192
- package/src/client/canvas/TopBar.tsx +354 -124
- package/src/client/canvas/canvas-area.ts +10 -3
- package/src/client/canvas/graph-geometry.ts +195 -0
- package/src/client/canvas/graph-model.ts +254 -0
- package/src/client/canvas/memory-layout.ts +106 -0
- package/src/client/canvas/use-chrome-height.ts +20 -0
- package/src/client/canvas/use-focus-trap.ts +31 -5
- package/src/client/canvas/use-memory-graph.ts +58 -0
- package/src/client/canvas/use-node-drag.ts +2 -1
- package/src/client/canvas/use-pan-zoom.ts +64 -7
- package/src/client/icons.tsx +0 -63
- package/src/client/mcp-app/style.css +0 -6
- package/src/client/nodes/AxStepControls.tsx +74 -50
- package/src/client/nodes/BoardNode.tsx +5 -1
- package/src/client/nodes/ContextNode.tsx +18 -11
- package/src/client/nodes/ExtAppFrame.tsx +6 -3
- package/src/client/nodes/FileNode.tsx +46 -42
- package/src/client/nodes/HtmlNode.tsx +32 -0
- package/src/client/nodes/ImageNode.tsx +1 -1
- package/src/client/nodes/InlineFormatBar.tsx +6 -9
- package/src/client/nodes/InlineMarkdownEditor.tsx +56 -17
- package/src/client/nodes/MarkdownNode.tsx +377 -109
- package/src/client/nodes/McpAppNode.tsx +50 -20
- package/src/client/nodes/MdFormatBar.tsx +21 -18
- package/src/client/nodes/PromptNode.tsx +1 -1
- package/src/client/nodes/ResponseNode.tsx +1 -1
- package/src/client/nodes/viewer-runtime-state.ts +54 -22
- package/src/client/state/attention-bridge.ts +64 -15
- package/src/client/state/boards-store.ts +193 -39
- package/src/client/state/canvas-store.ts +99 -12
- package/src/client/state/context-chip-store.ts +70 -0
- package/src/client/state/context-status-store.ts +53 -0
- package/src/client/state/human-store.ts +13 -7
- package/src/client/state/intent-bridge.ts +51 -30
- package/src/client/state/knowledge-store.ts +43 -0
- package/src/client/state/near-pin-store.ts +115 -6
- package/src/client/state/presence-store.ts +7 -10
- package/src/client/state/presentation.ts +91 -0
- package/src/client/state/relation-store.ts +81 -0
- package/src/client/state/session-store.ts +144 -18
- package/src/client/state/sse-bridge.ts +235 -32
- package/src/client/state/workspace-settings.ts +11 -0
- package/src/client/theme/global.css +2724 -476
- package/src/client/types.ts +12 -0
- package/src/client/utils/keyboard.ts +10 -0
- package/src/client/utils/time-ago.ts +14 -0
- package/src/json-render/renderer/index.tsx +31 -0
- package/src/mcp/canvas-app.ts +12 -2
- package/src/mcp/context-uri-template.ts +7 -4
- package/src/mcp/server.ts +63 -41
- package/src/mcp/workbench-app.ts +39 -6
- package/src/server/agent-presence.ts +128 -28
- package/src/server/ax-context.ts +27 -13
- package/src/server/board-export.ts +12 -1
- package/src/server/canvas-db.ts +331 -42
- package/src/server/canvas-operations.ts +195 -83
- package/src/server/canvas-provenance.ts +53 -22
- package/src/server/canvas-serialization.ts +2 -0
- package/src/server/canvas-state.ts +950 -122
- package/src/server/canvas-validation.ts +9 -2
- package/src/server/context-brief.ts +345 -38
- package/src/server/context-reads.ts +178 -30
- package/src/server/demo-state.json +355 -24
- package/src/server/edit-summary.ts +74 -0
- package/src/server/html-surface.ts +8 -1
- package/src/server/index.ts +181 -11
- package/src/server/knowledge-lifecycle.ts +304 -0
- package/src/server/lifecycle-status.ts +232 -0
- package/src/server/memory-graph.ts +166 -0
- package/src/server/mutation-history.ts +18 -6
- package/src/server/operations/composites.ts +32 -11
- package/src/server/operations/http.ts +7 -2
- package/src/server/operations/index.ts +4 -0
- package/src/server/operations/mcp.ts +26 -1
- package/src/server/operations/ops/ax-presence.ts +1 -1
- package/src/server/operations/ops/ax-read.ts +57 -6
- package/src/server/operations/ops/ax-timeline.ts +28 -2
- package/src/server/operations/ops/backup.ts +5 -3
- package/src/server/operations/ops/batch.ts +35 -4
- package/src/server/operations/ops/boards.ts +188 -47
- package/src/server/operations/ops/canvas-wire.ts +31 -1
- package/src/server/operations/ops/edges.ts +36 -2
- package/src/server/operations/ops/groups.ts +6 -1
- package/src/server/operations/ops/lifecycle.ts +262 -0
- package/src/server/operations/ops/memory-graph.ts +45 -0
- package/src/server/operations/ops/nodes.ts +107 -24
- package/src/server/operations/ops/query.ts +281 -68
- package/src/server/operations/ops/snapshots.ts +73 -1
- package/src/server/operations/ops/validate.ts +5 -1
- package/src/server/operations/ops/viewport.ts +97 -3
- package/src/server/operations/registry.ts +74 -25
- package/src/server/placement.ts +29 -0
- package/src/server/scope-fence.ts +78 -6
- package/src/server/server.ts +115 -16
- package/src/server/spatial-analysis.ts +48 -23
- package/src/server/tour-control.ts +82 -0
- package/src/server/wiki-links.ts +137 -0
- package/src/server/workbench-auth.ts +11 -0
- package/src/shared/agent-context.ts +3 -0
- package/src/shared/agent-presence.ts +15 -15
- package/src/shared/auto-arrange.ts +2 -0
- package/src/shared/boards.ts +4 -4
- package/src/shared/knowledge-lifecycle.ts +22 -0
- package/src/shared/knowledge-presets.ts +80 -0
- package/src/shared/lifecycle-status.ts +26 -0
- package/src/shared/memory-graph.ts +74 -0
- package/src/shared/relations.ts +98 -0
- package/src/shared/semantic-attention.ts +15 -1
- package/src/shared/tour.ts +23 -5
- package/src/shared/workspace-settings.ts +13 -0
- package/dist/types/client/canvas/ContextPinBar.d.ts +0 -1
- package/dist/types/client/canvas/FocusFieldLayer.d.ts +0 -1
- package/dist/types/client/canvas/kind-colors.d.ts +0 -3
- package/dist/types/server/agent-context.d.ts +0 -22
- package/src/client/canvas/ContextPinBar.tsx +0 -25
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ComponentChildren, type VNode } from 'preact';
|
|
2
|
+
/** Escape a bar's filter/clip without installing React-compat event hooks. */
|
|
3
|
+
export declare function BarPortal({ children }: {
|
|
4
|
+
children: VNode;
|
|
5
|
+
}): null;
|
|
2
6
|
/**
|
|
3
7
|
* Styled hover/focus tooltip for bar controls — the replacement for native
|
|
4
8
|
* `title` hints, which are delay-gated and never render in embedded panes.
|
|
5
9
|
*/
|
|
6
|
-
export declare function BarHint({ label, shortcut, body, align, side, tapToOpen, children, }: {
|
|
10
|
+
export declare function BarHint({ label, shortcut, body, align, side, tapToOpen, fitWithin, children, }: {
|
|
7
11
|
label: string;
|
|
8
12
|
shortcut?: string;
|
|
9
13
|
/** One or two plain sentences under the label — the explanation a native `title` used to hide. */
|
|
@@ -18,5 +22,11 @@ export declare function BarHint({ label, shortcut, body, align, side, tapToOpen,
|
|
|
18
22
|
* after the click, not linger on focus.
|
|
19
23
|
*/
|
|
20
24
|
tapToOpen?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* The clipping box to stay inside (a CSS selector for an ancestor). As the
|
|
27
|
+
* tooltip opens it takes whichever of end/start alignment fits — a node
|
|
28
|
+
* header chip sits anywhere along a card that clips its contents.
|
|
29
|
+
*/
|
|
30
|
+
fitWithin?: string;
|
|
21
31
|
children: ComponentChildren;
|
|
22
32
|
}): import("preact").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type BoardSummary } from '../state/boards-store';
|
|
2
|
+
/**
|
|
3
|
+
* Board pins (docs/design/BoardPins.dc.html): the same pin as a card's, in the
|
|
4
|
+
* same place, at board level. Pinned, the board's README and pinned cards reach
|
|
5
|
+
* the agent's brief whichever board is open.
|
|
6
|
+
*/
|
|
7
|
+
export declare function BoardPinButton({ board, inNodeHeader }: {
|
|
8
|
+
board: BoardSummary;
|
|
9
|
+
inNodeHeader?: boolean;
|
|
10
|
+
}): import("preact/src").JSX.Element;
|
|
@@ -7,5 +7,5 @@ interface CanvasViewportProps {
|
|
|
7
7
|
annotationTool?: AnnotationTool;
|
|
8
8
|
}
|
|
9
9
|
export declare function getRenderableWorldNodes(allNodes: Iterable<CanvasNodeState>, focusedNodeId: string | null, hiddenIds?: ReadonlySet<string>): CanvasNodeState[];
|
|
10
|
-
export declare function CanvasViewport({ onNodeContextMenu, onEdgeContextMenu, onCanvasContextMenu, annotationMode, annotationTool, }: CanvasViewportProps): import("preact
|
|
10
|
+
export declare function CanvasViewport({ onNodeContextMenu, onEdgeContextMenu, onCanvasContextMenu, annotationMode, annotationTool, }: CanvasViewportProps): import("preact").JSX.Element;
|
|
11
11
|
export {};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Command bar (rail-chrome-v2 phase 5): the human's steering surface while a
|
|
3
3
|
* session is attached — the design's floating composer, centered at the
|
|
4
|
-
* bottom of the canvas region. Above it, the pinned context as
|
|
4
|
+
* bottom of the canvas region. Above it, the pinned context as blue chips
|
|
5
5
|
* (× unpins — the same pin the node's own control toggles); the composer row
|
|
6
|
-
* posts an AX steering message to the session.
|
|
7
|
-
* in the top bar (`
|
|
8
|
-
* quiet board's pin bar only while attached.
|
|
6
|
+
* posts an AX steering message to the session. What is in the agent's
|
|
7
|
+
* context is summarised in the top bar's context chip (`ContextChip`).
|
|
9
8
|
*/
|
|
10
9
|
export declare function CommandBar(): import("preact/src").JSX.Element;
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Degraded connection states (rail-chrome-v2 phase 7, design item 14), mapped
|
|
3
3
|
* onto the transport the bridge already runs:
|
|
4
4
|
* - reconnecting: the stream (SSE or the polling fallback) is down and the
|
|
5
|
-
* bridge is backing off.
|
|
5
|
+
* bridge is backing off. HTTP saves may need renewed capability after a
|
|
6
|
+
* daemon restart; the board may be stale.
|
|
6
7
|
* - resyncing: a transport came back after a drop and the full `connected`
|
|
7
8
|
* snapshot is being applied — the seq cursor was dropped, the board reloads
|
|
8
9
|
* from the server's snapshot without touching local edits.
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Signal } from '@preact/signals';
|
|
2
2
|
import type { CanvasEdge, CanvasNodeState } from '../types';
|
|
3
|
+
/** Filter only the kinds on this board; shared presets are managed in Home. */
|
|
4
|
+
export declare function RelationLegend(): import("preact/src").JSX.Element | null;
|
|
5
|
+
/** The link pill's hint, outside the zoomed canvas so it keeps screen size and is never clipped. */
|
|
6
|
+
export declare function EdgeHint(): import("preact/src").JSX.Element | null;
|
|
3
7
|
/**
|
|
4
8
|
* Edges are drawn in world space, so a 1.5px stroke renders as 0.4 screen px at
|
|
5
9
|
* 26% zoom. Full inverse compensation keeps edge chrome at a constant SCREEN
|
|
@@ -8,10 +12,17 @@ import type { CanvasEdge, CanvasNodeState } from '../types';
|
|
|
8
12
|
* at overview zoom.
|
|
9
13
|
*/
|
|
10
14
|
export declare function edgeChromeScale(scale: number): number;
|
|
15
|
+
/**
|
|
16
|
+
* Lines draw below group frames, so a link never covers a group's header; pills
|
|
17
|
+
* draw in their own layer above the frames, so a link inside a group keeps a
|
|
18
|
+
* label (LinkAuthorship.dc.html). Transparent pill hits stay below ports without
|
|
19
|
+
* moving the painted label below the frame's wash.
|
|
20
|
+
*/
|
|
21
|
+
export type EdgeLayerPart = 'lines' | 'pills' | 'pill-hits';
|
|
11
22
|
interface EdgeLayerProps {
|
|
12
23
|
nodes: Signal<Map<string, CanvasNodeState>>;
|
|
13
24
|
edges: Signal<Map<string, CanvasEdge>>;
|
|
14
|
-
|
|
25
|
+
part: EdgeLayerPart;
|
|
15
26
|
}
|
|
16
|
-
export declare function EdgeLayer({ nodes, edges,
|
|
27
|
+
export declare function EdgeLayer({ nodes, edges, part }: EdgeLayerProps): import("preact/src").JSX.Element | null;
|
|
17
28
|
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Empty board (rail-chrome-v2 phase 7, design item 11): centered onboarding
|
|
3
|
-
* with
|
|
4
|
-
* Every action is real:
|
|
3
|
+
* with direct starter actions and a separate way to start with your agent.
|
|
4
|
+
* Every action is real: Start a note creates the same blank note as M, Drop files
|
|
5
5
|
* opens a picker onto the viewport's import path, Paste a link asks for a URL,
|
|
6
|
-
* Start agent session attaches a browser-keyed session.
|
|
7
|
-
*
|
|
6
|
+
* and the optional Start agent session attaches a browser-keyed session.
|
|
7
|
+
* Agent guidance stays visible independently of the session beta.
|
|
8
8
|
*/
|
|
9
9
|
export declare function EmptyState({ onOpenPalette }: {
|
|
10
10
|
onOpenPalette: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function HomeMapView(): import("preact/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Queue metadata and qualification are one authoritative workspace observation. */
|
|
2
|
+
export declare function HomeReviewView({ folder, folders, onScopeChange, }: {
|
|
3
|
+
folder: string;
|
|
4
|
+
folders: string[];
|
|
5
|
+
onScopeChange: (folder: string) => void;
|
|
6
|
+
}): import("preact/src").JSX.Element | null;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
export declare function promptNewBoard(): Promise<void>;
|
|
1
|
+
export declare function promptNewBoard(folder?: string | null): Promise<void>;
|
|
2
2
|
/**
|
|
3
|
-
* Home (plan
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
3
|
+
* Home (docs/design/Home.dc.html, plan 016): the library when no board is
|
|
4
|
+
* open. A folder tree with pinned boards on the left, the selected folder's
|
|
5
|
+
* subfolders and board cards in the middle, the selected board's details on
|
|
6
|
+
* the right. At ≤ 760 px (Pane600.dc.html) the tree becomes a folder picker,
|
|
7
|
+
* the boards a list and the details a bottom sheet. Folders are board
|
|
8
|
+
* folder paths; folders carry no colour (decided 2026-10-07). Browser
|
|
9
|
+
* confirm dialogs are no-ops in agent panes, so Delete asks in place.
|
|
8
10
|
*/
|
|
9
|
-
export declare function HomeView(): import("preact").JSX.Element;
|
|
11
|
+
export declare function HomeView(): import("preact/src").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Lifecycle } from '../../server/knowledge-lifecycle.js';
|
|
2
|
+
export declare const DEFAULT_LIFECYCLE: Lifecycle;
|
|
3
|
+
export declare function LifecycleFields({ value, onChange }: {
|
|
4
|
+
value: Lifecycle;
|
|
5
|
+
onChange: (value: Lifecycle) => void;
|
|
6
|
+
}): import("preact/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const cleanLifecycle: (value: Lifecycle) => Lifecycle;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function LifecyclePanel(): import("preact/src").JSX.Element | null;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ComponentChildren } from 'preact';
|
|
2
|
+
/** Shared docking only. Map and Graph own their selection and actions. */
|
|
3
|
+
export declare function MemoryInspector({ children, initiallyCollapsed, reveal, }: {
|
|
4
|
+
children: ComponentChildren;
|
|
5
|
+
initiallyCollapsed?: boolean;
|
|
6
|
+
reveal?: number;
|
|
7
|
+
}): import("preact").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which pin? (docs/design/NearPin.dc.html §2): for a hovered, selected or
|
|
3
|
+
* dragged pin — or the pins a near chip asked to show — dotted tethers to its
|
|
4
|
+
* neighbours, numbered nearest first, and an unlabeled boundary only when
|
|
5
|
+
* another node is within range. Drawn in screen
|
|
6
|
+
* space (architecture rule 9) so they stay legible at fit zoom; while an
|
|
7
|
+
* unpinned node is dragged only the nearest pin's boundary shows (§3).
|
|
8
|
+
*/
|
|
9
|
+
export declare function NearPinLayer(): import("preact/jsx-runtime").JSX.Element | null;
|
|
10
|
+
/**
|
|
11
|
+
* Hover a near chip (docs/design/NearPin.dc.html §2): which pins, how far, and
|
|
12
|
+
* the two ways on — pin it to put it first, or show the pins' tethers.
|
|
13
|
+
*/
|
|
14
|
+
export declare function NearPinCard(): import("preact/jsx-runtime").JSX.Element | null;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ComponentChildren } from 'preact';
|
|
2
|
+
import { type CanvasNodeState } from '../types';
|
|
2
3
|
export declare const GLYPHS: {
|
|
3
4
|
readonly eye: "M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12zM12 9.5a2.5 2.5 0 1 0 0 5a2.5 2.5 0 1 0 0-5";
|
|
4
5
|
readonly eyeOff: "M3 3l18 18M10.6 6.1A10 10 0 0 1 12 6c6.5 0 10 6 10 6a17 17 0 0 1-3 3.6M6.6 6.6C3.8 8.3 2 12 2 12s3.5 6 10 6a9.6 9.6 0 0 0 4.4-1";
|
|
@@ -6,19 +7,51 @@ export declare const GLYPHS: {
|
|
|
6
7
|
readonly pen: "M4 20l4.2-1L19 8.2 15.8 5 5 15.8z";
|
|
7
8
|
readonly warn: "M12 4l9 16H3zM12 10v4M12 17v.5";
|
|
8
9
|
};
|
|
9
|
-
/**
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Authorship lives only in the type icon's hint, not a star or state chip.
|
|
12
|
+
* A person's edit ends the agent byline.
|
|
13
|
+
*/
|
|
14
|
+
export declare function bylineFor(node: CanvasNodeState): string | null;
|
|
15
|
+
/** How a header chip shows: its word, only its glyph, or folded into the type icon's hint. */
|
|
16
|
+
export type ChipFold = 'word' | 'glyph' | 'hidden';
|
|
17
|
+
/**
|
|
18
|
+
* The one state chip a header carries — near a pin (unpinned) or the read
|
|
19
|
+
* state (pinned) — with what it says when folded into the icon's hint. Never
|
|
20
|
+
* other cards' titles: at rest a node must not contain them.
|
|
21
|
+
*/
|
|
22
|
+
export declare function headerChip(node: CanvasNodeState, pinned: boolean): {
|
|
23
|
+
amber: boolean;
|
|
24
|
+
folded: string;
|
|
25
|
+
} | null;
|
|
26
|
+
/** A pinned node's read-state chip: glyph + word, or only the glyph when the title needs the room. */
|
|
27
|
+
export declare function NodeContextMark({ node, pinned, fold, }: {
|
|
28
|
+
node: CanvasNodeState;
|
|
29
|
+
pinned: boolean;
|
|
30
|
+
fold?: ChipFold;
|
|
31
|
+
}): import("preact").JSX.Element | null;
|
|
32
|
+
/**
|
|
33
|
+
* The type icon's hint holds the full title, the byline and any folded chip.
|
|
34
|
+
*/
|
|
35
|
+
export declare function NodeTypeIcon({ node, pinned, title, fold, children, }: {
|
|
11
36
|
node: CanvasNodeState;
|
|
12
37
|
pinned: boolean;
|
|
13
|
-
|
|
38
|
+
title: string;
|
|
39
|
+
fold: ChipFold;
|
|
40
|
+
children: ComponentChildren;
|
|
41
|
+
}): import("preact").JSX.Element;
|
|
14
42
|
/** Pinned by an agent: the violet dot on the pin badge. */
|
|
15
43
|
export declare function isAgentPin(nodeId: string): boolean;
|
|
16
44
|
/**
|
|
17
45
|
* Near a pin (docs/design/NearPin.dc.html): a dotted pin-blue chip on an
|
|
18
46
|
* unpinned node the brief carries as title + short summary. Weaker than "in
|
|
19
|
-
* context" on purpose: the agent
|
|
47
|
+
* context" on purpose: the agent sees it only because a pin is nearby. Hover,
|
|
48
|
+
* focus or tap opens its card (`NearPinCard`, §2); it previews while dragged,
|
|
49
|
+
* pulses once on a drop inside and fades on a drop outside (§3).
|
|
20
50
|
*/
|
|
21
|
-
export declare function NearPinMark({ node, pinned }: {
|
|
51
|
+
export declare function NearPinMark({ node, pinned, fold, }: {
|
|
22
52
|
node: CanvasNodeState;
|
|
23
53
|
pinned: boolean;
|
|
24
|
-
|
|
54
|
+
fold?: ChipFold;
|
|
55
|
+
}): import("preact").JSX.Element | null;
|
|
56
|
+
/** The viewport as a key: the card closes when it changes. */
|
|
57
|
+
export declare function viewKey(): string;
|
|
@@ -31,7 +31,7 @@ export interface CanvasFitInsets {
|
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Screen-space insets Fit must reserve for the floating chrome that overlays
|
|
34
|
-
* the canvas region: the bottom command bar
|
|
34
|
+
* the canvas region: the bottom command bar or standalone context pill,
|
|
35
35
|
* and the bottom-right minimap. Measured from the live elements — fit's old
|
|
36
36
|
* world-space padding shrank with the fit zoom and parked nodes underneath
|
|
37
37
|
* both (0.5.0 Amp report, finding A; architecture rule 9's trap).
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Point } from './memory-layout';
|
|
2
|
+
/** Painted bounds, collision clearance, ports and Fit share this footprint. */
|
|
3
|
+
export declare const GRAPH_NODE: {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
gap: number;
|
|
7
|
+
};
|
|
8
|
+
interface Rect {
|
|
9
|
+
left: number;
|
|
10
|
+
top: number;
|
|
11
|
+
right: number;
|
|
12
|
+
bottom: number;
|
|
13
|
+
}
|
|
14
|
+
export interface GraphRoute {
|
|
15
|
+
path: string;
|
|
16
|
+
points: Point[];
|
|
17
|
+
label?: Point & Rect;
|
|
18
|
+
}
|
|
19
|
+
interface Link {
|
|
20
|
+
id: string;
|
|
21
|
+
from: string;
|
|
22
|
+
to: string;
|
|
23
|
+
label: string;
|
|
24
|
+
}
|
|
25
|
+
/** Obstacle visibility is shared across routes and independent of zoom/hover. */
|
|
26
|
+
export declare function graphRoutes(positions: Map<string, Point>, links: Link[]): Map<string, GraphRoute>;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { MemoryGraphEdge, MemoryGraphNode } from '../../shared/memory-graph.js';
|
|
2
|
+
import type { Point } from './memory-layout';
|
|
3
|
+
export type GraphScene = {
|
|
4
|
+
kind: 'overview';
|
|
5
|
+
} | {
|
|
6
|
+
kind: 'board';
|
|
7
|
+
boardId: string;
|
|
8
|
+
} | {
|
|
9
|
+
kind: 'card';
|
|
10
|
+
boardId: string;
|
|
11
|
+
cardId: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const graphSceneKey: (scene: GraphScene) => string;
|
|
14
|
+
export declare const pairKey: (a: string, b: string) => string;
|
|
15
|
+
/** Partition original facts once; grouping never changes authored endpoints. */
|
|
16
|
+
export declare function graphEvidence(edges: MemoryGraphEdge[]): {
|
|
17
|
+
evidence: MemoryGraphEdge[];
|
|
18
|
+
pairs: Map<string, {
|
|
19
|
+
boardId: string;
|
|
20
|
+
peerId: string;
|
|
21
|
+
edges: MemoryGraphEdge[];
|
|
22
|
+
}>;
|
|
23
|
+
internal: Map<string, number>;
|
|
24
|
+
missing: MemoryGraphEdge[];
|
|
25
|
+
};
|
|
26
|
+
/** One animation step. The pointer/drop anchor stays fixed while its visible neighbors respond. */
|
|
27
|
+
export declare function relaxGraphPositions(positions: Map<string, Point>, edges: ReadonlyArray<{
|
|
28
|
+
from: string;
|
|
29
|
+
to: string;
|
|
30
|
+
weight?: number;
|
|
31
|
+
}>, held: string, cooling: number): number;
|
|
32
|
+
/** Deterministic initial placement; live additions preserve retained coordinates. */
|
|
33
|
+
export declare function graphPositions(nodes: MemoryGraphNode[], edges: ReadonlyArray<{
|
|
34
|
+
from: string;
|
|
35
|
+
to: string;
|
|
36
|
+
weight?: number;
|
|
37
|
+
}>, retained: Map<string, Point>): Map<string, Point>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { MemoryGraphNode } from '../../shared/memory-graph.js';
|
|
2
|
+
export type Point = {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const MAP_CARD: {
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
};
|
|
10
|
+
export interface MemoryRegion extends Point {
|
|
11
|
+
path: string;
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
count: number;
|
|
15
|
+
depth: number;
|
|
16
|
+
collapsed: boolean;
|
|
17
|
+
}
|
|
18
|
+
/** Folder membership determines regions; authored Map positions never change membership. */
|
|
19
|
+
export declare function mapLayout(nodes: MemoryGraphNode[], collapsed: Set<string>): {
|
|
20
|
+
positions: Map<string, Point>;
|
|
21
|
+
regions: MemoryRegion[];
|
|
22
|
+
hidden: Set<string>;
|
|
23
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MemoryGraph } from '../../shared/memory-graph.js';
|
|
2
|
+
/** Coalesce live discovery and reject responses from an older library revision. */
|
|
3
|
+
export declare function useMemoryGraph(projection: 'full' | 'boards'): {
|
|
4
|
+
graph: MemoryGraph | null;
|
|
5
|
+
loading: boolean;
|
|
6
|
+
error: boolean;
|
|
7
|
+
retry: () => void;
|
|
8
|
+
};
|
|
@@ -4,6 +4,8 @@ interface PanZoomOptions {
|
|
|
4
4
|
viewport: Signal<ViewportState>;
|
|
5
5
|
onViewportChange: (v: ViewportState) => void;
|
|
6
6
|
onViewportCommit: (v: ViewportState) => void;
|
|
7
|
+
onBackgroundContextMenu?: (e: MouseEvent, worldX: number, worldY: number) => void;
|
|
8
|
+
onEdgeContextMenu?: (e: MouseEvent, edgeId: string) => void;
|
|
7
9
|
disabled?: boolean;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
@@ -11,8 +13,9 @@ interface PanZoomOptions {
|
|
|
11
13
|
* - Wheel + Ctrl/Cmd: zoom centered on pointer
|
|
12
14
|
* - Wheel without modifier: pan
|
|
13
15
|
* - Right or middle pointer drag: pan from anywhere
|
|
16
|
+
* - Right-click on background: creation menu on release, unless dragged
|
|
14
17
|
* - Pointer drag on background in pan mode: pan
|
|
15
18
|
* - Pinch (touch): zoom
|
|
16
19
|
*/
|
|
17
|
-
export declare function usePanZoom({ viewport, onViewportChange, onViewportCommit, disabled }: PanZoomOptions): import("preact/src").RefObject<HTMLDivElement>;
|
|
20
|
+
export declare function usePanZoom({ viewport, onViewportChange, onViewportCommit, onBackgroundContextMenu, onEdgeContextMenu, disabled, }: PanZoomOptions): import("preact/src").RefObject<HTMLDivElement>;
|
|
18
21
|
export {};
|
|
@@ -27,8 +27,6 @@ export declare function IconZoomOut(p: IconProps): JSX.Element;
|
|
|
27
27
|
export declare function IconArrange(p: IconProps): JSX.Element;
|
|
28
28
|
/** Frame with focused inner corner — minimap */
|
|
29
29
|
export declare function IconMinimap(p: IconProps): JSX.Element;
|
|
30
|
-
/** Sun with rays */
|
|
31
|
-
export declare function IconSun(p: IconProps): JSX.Element;
|
|
32
30
|
/** Crescent moon */
|
|
33
31
|
export declare function IconMoon(p: IconProps): JSX.Element;
|
|
34
32
|
/** Pen stroke — canvas annotation mode */
|
|
@@ -37,16 +35,8 @@ export declare function IconPen(p: IconProps): JSX.Element;
|
|
|
37
35
|
export declare function IconEraser(p: IconProps): JSX.Element;
|
|
38
36
|
/** Text cursor — canvas text annotation mode */
|
|
39
37
|
export declare function IconTextAnnotation(p: IconProps): JSX.Element;
|
|
40
|
-
/** Camera — snapshots */
|
|
41
|
-
export declare function IconSnapshot(p: IconProps): JSX.Element;
|
|
42
|
-
/** Bullseye — trace toggle */
|
|
43
|
-
export declare function IconTrace(p: IconProps): JSX.Element;
|
|
44
|
-
/** X in circle — clear trace */
|
|
45
|
-
export declare function IconClearTrace(p: IconProps): JSX.Element;
|
|
46
38
|
/** Magnifying glass — search */
|
|
47
39
|
export declare function IconSearch(p: IconProps): JSX.Element;
|
|
48
|
-
/** Keyboard — shortcuts */
|
|
49
|
-
export declare function IconShortcuts(p: IconProps): JSX.Element;
|
|
50
40
|
/** Speech bubble — steer the agent (command bar composer). */
|
|
51
41
|
export declare function IconSteer(p: IconProps): JSX.Element;
|
|
52
42
|
/** Push pin — context pinning (docs/design/Chrome.dc.html). */
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Two persistence signals:
|
|
4
4
|
* - `onChange(md)` — fires on every input. Caller typically debounces.
|
|
5
|
-
* - `onSave(md)` — fires on ⌘S and blur. Caller should persist immediately
|
|
5
|
+
* - `onSave(md)` — fires on ⌘S and blur. Caller should persist dirty drafts immediately
|
|
6
6
|
* and cancel any pending debounced save, since `md` is the authoritative
|
|
7
|
-
* latest content
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
* latest content: the exact caller draft until input, serialized DOM after it. */
|
|
8
|
+
export declare function InlineMarkdownEditor({ markdown, initialHtml, className, onChange, onSave, }: {
|
|
9
|
+
markdown: string;
|
|
10
10
|
initialHtml: string;
|
|
11
11
|
className?: string;
|
|
12
12
|
onChange: (markdown: string) => void;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { JSX } from 'preact';
|
|
2
2
|
import type { CanvasNodeState } from '../types';
|
|
3
|
-
/** Flip
|
|
3
|
+
/** Flip exactly one parsed GFM task without reformatting any other source bytes. */
|
|
4
4
|
export declare function toggleTaskMarker(markdown: string, index: number): string;
|
|
5
|
+
/** Review must refer to persisted content, not an edited or saving preview. */
|
|
6
|
+
export declare function hasUnsavedMarkdown(boardId: string, nodeId: string): boolean;
|
|
7
|
+
/** After blur, navigate only when this board/card's save has actually succeeded. */
|
|
8
|
+
export declare function waitForMarkdownSave(boardId: string | null, nodeId: string): Promise<boolean>;
|
|
5
9
|
export declare function MarkdownNode({ node, expanded }: {
|
|
6
10
|
node: CanvasNodeState;
|
|
7
11
|
expanded?: boolean;
|
|
@@ -8,15 +8,15 @@ type ViewerFrameSource = {
|
|
|
8
8
|
/**
|
|
9
9
|
* Keep the last painted viewer in front while its replacement navigates. Viewer
|
|
10
10
|
* specs are immutable documents, so updates normally change `?v=` and reload the
|
|
11
|
-
* iframe; putting the new document
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* iframe; putting the new document behind the old one conceals Chromium's white
|
|
12
|
+
* navigation paint without suppressing rendering. Wait for restore and render commit,
|
|
13
|
+
* then two animation frames before the old viewer is removed.
|
|
14
14
|
*/
|
|
15
15
|
export declare function RefreshingViewerFrame({ source, iframeRef, onLoad, onDocumentLoad, title, className, sandbox, allow, tabIndex, }: {
|
|
16
16
|
source: ViewerFrameSource;
|
|
17
17
|
iframeRef: RefObject<HTMLIFrameElement>;
|
|
18
18
|
onLoad: () => void;
|
|
19
|
-
onDocumentLoad?: (frame: HTMLIFrameElement) => void
|
|
19
|
+
onDocumentLoad?: (frame: HTMLIFrameElement, signal: AbortSignal) => void | Promise<boolean | 'cancelled' | void>;
|
|
20
20
|
title: string;
|
|
21
21
|
className?: string;
|
|
22
22
|
sandbox?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function restoreViewerRuntimeState(nodeId: string, token: string, source: Window):
|
|
1
|
+
export declare function restoreViewerRuntimeState(nodeId: string, token: string, source: Window, signal?: AbortSignal): Promise<boolean | 'cancelled'>;
|