@mocanvas/state 4.8.4 → 4.8.5

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/CUSTOM_SHAPES.md CHANGED
@@ -685,8 +685,13 @@ export function App() {
685
685
  }
686
686
  ```
687
687
 
688
- The default toolbar does not grow a button for your tool. Until UI slots exist,
689
- drive it from your own chrome rendered as `children` of `<Mocanvas>`:
688
+ The default toolbar will grow a button for your tool: register it in the UI
689
+ tool list with `overrides.tools` and the toolbar collects any id outside its own
690
+ layout into an extras group after a divider. [TOOLS.md](TOOLS.md) §10 covers
691
+ that, along with the keyboard shortcut.
692
+
693
+ You can also skip the built-in chrome entirely and drive the tool from your own,
694
+ rendered as `children` of `<Mocanvas>`:
690
695
 
691
696
  ```tsx
692
697
  <Mocanvas shapeUtils={[CalloutShapeUtil]} tools={[CalloutTool]}>
package/MIGRATION.md CHANGED
@@ -694,7 +694,7 @@ aspirational.
694
694
 
695
695
  | Gap | Status |
696
696
  | --- | ------ |
697
- | `ShapeUtil.toSvg`, `ShapeUtil.toBackgroundSvg` | Not `ShapeUtil` members. Custom shapes contribute to SVG export through `registerShapeSvgRenderer(type, renderer)`; without one they fall back to `geometryFallbackSvg`. |
697
+ | `ShapeUtil.toSvg`, `ShapeUtil.toBackgroundSvg` | Both are `ShapeUtil` members, and a util's own implementation takes precedence over the registry. `registerShapeSvgRenderer(type, renderer)` is the other way in, for a shape whose util you do not own; a shape with neither falls back to `geometryFallbackSvg`, which draws its outline. See [FILES.md](FILES.md) §4. |
698
698
  | Sync protocol | Wire compatibility with tldraw's own sync protocol is not planned. `@mocanvas/sync` is a working transport of its own — presence records, `store.mergeRemoteChanges`, and a relay — but it does not speak tldraw's wire format. |
699
699
  | `image` shape on the GPU | The texture path exists in the engine (`StyleWords.texture` + `uploadTexture`) but the `image` shape still draws an `<img>` in the DOM overlay. |
700
700
  | `FrameShapeUtil` default size | mocanvas creates a frame at **160×90**; tldraw creates one at 320×180. Same aspect, half the size. It only bites code that creates a frame *programmatically* without passing `w`/`h` — drawing one with the tool sizes it from the drag either way. Pass explicit dimensions if the size matters to you. Aligning the default is a behaviour change and is not being made in a patch release. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mocanvas/state",
3
- "version": "4.8.4",
3
+ "version": "4.8.5",
4
4
  "description": "Signals for mocanvas: atoms, computed values, transactions and React bindings.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Symbio Digital",