@yuzhouu/canvas-kit 0.1.12 → 0.1.14

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 (483) hide show
  1. package/README.md +52 -238
  2. package/_vendor/canvas-core/bindings/bindingManager.d.ts +33 -0
  3. package/_vendor/canvas-core/bindings/bindingUtil.d.ts +7 -6
  4. package/_vendor/canvas-core/bindings/terminalBinding.d.ts +1 -1
  5. package/_vendor/canvas-core/editor/clipboard.d.ts +1 -1
  6. package/_vendor/canvas-core/editor/clipboardAssets.d.ts +6 -0
  7. package/_vendor/canvas-core/editor/commands/assetCommands.d.ts +7 -0
  8. package/_vendor/canvas-core/editor/commands/bindingCommands.d.ts +12 -0
  9. package/_vendor/canvas-core/editor/{commands.d.ts → commands/commandTypes.d.ts} +4 -8
  10. package/_vendor/canvas-core/editor/commands/commands.d.ts +5 -0
  11. package/_vendor/canvas-core/editor/commands/documentCommands.d.ts +9 -0
  12. package/_vendor/canvas-core/editor/commands/sessionCommands.d.ts +13 -0
  13. package/_vendor/canvas-core/editor/commands/shapeCommands.d.ts +9 -0
  14. package/_vendor/canvas-core/editor/commands/shapeFlags.d.ts +10 -0
  15. package/_vendor/canvas-core/editor/commands/shapeRemoval.d.ts +10 -0
  16. package/_vendor/canvas-core/editor/commands/shapeRepair.d.ts +11 -0
  17. package/_vendor/canvas-core/editor/createEditor.d.ts +6 -0
  18. package/_vendor/canvas-core/editor/editor.d.ts +310 -538
  19. package/_vendor/canvas-core/editor/events/canvasNavigationInteraction.d.ts +2 -0
  20. package/_vendor/canvas-core/editor/events/eventRouter.d.ts +16 -0
  21. package/_vendor/canvas-core/editor/{events.d.ts → events/events.d.ts} +18 -8
  22. package/_vendor/canvas-core/editor/{managers → events}/inputsManager.d.ts +6 -4
  23. package/_vendor/canvas-core/editor/{interactions.d.ts → events/interactions.d.ts} +12 -12
  24. package/_vendor/canvas-core/editor/events/keyboardShortcuts.d.ts +23 -0
  25. package/_vendor/canvas-core/editor/events/pointerClickRecognizer.d.ts +11 -0
  26. package/_vendor/canvas-core/editor/history/historyManager.d.ts +40 -0
  27. package/_vendor/canvas-core/editor/{operationManager.d.ts → history/operationManager.d.ts} +21 -18
  28. package/_vendor/canvas-core/editor/queries/bindingQueryCache.d.ts +28 -0
  29. package/_vendor/canvas-core/editor/queries/bindingQueryState.d.ts +11 -0
  30. package/_vendor/canvas-core/editor/queries/draftBindingIndex.d.ts +19 -0
  31. package/_vendor/canvas-core/editor/queries/shapeGeometryQueryCache.d.ts +34 -0
  32. package/_vendor/canvas-core/editor/queries/shapeTransforms.d.ts +15 -19
  33. package/_vendor/canvas-core/editor/queries/shapeTreeIndex.d.ts +27 -0
  34. package/_vendor/canvas-core/editor/queries/shapeTreeIndexState.d.ts +11 -0
  35. package/_vendor/canvas-core/editor/{managers → queries}/spatialIndexManager.d.ts +5 -3
  36. package/_vendor/canvas-core/editor/records/documentSnapshots.d.ts +14 -0
  37. package/_vendor/canvas-core/editor/records/editorRecordFactory.d.ts +19 -0
  38. package/_vendor/canvas-core/editor/records/recordQueries.d.ts +3 -0
  39. package/_vendor/canvas-core/editor/{resizeGeometry.d.ts → selection/resizeGeometry.d.ts} +22 -2
  40. package/_vendor/canvas-core/editor/{selection.d.ts → selection/selection.d.ts} +4 -30
  41. package/_vendor/canvas-core/editor/{managers → selection}/selectionGeometry.d.ts +2 -2
  42. package/_vendor/canvas-core/editor/selection/selectionHandleHitTest.d.ts +8 -0
  43. package/_vendor/canvas-core/editor/selection/selectionLayout.d.ts +20 -0
  44. package/_vendor/canvas-core/editor/selection/selectionOverlay.d.ts +25 -0
  45. package/_vendor/canvas-core/editor/selection/selectionOverlayEquality.d.ts +8 -0
  46. package/_vendor/canvas-core/editor/selection/selectionOverlayManager.d.ts +34 -0
  47. package/_vendor/canvas-core/editor/{selectionResizeCapabilities.d.ts → selection/selectionResizeCapabilities.d.ts} +4 -2
  48. package/_vendor/canvas-core/editor/selection/selectionSet.d.ts +9 -0
  49. package/_vendor/canvas-core/editor/selection/selectionTargets.d.ts +10 -0
  50. package/_vendor/canvas-core/editor/selection/selectionTransforms.d.ts +6 -0
  51. package/_vendor/canvas-core/editor/shapes/shapeContainment.d.ts +14 -0
  52. package/_vendor/canvas-core/editor/{managers → shapes}/shapeEditingManager.d.ts +2 -2
  53. package/_vendor/canvas-core/editor/shapes/shapeExportTraversal.d.ts +3 -0
  54. package/_vendor/canvas-core/editor/shapes/shapeGeometry.d.ts +21 -0
  55. package/_vendor/canvas-core/editor/shapes/shapeGrouping.d.ts +22 -0
  56. package/_vendor/canvas-core/editor/{managers → shapes}/shapeOrder.d.ts +20 -2
  57. package/_vendor/canvas-core/editor/shapes/shapeReparenting.d.ts +21 -0
  58. package/_vendor/canvas-core/editor/shapes/shapeSignalManager.d.ts +35 -0
  59. package/_vendor/canvas-core/editor/{shapeTransformSpace.d.ts → shapes/shapeTransformSpace.d.ts} +3 -3
  60. package/_vendor/canvas-core/editor/shapes/shapeTreeQueries.d.ts +12 -0
  61. package/_vendor/canvas-core/editor/snapping/gapSnap.d.ts +6 -0
  62. package/_vendor/canvas-core/editor/snapping/pointSnap.d.ts +5 -0
  63. package/_vendor/canvas-core/editor/snapping/resizeSnap.d.ts +11 -0
  64. package/_vendor/canvas-core/editor/snapping/snapDecision.d.ts +2 -0
  65. package/_vendor/canvas-core/editor/{managers → snapping}/snapGeometry.d.ts +0 -1
  66. package/_vendor/canvas-core/editor/{managers → snapping}/snapIndicators.d.ts +2 -2
  67. package/_vendor/canvas-core/editor/{managers → snapping}/snapManager.d.ts +23 -5
  68. package/_vendor/canvas-core/editor/{managers/snapCalculations.d.ts → snapping/snapResults.d.ts} +2 -17
  69. package/_vendor/canvas-core/editor/{managers → snapping}/snapTypes.d.ts +1 -1
  70. package/_vendor/canvas-core/editor/state/editorReadModels.d.ts +34 -0
  71. package/_vendor/canvas-core/editor/state/editorSignals.d.ts +82 -0
  72. package/_vendor/canvas-core/editor/state/editorStateUtils.d.ts +9 -0
  73. package/_vendor/canvas-core/editor/{managers → state}/interactionTransientManager.d.ts +4 -4
  74. package/_vendor/canvas-core/editor/{managers → viewport}/cameraManager.d.ts +21 -4
  75. package/_vendor/canvas-core/editor/{cameraPanSession.d.ts → viewport/cameraPanSession.d.ts} +3 -3
  76. package/_vendor/canvas-core/editor/{edgeScroll.d.ts → viewport/edgeScroll.d.ts} +1 -1
  77. package/_vendor/canvas-core/editor/{renderWindow.d.ts → viewport/renderWindow.d.ts} +8 -8
  78. package/_vendor/canvas-core/editor/{managers → viewport}/renderWindowManager.d.ts +14 -6
  79. package/_vendor/canvas-core/geometry/box.d.ts +1 -0
  80. package/_vendor/canvas-core/geometry/mat.d.ts +2 -3
  81. package/_vendor/canvas-core/index.d.ts +33 -26
  82. package/_vendor/canvas-core/plugins/editorRuntimePlugin.d.ts +2 -5
  83. package/_vendor/canvas-core/plugins/editorRuntimeRegistry.d.ts +0 -4
  84. package/_vendor/canvas-core/plugins/index.d.ts +1 -1
  85. package/_vendor/canvas-core/reactivity.d.ts +2 -0
  86. package/_vendor/canvas-core/schema/records.d.ts +1 -2
  87. package/_vendor/canvas-core/schema/snapshots.d.ts +2 -2
  88. package/_vendor/canvas-core/shapes/childTransformPolicy.d.ts +16 -0
  89. package/_vendor/canvas-core/shapes/shapeUtil.d.ts +9 -8
  90. package/_vendor/canvas-core/shapes/shapeUtilGeometry.d.ts +6 -0
  91. package/_vendor/canvas-core/tools/hand/handTool.d.ts +1 -1
  92. package/_vendor/canvas-core/tools/select/selectTool.d.ts +1 -1
  93. package/_vendor/canvas-core/tools/select/selectToolHelpers.d.ts +11 -12
  94. package/_vendor/canvas-core/tools/select/states/brushingState.d.ts +2 -2
  95. package/_vendor/canvas-core/tools/select/states/draggingPluginInteractionState.d.ts +2 -3
  96. package/_vendor/canvas-core/tools/select/states/idleState.d.ts +2 -2
  97. package/_vendor/canvas-core/tools/select/states/pointingCanvasState.d.ts +2 -2
  98. package/_vendor/canvas-core/tools/select/states/pointingResizeHandleState.d.ts +1 -1
  99. package/_vendor/canvas-core/tools/select/states/pointingRotateHandleState.d.ts +1 -1
  100. package/_vendor/canvas-core/tools/select/states/pointingSelectionHandleInteractionState.d.ts +3 -3
  101. package/_vendor/canvas-core/tools/select/states/pointingShapeState.d.ts +3 -3
  102. package/_vendor/canvas-core/tools/select/states/resizingState.d.ts +3 -3
  103. package/_vendor/canvas-core/tools/select/states/rotatingState.d.ts +3 -3
  104. package/_vendor/canvas-core/tools/select/states/selectStateNode.d.ts +8 -12
  105. package/_vendor/canvas-core/tools/select/states/translatingState.d.ts +2 -3
  106. package/_vendor/canvas-core/tools/stateNode.d.ts +30 -0
  107. package/_vendor/canvas-core/tools/toolManager.d.ts +24 -0
  108. package/_vendor/canvas-core/utils/equality.d.ts +9 -0
  109. package/_vendor/canvas-extension-contracts/contributions.d.ts +92 -0
  110. package/_vendor/canvas-extension-contracts/index.d.ts +6 -0
  111. package/_vendor/canvas-extension-contracts/operations.d.ts +131 -0
  112. package/_vendor/canvas-extension-contracts/persistence.d.ts +16 -0
  113. package/_vendor/canvas-extension-contracts/plugin.d.ts +37 -0
  114. package/_vendor/canvas-extension-contracts/shape.d.ts +5 -0
  115. package/_vendor/canvas-extension-contracts/tokens.d.ts +12 -0
  116. package/_vendor/canvas-react/components/CanvasView.d.ts +3 -10
  117. package/_vendor/canvas-react/components/DefaultGrid.d.ts +1 -0
  118. package/_vendor/canvas-react/components/canvasKeyboardEvents.d.ts +2 -2
  119. package/_vendor/canvas-react/components/index.d.ts +1 -0
  120. package/_vendor/canvas-react/components/shape-layer/ShapeClipStack.d.ts +11 -0
  121. package/_vendor/canvas-react/components/shape-layer/ShapeDecorations.d.ts +2 -0
  122. package/_vendor/canvas-react/components/shape-layer/ShapeForegroundItem.d.ts +5 -0
  123. package/_vendor/canvas-react/components/shape-layer/ShapeItem.d.ts +5 -0
  124. package/_vendor/canvas-react/components/shape-layer/ShapeRenderList.d.ts +1 -0
  125. package/_vendor/canvas-react/components/shape-layer/ShapeRenderer.d.ts +12 -0
  126. package/_vendor/canvas-react/components/shape-layer/shapeFrame.d.ts +11 -0
  127. package/_vendor/canvas-react/components/useCanvasDomEvents.d.ts +2 -2
  128. package/_vendor/canvas-react/dom.d.ts +1 -1
  129. package/_vendor/canvas-react/host/canvasRenderBindings.d.ts +21 -0
  130. package/_vendor/canvas-react/host/canvasRenderBindingsContext.d.ts +5 -0
  131. package/_vendor/canvas-react/host/canvasRenderPlugin.d.ts +3 -12
  132. package/_vendor/canvas-react/host/index.d.ts +4 -7
  133. package/_vendor/canvas-react/index.d.ts +1 -1
  134. package/_vendor/signals/atom.d.ts +7 -5
  135. package/_vendor/signals/computed.d.ts +10 -8
  136. package/_vendor/signals/core.d.ts +32 -15
  137. package/_vendor/signals/effect.d.ts +2 -22
  138. package/_vendor/signals/index.d.ts +6 -7
  139. package/_vendor/signals/types.d.ts +14 -7
  140. package/_vendor/store/diff.d.ts +1 -1
  141. package/_vendor/store/history.d.ts +6 -21
  142. package/_vendor/store/index.d.ts +4 -4
  143. package/_vendor/store/store.d.ts +19 -17
  144. package/browser/indexedDb.d.ts +0 -4
  145. package/browser/persistence.d.ts +3 -3
  146. package/browser/persistenceFlushEvents.d.ts +2 -0
  147. package/chrome/floating/CanvasKitFloatingContent.d.ts +10 -0
  148. package/chrome/floating/CanvasKitFloatingPortal.d.ts +1 -0
  149. package/chrome/floating/useCanvasKitFloatingPosition.d.ts +5 -3
  150. package/chrome/toolbar/FloatingSelectionToolbarPageSpace.d.ts +7 -3
  151. package/index.css +1 -1
  152. package/index.d.ts +16 -45
  153. package/index.mjs +46 -88
  154. package/package.json +3 -15
  155. package/react/CanvasKitContext.d.ts +8 -0
  156. package/react/CanvasKitRoot.d.ts +2 -10
  157. package/react/canvasActions.d.ts +3 -0
  158. package/react/canvasKitRootContracts.d.ts +19 -0
  159. package/react/host/CanvasKitCanvasHost.d.ts +7 -0
  160. package/react/host/import/CanvasImportHost.d.ts +13 -0
  161. package/react/host/keyboard/useCanvasKeyboardShortcuts.d.ts +8 -0
  162. package/react/reportCanvasHostError.d.ts +1 -0
  163. package/react/useCanvasKitRootRuntime.d.ts +12 -0
  164. package/runtime/activateCanvasPlugins.d.ts +16 -0
  165. package/runtime/canvasExportController.d.ts +11 -0
  166. package/runtime/canvasKit.d.ts +3 -0
  167. package/runtime/canvasKitContracts.d.ts +192 -0
  168. package/runtime/canvasKitRootRuntime.d.ts +17 -0
  169. package/runtime/canvasPluginGraph.d.ts +5 -11
  170. package/runtime/canvasRuntimeInitialization.d.ts +12 -0
  171. package/runtime/canvasRuntimeOwner.d.ts +16 -0
  172. package/runtime/createCanvasKitEditor.d.ts +8 -0
  173. package/runtime/facade/canvasProductData.d.ts +14 -0
  174. package/runtime/facade/canvasReadable.d.ts +13 -0
  175. package/runtime/facade/createCanvasKitFacade.d.ts +17 -0
  176. package/runtime/facade/layerTree.d.ts +12 -0
  177. package/runtime/persistenceCoordinator.d.ts +22 -5
  178. package/runtime/registries/productApiRegistry.d.ts +12 -3
  179. package/_vendor/canvas-core/editor/bindingReactionScope.d.ts +0 -7
  180. package/_vendor/canvas-core/editor/canvasPanInteraction.d.ts +0 -2
  181. package/_vendor/canvas-core/editor/createEditorWithPlugins.d.ts +0 -6
  182. package/_vendor/canvas-core/editor/editorComputedHelpers.d.ts +0 -24
  183. package/_vendor/canvas-core/editor/editorSelectionTransforms.d.ts +0 -6
  184. package/_vendor/canvas-core/editor/historyManager.d.ts +0 -36
  185. package/_vendor/canvas-core/editor/index.d.ts +0 -11
  186. package/_vendor/canvas-core/editor/managers/bindingManager.d.ts +0 -23
  187. package/_vendor/canvas-core/editor/managers/clipboardManager.d.ts +0 -14
  188. package/_vendor/canvas-core/editor/managers/documentSnapshotManager.d.ts +0 -28
  189. package/_vendor/canvas-core/editor/managers/queryManager.d.ts +0 -102
  190. package/_vendor/canvas-core/editor/managers/queryState.d.ts +0 -18
  191. package/_vendor/canvas-core/editor/managers/selectionLayoutManager.d.ts +0 -34
  192. package/_vendor/canvas-core/editor/managers/selectionManager.d.ts +0 -21
  193. package/_vendor/canvas-core/editor/managers/selectionOverlayManager.d.ts +0 -25
  194. package/_vendor/canvas-core/editor/managers/shapeGeometryManager.d.ts +0 -43
  195. package/_vendor/canvas-core/editor/managers/shapeHierarchyManager.d.ts +0 -63
  196. package/_vendor/canvas-core/editor/managers/shapeReparenting.d.ts +0 -7
  197. package/_vendor/canvas-core/editor/managers/shortcutManager.d.ts +0 -56
  198. package/_vendor/canvas-core/editor/managers/sideEffectManager.d.ts +0 -23
  199. package/_vendor/canvas-core/editor/managers/toolManager.d.ts +0 -24
  200. package/_vendor/canvas-core/editor/selectionHandleInteractions.d.ts +0 -11
  201. package/_vendor/canvas-core/editor/selectionOverlay.d.ts +0 -35
  202. package/_vendor/canvas-core/editor/stateNode.d.ts +0 -31
  203. package/_vendor/canvas-core/shapes/capabilities.d.ts +0 -25
  204. package/_vendor/canvas-core/tools/index.d.ts +0 -2
  205. package/_vendor/canvas-plugin-sdk/capability.d.ts +0 -10
  206. package/_vendor/canvas-plugin-sdk/index.d.ts +0 -3
  207. package/_vendor/canvas-plugin-sdk/plugin.d.ts +0 -29
  208. package/_vendor/canvas-plugin-sdk/setupExtension.d.ts +0 -5
  209. package/_vendor/canvas-product-contracts/actionRegistry.d.ts +0 -4
  210. package/_vendor/canvas-product-contracts/actions.d.ts +0 -44
  211. package/_vendor/canvas-product-contracts/capability.d.ts +0 -8
  212. package/_vendor/canvas-product-contracts/chrome.d.ts +0 -53
  213. package/_vendor/canvas-product-contracts/chromeRegistry.d.ts +0 -9
  214. package/_vendor/canvas-product-contracts/contextMenu.d.ts +0 -63
  215. package/_vendor/canvas-product-contracts/contextMenuRegistry.d.ts +0 -4
  216. package/_vendor/canvas-product-contracts/exportRegistry.d.ts +0 -6
  217. package/_vendor/canvas-product-contracts/exports.d.ts +0 -27
  218. package/_vendor/canvas-product-contracts/importRegistry.d.ts +0 -7
  219. package/_vendor/canvas-product-contracts/imports.d.ts +0 -39
  220. package/_vendor/canvas-product-contracts/index.d.ts +0 -15
  221. package/_vendor/canvas-product-contracts/productApi.d.ts +0 -29
  222. package/_vendor/canvas-product-contracts/services.d.ts +0 -21
  223. package/_vendor/canvas-product-contracts/toolbar.d.ts +0 -146
  224. package/_vendor/canvas-product-contracts/toolbarRegistry.d.ts +0 -9
  225. package/_vendor/canvas-react/host/canvasOverlayRegistryContext.d.ts +0 -3
  226. package/_vendor/canvas-react/host/canvasRenderRuntime.d.ts +0 -13
  227. package/_vendor/canvas-react/host/canvasRendererRegistryContext.d.ts +0 -3
  228. package/_vendor/canvas-react/host/domEventGuards.d.ts +0 -11
  229. package/_vendor/canvas-react/host/overlayRegistry.d.ts +0 -18
  230. package/_vendor/canvas-react/host/rendererRegistry.d.ts +0 -15
  231. package/_vendor/plugin-arrow/api.d.ts +0 -33
  232. package/_vendor/plugin-arrow/arrowBindingAnchors.d.ts +0 -5
  233. package/_vendor/plugin-arrow/arrowBindingGeometry.d.ts +0 -28
  234. package/_vendor/plugin-arrow/arrowBindingTargets.d.ts +0 -3
  235. package/_vendor/plugin-arrow/arrowBindingUtil.d.ts +0 -27
  236. package/_vendor/plugin-arrow/arrowGeometry.d.ts +0 -77
  237. package/_vendor/plugin-arrow/arrowHeadGeometry.d.ts +0 -8
  238. package/_vendor/plugin-arrow/arrowShapeUtil.d.ts +0 -25
  239. package/_vendor/plugin-arrow/arrowTerminalBindingResolver.d.ts +0 -20
  240. package/_vendor/plugin-arrow/arrowTerminalCommands.d.ts +0 -13
  241. package/_vendor/plugin-arrow/arrowTool.d.ts +0 -4
  242. package/_vendor/plugin-arrow/canvasRender.d.ts +0 -2
  243. package/_vendor/plugin-arrow/editorRuntime.d.ts +0 -7
  244. package/_vendor/plugin-arrow/feature.d.ts +0 -2
  245. package/_vendor/plugin-arrow/index.d.ts +0 -15
  246. package/_vendor/plugin-arrow/productRuntime.d.ts +0 -2
  247. package/_vendor/plugin-arrow/selectionHandleInteractions.d.ts +0 -3
  248. package/_vendor/plugin-arrow/types.d.ts +0 -31
  249. package/_vendor/plugin-draw/DrawShapeRenderer.d.ts +0 -13
  250. package/_vendor/plugin-draw/canvasRender.d.ts +0 -2
  251. package/_vendor/plugin-draw/drawGeometry.d.ts +0 -42
  252. package/_vendor/plugin-draw/drawHitTest.d.ts +0 -11
  253. package/_vendor/plugin-draw/drawInterpolation.d.ts +0 -5
  254. package/_vendor/plugin-draw/drawPath.d.ts +0 -43
  255. package/_vendor/plugin-draw/drawSegments.d.ts +0 -11
  256. package/_vendor/plugin-draw/drawSelectionTransform.d.ts +0 -18
  257. package/_vendor/plugin-draw/drawShapeGeometry.d.ts +0 -33
  258. package/_vendor/plugin-draw/drawShapeUtil.d.ts +0 -22
  259. package/_vendor/plugin-draw/drawStrokeGeometry.d.ts +0 -17
  260. package/_vendor/plugin-draw/drawTool.d.ts +0 -6
  261. package/_vendor/plugin-draw/editorRuntime.d.ts +0 -7
  262. package/_vendor/plugin-draw/feature.d.ts +0 -2
  263. package/_vendor/plugin-draw/index.d.ts +0 -14
  264. package/_vendor/plugin-draw/productRuntime.d.ts +0 -2
  265. package/_vendor/plugin-draw/types.d.ts +0 -23
  266. package/_vendor/plugin-eraser/canvasRender.d.ts +0 -2
  267. package/_vendor/plugin-eraser/editorRuntime.d.ts +0 -2
  268. package/_vendor/plugin-eraser/eraserRuntime.d.ts +0 -12
  269. package/_vendor/plugin-eraser/eraserTool.d.ts +0 -5
  270. package/_vendor/plugin-eraser/feature.d.ts +0 -2
  271. package/_vendor/plugin-eraser/index.d.ts +0 -6
  272. package/_vendor/plugin-eraser/productRuntime.d.ts +0 -2
  273. package/_vendor/plugin-frame/api.d.ts +0 -19
  274. package/_vendor/plugin-frame/canvasRender.d.ts +0 -9
  275. package/_vendor/plugin-frame/editorRuntime.d.ts +0 -7
  276. package/_vendor/plugin-frame/feature.d.ts +0 -2
  277. package/_vendor/plugin-frame/frameShapeUtil.d.ts +0 -35
  278. package/_vendor/plugin-frame/frameTool.d.ts +0 -6
  279. package/_vendor/plugin-frame/index.d.ts +0 -9
  280. package/_vendor/plugin-frame/productRuntime.d.ts +0 -2
  281. package/_vendor/plugin-geo/api.d.ts +0 -27
  282. package/_vendor/plugin-geo/canvasRender.d.ts +0 -13
  283. package/_vendor/plugin-geo/editorRuntime.d.ts +0 -7
  284. package/_vendor/plugin-geo/feature.d.ts +0 -2
  285. package/_vendor/plugin-geo/geoGeometry.d.ts +0 -24
  286. package/_vendor/plugin-geo/geoShapeUtil.d.ts +0 -14
  287. package/_vendor/plugin-geo/geoStrokeStyle.d.ts +0 -2
  288. package/_vendor/plugin-geo/geoTools.d.ts +0 -27
  289. package/_vendor/plugin-geo/index.d.ts +0 -10
  290. package/_vendor/plugin-geo/productRuntime.d.ts +0 -2
  291. package/_vendor/plugin-geo/types.d.ts +0 -22
  292. package/_vendor/plugin-group/canvasRender.d.ts +0 -9
  293. package/_vendor/plugin-group/editorRuntime.d.ts +0 -7
  294. package/_vendor/plugin-group/feature.d.ts +0 -2
  295. package/_vendor/plugin-group/groupContributions.d.ts +0 -7
  296. package/_vendor/plugin-group/groupShapeUtil.d.ts +0 -35
  297. package/_vendor/plugin-group/index.d.ts +0 -7
  298. package/_vendor/plugin-group/productRuntime.d.ts +0 -2
  299. package/_vendor/plugin-image/actionIds.d.ts +0 -9
  300. package/_vendor/plugin-image/canvasRender.d.ts +0 -2
  301. package/_vendor/plugin-image/cornerRadius.d.ts +0 -6
  302. package/_vendor/plugin-image/crop.d.ts +0 -112
  303. package/_vendor/plugin-image/cropInteractions.d.ts +0 -3
  304. package/_vendor/plugin-image/cropRuntime.d.ts +0 -2
  305. package/_vendor/plugin-image/cropSession.d.ts +0 -6
  306. package/_vendor/plugin-image/editorRuntime.d.ts +0 -3
  307. package/_vendor/plugin-image/feature.d.ts +0 -2
  308. package/_vendor/plugin-image/imageHostActionContract.d.ts +0 -2
  309. package/_vendor/plugin-image/imageShapeUtil.d.ts +0 -13
  310. package/_vendor/plugin-image/imageSvgExporter.d.ts +0 -6
  311. package/_vendor/plugin-image/index.d.ts +0 -13
  312. package/_vendor/plugin-image/productRuntime.d.ts +0 -4
  313. package/_vendor/plugin-image/runtimeShared.d.ts +0 -5
  314. package/_vendor/plugin-image/smudge.d.ts +0 -67
  315. package/_vendor/plugin-image/smudgeInteractions.d.ts +0 -2
  316. package/_vendor/plugin-image/smudgeRuntime.d.ts +0 -2
  317. package/_vendor/plugin-image/styleRuntime.d.ts +0 -22
  318. package/_vendor/plugin-image/toolbarRuntime.d.ts +0 -3
  319. package/_vendor/plugin-image/types.d.ts +0 -53
  320. package/_vendor/plugin-laser/canvasRender.d.ts +0 -2
  321. package/_vendor/plugin-laser/editorRuntime.d.ts +0 -2
  322. package/_vendor/plugin-laser/feature.d.ts +0 -2
  323. package/_vendor/plugin-laser/index.d.ts +0 -6
  324. package/_vendor/plugin-laser/laserRuntime.d.ts +0 -18
  325. package/_vendor/plugin-laser/laserTool.d.ts +0 -4
  326. package/_vendor/plugin-laser/productRuntime.d.ts +0 -2
  327. package/_vendor/plugin-path/PathDraftOverlay.d.ts +0 -1
  328. package/_vendor/plugin-path/PathEditInsertPreviewOverlay.d.ts +0 -1
  329. package/_vendor/plugin-path/PathShapeRenderer.d.ts +0 -15
  330. package/_vendor/plugin-path/canvasRender.d.ts +0 -2
  331. package/_vendor/plugin-path/editorRuntime.d.ts +0 -7
  332. package/_vendor/plugin-path/feature.d.ts +0 -2
  333. package/_vendor/plugin-path/index.d.ts +0 -8
  334. package/_vendor/plugin-path/pathBoolean.d.ts +0 -13
  335. package/_vendor/plugin-path/pathDraft.d.ts +0 -10
  336. package/_vendor/plugin-path/pathEditPreview.d.ts +0 -11
  337. package/_vendor/plugin-path/pathEditSelection.d.ts +0 -24
  338. package/_vendor/plugin-path/pathEditSnap.d.ts +0 -6
  339. package/_vendor/plugin-path/pathGeometry.d.ts +0 -74
  340. package/_vendor/plugin-path/pathHandles.d.ts +0 -18
  341. package/_vendor/plugin-path/pathHistory.d.ts +0 -13
  342. package/_vendor/plugin-path/pathInteractions.d.ts +0 -7
  343. package/_vendor/plugin-path/pathShapeUtil.d.ts +0 -30
  344. package/_vendor/plugin-path/pathSvg.d.ts +0 -3
  345. package/_vendor/plugin-path/pathTool.d.ts +0 -42
  346. package/_vendor/plugin-path/productRuntime.d.ts +0 -15
  347. package/_vendor/plugin-path/types.d.ts +0 -36
  348. package/_vendor/plugin-runtime-clipboard/capability.d.ts +0 -1
  349. package/_vendor/plugin-runtime-clipboard/clipboardActions.d.ts +0 -6
  350. package/_vendor/plugin-runtime-clipboard/clipboardService.d.ts +0 -10
  351. package/_vendor/plugin-runtime-clipboard/index.d.ts +0 -4
  352. package/_vendor/plugin-runtime-clipboard/plugin.d.ts +0 -1
  353. package/_vendor/plugin-runtime-export/blobDataUrl.d.ts +0 -1
  354. package/_vendor/plugin-runtime-export/canvasExportApi.d.ts +0 -43
  355. package/_vendor/plugin-runtime-export/index.d.ts +0 -8
  356. package/_vendor/plugin-runtime-export/plugin.d.ts +0 -5
  357. package/_vendor/plugin-runtime-export/pngExport.d.ts +0 -15
  358. package/_vendor/plugin-runtime-export/svgExport.d.ts +0 -40
  359. package/_vendor/plugin-text/api.d.ts +0 -20
  360. package/_vendor/plugin-text/canvasRender.d.ts +0 -8
  361. package/_vendor/plugin-text/capabilities.d.ts +0 -2
  362. package/_vendor/plugin-text/editorRuntime.d.ts +0 -5
  363. package/_vendor/plugin-text/feature.d.ts +0 -4
  364. package/_vendor/plugin-text/geoLabelBindingUtil.d.ts +0 -48
  365. package/_vendor/plugin-text/host/RichTextEditingBox.d.ts +0 -10
  366. package/_vendor/plugin-text/host/TiptapTextEditor.d.ts +0 -29
  367. package/_vendor/plugin-text/host/initialTextBackground.d.ts +0 -2
  368. package/_vendor/plugin-text/host/richTextRendering.d.ts +0 -10
  369. package/_vendor/plugin-text/host/textDomSelection.d.ts +0 -7
  370. package/_vendor/plugin-text/host/textEditingBoxStyle.d.ts +0 -4
  371. package/_vendor/plugin-text/host/textEntryFocus.d.ts +0 -23
  372. package/_vendor/plugin-text/host/textFontLoader.d.ts +0 -3
  373. package/_vendor/plugin-text/host/textFormattingApi.d.ts +0 -16
  374. package/_vendor/plugin-text/host/textMeasurement.d.ts +0 -21
  375. package/_vendor/plugin-text/host/textMeasurementSync.d.ts +0 -11
  376. package/_vendor/plugin-text/host/textRangeSelection.d.ts +0 -14
  377. package/_vendor/plugin-text/host/textShapeRendererRuntime.d.ts +0 -11
  378. package/_vendor/plugin-text/host/textShapeSync.d.ts +0 -19
  379. package/_vendor/plugin-text/host/tiptapTextEditorController.d.ts +0 -38
  380. package/_vendor/plugin-text/index.d.ts +0 -15
  381. package/_vendor/plugin-text/pathLabelBindingUtil.d.ts +0 -55
  382. package/_vendor/plugin-text/productRuntime.d.ts +0 -6
  383. package/_vendor/plugin-text/richTextLinks.d.ts +0 -3
  384. package/_vendor/plugin-text/richTextUtils.d.ts +0 -26
  385. package/_vendor/plugin-text/shapeWideTextFormatting.d.ts +0 -12
  386. package/_vendor/plugin-text/textFonts.d.ts +0 -49
  387. package/_vendor/plugin-text/textFormatting.d.ts +0 -47
  388. package/_vendor/plugin-text/textFormattingSession.d.ts +0 -6
  389. package/_vendor/plugin-text/textInteractions.d.ts +0 -2
  390. package/_vendor/plugin-text/textLabelHelpers.d.ts +0 -70
  391. package/_vendor/plugin-text/textLinkPopoverPresentation.d.ts +0 -18
  392. package/_vendor/plugin-text/textShapeHelpers.d.ts +0 -22
  393. package/_vendor/plugin-text/textShapeSvgExporter.d.ts +0 -9
  394. package/_vendor/plugin-text/textShapeUtil.d.ts +0 -24
  395. package/_vendor/plugin-text/textStyle.d.ts +0 -18
  396. package/_vendor/plugin-text/textTool.d.ts +0 -4
  397. package/_vendor/plugin-text/textTypes.d.ts +0 -29
  398. package/chrome/toolbar/mergeToolbarGroups.d.ts +0 -8
  399. package/chrome/toolbar/toolbarLabels.d.ts +0 -8
  400. package/chrome/toolbar/useToolbarSurfaces.d.ts +0 -21
  401. package/chrome/types.d.ts +0 -72
  402. package/chrome/useCanvasKitChromeContext.d.ts +0 -18
  403. package/chrome/useCanvasKitLayerTree.d.ts +0 -5
  404. package/chrome/useChromeSurfaces.d.ts +0 -12
  405. package/chrome/useContextMenuSurface.d.ts +0 -12
  406. package/chrome/useHistoryControls.d.ts +0 -12
  407. package/chrome/usePageControls.d.ts +0 -16
  408. package/chrome/useZoomControls.d.ts +0 -9
  409. package/controller/canvasKitController.d.ts +0 -28
  410. package/core/index.d.ts +0 -7
  411. package/core/product-controller/canvasProductController.d.ts +0 -202
  412. package/core/product-controller/index.d.ts +0 -2
  413. package/core/product-controller/productLayerTree.d.ts +0 -10
  414. package/core/runtime/productAssets.d.ts +0 -20
  415. package/core/runtime/productEditor.d.ts +0 -3
  416. package/core/runtime/productServices.d.ts +0 -20
  417. package/core/runtime/runtimeContracts.d.ts +0 -17
  418. package/features/context-menu/contextMenuRuntime.d.ts +0 -13
  419. package/features/image/asset/imageAssetService.d.ts +0 -10
  420. package/features/image/asset/imageBlobStore.d.ts +0 -31
  421. package/features/image/asset/imageFileHelpers.d.ts +0 -43
  422. package/features/image/asset/svgImageAssetInliner.d.ts +0 -3
  423. package/features/image/controller/imageProductController.d.ts +0 -27
  424. package/features/image/imageHostPlugin.d.ts +0 -1
  425. package/features/image/import/ImageImportController.d.ts +0 -11
  426. package/features/image/index.d.ts +0 -15
  427. package/features/image/smudge/imageSmudgeHostActions.d.ts +0 -10
  428. package/features/image/smudge/imageSmudgeTypes.d.ts +0 -25
  429. package/features/image/toolbar/imageHostActions.d.ts +0 -79
  430. package/features/image/toolbar/imageToolbarHostBridge.d.ts +0 -14
  431. package/features/text/link/TextLinkHoverPopover.d.ts +0 -6
  432. package/features/text/textHostPlugin.d.ts +0 -5
  433. package/features/text/textSvgAssetInliner.d.ts +0 -3
  434. package/features/text/textSvgAssetPlugin.d.ts +0 -2
  435. package/plugins/runtime/import-host/CanvasImportHost.d.ts +0 -4
  436. package/plugins/runtime/import-host/capability.d.ts +0 -1
  437. package/plugins/runtime/import-host/index.d.ts +0 -2
  438. package/plugins/runtime/import-host/plugin.d.ts +0 -1
  439. package/plugins/runtime/keyboard-shortcuts/index.d.ts +0 -1
  440. package/plugins/runtime/keyboard-shortcuts/plugin.d.ts +0 -1
  441. package/plugins/runtime/keyboard-shortcuts/useCanvasKeyboardShortcuts.d.ts +0 -8
  442. package/plugins/runtime/tool-actions/capability.d.ts +0 -1
  443. package/plugins/runtime/tool-actions/index.d.ts +0 -2
  444. package/plugins/runtime/tool-actions/plugin.d.ts +0 -1
  445. package/plugins/runtime/tool-actions/toolActions.d.ts +0 -2
  446. package/plugins/standard/clipboard/chrome.d.ts +0 -2
  447. package/plugins/standard/clipboard/contextMenu.d.ts +0 -2
  448. package/plugins/standard/clipboard/plugin.d.ts +0 -1
  449. package/plugins/standard/clipboard/shortcuts.d.ts +0 -5
  450. package/plugins/standard/createStandardCanvasKitPlugins.d.ts +0 -15
  451. package/plugins/standard/selection/actions.d.ts +0 -21
  452. package/plugins/standard/selection/chrome.d.ts +0 -2
  453. package/plugins/standard/selection/contextMenu.d.ts +0 -2
  454. package/plugins/standard/selection/plugin.d.ts +0 -1
  455. package/plugins/standard/selection/toolbar.d.ts +0 -2
  456. package/plugins/standard/tool-ui/contextMenu.d.ts +0 -2
  457. package/plugins/standard/tool-ui/plugin.d.ts +0 -1
  458. package/plugins/standard/tool-ui/toolbar.d.ts +0 -2
  459. package/plugins/standard/view/actions.d.ts +0 -5
  460. package/plugins/standard/view/chrome.d.ts +0 -2
  461. package/plugins/standard/view/contextMenu.d.ts +0 -2
  462. package/plugins/standard/view/plugin.d.ts +0 -1
  463. package/react/useCanvasKitControllerLifecycle.d.ts +0 -8
  464. package/react/useCanvasKitRuntime.d.ts +0 -2
  465. package/runtime/canvasKitActionContext.d.ts +0 -17
  466. package/runtime/canvasKitCommandExecutor.d.ts +0 -13
  467. package/runtime/canvasKitPluginContracts.d.ts +0 -32
  468. package/runtime/canvasKitPluginLifecycle.d.ts +0 -32
  469. package/runtime/canvasKitPluginSetup.d.ts +0 -34
  470. package/runtime/canvasKitPluginUi.d.ts +0 -35
  471. package/runtime/canvasKitResourceScope.d.ts +0 -5
  472. package/runtime/canvasKitRuntime.d.ts +0 -50
  473. package/runtime/canvasKitRuntimeContracts.d.ts +0 -34
  474. package/runtime/registries/actionRegistry.d.ts +0 -5
  475. package/runtime/registries/chromeRegistry.d.ts +0 -2
  476. package/runtime/registries/contextMenuRegistry.d.ts +0 -5
  477. package/runtime/registries/exportRegistry.d.ts +0 -2
  478. package/runtime/registries/importRegistry.d.ts +0 -2
  479. package/runtime/registries/index.d.ts +0 -7
  480. package/runtime/registries/toolbarRegistry.d.ts +0 -5
  481. /package/_vendor/canvas-core/editor/{selectionBindingSegments.d.ts → selection/selectionBindingSegments.d.ts} +0 -0
  482. /package/_vendor/canvas-core/editor/{managers → snapping}/snapSnapshotBuilder.d.ts +0 -0
  483. /package/_vendor/canvas-core/editor/{camera.d.ts → viewport/camera.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { type Signal } from "../../../signals/index";
1
+ import type { Signal } from "../../../signals/index";
2
2
  import { Box } from "../../geometry/box";
3
3
  import { Vec } from "../../geometry/vec";
4
4
  import type { ShapeId } from "../../schema/records";
@@ -25,4 +25,4 @@ export interface SelectionGeometrySignals {
25
25
  hasCompatibleRotation: Signal<boolean>;
26
26
  selectionAnchorPagePoint: Signal<Vec | null>;
27
27
  }
28
- export declare function createSelectionGeometrySignals(editor: Editor, getShapeGeometrySnapshot: (shapeId: ShapeId) => ShapeGeometry | undefined): SelectionGeometrySignals;
28
+ export declare function createSelectionGeometrySignals(editor: Editor, selectedShapeIdsSignal: Signal<ShapeId[]>, getCachedShapeGeometry: (shapeId: ShapeId) => ShapeGeometry | undefined): SelectionGeometrySignals;
@@ -0,0 +1,8 @@
1
+ import type { Vec } from "../../geometry/vec";
2
+ import { type SelectionFrame, type SelectionHandle, type SelectionOverlayHandlesState } from "./selection";
3
+ export declare function hitTestSelectionHandles({ point, selectionFrame, handles, hitDistance, }: {
4
+ point: Vec;
5
+ selectionFrame: SelectionFrame | null;
6
+ handles: SelectionOverlayHandlesState;
7
+ hitDistance: number;
8
+ }): SelectionHandle | null;
@@ -0,0 +1,20 @@
1
+ import type { ChangeSource } from "../../../store/index";
2
+ import { Box } from "../../geometry/box";
3
+ import type { PageId } from "../../schema/records";
4
+ import type { Editor } from "../editor";
5
+ type AlignMode = "left" | "horizontal-center" | "right" | "top" | "vertical-center" | "bottom";
6
+ type DistributeAxis = "horizontal" | "vertical";
7
+ interface ZoomToBoundsOptions {
8
+ padding?: number;
9
+ maxZoom?: number;
10
+ source?: ChangeSource;
11
+ }
12
+ export declare function canAlignEditorSelection(editor: Editor): boolean;
13
+ export declare function alignEditorSelection(editor: Editor, mode: AlignMode, source?: ChangeSource): boolean;
14
+ export declare function canDistributeEditorSelection(editor: Editor): boolean;
15
+ export declare function distributeEditorSelection(editor: Editor, axis: DistributeAxis, source?: ChangeSource): boolean;
16
+ export declare function getEditorPageBounds(editor: Editor, pageId?: PageId): Box | null;
17
+ export declare function zoomEditorToBounds(editor: Editor, bounds: Box, options?: ZoomToBoundsOptions): boolean;
18
+ export declare function zoomEditorToFit(editor: Editor, options?: ZoomToBoundsOptions): boolean;
19
+ export declare function zoomEditorToSelection(editor: Editor, options?: ZoomToBoundsOptions): boolean;
20
+ export {};
@@ -0,0 +1,25 @@
1
+ import { Vec } from "../../geometry/vec";
2
+ import type { ShapeId, ShapeRecord } from "../../schema/records";
3
+ import type { ShapeSelectionHandleAnchors, ShapeSelectionPathStyle } from "../../shapes/shapeUtil";
4
+ import type { SelectionBindingMiddleHandle, SelectionBindingSegment, SelectionBindingTerminalHandle, SelectionCustomHandle, SelectionFrame, SelectionOverlayHandleAnchorsState, SelectionResizeHandle, SelectionResizeHandleId, SelectionRotateHandle } from "./selection";
5
+ export interface SelectedShapeOverlayItem {
6
+ id: ShapeId;
7
+ usesSelectionPathOverlay: boolean;
8
+ startPagePoint: Vec | null;
9
+ endPagePoint: Vec | null;
10
+ middlePagePoint: Vec | null;
11
+ path: string | null;
12
+ pathStyle: ShapeSelectionPathStyle | null;
13
+ pageClipPath: string | null;
14
+ bindingSegments: readonly SelectionBindingSegment[];
15
+ }
16
+ export interface SelectionHandleState {
17
+ resizeHandles: SelectionResizeHandle[];
18
+ rotateHandles: SelectionRotateHandle[];
19
+ terminalHandles: SelectionBindingTerminalHandle[];
20
+ middleHandles: SelectionBindingMiddleHandle[];
21
+ customHandles: SelectionCustomHandle[];
22
+ }
23
+ export declare function isSingleSelectionPathOverlay(selectedShapeItems: SelectedShapeOverlayItem[]): boolean;
24
+ export declare function getSelectionHandleAnchorsState(selectedShapes: ShapeRecord[], selectionFrame: SelectionFrame | null, zoom: number, getShapeSelectionHandleAnchors: (shape: ShapeRecord) => ShapeSelectionHandleAnchors, canUseSelectionResizeHandles: (shape: ShapeRecord) => boolean, canUseSelectionRotateHandle: (shape: ShapeRecord) => boolean, resizeHandleIds: readonly SelectionResizeHandleId[]): SelectionOverlayHandleAnchorsState;
25
+ export declare function materializeSelectionHandleState(anchors: SelectionOverlayHandleAnchorsState, zoom: number): SelectionHandleState;
@@ -0,0 +1,8 @@
1
+ import type { SelectionOverlayFrameGeometryState, SelectionOverlayFrameStyleState, SelectionOverlayHandleAnchorsState, SelectionOverlayHandlesState } from "./selection";
2
+ import type { SelectedShapeOverlayItem } from "./selectionOverlay";
3
+ export declare function areSelectedShapeOverlayItemsEqual(a: SelectedShapeOverlayItem[], b: SelectedShapeOverlayItem[]): boolean;
4
+ export declare function areSelectionOverlayFrameGeometryStatesEqual(a: SelectionOverlayFrameGeometryState | null, b: SelectionOverlayFrameGeometryState | null): boolean;
5
+ export declare function areSelectionOverlayFrameGeometryArraysEqual(a: SelectionOverlayFrameGeometryState[], b: SelectionOverlayFrameGeometryState[]): boolean;
6
+ export declare function areSelectionOverlayFrameStyleStatesEqual(a: SelectionOverlayFrameStyleState, b: SelectionOverlayFrameStyleState): boolean;
7
+ export declare function areSelectionOverlayHandlesStatesEqual(a: SelectionOverlayHandlesState | null, b: SelectionOverlayHandlesState | null): boolean;
8
+ export declare function areSelectionOverlayHandleAnchorsStatesEqual(a: SelectionOverlayHandleAnchorsState | null, b: SelectionOverlayHandleAnchorsState | null): boolean;
@@ -0,0 +1,34 @@
1
+ import type { Signal } from "../../../signals/index";
2
+ import type { Vec } from "../../geometry/vec";
3
+ import type { ShapeRecord } from "../../schema/records";
4
+ import type { Editor } from "../editor";
5
+ import type { EditorToolState } from "../state/editorReadModels";
6
+ import type { SelectionBindingSegment, SelectionHandle, SelectionOverlayFrameGeometryState, SelectionOverlayFrameStyleState, SelectionOverlayHandleAnchorsState, SelectionOverlayHandlesState } from "./selection";
7
+ import { type SelectedShapeOverlayItem } from "./selectionOverlay";
8
+ interface SelectionOverlaySignals {
9
+ tool: Signal<EditorToolState>;
10
+ selectedShapeIds: Signal<ShapeRecord["id"][]>;
11
+ selectedShapes: Signal<ShapeRecord[]>;
12
+ cameraZoom: Signal<number>;
13
+ }
14
+ /**
15
+ * Selection overlay derived state: selected items, frame geometry/style,
16
+ * handles, hit testing, and companion frames. Editor exposes these signals
17
+ * through its grouped render facade.
18
+ */
19
+ export declare class SelectionOverlayManager {
20
+ private readonly editor;
21
+ private readonly signals;
22
+ readonly selectedShapeItemsSignal: Signal<SelectedShapeOverlayItem[]>;
23
+ readonly frameGeometrySignal: Signal<SelectionOverlayFrameGeometryState | null>;
24
+ readonly companionFrameGeometriesSignal: Signal<SelectionOverlayFrameGeometryState[]>;
25
+ readonly pathSignal: Signal<string | null>;
26
+ readonly pageClipPathSignal: Signal<string | null>;
27
+ readonly bindingSegmentsSignal: Signal<SelectionBindingSegment[]>;
28
+ readonly frameStyleSignal: Signal<SelectionOverlayFrameStyleState>;
29
+ readonly handleAnchorsSignal: Signal<SelectionOverlayHandleAnchorsState | null>;
30
+ readonly handlesSignal: Signal<SelectionOverlayHandlesState | null>;
31
+ constructor(editor: Editor, signals: SelectionOverlaySignals);
32
+ hitTestHandle(point: Vec): SelectionHandle | null;
33
+ }
34
+ export {};
@@ -1,6 +1,8 @@
1
- import type { ShapeRecord } from "../schema/records";
2
- import type { Editor } from "./editor";
1
+ import type { ShapeRecord } from "../../schema/records";
2
+ import type { Editor } from "../editor";
3
3
  import { type SelectionResizeHandleId, type SelectionResizeMode } from "./selection";
4
+ export type SelectionResizeRotationCompatibility = "parallel" | "perpendicular";
5
+ export declare function getSelectionResizeRotationCompatibility(left: number, right: number): SelectionResizeRotationCompatibility | null;
4
6
  export declare function areSelectionResizeRotationsCompatible(left: number, right: number): boolean;
5
7
  export declare function areSelectionResizeTargetRotationsCompatible(editor: Editor, resizeTargetShapes: readonly ShapeRecord[], selectionRotation: number): boolean;
6
8
  export declare function intersectSelectionResizeModes(modeSets: readonly (readonly SelectionResizeMode[])[]): SelectionResizeMode[];
@@ -0,0 +1,9 @@
1
+ import type { ChangeSource } from "../../../store/index";
2
+ import type { PageId, ShapeId } from "../../schema/records";
3
+ import type { Editor } from "../editor";
4
+ export declare function setEditorSelectedShapeIds(editor: Editor, ids: ShapeId[], options?: {
5
+ pageId?: PageId;
6
+ source?: ChangeSource;
7
+ }): void;
8
+ export declare function removeShapeIdsFromEditorSelection(editor: Editor, ids: ShapeId[], source?: ChangeSource): void;
9
+ export declare function selectAllEditorShapesOnCurrentPage(editor: Editor, source?: ChangeSource): void;
@@ -0,0 +1,10 @@
1
+ import type { ShapeId, ShapeRecord } from "../../schema/records";
2
+ import type { Editor } from "../editor";
3
+ export declare function getShapeIdsForSelectionTransform(editor: Editor, shapeIds: Iterable<ShapeId>): ShapeId[];
4
+ export declare function getShapeIdsForSelectionRotation(editor: Editor, shapeIds: Iterable<ShapeId>): ShapeId[];
5
+ export declare function getSelectionTransformTargetShapes(editor: Editor): ShapeRecord[];
6
+ export declare function canResizeSelection(editor: Editor): boolean;
7
+ export declare function canFlipSelection(editor: Editor, shapeIds?: Iterable<ShapeId>): boolean;
8
+ export declare function canRotateSelection(editor: Editor): boolean;
9
+ export declare function getSelectionResizeTargetShapes(editor: Editor): ShapeRecord[];
10
+ export declare function getSelectionRotationTargetShapes(editor: Editor): ShapeRecord[];
@@ -0,0 +1,6 @@
1
+ import type { ChangeSource } from "../../../store/index";
2
+ import type { ShapeSelectionFlipAxis } from "../../shapes/shapeUtil";
3
+ import type { ShapeUpdate } from "../commands/commandTypes";
4
+ import type { Editor } from "../editor";
5
+ export declare function resetEditorSelectionRotation(editor: Editor, source?: ChangeSource): void;
6
+ export declare function getEditorSelectionFlipUpdates(editor: Editor, axis: ShapeSelectionFlipAxis): ShapeUpdate[];
@@ -0,0 +1,14 @@
1
+ import type { Vec } from "../../geometry/vec";
2
+ import { type ShapeId, type ShapeParentId, type ShapeRecord } from "../../schema/records";
3
+ import type { Editor } from "../editor";
4
+ import { type ShapeGeometryQueryCache } from "../queries/shapeGeometryQueryCache";
5
+ import type { ShapeTreeIndex } from "../queries/shapeTreeIndex";
6
+ export type ShapeContainment = "inside" | "intersecting" | "outside";
7
+ export interface ContainerBoundsQueryOptions {
8
+ includeIntersecting?: boolean;
9
+ }
10
+ export declare function getShapeContainment(editor: Editor, geometry: ShapeGeometryQueryCache, containerId: ShapeId, shapeId: ShapeId): ShapeContainment | null;
11
+ export declare function getContainingShapeParentId(editor: Editor, shapeTree: ShapeTreeIndex, geometry: ShapeGeometryQueryCache, shapeIds: Iterable<ShapeId>): ShapeParentId | null;
12
+ export declare function getContainingShapeParentIdAtPoint(editor: Editor, shapeTree: ShapeTreeIndex, geometry: ShapeGeometryQueryCache, shapeIds: Iterable<ShapeId>, point: Vec): ShapeParentId | null;
13
+ export declare function getContainingParentIdForShapeRecord(editor: Editor, geometry: ShapeGeometryQueryCache, shape: ShapeRecord): ShapeParentId | null;
14
+ export declare function getShapeIdsInContainerBounds(editor: Editor, containerId: ShapeId, options?: ContainerBoundsQueryOptions): ShapeId[];
@@ -1,7 +1,7 @@
1
- import { type Signal } from "../../../signals/index";
1
+ import type { Signal } from "../../../signals/index";
2
2
  import type { ChangeSource } from "../../../store/index";
3
3
  import type { ShapeEditingEntryRequest, ShapeEditingSession, ShapeId, ShapeRecord } from "../../schema/records";
4
- import type { StartEditingShapeInput } from "../commands";
4
+ import type { StartEditingShapeInput } from "../commands/commandTypes";
5
5
  import type { Editor } from "../editor";
6
6
  /**
7
7
  * Shape editing lifecycle for the editor: edit-session entry, completion,
@@ -0,0 +1,3 @@
1
+ import type { ShapeId } from "../../schema/records";
2
+ import type { Editor } from "../editor";
3
+ export declare function getShapeExportTraversalIds(editor: Editor, shapeIds: Iterable<ShapeId>): ShapeId[];
@@ -0,0 +1,21 @@
1
+ import { Box } from "../../geometry/box";
2
+ import { Mat } from "../../geometry/mat";
3
+ import { Vec } from "../../geometry/vec";
4
+ import type { ShapeRecord } from "../../schema/records";
5
+ import { type ShapeGeometry } from "../queries/shapeTransforms";
6
+ import { type SelectionFrame } from "../selection/selection";
7
+ import type { Editor } from "../editor";
8
+ export declare function computeEditorShapePositionedBounds(editor: Editor, shape: ShapeRecord): Box;
9
+ export declare function computeEditorShapeLocalBounds(editor: Editor, shape: ShapeRecord): Box;
10
+ export declare function computeEditorShapeRenderBounds(editor: Editor, shape: ShapeRecord): Box;
11
+ export declare function computeEditorShapeExportBounds(editor: Editor, shape: ShapeRecord): Box;
12
+ export declare function computeEditorShapeLocalToPageTransform(editor: Editor, shape: ShapeRecord): Mat;
13
+ export declare function computeEditorShapeRenderToPageTransform(editor: Editor, shape: ShapeRecord): Mat;
14
+ export declare function computeEditorShapeExportToPageTransform(editor: Editor, shape: ShapeRecord): Mat;
15
+ export declare function computeEditorShapePageBounds(editor: Editor, shape: ShapeRecord): Box;
16
+ export declare function computeEditorShapeExportPageBounds(editor: Editor, shape: ShapeRecord): Box;
17
+ export declare function computeEditorShapeGeometry(editor: Editor, shape: ShapeRecord): ShapeGeometry;
18
+ export declare function computeEditorShapePositionedToPageTransform(editor: Editor, shape: ShapeRecord): Mat;
19
+ export declare function getEditorSelectionFrame(editor: Editor): SelectionFrame | null;
20
+ export declare function isPointInEditorSelectionBounds(editor: Editor, point: Vec): boolean;
21
+ export declare function getEditorSelectionFrameLocalBoundsPoint(editor: Editor, point: Vec): Vec | null;
@@ -0,0 +1,22 @@
1
+ import type { ChangeSource } from "../../../store/index";
2
+ import { Box } from "../../geometry/box";
3
+ import type { ShapeId, ShapeParentId, ShapeRecord } from "../../schema/records";
4
+ import type { Editor } from "../editor";
5
+ /** Grouping and ungrouping mutations over the physical shape tree. */
6
+ export interface ShapeGroupState {
7
+ parentId: ShapeParentId;
8
+ shapeIds: ShapeId[];
9
+ /** Axis-aligned bounds of the grouped roots in their common parent's local space. */
10
+ parentLocalBounds: Box;
11
+ }
12
+ export declare function getSelectionGroupState(editor: Editor): ShapeGroupState | null;
13
+ export declare function canGroupSelection(editor: Editor): boolean;
14
+ export declare function canGroupShapes(editor: Editor, ids: readonly ShapeId[]): boolean;
15
+ export declare function groupShapes(editor: Editor, ids: readonly ShapeId[], source?: ChangeSource): ShapeRecord | null;
16
+ export declare function groupSelection(editor: Editor, source?: ChangeSource): ShapeRecord | null;
17
+ export declare function getUngroupableSelectedShapeIds(editor: Editor): ShapeId[];
18
+ export declare function getUngroupableShapeIds(editor: Editor, ids: readonly ShapeId[]): ShapeId[];
19
+ export declare function canUngroupSelection(editor: Editor): boolean;
20
+ export declare function canUngroupShapes(editor: Editor, ids: readonly ShapeId[]): boolean;
21
+ export declare function ungroupShapes(editor: Editor, ids: readonly ShapeId[], source?: ChangeSource): ShapeId[];
22
+ export declare function ungroupSelection(editor: Editor, source?: ChangeSource): ShapeId[];
@@ -1,6 +1,24 @@
1
1
  import type { ChangeSource } from "../../../store/index";
2
- import type { ShapeId } from "../../schema/records";
3
- import type { Editor, LayerOrderDirection, LayerOrderEdge, ShapeSelectionSiblingOrderState, ShapeSiblingOrderDirection, ShapeSiblingOrderEdge, ShapeSiblingOrderState } from "../editor";
2
+ import type { ShapeId, ShapeParentId } from "../../schema/records";
3
+ import type { Editor } from "../editor";
4
+ export type ShapeSiblingOrderDirection = "backward" | "forward";
5
+ export type ShapeSiblingOrderEdge = "back" | "front";
6
+ export interface ShapeSiblingOrderState {
7
+ parentId: ShapeParentId;
8
+ index: number;
9
+ count: number;
10
+ canMoveBackward: boolean;
11
+ canMoveForward: boolean;
12
+ }
13
+ export interface ShapeSelectionSiblingOrderState {
14
+ parentId: ShapeParentId;
15
+ selectedCount: number;
16
+ count: number;
17
+ canMoveBackward: boolean;
18
+ canMoveForward: boolean;
19
+ }
20
+ export type LayerOrderDirection = "backward" | "forward";
21
+ export type LayerOrderEdge = "back" | "front";
4
22
  export declare function getSelectionParentOrderState(editor: Editor): ShapeSelectionSiblingOrderState | null;
5
23
  export declare function getSelectionSiblingOrderState(editor: Editor): ShapeSiblingOrderState | null;
6
24
  export declare function canMoveSelectionWithinParent(editor: Editor, direction: ShapeSiblingOrderDirection): boolean;
@@ -0,0 +1,21 @@
1
+ import type { ChangeSource } from "../../../store/index";
2
+ import type { ShapeId, ShapeParentId, ShapeRecord } from "../../schema/records";
3
+ import type { Editor } from "../editor";
4
+ import { type ShapeTransformFields } from "../queries/shapeTransforms";
5
+ export type ReparentShapePlacementFailureReason = "notFound" | "locked" | "hidden" | "invalidParent" | "cycle" | "invalidBeforeId" | "unsupportedTransform";
6
+ export type ReparentShapePlacementResult = {
7
+ ok: true;
8
+ movedIds: ShapeId[];
9
+ } | {
10
+ ok: false;
11
+ reason: ReparentShapePlacementFailureReason;
12
+ };
13
+ export interface ReparentShapePlacementInput {
14
+ ids: readonly ShapeId[];
15
+ parentId: ShapeParentId;
16
+ beforeId?: ShapeId;
17
+ }
18
+ export declare function canReceiveChildren(editor: Editor, parentId: ShapeParentId): boolean;
19
+ export declare function canReceiveChild(editor: Editor, parentId: ShapeParentId, childId: ShapeId): boolean;
20
+ export declare function moveShapesToParentPlacementResult(editor: Editor, input: ReparentShapePlacementInput, source?: ChangeSource): ReparentShapePlacementResult;
21
+ export declare function getReparentedShapeTransformUpdate(editor: Editor, shape: ShapeRecord, parentId: ShapeParentId): ShapeTransformFields | null;
@@ -0,0 +1,35 @@
1
+ import type { Signal } from "../../../signals/index";
2
+ import type { Vec } from "../../geometry/vec";
3
+ import { type ShapeEditingSession, type ShapeId, type ShapeRecord } from "../../schema/records";
4
+ import type { Editor } from "../editor";
5
+ /** Cached per-shape read signals. Editor keeps the public facade methods. */
6
+ export declare class ShapeSignalManager {
7
+ private readonly editor;
8
+ private readonly unsubscribeFromStore;
9
+ private readonly shapeSignals;
10
+ private readonly contentCutoutLocalPolygonSignals;
11
+ private readonly selectedSignals;
12
+ private readonly renderOrderSignals;
13
+ private readonly renderVisibleSignals;
14
+ private readonly documentVisibleSignals;
15
+ private readonly effectiveOpacitySignals;
16
+ private readonly editingSessionSignals;
17
+ private readonly dropTargetSignals;
18
+ private readonly hoveredSignals;
19
+ private readonly selectedDescendantTransformAncestorSignals;
20
+ constructor(editor: Editor);
21
+ dispose(): void;
22
+ isDocumentHidden(id: ShapeId): boolean;
23
+ getShapeSignal(id: ShapeId): Signal<ShapeRecord | undefined>;
24
+ getContentCutoutLocalPolygonsSignal(id: ShapeId): Signal<readonly (readonly Vec[])[]>;
25
+ getSelectedSignal(id: ShapeId): Signal<boolean>;
26
+ getRenderOrderSignal(id: ShapeId): Signal<number>;
27
+ getRenderVisibleSignal(id: ShapeId): Signal<boolean>;
28
+ getDocumentVisibleSignal(id: ShapeId): Signal<boolean>;
29
+ getEffectiveOpacitySignal(id: ShapeId): Signal<number>;
30
+ getEditingSessionSignal(id: ShapeId): Signal<ShapeEditingSession | null>;
31
+ getDropTargetSignal(id: ShapeId): Signal<boolean>;
32
+ getHoveredSignal(id: ShapeId): Signal<boolean>;
33
+ getSelectedDescendantTransformAncestorSignal(id: ShapeId): Signal<boolean>;
34
+ private evict;
35
+ }
@@ -1,6 +1,6 @@
1
- import type { ShapeRecord } from "../schema/records";
2
- import type { ShapeUpdate } from "./commands";
3
- import type { Editor } from "./editor";
1
+ import type { ShapeRecord } from "../../schema/records";
2
+ import type { ShapeUpdate } from "../commands/commandTypes";
3
+ import type { Editor } from "../editor";
4
4
  export declare function getShapePageSpaceRecord(editor: Editor, shape: ShapeRecord): ShapeRecord;
5
5
  export declare function tryGetShapePageSpaceRecord(editor: Editor, shape: ShapeRecord): ShapeRecord | null;
6
6
  export declare function getShapeParentLocalUpdateFromPageSpace(editor: Editor, shape: ShapeRecord, pageShape: ShapeRecord, pageUpdate: ShapeUpdate): ShapeUpdate | null;
@@ -0,0 +1,12 @@
1
+ import { Box } from "../../geometry/box";
2
+ import type { ShapeId, ShapeParentId } from "../../schema/records";
3
+ import type { Editor } from "../editor";
4
+ export declare function isShapeOrAncestorLocked(editor: Editor, shapeId: ShapeId): boolean;
5
+ export declare function hasLockedDescendant(editor: Editor, shapeId: ShapeId): boolean;
6
+ export declare function getOutermostSelectableShapeId(editor: Editor, shapeId: ShapeId): ShapeId;
7
+ export declare function getShapeIdsIncludingDescendants(editor: Editor, shapeIds: Iterable<ShapeId>): ShapeId[];
8
+ export declare function getDescendantPageBounds(editor: Editor, parentId: ShapeParentId): Box | null;
9
+ export declare function getShapeSubtreePageBounds(editor: Editor, shapeId: ShapeId): Box | null;
10
+ export declare function isShapeOrAncestorInSet(editor: Editor, shapeId: ShapeId, ids: ReadonlySet<ShapeId>): boolean;
11
+ export declare function isShapeDescendantOf(editor: Editor, shapeId: ShapeId, ancestorId: ShapeId): boolean;
12
+ export declare function isShapeDescendantOfAny(editor: Editor, shapeId: ShapeId, ancestorIds: ReadonlySet<ShapeId>): boolean;
@@ -0,0 +1,6 @@
1
+ import type { Box } from "../../geometry/box";
2
+ import type { Gap, GapAxisSnap, GapSnapOptions } from "./snapResults";
3
+ import type { SnapAxis, SnapNode } from "./snapTypes";
4
+ export declare function collectGaps(nodes: SnapNode[], axis: SnapAxis): Gap[];
5
+ export declare function createGap(direction: Gap["direction"], startNode: SnapNode, endNode: SnapNode, axis: SnapAxis): Gap | null;
6
+ export declare function getGapSnap(axis: SnapAxis, selectionBounds: Box, visibleGaps: Gap[], threshold: number, options?: GapSnapOptions): GapAxisSnap | null;
@@ -0,0 +1,5 @@
1
+ import type { Vec } from "../../geometry/vec";
2
+ import type { PointAxisSnap, PointSnapOptions } from "./snapResults";
3
+ import type { SnapAxis, SnapPoint, SnapPointIndex } from "./snapTypes";
4
+ export declare function buildSnapPointIndex(points: readonly SnapPoint[]): SnapPointIndex;
5
+ export declare function getPointSnap(axis: SnapAxis, selectionPoints: Vec[], pointIndex: SnapPointIndex, threshold: number, options?: PointSnapOptions): PointAxisSnap | null;
@@ -0,0 +1,11 @@
1
+ import type { Box } from "../../geometry/box";
2
+ import { Vec } from "../../geometry/vec";
3
+ import type { SelectionResizeHandleId } from "../selection/selection";
4
+ import type { ResizeSnapInput } from "./snapTypes";
5
+ export declare function getResizeSnapPointsForHandle(handleId: SelectionResizeHandleId | "any", bounds: Box): Vec[];
6
+ export declare function getResizeResultAfterNudge(input: ResizeSnapInput, nudge: Vec): {
7
+ bounds: Box;
8
+ scaleX: number;
9
+ scaleY: number;
10
+ };
11
+ export declare function getResizeBoundsAfterNudge(input: ResizeSnapInput, nudge: Vec): Box;
@@ -0,0 +1,2 @@
1
+ import type { AxisSnap, AxisSnapOptions, GapAxisSnap, PointAxisSnap } from "./snapResults";
2
+ export declare function chooseAxisSnap(pointSnap: PointAxisSnap | null, gapSnap: GapAxisSnap | null, options?: AxisSnapOptions): AxisSnap | null;
@@ -3,7 +3,6 @@ import { Vec } from "../../geometry/vec";
3
3
  import type { SnapAxis, SnapPointKind } from "./snapTypes";
4
4
  export declare const EPSILON = 1e-8;
5
5
  export declare const BOX_SNAP_POINT_KINDS: readonly SnapPointKind[];
6
- export declare function areVecsEqual(left: Vec, right: Vec): boolean;
7
6
  export declare function getBoxSnapPoints(bounds: Box): Vec[];
8
7
  export declare function getAxisValue(point: Vec, axis: SnapAxis): number;
9
8
  export declare function getAxisMin(bounds: Box, axis: SnapAxis): number;
@@ -1,7 +1,7 @@
1
1
  import { Box } from "../../geometry/box";
2
2
  import { Vec } from "../../geometry/vec";
3
- import type { GapSnapIndicatorGapState, GapSnapIndicatorState, PointSnapIndicatorState, SnapIndicatorState } from "../selection";
4
- import type { Gap, GapAxisSnap, PointAxisSnap } from "./snapCalculations";
3
+ import type { GapSnapIndicatorGapState, GapSnapIndicatorState, PointSnapIndicatorState, SnapIndicatorState } from "../selection/selection";
4
+ import type { Gap, GapAxisSnap, PointAxisSnap } from "./snapResults";
5
5
  import type { SnapAxis, SnapCoordinateSpace, SnapNode } from "./snapTypes";
6
6
  export declare function arePointIndicatorsEqual(left: PointSnapIndicatorState, right: PointSnapIndicatorState): boolean;
7
7
  export declare function areGapEdgesEqual(left: GapSnapIndicatorGapState, right: GapSnapIndicatorGapState): boolean;
@@ -1,23 +1,41 @@
1
- import { type Signal } from "../../../signals/index";
1
+ import type { Signal } from "../../../signals/index";
2
2
  import type { ShapeId } from "../../schema/records";
3
3
  import type { Editor } from "../editor";
4
- import type { SnapIndicatorState } from "../selection";
4
+ import type { SnapIndicatorState } from "../selection/selection";
5
5
  import type { HandleSnapInput, HandleSnapResult, HandleSnapSnapshot, HandleSnapSnapshotInput, ResizeSnapInput, ResizeSnapResult, ResizeSnapSnapshot, SnapCoordinateSpace, TranslateSnapInput, TranslateSnapResult, TranslateSnapSnapshot } from "./snapTypes";
6
+ export interface SnapDiagnosticsState {
7
+ operation: "translate" | "resize" | "handle";
8
+ durationMs: number;
9
+ pointCount: number;
10
+ nodeCount: number;
11
+ outlineCount?: number;
12
+ candidatePointCount?: number;
13
+ candidateGapCount?: number;
14
+ matchedPointCount?: number;
15
+ xSnapId?: string | null;
16
+ ySnapId?: string | null;
17
+ indicatorCount: number;
18
+ }
19
+ export interface SnapDiagnostics {
20
+ now?(): number;
21
+ onEvaluation?(state: SnapDiagnosticsState): void;
22
+ }
6
23
  export declare class SnapManager {
24
+ private readonly diagnostics;
7
25
  private readonly gapCache;
8
26
  private readonly _indicatorsSignal;
9
27
  readonly indicatorsSignal: Signal<SnapIndicatorState[]>;
10
- readonly activeSignal: import("../../../signals/index").Computed<boolean>;
28
+ readonly activeSignal: Signal<boolean>;
11
29
  private readonly snapshots;
12
30
  private readonly axisSnapMemory;
13
- constructor(editor: Editor);
31
+ constructor(editor: Editor, diagnostics?: SnapDiagnostics);
14
32
  setIndicators(indicators: SnapIndicatorState[]): void;
15
33
  clearIndicators(): void;
16
34
  private clearAxisSnapMemory;
17
35
  private getSwitchDistance;
18
36
  private getReleaseThreshold;
19
37
  private updateAxisSnapMemory;
20
- private writeDebugState;
38
+ private reportDiagnostics;
21
39
  private getNow;
22
40
  createTranslateSnapshot({ movingShapeIds, coordinateSpace, }: {
23
41
  movingShapeIds: Iterable<ShapeId>;
@@ -1,8 +1,6 @@
1
- import { Box } from "../../geometry/box";
2
- import { Vec } from "../../geometry/vec";
1
+ import type { Vec } from "../../geometry/vec";
3
2
  import type { ShapeId } from "../../schema/records";
4
- import type { SelectionResizeHandleId } from "../selection";
5
- import type { ResizeSnapInput, SnapAxis, SnapNode, SnapPointIndex, SnapPoint, SnapPointKind } from "./snapTypes";
3
+ import type { SnapNode, SnapPointKind } from "./snapTypes";
6
4
  export interface PointSnapPair {
7
5
  selectionPoint: Vec;
8
6
  selectionPointKind?: SnapPointKind;
@@ -58,16 +56,3 @@ export interface PointSnapStats {
58
56
  candidatePointCount: number;
59
57
  matchedPointCount: number;
60
58
  }
61
- export declare function buildSnapPointIndex(points: readonly SnapPoint[]): SnapPointIndex;
62
- export declare function getPointSnap(axis: SnapAxis, selectionPoints: Vec[], pointIndex: SnapPointIndex, threshold: number, options?: PointSnapOptions): PointAxisSnap | null;
63
- export declare function getResizeSnapPointsForHandle(handleId: SelectionResizeHandleId | "any", bounds: Box): Vec[];
64
- export declare function getResizeResultAfterNudge(input: ResizeSnapInput, nudge: Vec): {
65
- bounds: Box;
66
- scaleX: number;
67
- scaleY: number;
68
- };
69
- export declare function getResizeBoundsAfterNudge(input: ResizeSnapInput, nudge: Vec): Box;
70
- export declare function collectGaps(nodes: SnapNode[], axis: SnapAxis): Gap[];
71
- export declare function createGap(direction: Gap["direction"], startNode: SnapNode, endNode: SnapNode, axis: SnapAxis): Gap | null;
72
- export declare function getGapSnap(axis: SnapAxis, selectionBounds: Box, visibleGaps: Gap[], threshold: number, options?: GapSnapOptions): GapAxisSnap | null;
73
- export declare function chooseAxisSnap(pointSnap: PointAxisSnap | null, gapSnap: GapAxisSnap | null, options?: AxisSnapOptions): AxisSnap | null;
@@ -1,7 +1,7 @@
1
1
  import type { Box } from "../../geometry/box";
2
2
  import type { Vec } from "../../geometry/vec";
3
3
  import type { ShapeId, ShapeParentId } from "../../schema/records";
4
- import type { SelectionHandle, SelectionResizeHandleId, SnapIndicatorState } from "../selection";
4
+ import type { SelectionHandle, SelectionResizeHandleId, SnapIndicatorState } from "../selection/selection";
5
5
  export type SnapAxis = "x" | "y";
6
6
  export type HandleSnapMode = "none" | "point" | "align";
7
7
  export type SnapPointKind = "corner" | "edge_midpoint" | "center" | "custom";
@@ -0,0 +1,34 @@
1
+ import type { Box } from "../../geometry/box";
2
+ import type { Vec } from "../../geometry/vec";
3
+ import type { ShapeEditingSession, ShapeId, ShapeParentId, ShapeRecord } from "../../schema/records";
4
+ export interface ShapeTreeSnapshotEntry {
5
+ id: ShapeId;
6
+ parentId: ShapeParentId;
7
+ type: ShapeRecord["type"];
8
+ }
9
+ export interface EditorToolState {
10
+ activeToolId: string;
11
+ isToolLocked: boolean;
12
+ }
13
+ export interface EditorShapeEditingState {
14
+ editingShapeId: ShapeId | null;
15
+ session: ShapeEditingSession | null;
16
+ }
17
+ export interface EditorSelectionState {
18
+ count: number;
19
+ singleShapeType: ShapeRecord["type"] | null;
20
+ commonShapeType: ShapeRecord["type"] | null;
21
+ canFlipSelection: boolean;
22
+ hasPointHandleSelection: boolean;
23
+ hasFrameSelection: boolean;
24
+ isMixedFrameAndPointHandleSelection: boolean;
25
+ canDragPointHandles: boolean;
26
+ hasSelectionRotation: boolean;
27
+ hasMixedSelectionRotation: boolean;
28
+ canResetSelectionRotation: boolean;
29
+ frameBounds: Box | null;
30
+ frameRotation: number;
31
+ frameRotationCenter: Vec | null;
32
+ selectionAnchorPagePoint: Vec | null;
33
+ }
34
+ export type EditorSelectionMetadata = Omit<EditorSelectionState, "frameBounds" | "frameRotation" | "frameRotationCenter" | "selectionAnchorPagePoint">;
@@ -0,0 +1,82 @@
1
+ import type { Signal } from "../../../signals/index";
2
+ import type { Box } from "../../geometry/box";
3
+ import type { Mat } from "../../geometry/mat";
4
+ import type { Vec } from "../../geometry/vec";
5
+ import type { Camera, PageId, PageRecord, SessionRecord, ShapeEditingEntryRequest, ShapeEditingSession, ShapeId, ShapeRecord } from "../../schema/records";
6
+ import type { HistoryState } from "../history/historyManager";
7
+ import type { BindingPreviewState, SelectionBindingSegment, SelectionOverlayFrameGeometryState, SelectionOverlayFrameStyleState, SelectionOverlayHandleAnchorsState, SelectionOverlayHandlesState, SnapIndicatorState, TerminalBindingGuideState } from "../selection/selection";
8
+ import type { SelectedShapeOverlayItem } from "../selection/selectionOverlay";
9
+ import type { RenderItem } from "../viewport/renderWindow";
10
+ import type { EditorSelectionMetadata, EditorSelectionState, EditorShapeEditingState, EditorToolState, ShapeTreeSnapshotEntry } from "./editorReadModels";
11
+ export interface EditorStateSignals {
12
+ readonly readonly: Signal<boolean>;
13
+ readonly session: Signal<SessionRecord>;
14
+ readonly pages: Signal<PageRecord[]>;
15
+ readonly currentPageId: Signal<PageId>;
16
+ readonly currentPageShapeIds: Signal<ShapeId[]>;
17
+ readonly currentPageShapes: Signal<ShapeRecord[]>;
18
+ readonly currentPageShapeTree: Signal<ShapeTreeSnapshotEntry[]>;
19
+ readonly tool: Signal<EditorToolState>;
20
+ readonly editingShapeId: Signal<ShapeId | null>;
21
+ readonly shapeEditingSession: Signal<ShapeEditingSession | null>;
22
+ readonly shapeEditing: Signal<EditorShapeEditingState>;
23
+ readonly shapeEditingEntryRequest: Signal<ShapeEditingEntryRequest | null>;
24
+ readonly selectedShapeIds: Signal<ShapeId[]>;
25
+ readonly selectedShapeIdSet: Signal<Set<ShapeId>>;
26
+ readonly selectedShapes: Signal<ShapeRecord[]>;
27
+ readonly selectionCount: Signal<number>;
28
+ readonly selection: Signal<EditorSelectionState>;
29
+ readonly selectionMetadata: Signal<EditorSelectionMetadata>;
30
+ readonly selectionPageBounds: Signal<Box | null>;
31
+ readonly selectionFrameBounds: Signal<Box | null>;
32
+ readonly selectionAnchorPagePoint: Signal<Vec | null>;
33
+ readonly camera: Signal<Camera>;
34
+ readonly cameraZoom: Signal<number>;
35
+ readonly pageTransform: Signal<Mat>;
36
+ readonly viewportScreenSize: Signal<{
37
+ w: number;
38
+ h: number;
39
+ }>;
40
+ readonly viewportPageBounds: Signal<Box | null>;
41
+ readonly history: Signal<HistoryState>;
42
+ }
43
+ export interface EditorRenderViewportSignals {
44
+ readonly pageBounds: Signal<Box | null>;
45
+ readonly items: Signal<RenderItem[]>;
46
+ readonly shapeOrderById: Signal<Map<ShapeId, number>>;
47
+ readonly culledShapeIds: Signal<ShapeId[]>;
48
+ readonly culledShapeIdSet: Signal<Set<ShapeId>>;
49
+ readonly selectedShapeIdsOutsideCulled: Signal<ShapeId[]>;
50
+ readonly selectedShapeIdsOutsideCulledSet: Signal<Set<ShapeId>>;
51
+ readonly visibleShapeIds: Signal<ShapeId[]>;
52
+ readonly visibleShapeIdSet: Signal<Set<ShapeId>>;
53
+ readonly retainedShapeIds: Signal<ShapeId[]>;
54
+ }
55
+ export interface EditorRenderOverlaySignals {
56
+ readonly selectedShapeItems: Signal<SelectedShapeOverlayItem[]>;
57
+ readonly frameGeometry: Signal<SelectionOverlayFrameGeometryState | null>;
58
+ readonly companionFrameGeometries: Signal<SelectionOverlayFrameGeometryState[]>;
59
+ readonly path: Signal<string | null>;
60
+ readonly pageClipPath: Signal<string | null>;
61
+ readonly bindingSegments: Signal<SelectionBindingSegment[]>;
62
+ readonly frameStyle: Signal<SelectionOverlayFrameStyleState>;
63
+ readonly handleAnchors: Signal<SelectionOverlayHandleAnchorsState | null>;
64
+ readonly handles: Signal<SelectionOverlayHandlesState | null>;
65
+ }
66
+ export interface EditorRenderInteractionSignals {
67
+ readonly brushBox: Signal<Box | null>;
68
+ readonly brushBoxActive: Signal<boolean>;
69
+ readonly bindingPreview: Signal<BindingPreviewState | null>;
70
+ readonly bindingPreviewActive: Signal<boolean>;
71
+ readonly terminalBindingGuides: Signal<TerminalBindingGuideState[]>;
72
+ readonly dropTargetShapeId: Signal<ShapeId | null>;
73
+ readonly hoveredShapeId: Signal<ShapeId | null>;
74
+ readonly selectionTranslationActive: Signal<boolean>;
75
+ readonly snapIndicators: Signal<SnapIndicatorState[]>;
76
+ readonly snapIndicatorsActive: Signal<boolean>;
77
+ }
78
+ export interface EditorRenderSignals {
79
+ readonly viewport: EditorRenderViewportSignals;
80
+ readonly overlay: EditorRenderOverlaySignals;
81
+ readonly interaction: EditorRenderInteractionSignals;
82
+ }
@@ -0,0 +1,9 @@
1
+ import type { ShapeRecord } from "../../schema/records";
2
+ import type { BindingPreviewState } from "../selection/selection";
3
+ import type { RenderItem } from "../viewport/renderWindow";
4
+ import type { EditorSelectionMetadata } from "./editorReadModels";
5
+ export declare function areEditorSelectionMetadataEqual(left: EditorSelectionMetadata, right: EditorSelectionMetadata): boolean;
6
+ export declare function areBindingPreviewStatesEqual(left: BindingPreviewState | null, right: BindingPreviewState | null): boolean;
7
+ export declare function areRenderItemsEqual(left: readonly RenderItem[], right: readonly RenderItem[]): boolean;
8
+ export declare function getCommonShapeType(shapes: readonly ShapeRecord[]): ShapeRecord["type"] | null;
9
+ export declare function areShapePropsPatchesEqual(left: Readonly<Record<string, unknown>>, right: Readonly<Record<string, unknown>>): boolean;