@ai-matrx/canvas 0.9.3 → 0.10.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 CHANGED
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.10.0
4
+ ### The rendered-output standard: every tab prints, captures and attaches — or says why not
5
+
6
+ - **Breaking: every kind declares `surface: "dom" | "frame" | "native"`** (required, no default;
7
+ `defineCanvasKind` throws without it, and a `body: "native"` kind must be `"native"`). "dom" =
8
+ same-origin DOM the host can copy; "frame" = an iframe page, a `<canvas>`, WebGL, a map — a DOM
9
+ copy prints blank; "native" = host-drawn.
10
+ - **Standard pane-menu entries, drawn by the package**: Print, Save as PDF, Copy image, then the
11
+ host's "Attach to chat" options. Answered in order by what the body offers now
12
+ (`useCanvasOutput(itemId, { print, savePdf, capture, unavailable })`), the kind's declaration
13
+ (`kind.print` / `kind.capture`: a handler, an honest reason string shown disabled, or `false` for
14
+ nothing to print), then the host's engines (`CanvasHostPorts.output: CanvasOutputPorts` —
15
+ `print`, `savePdf`, `capture`, `copyImage`, `attachOptions`, `onError`) — the DOM engines only for
16
+ "dom" kinds. An entry nobody serves is absent; never a silent no-op.
17
+ - `CanvasMenuItem.disabled` / `CanvasMenuEntry.disabled` (a host `showMenu` should draw it
18
+ disabled).
19
+ - Guard helper `canvasKindOutputProblems(kind)` (every kind has a surface; frame/native kinds
20
+ declare print and capture) for hosts' tests; in development a "dom" body that grows an `<iframe>`
21
+ or `<canvas>` logs a loud error naming its kind.
22
+ - Added: `canvasOutputMenu`, `canvasItemElement`, `canvasKindSurface`, `CanvasKindSurface`,
23
+ `CanvasOutputHandlers`, `CanvasOutputPorts`, `CanvasOutputRequest`.
24
+
25
+ ### Consumer action
26
+
27
+ - Add `surface` to every `defineCanvasKind` (and to any hand-built `AnyCanvasKind`). Frame/native
28
+ kinds add `print` and `capture` (a handler or a short honest reason). Pass
29
+ `ports.output` on `<CanvasProvider>` to serve DOM print/capture and Attach options. A host
30
+ `showMenu` draws `entry.disabled` items disabled.
31
+
32
+ ## 0.9.4
33
+ ### tap-target comes from design-system
34
+
35
+ - Imports `@ai-matrx/design-system/tap-target` (and `/tap-target/buttons`, `tap-target.css`) instead of the
36
+ retired `@ai-matrx/tap-target` (Arman, 2026-10-08: tap-target merges into design-system); the
37
+ `@ai-matrx/tap-target` dependency is dropped.
38
+
39
+ Consumer action: none.
40
+
3
41
  ## 0.9.3
4
42
 
5
43
  Automatic changed-only republish (docs/metadata drift since the last tag — see