@weasel-js/core 1.11.0 → 1.12.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 +611 -0
- package/README.md +1 -1
- package/dist/WeaselProvider.js +1 -1
- package/dist/affordances/pathAnchors.js +10 -6
- package/dist/affordances/pathAnchors.js.map +1 -1
- package/dist/animation/index.js +3 -3
- package/dist/animation/rig/bindRig.js +1 -1
- package/dist/animation/rig/rigNode.js.map +1 -1
- package/dist/barrel/canvas.js +9 -3
- package/dist/barrel/interactions.js +5 -4
- package/dist/barrel/paint.js +4 -4
- package/dist/barrel/paths.js +10 -6
- package/dist/barrel/renderer.js +5 -3
- package/dist/barrel/routing.js +7 -12
- package/dist/barrel/scene.js +9 -5
- package/dist/barrel/text.js +2 -2
- package/dist/barrel/viewport.js +9 -4
- package/dist/canvas/Canvas.js +5 -2
- package/dist/canvas/Canvas.js.map +1 -1
- package/dist/canvas/CanvasView.js +23 -34
- package/dist/canvas/CanvasView.js.map +1 -1
- package/dist/canvas/ModalityHud.js +1 -1
- package/dist/canvas/NodeShape.js +4 -1
- package/dist/canvas/NodeShape.js.map +1 -1
- package/dist/canvas/SceneCanvas/ActionsProviderIfRoot.js +1 -1
- package/dist/canvas/SceneCanvas/DepRegistryProviderIfRoot.js +1 -1
- package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js +1 -1
- package/dist/canvas/SceneCanvas/SceneCanvasInput.js +17 -3
- package/dist/canvas/SceneCanvas/SceneCanvasInput.js.map +1 -1
- package/dist/canvas/SceneCanvas/SurfaceDeclarations.js +23 -0
- package/dist/canvas/SceneCanvas/SurfaceDeclarations.js.map +1 -0
- package/dist/canvas/SceneCanvas/builtinToolSets.js +30 -0
- package/dist/canvas/SceneCanvas/builtinToolSets.js.map +1 -0
- package/dist/canvas/SceneCanvas/canvasPassThrough.js +2 -0
- package/dist/canvas/SceneCanvas/canvasPassThrough.js.map +1 -1
- package/dist/canvas/SceneCanvas/coordTrace.js +5 -16
- package/dist/canvas/SceneCanvas/coordTrace.js.map +1 -1
- package/dist/canvas/SceneCanvas/defaultNodeProperties.js +5 -0
- package/dist/canvas/SceneCanvas/defaultNodeProperties.js.map +1 -1
- package/dist/canvas/SceneCanvas/features.js +45 -5
- package/dist/canvas/SceneCanvas/features.js.map +1 -1
- package/dist/canvas/SceneCanvas/props.js +1 -11
- package/dist/canvas/SceneCanvas/props.js.map +1 -1
- package/dist/canvas/SceneCanvas/scenePointQuery.js +7 -3
- package/dist/canvas/SceneCanvas/scenePointQuery.js.map +1 -1
- package/dist/canvas/SceneCanvas/toolRegistry.js +8 -4
- package/dist/canvas/SceneCanvas/toolRegistry.js.map +1 -1
- package/dist/canvas/SceneCanvas/useActionTunings.js +6 -1
- package/dist/canvas/SceneCanvas/useActionTunings.js.map +1 -1
- package/dist/canvas/SceneCanvas/useActionsPropResolver.js +1 -11
- package/dist/canvas/SceneCanvas/useActionsPropResolver.js.map +1 -1
- package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js.map +1 -1
- package/dist/canvas/SceneCanvas/useBuiltinTools.js +2 -9
- package/dist/canvas/SceneCanvas/useBuiltinTools.js.map +1 -1
- package/dist/canvas/SceneCanvas/useCanvasDevtoolsRoot.js +94 -0
- package/dist/canvas/SceneCanvas/useCanvasDevtoolsRoot.js.map +1 -0
- package/dist/canvas/SceneCanvas/useCanvasSelection.js +7 -2
- package/dist/canvas/SceneCanvas/useCanvasSelection.js.map +1 -1
- package/dist/canvas/SceneCanvas/useCanvasTools.js +15 -10
- package/dist/canvas/SceneCanvas/useCanvasTools.js.map +1 -1
- package/dist/canvas/SceneCanvas/useNodeKinds.js +1 -1
- package/dist/canvas/SceneCanvas/useNodeKinds.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneCanvasHandle.js +9 -3
- package/dist/canvas/SceneCanvas/useSceneCanvasHandle.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js +23 -4
- package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneCanvasTools.js +2 -3
- package/dist/canvas/SceneCanvas/useSceneCanvasTools.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneChrome.js +6 -7
- package/dist/canvas/SceneCanvas/useSceneChrome.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneGestureDispatcher.js +24 -7
- package/dist/canvas/SceneCanvas/useSceneGestureDispatcher.js.map +1 -1
- package/dist/canvas/SceneCanvas/useScenePicking.js +2 -3
- package/dist/canvas/SceneCanvas/useScenePicking.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneSelectTool.js +2 -1
- package/dist/canvas/SceneCanvas/useSceneSelectTool.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneStandardActions.js +5 -5
- package/dist/canvas/SceneCanvas/useSceneStandardActions.js.map +1 -1
- package/dist/canvas/SceneCanvas.js +27 -24
- package/dist/canvas/SceneCanvas.js.map +1 -1
- package/dist/canvas/SurfaceCanvas.js +5 -22
- package/dist/canvas/SurfaceCanvas.js.map +1 -1
- package/dist/canvas/ViewMarker.js +35 -0
- package/dist/canvas/ViewMarker.js.map +1 -0
- package/dist/canvas/canvasRenderer.js +9 -5
- package/dist/canvas/canvasRenderer.js.map +1 -1
- package/dist/canvas/contextAttributes.js +14 -0
- package/dist/canvas/contextAttributes.js.map +1 -0
- package/dist/canvas/defaultDrawOne.js +2 -0
- package/dist/canvas/defaultDrawOne.js.map +1 -1
- package/dist/canvas/deps/booleans.js +2 -1
- package/dist/canvas/deps/booleans.js.map +1 -1
- package/dist/canvas/deps/editAnchors.js +9 -113
- package/dist/canvas/deps/editAnchors.js.map +1 -1
- package/dist/canvas/deps/hitTestArea.js +2 -2
- package/dist/canvas/deps/hitTestArea.js.map +1 -1
- package/dist/canvas/deps/insert.js +10 -4
- package/dist/canvas/deps/insert.js.map +1 -1
- package/dist/canvas/deps/pathEditCommits.js +189 -0
- package/dist/canvas/deps/pathEditCommits.js.map +1 -0
- package/dist/canvas/deps/snap.js +12 -9
- package/dist/canvas/deps/snap.js.map +1 -1
- package/dist/canvas/deps/transformFollowers.js +20 -0
- package/dist/canvas/deps/transformFollowers.js.map +1 -0
- package/dist/canvas/derivedPath.js +20 -1
- package/dist/canvas/derivedPath.js.map +1 -1
- package/dist/canvas/drawnBounds.js +38 -4
- package/dist/canvas/drawnBounds.js.map +1 -1
- package/dist/canvas/inheritedPaints.js +44 -0
- package/dist/canvas/inheritedPaints.js.map +1 -0
- package/dist/canvas/nodeShapes/derivedPainter.js +23 -16
- package/dist/canvas/nodeShapes/derivedPainter.js.map +1 -1
- package/dist/canvas/nodeShapes/nodePaint.js +13 -34
- package/dist/canvas/nodeShapes/nodePaint.js.map +1 -1
- package/dist/canvas/nodeShapes/pathPainter.js +12 -10
- package/dist/canvas/nodeShapes/pathPainter.js.map +1 -1
- package/dist/canvas/nodeShapes/rectFallbackPainter.js +4 -5
- package/dist/canvas/nodeShapes/rectFallbackPainter.js.map +1 -1
- package/dist/canvas/nodeShapes/shapePainter.js +12 -11
- package/dist/canvas/nodeShapes/shapePainter.js.map +1 -1
- package/dist/canvas/nodeShapes/textPainter.js +13 -12
- package/dist/canvas/nodeShapes/textPainter.js.map +1 -1
- package/dist/canvas/overlayRoleStrokes.js +12 -0
- package/dist/canvas/overlayRoleStrokes.js.map +1 -1
- package/dist/canvas/pathOverlay.js +27 -7
- package/dist/canvas/pathOverlay.js.map +1 -1
- package/dist/canvas/pickReach.js +3 -3
- package/dist/canvas/pickReach.js.map +1 -1
- package/dist/canvas/pickWalk.js +3 -1
- package/dist/canvas/pickWalk.js.map +1 -1
- package/dist/canvas/renderDebugSnapshot.js +1 -0
- package/dist/canvas/renderDebugSnapshot.js.map +1 -1
- package/dist/canvas/renderSceneToPixels.js +7 -6
- package/dist/canvas/renderSceneToPixels.js.map +1 -1
- package/dist/canvas/sceneAdapter.js.map +1 -1
- package/dist/canvas/sceneSlotWiring.js +2 -1
- package/dist/canvas/sceneSlotWiring.js.map +1 -1
- package/dist/canvas/sceneViewRender.js +2 -1
- package/dist/canvas/sceneViewRender.js.map +1 -1
- package/dist/canvas/surfaceContribution.js +12 -8
- package/dist/canvas/surfaceContribution.js.map +1 -1
- package/dist/canvas/useCanvasPaint.js +2 -1
- package/dist/canvas/useCanvasPaint.js.map +1 -1
- package/dist/canvas/useCanvasView.js +4 -2
- package/dist/canvas/useCanvasView.js.map +1 -1
- package/dist/canvas/useInFlightBounds.js +52 -0
- package/dist/canvas/useInFlightBounds.js.map +1 -0
- package/dist/canvas/useLayerStack.js +6 -2
- package/dist/canvas/useLayerStack.js.map +1 -1
- package/dist/canvas/useViewAim.js +121 -0
- package/dist/canvas/useViewAim.js.map +1 -0
- package/dist/canvas/useViewHelpers.js +7 -9
- package/dist/canvas/useViewHelpers.js.map +1 -1
- package/dist/canvas/useViewNesting.js +3 -2
- package/dist/canvas/useViewNesting.js.map +1 -1
- package/dist/canvas/useViewRegistrySurface.js +4 -2
- package/dist/canvas/useViewRegistrySurface.js.map +1 -1
- package/dist/canvas/viewMarkers.js +63 -0
- package/dist/canvas/viewMarkers.js.map +1 -0
- package/dist/canvas/viewRegistry.js +27 -1
- package/dist/canvas/viewRegistry.js.map +1 -1
- package/dist/clipboard.d.ts +3 -2
- package/dist/{clone-DZDrfIlU.d.ts → clone-C3e0OTuF.d.ts} +8 -21
- package/dist/clone.d.ts +4 -3
- package/dist/core/geometry/autoPoseDescriptor.js +1 -1
- package/dist/core/ops/setDependsOn.js +37 -0
- package/dist/core/ops/setDependsOn.js.map +1 -0
- package/dist/core/ops/writtenBy.js +53 -0
- package/dist/core/ops/writtenBy.js.map +1 -0
- package/dist/core/pages/fitViewToPage.js +12 -1
- package/dist/core/pages/fitViewToPage.js.map +1 -1
- package/dist/core/pages/pageEdits.js +163 -0
- package/dist/core/pages/pageEdits.js.map +1 -0
- package/dist/core/pages/pages.js +30 -1
- package/dist/core/pages/pages.js.map +1 -1
- package/dist/core/paint/meshKindLazy.js +59 -2
- package/dist/core/paint/meshKindLazy.js.map +1 -1
- package/dist/core/scene/NodeRouting.js +8 -3
- package/dist/core/scene/NodeRouting.js.map +1 -1
- package/dist/core/scene/arrivalWindow.js.map +1 -1
- package/dist/core/scene/carryDescendants.js +51 -0
- package/dist/core/scene/carryDescendants.js.map +1 -0
- package/dist/core/scene/clipNothing.js +13 -0
- package/dist/core/scene/clipNothing.js.map +1 -0
- package/dist/core/scene/depMemo.js +11 -3
- package/dist/core/scene/depMemo.js.map +1 -1
- package/dist/core/scene/dependents.js +7 -1
- package/dist/core/scene/dependents.js.map +1 -1
- package/dist/core/scene/derivedParts.js +10 -11
- package/dist/core/scene/derivedParts.js.map +1 -1
- package/dist/core/scene/docValues.js +57 -0
- package/dist/core/scene/docValues.js.map +1 -0
- package/dist/core/scene/editPass.js +111 -0
- package/dist/core/scene/editPass.js.map +1 -0
- package/dist/core/scene/effectivePose.js +13 -2
- package/dist/core/scene/effectivePose.js.map +1 -1
- package/dist/core/scene/fieldEdits.js +4 -1
- package/dist/core/scene/fieldEdits.js.map +1 -1
- package/dist/core/scene/fontReads.js +37 -0
- package/dist/core/scene/fontReads.js.map +1 -0
- package/dist/core/scene/historyFacade.js +1 -0
- package/dist/core/scene/historyFacade.js.map +1 -1
- package/dist/core/scene/inheritedPaint.js +75 -0
- package/dist/core/scene/inheritedPaint.js.map +1 -0
- package/dist/core/scene/kitRegistry.js +5 -0
- package/dist/core/scene/kitRegistry.js.map +1 -1
- package/dist/core/scene/layoutPass.js +28 -3
- package/dist/core/scene/layoutPass.js.map +1 -1
- package/dist/core/scene/nodeMemo.js +15 -7
- package/dist/core/scene/nodeMemo.js.map +1 -1
- package/dist/core/scene/pathEffects/blend.js.map +1 -1
- package/dist/core/scene/pathEffects/derive.js +7 -2
- package/dist/core/scene/pathEffects/derive.js.map +1 -1
- package/dist/core/scene/pathEffects/effects.js +3 -1
- package/dist/core/scene/pathEffects/effects.js.map +1 -1
- package/dist/core/scene/pathEffects/textAlong.js +95 -0
- package/dist/core/scene/pathEffects/textAlong.js.map +1 -0
- package/dist/core/scene/recorder.js +28 -19
- package/dist/core/scene/recorder.js.map +1 -1
- package/dist/core/scene/scene.js +15 -9
- package/dist/core/scene/scene.js.map +1 -1
- package/dist/core/scene/sceneChanges.js +13 -0
- package/dist/core/scene/sceneChanges.js.map +1 -0
- package/dist/core/scene/sceneEdits.js +8 -1
- package/dist/core/scene/sceneEdits.js.map +1 -1
- package/dist/core/scene/sceneMutators.js +1 -0
- package/dist/core/scene/sceneMutators.js.map +1 -1
- package/dist/core/scene/sceneRecording.js +20 -3
- package/dist/core/scene/sceneRecording.js.map +1 -1
- package/dist/core/scene/sceneSelection.js +4 -1
- package/dist/core/scene/sceneSelection.js.map +1 -1
- package/dist/core/scene/sceneState.js +11 -5
- package/dist/core/scene/sceneState.js.map +1 -1
- package/dist/core/scene/serialization.js +5 -3
- package/dist/core/scene/serialization.js.map +1 -1
- package/dist/core/scene/types.js.map +1 -1
- package/dist/core/scene/unitScopes.js +19 -1
- package/dist/core/scene/unitScopes.js.map +1 -1
- package/dist/core/selection/usePublishSceneSelection.js +6 -12
- package/dist/core/selection/usePublishSceneSelection.js.map +1 -1
- package/dist/core/shapeKinds.js +25 -11
- package/dist/core/shapeKinds.js.map +1 -1
- package/dist/{cornerHandles-Camw_yeu.d.ts → cornerHandles-p8fDIAKt.d.ts} +3 -2
- package/dist/debug/createDebugOverlayLayer.js +16 -111
- package/dist/debug/createDebugOverlayLayer.js.map +1 -1
- package/dist/debug/createDebugSink.js +2 -1
- package/dist/debug/createDebugSink.js.map +1 -1
- package/dist/debug/defaultTheme.js +4 -2
- package/dist/debug/defaultTheme.js.map +1 -1
- package/dist/debug/features.js +17 -0
- package/dist/debug/features.js.map +1 -0
- package/dist/debug/overlayPanels.js +117 -0
- package/dist/debug/overlayPanels.js.map +1 -0
- package/dist/debug/parseDebugFlags.js +4 -13
- package/dist/debug/parseDebugFlags.js.map +1 -1
- package/dist/{depSchema-Cgfu_G9s.d.ts → depSchema-mG19aEdD.d.ts} +174 -904
- package/dist/devtools/handlers.js +112 -0
- package/dist/devtools/handlers.js.map +1 -0
- package/dist/devtools/history.js +71 -0
- package/dist/devtools/history.js.map +1 -0
- package/dist/devtools/hook.js +74 -0
- package/dist/devtools/hook.js.map +1 -0
- package/dist/devtools/label.js +25 -0
- package/dist/devtools/label.js.map +1 -0
- package/dist/devtools/notices.js +58 -0
- package/dist/devtools/notices.js.map +1 -0
- package/dist/devtools/protocol.js +7 -0
- package/dist/devtools/protocol.js.map +1 -0
- package/dist/devtools/registry.js +90 -0
- package/dist/devtools/registry.js.map +1 -0
- package/dist/devtools/root.js +80 -0
- package/dist/devtools/root.js.map +1 -0
- package/dist/devtools/serialize.js +86 -0
- package/dist/devtools/serialize.js.map +1 -0
- package/dist/devtools/session.js +111 -0
- package/dist/devtools/session.js.map +1 -0
- package/dist/devtools/transport.js +67 -0
- package/dist/devtools/transport.js.map +1 -0
- package/dist/devtools/useDevtoolsRoot.js +81 -0
- package/dist/devtools/useDevtoolsRoot.js.map +1 -0
- package/dist/devtools-protocol.d.ts +435 -0
- package/dist/devtools-protocol.js +7 -0
- package/dist/devtools.d.ts +8 -0
- package/dist/devtools.js +12 -0
- package/dist/devtools.js.map +1 -0
- package/dist/features/chrome-caps/useHoverTracking.js +16 -10
- package/dist/features/chrome-caps/useHoverTracking.js.map +1 -1
- package/dist/features/ingestion/contentHandlers.js +25 -2
- package/dist/features/ingestion/contentHandlers.js.map +1 -1
- package/dist/features/measure/measureCommands.js +7 -5
- package/dist/features/measure/measureCommands.js.map +1 -1
- package/dist/features/measure/measureContribution.js +4 -2
- package/dist/features/measure/measureContribution.js.map +1 -1
- package/dist/features/modes/modeTriggers.js +7 -3
- package/dist/features/modes/modeTriggers.js.map +1 -1
- package/dist/features/pathEffects/effectSources.js +60 -0
- package/dist/features/pathEffects/effectSources.js.map +1 -0
- package/dist/features/pathEffects/readSource.js +17 -1
- package/dist/features/pathEffects/readSource.js.map +1 -1
- package/dist/features/pathEffects/textItems.js +53 -0
- package/dist/features/pathEffects/textItems.js.map +1 -0
- package/dist/features/pathEffects/useEffectSourcesLayer.js +57 -0
- package/dist/features/pathEffects/useEffectSourcesLayer.js.map +1 -0
- package/dist/features/paths/index.js +2 -2
- package/dist/features/paths/pathEditExtension.js.map +1 -1
- package/dist/features/paths/pathEditState.js +5 -2
- package/dist/features/paths/pathEditState.js.map +1 -1
- package/dist/features/paths/pathSnap/pathSnapSource.js +5 -5
- package/dist/features/paths/pathSnap/pathSnapSource.js.map +1 -1
- package/dist/features/paths/pathSnap/sceneIndex.js +10 -3
- package/dist/features/paths/pathSnap/sceneIndex.js.map +1 -1
- package/dist/features/selection/selectionPose.js +4 -1
- package/dist/features/selection/selectionPose.js.map +1 -1
- package/dist/features/snap/gather.js +9 -1
- package/dist/features/snap/gather.js.map +1 -1
- package/dist/features/snap/lazySession.js +17 -0
- package/dist/features/snap/lazySession.js.map +1 -0
- package/dist/features/snap/marks.js.map +1 -1
- package/dist/features/snap/probes2d.js +27 -19
- package/dist/features/snap/probes2d.js.map +1 -1
- package/dist/features/snap/readoutLayer.js.map +1 -1
- package/dist/features/snap/roles.js +2 -1
- package/dist/features/snap/roles.js.map +1 -1
- package/dist/features/snap/rotationSource.js +25 -8
- package/dist/features/snap/rotationSource.js.map +1 -1
- package/dist/features/snap/sceneSession2d.js +6 -4
- package/dist/features/snap/sceneSession2d.js.map +1 -1
- package/dist/features/snap/session2d.js +37 -23
- package/dist/features/snap/session2d.js.map +1 -1
- package/dist/features/snap/spanSnap.js +5 -2
- package/dist/features/snap/spanSnap.js.map +1 -1
- package/dist/features/text/sceneTextDrafts.js +65 -0
- package/dist/features/text/sceneTextDrafts.js.map +1 -0
- package/dist/features/text/textHitAt.js +31 -2
- package/dist/features/text/textHitAt.js.map +1 -1
- package/dist/features/text/useSceneTextEdit.js +22 -18
- package/dist/features/text/useSceneTextEdit.js.map +1 -1
- package/dist/features/viewports/aim.js +105 -0
- package/dist/features/viewports/aim.js.map +1 -0
- package/dist/features/viewports/viewMarker.js +82 -0
- package/dist/features/viewports/viewMarker.js.map +1 -0
- package/dist/features/viewports/viewMarkerDrag.js +55 -0
- package/dist/features/viewports/viewMarkerDrag.js.map +1 -0
- package/dist/icons.table.js +1 -1
- package/dist/icons.table.js.map +1 -1
- package/dist/icons.table.json +0 -10
- package/dist/index.d.ts +1198 -894
- package/dist/index.js +55 -38
- package/dist/interactions/actions/align/action.js +6 -4
- package/dist/interactions/actions/align/action.js.map +1 -1
- package/dist/interactions/actions/align/align.js.map +1 -1
- package/dist/interactions/actions/booleans/action.js +7 -1
- package/dist/interactions/actions/booleans/action.js.map +1 -1
- package/dist/interactions/actions/booleans/booleans.js +2 -1
- package/dist/interactions/actions/booleans/booleans.js.map +1 -1
- package/dist/interactions/actions/booleans/operands.js +6 -5
- package/dist/interactions/actions/booleans/operands.js.map +1 -1
- package/dist/interactions/actions/clipboard/action.js +27 -17
- package/dist/interactions/actions/clipboard/action.js.map +1 -1
- package/dist/interactions/actions/clone/action.js +1 -1
- package/dist/interactions/actions/clone/behaviors.js +4 -4
- package/dist/interactions/actions/clone/behaviors.js.map +1 -1
- package/dist/interactions/actions/defaults/anchorEditing.js +44 -23
- package/dist/interactions/actions/defaults/anchorEditing.js.map +1 -1
- package/dist/interactions/actions/defaults/anchorJoin.js +12 -6
- package/dist/interactions/actions/defaults/anchorJoin.js.map +1 -1
- package/dist/interactions/actions/defaults/bendSegment.js +8 -5
- package/dist/interactions/actions/defaults/bendSegment.js.map +1 -1
- package/dist/interactions/actions/defaults/cancelGesture.js +11 -8
- package/dist/interactions/actions/defaults/cancelGesture.js.map +1 -1
- package/dist/interactions/actions/defaults/contextMenu.js +17 -8
- package/dist/interactions/actions/defaults/contextMenu.js.map +1 -1
- package/dist/interactions/actions/defaults/createPaintAction.js +2 -2
- package/dist/interactions/actions/defaults/createPaintAction.js.map +1 -1
- package/dist/interactions/actions/defaults/delete.js +64 -41
- package/dist/interactions/actions/defaults/delete.js.map +1 -1
- package/dist/interactions/actions/defaults/duplicate.js +12 -9
- package/dist/interactions/actions/defaults/duplicate.js.map +1 -1
- package/dist/interactions/actions/defaults/enterPathEdit.js +19 -9
- package/dist/interactions/actions/defaults/enterPathEdit.js.map +1 -1
- package/dist/interactions/actions/defaults/escape.js +11 -8
- package/dist/interactions/actions/defaults/escape.js.map +1 -1
- package/dist/interactions/actions/defaults/exitPathEdit.js +7 -4
- package/dist/interactions/actions/defaults/exitPathEdit.js.map +1 -1
- package/dist/interactions/actions/defaults/group.js +21 -15
- package/dist/interactions/actions/defaults/group.js.map +1 -1
- package/dist/interactions/actions/defaults/ingest.js +17 -9
- package/dist/interactions/actions/defaults/ingest.js.map +1 -1
- package/dist/interactions/actions/defaults/insertPathAnchor.js +7 -4
- package/dist/interactions/actions/defaults/insertPathAnchor.js.map +1 -1
- package/dist/interactions/actions/defaults/nudge.js +21 -40
- package/dist/interactions/actions/defaults/nudge.js.map +1 -1
- package/dist/interactions/actions/defaults/pathEditTools.js +11 -8
- package/dist/interactions/actions/defaults/pathEditTools.js.map +1 -1
- package/dist/interactions/actions/defaults/pinchZoom.js +7 -4
- package/dist/interactions/actions/defaults/pinchZoom.js.map +1 -1
- package/dist/interactions/actions/defaults/reorder.js +24 -6
- package/dist/interactions/actions/defaults/reorder.js.map +1 -1
- package/dist/interactions/actions/defaults/selectAll.js +8 -5
- package/dist/interactions/actions/defaults/selectAll.js.map +1 -1
- package/dist/interactions/actions/defaults/setFill.js +7 -3
- package/dist/interactions/actions/defaults/setFill.js.map +1 -1
- package/dist/interactions/actions/defaults/setFillOpacity.js +1 -1
- package/dist/interactions/actions/defaults/setStroke.js +12 -11
- package/dist/interactions/actions/defaults/setStroke.js.map +1 -1
- package/dist/interactions/actions/defaults/setStrokeOpacity.js +1 -1
- package/dist/interactions/actions/defaults/toolActivate.js +7 -1
- package/dist/interactions/actions/defaults/toolActivate.js.map +1 -1
- package/dist/interactions/actions/defaults/toolResetToDefault.js +7 -4
- package/dist/interactions/actions/defaults/toolResetToDefault.js.map +1 -1
- package/dist/interactions/actions/defaults/undoRedo.js +19 -13
- package/dist/interactions/actions/defaults/undoRedo.js.map +1 -1
- package/dist/interactions/actions/defaults/viewportWheelPan.js +16 -7
- package/dist/interactions/actions/defaults/viewportWheelPan.js.map +1 -1
- package/dist/interactions/actions/defaults/viewportZoom.js +24 -6
- package/dist/interactions/actions/defaults/viewportZoom.js.map +1 -1
- package/dist/interactions/actions/distribute/action.js +6 -4
- package/dist/interactions/actions/distribute/action.js.map +1 -1
- package/dist/interactions/actions/drawnBoxes.js +2 -1
- package/dist/interactions/actions/drawnBoxes.js.map +1 -1
- package/dist/interactions/actions/edit-anchors/action.js +10 -10
- package/dist/interactions/actions/edit-anchors/action.js.map +1 -1
- package/dist/interactions/actions/edit-anchors/preview.js +41 -8
- package/dist/interactions/actions/edit-anchors/preview.js.map +1 -1
- package/dist/interactions/actions/flip/action.js +14 -6
- package/dist/interactions/actions/flip/action.js.map +1 -1
- package/dist/interactions/actions/gestureLifecycle.js +5 -2
- package/dist/interactions/actions/gestureLifecycle.js.map +1 -1
- package/dist/interactions/actions/insert/action.js +1 -2
- package/dist/interactions/actions/insert/action.js.map +1 -1
- package/dist/interactions/actions/insert/commit.js +1 -1
- package/dist/interactions/actions/insert/parent.js +11 -0
- package/dist/interactions/actions/insert/parent.js.map +1 -0
- package/dist/interactions/actions/insert/placeAction.js +7 -2
- package/dist/interactions/actions/insert/placeAction.js.map +1 -1
- package/dist/interactions/actions/insert/repositionAction.js +2 -1
- package/dist/interactions/actions/insert/repositionAction.js.map +1 -1
- package/dist/interactions/actions/insert/session.js +5 -1
- package/dist/interactions/actions/insert/session.js.map +1 -1
- package/dist/interactions/actions/move/action.js +15 -8
- package/dist/interactions/actions/move/action.js.map +1 -1
- package/dist/interactions/actions/move/behaviors/layoutDrop.js +0 -1
- package/dist/interactions/actions/move/behaviors/layoutDrop.js.map +1 -1
- package/dist/interactions/actions/move/behaviors/snapToContainer.js +1 -1
- package/dist/interactions/actions/move/capture.js +1 -1
- package/dist/interactions/actions/move/commit/index.js +0 -2
- package/dist/interactions/actions/move/commit/index.js.map +1 -1
- package/dist/interactions/actions/move/commit/layoutDrop.js +2 -2
- package/dist/interactions/actions/move/commit/layoutRelease.js +2 -2
- package/dist/interactions/actions/move/commit/reparent.js +11 -5
- package/dist/interactions/actions/move/commit/reparent.js.map +1 -1
- package/dist/interactions/actions/move/frame.js +4 -10
- package/dist/interactions/actions/move/frame.js.map +1 -1
- package/dist/interactions/actions/move/landedDescendants.js +20 -17
- package/dist/interactions/actions/move/landedDescendants.js.map +1 -1
- package/dist/interactions/actions/move/layout/container.js +2 -1
- package/dist/interactions/actions/move/layout/container.js.map +1 -1
- package/dist/interactions/actions/move/layout/dragged.js +1 -1
- package/dist/interactions/actions/move/layout/dropPass.js +18 -1
- package/dist/interactions/actions/move/layout/dropPass.js.map +1 -1
- package/dist/interactions/actions/move/layout/exits.js +5 -5
- package/dist/interactions/actions/move/layout/exits.js.map +1 -1
- package/dist/interactions/actions/move/session.js +14 -3
- package/dist/interactions/actions/move/session.js.map +1 -1
- package/dist/interactions/actions/move/translate.js +8 -37
- package/dist/interactions/actions/move/translate.js.map +1 -1
- package/dist/interactions/actions/moveNodes.js +87 -0
- package/dist/interactions/actions/moveNodes.js.map +1 -0
- package/dist/interactions/actions/outlines/createOutlinesAction.js +8 -5
- package/dist/interactions/actions/outlines/createOutlinesAction.js.map +1 -1
- package/dist/interactions/actions/outlines/outlineStroke.js +5 -3
- package/dist/interactions/actions/outlines/outlineStroke.js.map +1 -1
- package/dist/interactions/actions/pathCommands/cutJoin.js +8 -5
- package/dist/interactions/actions/pathCommands/cutJoin.js.map +1 -1
- package/dist/interactions/actions/planeInput.js.map +1 -1
- package/dist/interactions/actions/resize/action.js +83 -72
- package/dist/interactions/actions/resize/action.js.map +1 -1
- package/dist/interactions/actions/resize/commit.js +2 -1
- package/dist/interactions/actions/resize/commit.js.map +1 -1
- package/dist/interactions/actions/resize/cornerHandles.js +2 -1
- package/dist/interactions/actions/resize/cornerHandles.js.map +1 -1
- package/dist/interactions/actions/resize/session.js +2 -0
- package/dist/interactions/actions/resize/session.js.map +1 -1
- package/dist/interactions/actions/resolvePreviews.js +3 -3
- package/dist/interactions/actions/resolvePreviews.js.map +1 -1
- package/dist/interactions/actions/rotate/action.js +7 -4
- package/dist/interactions/actions/rotate/action.js.map +1 -1
- package/dist/interactions/actions/rotate/commit.js +2 -1
- package/dist/interactions/actions/rotate/commit.js.map +1 -1
- package/dist/interactions/actions/rotate/session.js +2 -0
- package/dist/interactions/actions/rotate/session.js.map +1 -1
- package/dist/interactions/actions/selectionSubtree.js +25 -9
- package/dist/interactions/actions/selectionSubtree.js.map +1 -1
- package/dist/interactions/actions/testUtils.js.map +1 -1
- package/dist/interactions/actions/transform-again/action.js +13 -11
- package/dist/interactions/actions/transform-again/action.js.map +1 -1
- package/dist/interactions/actions/transformFinish.js +106 -0
- package/dist/interactions/actions/transformFinish.js.map +1 -0
- package/dist/json.d.ts +4 -0
- package/dist/json.js +3 -0
- package/dist/kitSettingsSchema.js +8 -5
- package/dist/kitSettingsSchema.js.map +1 -1
- package/dist/{math-CrJULaZI.d.ts → math-B56zxVs5.d.ts} +10 -1
- package/dist/math.d.ts +1 -1
- package/dist/math.js +2 -1
- package/dist/move.d.ts +5 -4
- package/dist/{options-p9GZMXbY.d.ts → options-DBxEryYq.d.ts} +1 -1
- package/dist/resize.d.ts +4 -3
- package/dist/routing.d.ts +1 -1
- package/dist/routing.js +2 -2
- package/dist/test-hook/createTestHook.js +1 -1
- package/dist/test-hook/createTestHook.js.map +1 -1
- package/dist/test-hook/useTestHook.js +2 -1
- package/dist/test-hook/useTestHook.js.map +1 -1
- package/dist/test-seams.d.ts +9 -5
- package/dist/tools/builtin/ellipse/useEllipseTool.js +1 -0
- package/dist/tools/builtin/ellipse/useEllipseTool.js.map +1 -1
- package/dist/tools/builtin/eyedropper/useEyedropperTool.js +2 -1
- package/dist/tools/builtin/eyedropper/useEyedropperTool.js.map +1 -1
- package/dist/tools/builtin/hand/dragPanContribution.js +4 -1
- package/dist/tools/builtin/hand/dragPanContribution.js.map +1 -1
- package/dist/tools/builtin/hand/useHandTool.js +7 -4
- package/dist/tools/builtin/hand/useHandTool.js.map +1 -1
- package/dist/tools/builtin/image/useImageTool.js +1 -0
- package/dist/tools/builtin/image/useImageTool.js.map +1 -1
- package/dist/tools/builtin/lasso/useLassoTool.js +1 -0
- package/dist/tools/builtin/lasso/useLassoTool.js.map +1 -1
- package/dist/tools/builtin/line/useLineTool.js +1 -0
- package/dist/tools/builtin/line/useLineTool.js.map +1 -1
- package/dist/tools/builtin/measure/useMeasureTool.js +12 -5
- package/dist/tools/builtin/measure/useMeasureTool.js.map +1 -1
- package/dist/tools/builtin/pen/penHandle.js +3 -5
- package/dist/tools/builtin/pen/penHandle.js.map +1 -1
- package/dist/tools/builtin/pen/usePenTool.js +14 -6
- package/dist/tools/builtin/pen/usePenTool.js.map +1 -1
- package/dist/tools/builtin/pencil/usePencilTool.js +1 -0
- package/dist/tools/builtin/pencil/usePencilTool.js.map +1 -1
- package/dist/tools/builtin/polygon/usePolygonTool.js +13 -4
- package/dist/tools/builtin/polygon/usePolygonTool.js.map +1 -1
- package/dist/tools/builtin/rect/useRectTool.js +1 -0
- package/dist/tools/builtin/rect/useRectTool.js.map +1 -1
- package/dist/tools/builtin/select/adapterPointQuery.js +3 -2
- package/dist/tools/builtin/select/adapterPointQuery.js.map +1 -1
- package/dist/tools/builtin/select/pressDecision.js +32 -0
- package/dist/tools/builtin/select/pressDecision.js.map +1 -0
- package/dist/tools/builtin/select/selectionContributions.js +22 -13
- package/dist/tools/builtin/select/selectionContributions.js.map +1 -1
- package/dist/tools/builtin/select/useSelectTool.js +13 -10
- package/dist/tools/builtin/select/useSelectTool.js.map +1 -1
- package/dist/tools/builtin/slice/useSliceTool.js +22 -8
- package/dist/tools/builtin/slice/useSliceTool.js.map +1 -1
- package/dist/tools/builtin/star/useStarTool.js +13 -4
- package/dist/tools/builtin/star/useStarTool.js.map +1 -1
- package/dist/tools/builtin/sticky/stickyNode.js +4 -1
- package/dist/tools/builtin/sticky/stickyNode.js.map +1 -1
- package/dist/tools/builtin/sticky/useStickyTool.js +10 -5
- package/dist/tools/builtin/sticky/useStickyTool.js.map +1 -1
- package/dist/tools/builtin/text/useTextTool.js +3 -1
- package/dist/tools/builtin/text/useTextTool.js.map +1 -1
- package/dist/tools/index.js +26 -0
- package/dist/{types-CHVXGfYm.d.ts → types-7puAuVD2.d.ts} +3 -262
- package/dist/types-BN9hbdMI.d.ts +184 -0
- package/dist/types-CniVctmk.d.ts +949 -0
- package/dist/types-oFeQ5VjV.d.ts +264 -0
- package/dist/util/paint.js +1 -3
- package/dist/util/paint.js.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +39 -25
- package/dist/canvas/SceneCanvas/useBuiltinRigTools.js +0 -65
- package/dist/canvas/SceneCanvas/useBuiltinRigTools.js.map +0 -1
- package/dist/tools/builtin/bone/boneActions.js +0 -156
- package/dist/tools/builtin/bone/boneActions.js.map +0 -1
- package/dist/tools/builtin/bone/boneOverlay.js +0 -71
- package/dist/tools/builtin/bone/boneOverlay.js.map +0 -1
- package/dist/tools/builtin/bone/placedRig.js +0 -28
- package/dist/tools/builtin/bone/placedRig.js.map +0 -1
- package/dist/tools/builtin/bone/rigEditState.js +0 -30
- package/dist/tools/builtin/bone/rigEditState.js.map +0 -1
- package/dist/tools/builtin/bone/useBoneTool.js +0 -125
- package/dist/tools/builtin/bone/useBoneTool.js.map +0 -1
- package/dist/tools/builtin/weight/useWeightTool.js +0 -101
- package/dist/tools/builtin/weight/useWeightTool.js.map +0 -1
- package/dist/tools/builtin/weight/weightActions.js +0 -140
- package/dist/tools/builtin/weight/weightActions.js.map +0 -1
- package/dist/tools/builtin/weight/weightOverlay.js +0 -78
- package/dist/tools/builtin/weight/weightOverlay.js.map +0 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { ZOOM_FLOOR } from "../../core/viewport/zoomBounds.js";
|
|
2
|
+
import { normalizeView } from "../../core/viewport/view.js";
|
|
3
|
+
import { fitViewToBounds } from "../../core/viewport/fitViewToBounds.js";
|
|
4
|
+
|
|
5
|
+
//#region src/features/viewports/aim.ts
|
|
6
|
+
/** The aim of view `viewId` (`null`: a surface's root) showing world rect `rect`. */
|
|
7
|
+
function rectAim(viewId, rect) {
|
|
8
|
+
return {
|
|
9
|
+
viewId,
|
|
10
|
+
kind: "rect",
|
|
11
|
+
extent: rect,
|
|
12
|
+
outlineIn(space) {
|
|
13
|
+
const { x, y, width, height } = rect;
|
|
14
|
+
const out = [];
|
|
15
|
+
for (const corner of [
|
|
16
|
+
{
|
|
17
|
+
x,
|
|
18
|
+
y
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
x: x + width,
|
|
22
|
+
y
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
x: x + width,
|
|
26
|
+
y: y + height
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
x,
|
|
30
|
+
y: y + height
|
|
31
|
+
}
|
|
32
|
+
]) {
|
|
33
|
+
const p = space.project(corner);
|
|
34
|
+
if (!p) return null;
|
|
35
|
+
out.push(p);
|
|
36
|
+
}
|
|
37
|
+
return out;
|
|
38
|
+
},
|
|
39
|
+
pannedIn(space, from, to) {
|
|
40
|
+
const a = space.unproject(from);
|
|
41
|
+
const b = space.unproject(to);
|
|
42
|
+
if (!a || !b) return null;
|
|
43
|
+
return rectAim(viewId, {
|
|
44
|
+
...rect,
|
|
45
|
+
x: rect.x + (b.x - a.x),
|
|
46
|
+
y: rect.y + (b.y - a.y)
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/** Whether `aim` is core's 2D rect aim, so its `extent` is a world rect. */
|
|
52
|
+
function isRectAim(aim) {
|
|
53
|
+
return aim.kind === "rect";
|
|
54
|
+
}
|
|
55
|
+
/** A 2D view's frame: `view` is its camera and `size` its frame; frame px are measured from the frame's top-left. */
|
|
56
|
+
function aimSpace2d(viewId, view, size) {
|
|
57
|
+
return {
|
|
58
|
+
viewId,
|
|
59
|
+
kind: "2d",
|
|
60
|
+
size: {
|
|
61
|
+
width: size.width,
|
|
62
|
+
height: size.height
|
|
63
|
+
},
|
|
64
|
+
project: (p) => ({
|
|
65
|
+
x: (p.x - view.x) * view.scale.x,
|
|
66
|
+
y: (p.y - view.y) * view.scale.y
|
|
67
|
+
}),
|
|
68
|
+
unproject: (px) => ({
|
|
69
|
+
x: px.x / view.scale.x + view.x,
|
|
70
|
+
y: px.y / view.scale.y + view.y
|
|
71
|
+
})
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
var UNUSED_CURRENT = {
|
|
75
|
+
x: 0,
|
|
76
|
+
y: 0,
|
|
77
|
+
scale: {
|
|
78
|
+
x: 1,
|
|
79
|
+
y: 1
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* The camera that shows `rect` in a frame of `size`: `'exact'` per axis (the inverse of `viewportWorldRect`),
|
|
84
|
+
* `'contain'` uniform and centered. Not clamped to a zoom range, and finite for an empty rect or frame. Normalized.
|
|
85
|
+
*/
|
|
86
|
+
function viewForAim(rect, size, fit) {
|
|
87
|
+
if (!(rect.width > 0 && rect.height > 0 && size.width > 0 && size.height > 0)) return normalizeView({
|
|
88
|
+
x: rect.x,
|
|
89
|
+
y: rect.y,
|
|
90
|
+
scale: {
|
|
91
|
+
x: ZOOM_FLOOR,
|
|
92
|
+
y: ZOOM_FLOOR
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
return normalizeView(fitViewToBounds(rect, size, UNUSED_CURRENT, {
|
|
96
|
+
mode: fit === "exact" ? "stretch" : "contain",
|
|
97
|
+
padding: 0,
|
|
98
|
+
minScale: 0,
|
|
99
|
+
maxScale: Infinity
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
//#endregion
|
|
104
|
+
export { aimSpace2d, isRectAim, rectAim, viewForAim };
|
|
105
|
+
//# sourceMappingURL=aim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aim.js","names":[],"sources":["../../../src/features/viewports/aim.ts"],"sourcesContent":["import { fitViewToBounds, type Bounds } from 'core/viewport/fitViewToBounds';\nimport type { Dims } from 'core/layers/render';\nimport { normalizeView, type View } from 'core/viewport/view';\nimport { ZOOM_FLOOR } from 'core/viewport/zoomBounds';\n\n/** A point in a view's world. A 2D world is the plane z = 0, so `z` is absent there. */\nexport interface AimPoint {\n x: number;\n y: number;\n z?: number;\n}\n\n/** A closed outline in a frame's CSS px, from the frame's top-left; at least 3 points. */\nexport type AimOutline = readonly { x: number; y: number }[];\n\n/** A target view, as an aim is drawn into it: its world, and its frame. */\nexport interface AimSpace {\n /** The view whose frame this is; `null` for a surface's root view. */\n readonly viewId: string | null;\n /** `'2d'` for core's views; any other value is its owner's (kernel3d: `'3d'`). */\n readonly kind: string;\n readonly size: { width: number; height: number };\n /** World point to frame px; `null` where the point does not draw (behind a 3D camera). */\n project(p: AimPoint): { x: number; y: number } | null;\n /** Frame px to the world point under it; `null` where there is none (a 3D ray missing its plane). */\n unproject(px: { x: number; y: number }): AimPoint | null;\n}\n\n/** What a viewport shows, read in the world of the view it names. */\nexport interface ViewAim<TExtent = unknown> {\n readonly viewId: string | null;\n /** Discriminates `extent`: `'rect'` for core's 2D views. */\n readonly kind: string;\n /** Where the aim lies in its world, in its owner's own terms. */\n readonly extent: TExtent;\n /** The aim's outline in `space`'s frame, or `null` when it cannot be drawn there. */\n outlineIn(space: AimSpace): AimOutline | null;\n /** This aim moved so the world point under frame px `from` in `space` ends up under `to`; `null` when either misses. */\n pannedIn(space: AimSpace, from: { x: number; y: number }, to: { x: number; y: number }): ViewAim<TExtent> | null;\n}\n\n/** Core's 2D aim: a world rect a view shows. */\nexport type RectAim = ViewAim<Bounds> & { readonly kind: 'rect' };\n\n/** The aim of view `viewId` (`null`: a surface's root) showing world rect `rect`. */\nexport function rectAim(viewId: string | null, rect: Bounds): RectAim {\n return {\n viewId,\n kind: 'rect',\n extent: rect,\n outlineIn(space) {\n const { x, y, width, height } = rect;\n const out: { x: number; y: number }[] = [];\n for (const corner of [\n { x, y },\n { x: x + width, y },\n { x: x + width, y: y + height },\n { x, y: y + height },\n ]) {\n const p = space.project(corner);\n if (!p) return null;\n out.push(p);\n }\n return out;\n },\n pannedIn(space, from, to) {\n const a = space.unproject(from);\n const b = space.unproject(to);\n if (!a || !b) return null;\n return rectAim(viewId, { ...rect, x: rect.x + (b.x - a.x), y: rect.y + (b.y - a.y) });\n },\n };\n}\n\n/** Whether `aim` is core's 2D rect aim, so its `extent` is a world rect. */\nexport function isRectAim(aim: ViewAim): aim is RectAim {\n return aim.kind === 'rect';\n}\n\n/** A 2D view's frame: `view` is its camera and `size` its frame; frame px are measured from the frame's top-left. */\nexport function aimSpace2d(viewId: string | null, view: View, size: Dims): AimSpace {\n return {\n viewId,\n kind: '2d',\n size: { width: size.width, height: size.height },\n project: (p) => ({ x: (p.x - view.x) * view.scale.x, y: (p.y - view.y) * view.scale.y }),\n unproject: (px) => ({ x: px.x / view.scale.x + view.x, y: px.y / view.scale.y + view.y }),\n };\n}\n\nconst UNUSED_CURRENT: View = { x: 0, y: 0, scale: { x: 1, y: 1 } };\n\n/**\n * The camera that shows `rect` in a frame of `size`: `'exact'` per axis (the inverse of `viewportWorldRect`),\n * `'contain'` uniform and centered. Not clamped to a zoom range, and finite for an empty rect or frame. Normalized.\n */\nexport function viewForAim(rect: Bounds, size: Dims, fit: 'exact' | 'contain'): View {\n if (!(rect.width > 0 && rect.height > 0 && size.width > 0 && size.height > 0)) {\n return normalizeView({ x: rect.x, y: rect.y, scale: { x: ZOOM_FLOOR, y: ZOOM_FLOOR } });\n }\n return normalizeView(fitViewToBounds(rect, size, UNUSED_CURRENT, {\n mode: fit === 'exact' ? 'stretch' : 'contain', padding: 0, minScale: 0, maxScale: Infinity,\n }));\n}\n"],"mappings":";;;;;;AA6CA,SAAgB,QAAQ,QAAuB,MAAuB;CACpE,OAAO;EACL;EACA,MAAM;EACN,QAAQ;EACR,UAAU,OAAO;GACf,MAAM,EAAE,GAAG,GAAG,OAAO,WAAW;GAChC,MAAM,MAAkC,CAAC;GACzC,KAAK,MAAM,UAAU;IACnB;KAAE;KAAG;IAAE;IACP;KAAE,GAAG,IAAI;KAAO;IAAE;IAClB;KAAE,GAAG,IAAI;KAAO,GAAG,IAAI;IAAO;IAC9B;KAAE;KAAG,GAAG,IAAI;IAAO;GACrB,GAAG;IACD,MAAM,IAAI,MAAM,QAAQ,MAAM;IAC9B,IAAI,CAAC,GAAG,OAAO;IACf,IAAI,KAAK,CAAC;GACZ;GACA,OAAO;EACT;EACA,SAAS,OAAO,MAAM,IAAI;GACxB,MAAM,IAAI,MAAM,UAAU,IAAI;GAC9B,MAAM,IAAI,MAAM,UAAU,EAAE;GAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO;GACrB,OAAO,QAAQ,QAAQ;IAAE,GAAG;IAAM,GAAG,KAAK,KAAK,EAAE,IAAI,EAAE;IAAI,GAAG,KAAK,KAAK,EAAE,IAAI,EAAE;GAAG,CAAC;EACtF;CACF;AACF;;AAGA,SAAgB,UAAU,KAA8B;CACtD,OAAO,IAAI,SAAS;AACtB;;AAGA,SAAgB,WAAW,QAAuB,MAAY,MAAsB;CAClF,OAAO;EACL;EACA,MAAM;EACN,MAAM;GAAE,OAAO,KAAK;GAAO,QAAQ,KAAK;EAAO;EAC/C,UAAU,OAAO;GAAE,IAAI,EAAE,IAAI,KAAK,KAAK,KAAK,MAAM;GAAG,IAAI,EAAE,IAAI,KAAK,KAAK,KAAK,MAAM;EAAE;EACtF,YAAY,QAAQ;GAAE,GAAG,GAAG,IAAI,KAAK,MAAM,IAAI,KAAK;GAAG,GAAG,GAAG,IAAI,KAAK,MAAM,IAAI,KAAK;EAAE;CACzF;AACF;AAEA,IAAM,iBAAuB;CAAE,GAAG;CAAG,GAAG;CAAG,OAAO;EAAE,GAAG;EAAG,GAAG;CAAE;AAAE;;;;;AAMjE,SAAgB,WAAW,MAAc,MAAY,KAAgC;CACnF,IAAI,EAAE,KAAK,QAAQ,KAAK,KAAK,SAAS,KAAK,KAAK,QAAQ,KAAK,KAAK,SAAS,IACzE,OAAO,cAAc;EAAE,GAAG,KAAK;EAAG,GAAG,KAAK;EAAG,OAAO;GAAE,GAAG;GAAY,GAAG;EAAW;CAAE,CAAC;CAExF,OAAO,cAAc,gBAAgB,MAAM,MAAM,gBAAgB;EAC/D,MAAM,QAAQ,UAAU,YAAY;EAAW,SAAS;EAAG,UAAU;EAAG,UAAU;CACpF,CAAC,CAAC;AACJ"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { aimSpace2d } from "./aim.js";
|
|
2
|
+
import { pointInPolygon, pointSegmentDist2, polygonFromPoints } from "@weasel-js/geom";
|
|
3
|
+
|
|
4
|
+
//#region src/features/viewports/viewMarker.ts
|
|
5
|
+
/** The marker style a {@link ViewMarkerProps.style} fills in from: the minimap indicator's. */
|
|
6
|
+
var VIEW_MARKER_DEFAULT_STYLE = {
|
|
7
|
+
stroke: "#ffffff",
|
|
8
|
+
width: 1,
|
|
9
|
+
dash: [2, 3]
|
|
10
|
+
};
|
|
11
|
+
/** The aim `source` names: a view's through `host`, or one handed in by value. */
|
|
12
|
+
function markerSourceAim(source, host) {
|
|
13
|
+
return source === null || typeof source === "string" ? host.aimOf(source) : source.aim();
|
|
14
|
+
}
|
|
15
|
+
/** A screen-space layer, id `view-marker:<id>`, drawing `props`'s source aim in the frame it is handed. */
|
|
16
|
+
function createViewMarkerLayer(props, host) {
|
|
17
|
+
const { id } = props();
|
|
18
|
+
return {
|
|
19
|
+
id: `view-marker:${id}`,
|
|
20
|
+
label: `View marker ${id}`,
|
|
21
|
+
space: "screen",
|
|
22
|
+
draw: (_data, view, dims) => {
|
|
23
|
+
const { source, target, style } = props();
|
|
24
|
+
if (source === target) return [];
|
|
25
|
+
const outline = markerSourceAim(source, host)?.outlineIn(aimSpace2d(target, view, dims));
|
|
26
|
+
if (!outline) return [];
|
|
27
|
+
const d = VIEW_MARKER_DEFAULT_STYLE;
|
|
28
|
+
return [{
|
|
29
|
+
kind: "path",
|
|
30
|
+
path: polygonFromPoints(outline),
|
|
31
|
+
stroke: {
|
|
32
|
+
paint: {
|
|
33
|
+
kind: "solid",
|
|
34
|
+
color: style?.stroke ?? d.stroke
|
|
35
|
+
},
|
|
36
|
+
width: style?.width ?? d.width,
|
|
37
|
+
dash: [...style?.dash ?? d.dash]
|
|
38
|
+
}
|
|
39
|
+
}];
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/** A press this many screen px outside the outline still counts. */
|
|
44
|
+
var VIEW_MARKER_HIT_SLOP_PX = 4;
|
|
45
|
+
/**
|
|
46
|
+
* The grab for a press at frame px `at` in `space`, the marker's target, or
|
|
47
|
+
* `null` when the marker is not interactive, its source has no writer or no
|
|
48
|
+
* aim, or `at` is not on its outline or within {@link VIEW_MARKER_HIT_SLOP_PX} of it. A surface with views
|
|
49
|
+
* calls this itself; a canvas with none, such as a detached minimap, calls it to route a press to its marker.
|
|
50
|
+
*/
|
|
51
|
+
function grabViewMarker(props, host, space, at) {
|
|
52
|
+
const { id, source, target, interactive } = props;
|
|
53
|
+
if (interactive === false || source === target) return null;
|
|
54
|
+
const write = source === null || typeof source === "string" ? (aim) => {
|
|
55
|
+
host.setAim(source, aim);
|
|
56
|
+
} : source.setAim?.bind(source);
|
|
57
|
+
if (!write) return null;
|
|
58
|
+
const startAim = markerSourceAim(source, host);
|
|
59
|
+
const outline = startAim?.outlineIn(space);
|
|
60
|
+
if (!startAim || !outline || !outlineHolds(outline, at, VIEW_MARKER_HIT_SLOP_PX)) return null;
|
|
61
|
+
return {
|
|
62
|
+
markerId: id,
|
|
63
|
+
moveTo: (world) => {
|
|
64
|
+
const to = space.project(world);
|
|
65
|
+
const next = to && startAim.pannedIn(space, at, to);
|
|
66
|
+
if (next) write(next);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function outlineHolds(outline, p, slop) {
|
|
71
|
+
if (pointInPolygon(outline.flatMap((q) => [q.x, q.y]), p.x, p.y)) return true;
|
|
72
|
+
for (let i = 0; i < outline.length; i++) {
|
|
73
|
+
const a = outline[i];
|
|
74
|
+
const b = outline[(i + 1) % outline.length];
|
|
75
|
+
if (pointSegmentDist2(p.x, p.y, a.x, a.y, b.x, b.y) <= slop * slop) return true;
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
//#endregion
|
|
81
|
+
export { VIEW_MARKER_DEFAULT_STYLE, VIEW_MARKER_HIT_SLOP_PX, createViewMarkerLayer, grabViewMarker, markerSourceAim };
|
|
82
|
+
//# sourceMappingURL=viewMarker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewMarker.js","names":[],"sources":["../../../src/features/viewports/viewMarker.ts"],"sourcesContent":["import { pointInPolygon, pointSegmentDist2, polygonFromPoints } from '@weasel-js/geom';\nimport type { DrawCommand } from '@weasel-js/renderer';\nimport type { RenderLayer } from 'core/layers/render';\nimport { aimSpace2d, type AimOutline, type AimSpace, type ViewAim } from './aim';\n\n/** An aim handed in by value (another surface's view, a 3D pane), with the writer that moves it. */\nexport interface AimSource {\n aim(): ViewAim | null;\n setAim?(aim: ViewAim): void;\n}\n\n/** How a marker's outline is stroked, in screen px. */\nexport interface ViewMarkerStyle {\n stroke?: string;\n width?: number;\n dash?: readonly number[];\n}\n\n/** One view's aim, drawn inside another view's frame. */\nexport interface ViewMarkerProps {\n /** Unique among the markers on one surface. */\n id: string;\n /** Whose aim: a view id on this surface, `null` for the root view, or an aim by value. */\n source: string | null | AimSource;\n /** Whose frame it is drawn in, after that view's layers: a view id, or `null` for the root. */\n target: string | null;\n /** Screen px. Default: stroke `#ffffff`, width 1, dash [2, 3]. */\n style?: ViewMarkerStyle;\n /** Default true: dragging the marker edits the source's aim. A source with no writer is never interactive.\n * A marker grabs its whole interior plus {@link VIEW_MARKER_HIT_SLOP_PX}, so one covering much of its\n * frame takes every press there; `false` opts out. */\n interactive?: boolean;\n}\n\n/** The marker style a {@link ViewMarkerProps.style} fills in from: the minimap indicator's. */\nexport const VIEW_MARKER_DEFAULT_STYLE: Required<ViewMarkerStyle> = { stroke: '#ffffff', width: 1, dash: [2, 3] };\n\n/** What a marker resolves aims through: the surface's views. */\nexport interface ViewMarkerHost {\n aimOf(id: string | null): ViewAim | null;\n setAim(id: string | null, aim: ViewAim): boolean;\n}\n\n/** The aim `source` names: a view's through `host`, or one handed in by value. */\nexport function markerSourceAim(source: ViewMarkerProps['source'], host: ViewMarkerHost): ViewAim | null {\n return source === null || typeof source === 'string' ? host.aimOf(source) : source.aim();\n}\n\n/** A screen-space layer, id `view-marker:<id>`, drawing `props`'s source aim in the frame it is handed. */\nexport function createViewMarkerLayer(props: () => ViewMarkerProps, host: ViewMarkerHost): RenderLayer<unknown> {\n const { id } = props();\n return {\n id: `view-marker:${id}`,\n label: `View marker ${id}`,\n space: 'screen',\n draw: (_data, view, dims): DrawCommand[] => {\n const { source, target, style } = props();\n if (source === target) return [];\n const aim = markerSourceAim(source, host);\n const outline = aim?.outlineIn(aimSpace2d(target, view, dims));\n if (!outline) return [];\n const d = VIEW_MARKER_DEFAULT_STYLE;\n return [{\n kind: 'path',\n path: polygonFromPoints(outline),\n stroke: {\n paint: { kind: 'solid', color: style?.stroke ?? d.stroke },\n width: style?.width ?? d.width,\n dash: [...(style?.dash ?? d.dash)],\n },\n }];\n },\n };\n}\n\n/** A press on a marker, held for the drag: where it started, and the aim it started from. */\nexport interface ViewMarkerGrab {\n readonly markerId: string;\n /** Pan the source so the world point under the press ends up under `world`, a point in the target's world. */\n moveTo(world: { x: number; y: number }): void;\n}\n\n/** A press this many screen px outside the outline still counts. */\nexport const VIEW_MARKER_HIT_SLOP_PX = 4;\n\n/**\n * The grab for a press at frame px `at` in `space`, the marker's target, or\n * `null` when the marker is not interactive, its source has no writer or no\n * aim, or `at` is not on its outline or within {@link VIEW_MARKER_HIT_SLOP_PX} of it. A surface with views\n * calls this itself; a canvas with none, such as a detached minimap, calls it to route a press to its marker.\n */\nexport function grabViewMarker(\n props: ViewMarkerProps,\n host: ViewMarkerHost,\n space: AimSpace,\n at: { x: number; y: number },\n): ViewMarkerGrab | null {\n const { id, source, target, interactive } = props;\n if (interactive === false || source === target) return null;\n const write = source === null || typeof source === 'string'\n ? (aim: ViewAim) => { host.setAim(source, aim); }\n : source.setAim?.bind(source);\n if (!write) return null;\n const startAim = markerSourceAim(source, host);\n const outline = startAim?.outlineIn(space);\n if (!startAim || !outline || !outlineHolds(outline, at, VIEW_MARKER_HIT_SLOP_PX)) return null;\n return {\n markerId: id,\n moveTo: (world) => {\n const to = space.project(world);\n const next = to && startAim.pannedIn(space, at, to);\n if (next) write(next);\n },\n };\n}\n\nfunction outlineHolds(outline: AimOutline, p: { x: number; y: number }, slop: number): boolean {\n if (pointInPolygon(outline.flatMap((q) => [q.x, q.y]), p.x, p.y)) return true;\n for (let i = 0; i < outline.length; i++) {\n const a = outline[i]!;\n const b = outline[(i + 1) % outline.length]!;\n if (pointSegmentDist2(p.x, p.y, a.x, a.y, b.x, b.y) <= slop * slop) return true;\n }\n return false;\n}\n"],"mappings":";;;;;AAmCA,IAAa,4BAAuD;CAAE,QAAQ;CAAW,OAAO;CAAG,MAAM,CAAC,GAAG,CAAC;AAAE;;AAShH,SAAgB,gBAAgB,QAAmC,MAAsC;CACvG,OAAO,WAAW,QAAQ,OAAO,WAAW,WAAW,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI;AACzF;;AAGA,SAAgB,sBAAsB,OAA8B,MAA4C;CAC9G,MAAM,EAAE,OAAO,MAAM;CACrB,OAAO;EACL,IAAI,eAAe;EACnB,OAAO,eAAe;EACtB,OAAO;EACP,OAAO,OAAO,MAAM,SAAwB;GAC1C,MAAM,EAAE,QAAQ,QAAQ,UAAU,MAAM;GACxC,IAAI,WAAW,QAAQ,OAAO,CAAC;GAE/B,MAAM,UADM,gBAAgB,QAAQ,IACpB,CAAA,EAAK,UAAU,WAAW,QAAQ,MAAM,IAAI,CAAC;GAC7D,IAAI,CAAC,SAAS,OAAO,CAAC;GACtB,MAAM,IAAI;GACV,OAAO,CAAC;IACN,MAAM;IACN,MAAM,kBAAkB,OAAO;IAC/B,QAAQ;KACN,OAAO;MAAE,MAAM;MAAS,OAAO,OAAO,UAAU,EAAE;KAAO;KACzD,OAAO,OAAO,SAAS,EAAE;KACzB,MAAM,CAAC,GAAI,OAAO,QAAQ,EAAE,IAAK;IACnC;GACF,CAAC;EACH;CACF;AACF;;AAUA,IAAa,0BAA0B;;;;;;;AAQvC,SAAgB,eACd,OACA,MACA,OACA,IACuB;CACvB,MAAM,EAAE,IAAI,QAAQ,QAAQ,gBAAgB;CAC5C,IAAI,gBAAgB,SAAS,WAAW,QAAQ,OAAO;CACvD,MAAM,QAAQ,WAAW,QAAQ,OAAO,WAAW,YAC9C,QAAiB;EAAE,KAAK,OAAO,QAAQ,GAAG;CAAG,IAC9C,OAAO,QAAQ,KAAK,MAAM;CAC9B,IAAI,CAAC,OAAO,OAAO;CACnB,MAAM,WAAW,gBAAgB,QAAQ,IAAI;CAC7C,MAAM,UAAU,UAAU,UAAU,KAAK;CACzC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,SAAS,IAAI,uBAAuB,GAAG,OAAO;CACzF,OAAO;EACL,UAAU;EACV,SAAS,UAAU;GACjB,MAAM,KAAK,MAAM,QAAQ,KAAK;GAC9B,MAAM,OAAO,MAAM,SAAS,SAAS,OAAO,IAAI,EAAE;GAClD,IAAI,MAAM,MAAM,IAAI;EACtB;CACF;AACF;AAEA,SAAS,aAAa,SAAqB,GAA6B,MAAuB;CAC7F,IAAI,eAAe,QAAQ,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO;CACzE,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;EACvC,MAAM,IAAI,QAAQ;EAClB,MAAM,IAAI,SAAS,IAAI,KAAK,QAAQ;EACpC,IAAI,kBAAkB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,MAAM,OAAO;CAC7E;CACA,OAAO;AACT"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { hitPredicate } from "@weasel-js/gestures";
|
|
2
|
+
|
|
3
|
+
//#region src/features/viewports/viewMarkerDrag.ts
|
|
4
|
+
/** The action id a drag on a view marker routes to. */
|
|
5
|
+
var VIEW_MARKER_DRAG = "view.marker.drag";
|
|
6
|
+
/** The id of the entry {@link createViewMarkerContribution} builds. */
|
|
7
|
+
var VIEW_MARKER_ENTRY_ID = "view-marker";
|
|
8
|
+
var MARKER_KIND_PREFIX = "layer:view-marker:";
|
|
9
|
+
function grabIn(affordance) {
|
|
10
|
+
return affordance?.payload ?? null;
|
|
11
|
+
}
|
|
12
|
+
/** Drags the grabbed marker. There is nothing to commit, so a cancel ends where a release does. */
|
|
13
|
+
function viewMarkerDragAction() {
|
|
14
|
+
return {
|
|
15
|
+
id: VIEW_MARKER_DRAG,
|
|
16
|
+
label: "View marker — drag",
|
|
17
|
+
invoker: {
|
|
18
|
+
timing: "ongoing",
|
|
19
|
+
start: (ctx) => {
|
|
20
|
+
const grab = grabIn(ctx.drag?.affordance);
|
|
21
|
+
if (!grab) return {};
|
|
22
|
+
return {
|
|
23
|
+
kind: VIEW_MARKER_DRAG,
|
|
24
|
+
onMove: (m) => {
|
|
25
|
+
grab.moveTo(m.drag?.current ?? m.world);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The always-on entry (id `'view-marker'`) that binds a drag on any marker to {@link VIEW_MARKER_DRAG}.
|
|
34
|
+
* A `<SceneCanvas>` installs it unless `actions={null}` or a `tools` takeover leaves it out; to turn marker
|
|
35
|
+
* dragging back on there, pass it in `ambient`, or in the takeover's own `useTools` ambient list.
|
|
36
|
+
*/
|
|
37
|
+
function createViewMarkerContribution() {
|
|
38
|
+
return {
|
|
39
|
+
id: VIEW_MARKER_ENTRY_ID,
|
|
40
|
+
eligibility: { always: true },
|
|
41
|
+
actions: [viewMarkerDragAction()],
|
|
42
|
+
bindings: [{
|
|
43
|
+
spec: {
|
|
44
|
+
kind: "drag",
|
|
45
|
+
target: { kindOf: hitPredicate((hit) => hit?.kind?.startsWith(MARKER_KIND_PREFIX) ?? false) }
|
|
46
|
+
},
|
|
47
|
+
actionId: VIEW_MARKER_DRAG,
|
|
48
|
+
opts: { id: "view-marker.drag" }
|
|
49
|
+
}]
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//#endregion
|
|
54
|
+
export { VIEW_MARKER_DRAG, VIEW_MARKER_ENTRY_ID, createViewMarkerContribution, viewMarkerDragAction };
|
|
55
|
+
//# sourceMappingURL=viewMarkerDrag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewMarkerDrag.js","names":[],"sources":["../../../src/features/viewports/viewMarkerDrag.ts"],"sourcesContent":["import { hitPredicate } from '@weasel-js/gestures';\nimport type { Action, InvocationCtx } from '@weasel-js/routing';\nimport type { SurfaceContribution } from 'canvas/surfaceContribution';\nimport type { ViewMarkerGrab } from './viewMarker';\n\n/** The action id a drag on a view marker routes to. */\nexport const VIEW_MARKER_DRAG = 'view.marker.drag';\n\n/** The id of the entry {@link createViewMarkerContribution} builds. */\nexport const VIEW_MARKER_ENTRY_ID = 'view-marker';\n\nconst MARKER_KIND_PREFIX = 'layer:view-marker:';\n\nfunction grabIn(affordance: unknown): ViewMarkerGrab | null {\n return (affordance as { payload?: ViewMarkerGrab } | null | undefined)?.payload ?? null;\n}\n\n/** Drags the grabbed marker. There is nothing to commit, so a cancel ends where a release does. */\nexport function viewMarkerDragAction(): Action {\n return {\n id: VIEW_MARKER_DRAG,\n label: 'View marker — drag',\n invoker: {\n timing: 'ongoing',\n start: (ctx: InvocationCtx) => {\n const grab = grabIn(ctx.drag?.affordance);\n if (!grab) return {};\n return {\n kind: VIEW_MARKER_DRAG,\n onMove: (m: InvocationCtx) => { grab.moveTo(m.drag?.current ?? m.world); },\n };\n },\n },\n };\n}\n\n/**\n * The always-on entry (id `'view-marker'`) that binds a drag on any marker to {@link VIEW_MARKER_DRAG}.\n * A `<SceneCanvas>` installs it unless `actions={null}` or a `tools` takeover leaves it out; to turn marker\n * dragging back on there, pass it in `ambient`, or in the takeover's own `useTools` ambient list.\n */\nexport function createViewMarkerContribution(): SurfaceContribution {\n return {\n id: VIEW_MARKER_ENTRY_ID,\n eligibility: { always: true },\n actions: [viewMarkerDragAction()],\n bindings: [{\n spec: {\n kind: 'drag',\n target: { kindOf: hitPredicate((hit) => (hit as { kind?: string } | null | undefined)?.kind?.startsWith(MARKER_KIND_PREFIX) ?? false) },\n },\n actionId: VIEW_MARKER_DRAG,\n opts: { id: 'view-marker.drag' },\n }],\n };\n}\n"],"mappings":";;;;AAMA,IAAa,mBAAmB;;AAGhC,IAAa,uBAAuB;AAEpC,IAAM,qBAAqB;AAE3B,SAAS,OAAO,YAA4C;CAC1D,OAAQ,YAAgE,WAAW;AACrF;;AAGA,SAAgB,uBAA+B;CAC7C,OAAO;EACL,IAAI;EACJ,OAAO;EACP,SAAS;GACP,QAAQ;GACR,QAAQ,QAAuB;IAC7B,MAAM,OAAO,OAAO,IAAI,MAAM,UAAU;IACxC,IAAI,CAAC,MAAM,OAAO,CAAC;IACnB,OAAO;KACL,MAAM;KACN,SAAS,MAAqB;MAAE,KAAK,OAAO,EAAE,MAAM,WAAW,EAAE,KAAK;KAAG;IAC3E;GACF;EACF;CACF;AACF;;;;;;AAOA,SAAgB,+BAAoD;CAClE,OAAO;EACL,IAAI;EACJ,aAAa,EAAE,QAAQ,KAAK;EAC5B,SAAS,CAAC,qBAAqB,CAAC;EAChC,UAAU,CAAC;GACT,MAAM;IACJ,MAAM;IACN,QAAQ,EAAE,QAAQ,cAAc,QAAS,KAA8C,MAAM,WAAW,kBAAkB,KAAK,KAAK,EAAE;GACxI;GACA,UAAU;GACV,MAAM,EAAE,IAAI,mBAAmB;EACjC,CAAC;CACH;AACF"}
|
package/dist/icons.table.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
//#region src/icons.table.json
|
|
2
2
|
var namespace = "core";
|
|
3
3
|
var owner = "@weasel-js/core";
|
|
4
|
-
var icons = /*#__PURE__*/ JSON.parse("{\"arrow\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M3.5 16.5 12.9 7.1\\\" stroke-linecap=\\\"round\\\"/><path d=\\\"M16.5 3.5 11.06 5.98 14.03 8.95Z\\\" fill=\\\"currentColor\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"bone\":{\"body\":\"<g stroke-linecap=\\\"butt\\\"><path d=\\\"M 5.6 14.4 L 8.9 14.7 L 15.2 4.8 L 5.3 11.1 Z\\\"/><circle cx=\\\"4.6\\\" cy=\\\"15.4\\\" r=\\\"2\\\" stroke-width=\\\"1.25\\\"/><circle cx=\\\"15.6\\\" cy=\\\"4.4\\\" r=\\\"1.4\\\" stroke-width=\\\"1.25\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"ellipse\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><ellipse cx=\\\"10\\\" cy=\\\"10\\\" rx=\\\"7\\\" ry=\\\"5\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"eyedropper\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><line x1=\\\"12.5\\\" y1=\\\"3.5\\\" x2=\\\"16.5\\\" y2=\\\"7.5\\\" stroke-linecap=\\\"round\\\"/><path d=\\\"M 11 7 L 13 5 a 2 2 0 0 1 2.8 0 l 1.2 1.2 a 2 2 0 0 1 0 2.8 L 15 11 Z\\\" stroke-linejoin=\\\"round\\\"/><line x1=\\\"13\\\" y1=\\\"9\\\" x2=\\\"5\\\" y2=\\\"17\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"11\\\" y1=\\\"7\\\" x2=\\\"3\\\" y2=\\\"15\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"3\\\" y1=\\\"15\\\" x2=\\\"5\\\" y2=\\\"17\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"hand\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"5\\\" y=\\\"10\\\" width=\\\"10\\\" height=\\\"7.5\\\" rx=\\\"2\\\"/><line x1=\\\"6.5\\\" y1=\\\"10\\\" x2=\\\"6.5\\\" y2=\\\"4.5\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"9\\\" y1=\\\"10\\\" x2=\\\"9\\\" y2=\\\"3\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"11.5\\\" y1=\\\"10\\\" x2=\\\"11.5\\\" y2=\\\"3.5\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"14\\\" y1=\\\"10\\\" x2=\\\"14\\\" y2=\\\"5.5\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"5\\\" y1=\\\"12.5\\\" x2=\\\"2.5\\\" y2=\\\"14.5\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"image\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"3\\\" y=\\\"4\\\" width=\\\"14\\\" height=\\\"12\\\" rx=\\\"1\\\"/><circle cx=\\\"7\\\" cy=\\\"8\\\" r=\\\"1.4\\\"/><path d=\\\"M4 14l4-4 3 3 3-4 2 2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"lasso\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 6 13 Q 2.5 8.5 5 5 Q 9 2 13.5 4.5 Q 17.5 7.5 15.5 11.5 Q 13 14 9.5 13.5 Q 7.5 13.2 6 13 Z\\\" stroke-linejoin=\\\"round\\\"/><path d=\\\"M 6 13 L 4 17\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"line\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><line x1=\\\"4\\\" y1=\\\"16\\\" x2=\\\"16\\\" y2=\\\"4\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"pen\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 4 4 L 8.5 4 L 16 11.5 L 13 14.5 L 4 5.5 Z\\\" fill=\\\"currentColor\\\" stroke-linejoin=\\\"round\\\"/><line x1=\\\"13\\\" y1=\\\"14.5\\\" x2=\\\"14.2\\\" y2=\\\"15.7\\\" stroke-linecap=\\\"round\\\"/><circle cx=\\\"15.5\\\" cy=\\\"16.5\\\" r=\\\"1.1\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"pencil\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 3 17 L 5.5 14.5 L 14 6 L 17 9 L 8.5 17.5 L 6 17 Z\\\" stroke-linejoin=\\\"round\\\"/><line x1=\\\"12\\\" y1=\\\"4\\\" x2=\\\"17\\\" y2=\\\"9\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"polygon\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><polygon points=\\\"10,3 16.5,6.5 16.5,13.5 10,17 3.5,13.5 3.5,6.5\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"rect\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"5\\\" y=\\\"6\\\" width=\\\"11\\\" height=\\\"9\\\"/><line x1=\\\"3\\\" y1=\\\"4\\\" x2=\\\"7\\\" y2=\\\"4\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"5\\\" y1=\\\"2\\\" x2=\\\"5\\\" y2=\\\"6\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"select\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 4 3 L 4 14.5 L 7.2 11.4 L 9.5 16 L 11.4 15.1 L 9.1 10.5 L 13.5 10.5 Z\\\" fill=\\\"currentColor\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"slice\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 8.5 10.5 L 14.5 4.5 L 16.5 6.5 L 10.5 12.5\\\" stroke-linejoin=\\\"round\\\" stroke-linecap=\\\"round\\\"/><path d=\\\"M 8.5 10.5 L 3.5 15.5 L 10.5 12.5 Z\\\" fill=\\\"currentColor\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"star\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><polygon points=\\\"10,2.5 12.1,7.9 17.8,8.3 13.4,12 14.8,17.5 10,14.4 5.2,17.5 6.6,12 2.2,8.3 7.9,7.9\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"sticky\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M 3.5 3.5 L 16.5 3.5 L 16.5 12 L 12 16.5 L 3.5 16.5 Z\\\"/><path d=\\\"M 16.5 12 L 12 12 L 12 16.5\\\"/><path d=\\\"M 6.5 7.5 L 13.5 7.5 M 6.5 10.5 L 9.5 10.5\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"text\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 4 5 L 16 5 M 10 5 L 10 16 M 7 16 L 13 16\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"unknown\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"7.5\\\"/><path d=\\\"M 7.5 8 Q 7.5 5.5 10 5.5 Q 12.5 5.5 12.5 8 Q 12.5 9.5 10 11 L 10 12.5\\\" stroke-linecap=\\\"round\\\"/><circle cx=\\\"10\\\" cy=\\\"14.5\\\" r=\\\"0.6\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"weight\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"7\\\" stroke-width=\\\"1\\\" stroke-dasharray=\\\"1.6 1.6\\\"/><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"4.25\\\" stroke-width=\\\"1.25\\\"/><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"2\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"cut\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"6\\\" cy=\\\"14\\\" r=\\\"2.5\\\"/><circle cx=\\\"14\\\" cy=\\\"14\\\" r=\\\"2.5\\\"/><path d=\\\"M8 12 L16 4\\\" stroke-linecap=\\\"round\\\"/><path d=\\\"M12 12 L4 4\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"copy\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M6 14 H3 V3 H14 V6\\\" stroke-linejoin=\\\"round\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"11\\\" height=\\\"11\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"paste\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"4\\\" y=\\\"5\\\" width=\\\"12\\\" height=\\\"13\\\" rx=\\\"1\\\"/><rect x=\\\"7.5\\\" y=\\\"2.5\\\" width=\\\"5\\\" height=\\\"4\\\" rx=\\\"0.5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"duplicate\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"10\\\" height=\\\"10\\\"/><rect x=\\\"7\\\" y=\\\"7\\\" width=\\\"10\\\" height=\\\"10\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"transformAgain\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"8\\\" height=\\\"8\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"8\\\" height=\\\"8\\\"/><rect x=\\\"10\\\" y=\\\"10\\\" width=\\\"8\\\" height=\\\"8\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"group\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 2 5 L 2 2 L 5 2\\\"/><path d=\\\"M 18 5 L 18 2 L 15 2\\\"/><path d=\\\"M 2 15 L 2 18 L 5 18\\\"/><path d=\\\"M 18 15 L 18 18 L 15 18\\\"/><rect x=\\\"5\\\" y=\\\"6\\\" width=\\\"4.5\\\" height=\\\"8\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"11\\\" y=\\\"6\\\" width=\\\"4\\\" height=\\\"8\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"ungroup\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 2 5 L 2 2 L 5 2\\\" stroke-dasharray=\\\"1.5 1.5\\\"/><path d=\\\"M 18 15 L 18 18 L 15 18\\\" stroke-dasharray=\\\"1.5 1.5\\\"/><rect x=\\\"3\\\" y=\\\"5\\\" width=\\\"4.5\\\" height=\\\"8\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"13\\\" y=\\\"7\\\" width=\\\"4\\\" height=\\\"8\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"bringForward\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"11\\\" height=\\\"11\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"11\\\" height=\\\"11\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"bringToFront\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"9\\\" height=\\\"9\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"9\\\" height=\\\"9\\\"/><rect x=\\\"9\\\" y=\\\"9\\\" width=\\\"9\\\" height=\\\"9\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"sendBackward\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"11\\\" height=\\\"11\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"11\\\" height=\\\"11\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"sendToBack\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"9\\\" height=\\\"9\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"9\\\" height=\\\"9\\\"/><rect x=\\\"9\\\" y=\\\"9\\\" width=\\\"9\\\" height=\\\"9\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"flipX\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><line x1=\\\"10\\\" y1=\\\"2\\\" x2=\\\"10\\\" y2=\\\"18\\\" stroke-dasharray=\\\"2 1.5\\\"/><path d=\\\"M 8 4 L 3 10 L 8 16 Z\\\"/><path d=\\\"M 12 4 L 17 10 L 12 16 Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"flipY\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><line x1=\\\"2\\\" y1=\\\"10\\\" x2=\\\"18\\\" y2=\\\"10\\\" stroke-dasharray=\\\"2 1.5\\\"/><path d=\\\"M 4 8 L 10 3 L 16 8 Z\\\"/><path d=\\\"M 4 12 L 10 17 L 16 12 Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"delete\":{\"body\":\"<path d=\\\"M3.6 5.8h12.8M8 5.8V4.5A1.1 1.1 0 0 1 9.1 3.4h1.8A1.1 1.1 0 0 1 12 4.5v1.3\\\"/><path d=\\\"M5.2 5.8v9.6A1.6 1.6 0 0 0 6.8 17h6.4a1.6 1.6 0 0 0 1.6-1.6V5.8\\\"/><path d=\\\"M8.4 8.8v5.2M11.6 8.8v5.2\\\" stroke-width=\\\"1\\\"/>\",\"group\":\"History\",\"tags\":[]},\"undo\":{\"body\":\"<path d=\\\"M4.4 8.4h6.8a3.6 3.6 0 0 1 0 7.2H8.6\\\"/><path d=\\\"M6.47 10.14 4.4 8.4 6.47 6.66\\\"/>\",\"group\":\"History\",\"tags\":[]},\"redo\":{\"body\":\"<path d=\\\"M15.6 8.4H8.8a3.6 3.6 0 0 0 0 7.2H11.4\\\"/><path d=\\\"M13.53 6.66 15.6 8.4 13.53 10.14\\\"/>\",\"group\":\"History\",\"tags\":[]},\"measure\":{\"body\":\"<rect x=\\\"2.6\\\" y=\\\"7.4\\\" width=\\\"14.8\\\" height=\\\"5.2\\\" rx=\\\"1.2\\\"/><path d=\\\"M6 7.4v2.2M9.4 7.4v3M12.8 7.4v2.2\\\" stroke-width=\\\"1\\\"/>\",\"group\":\"History\",\"tags\":[]},\"tune\":{\"body\":\"<path d=\\\"M3.4 6h13.2M3.4 10h13.2M3.4 14h13.2\\\" stroke-width=\\\"1.25\\\"/><circle cx=\\\"7\\\" cy=\\\"6\\\" r=\\\"1.8\\\"/><circle cx=\\\"12.6\\\" cy=\\\"10\\\" r=\\\"1.8\\\"/><circle cx=\\\"9\\\" cy=\\\"14\\\" r=\\\"1.8\\\"/>\",\"group\":\"History\",\"tags\":[]},\"alignLeft\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"2\\\" y1=\\\"2\\\" x2=\\\"2\\\" y2=\\\"14\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"2.5\\\" y=\\\"3\\\" width=\\\"9\\\" height=\\\"3\\\"/><rect x=\\\"2.5\\\" y=\\\"9\\\" width=\\\"6\\\" height=\\\"3\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"alignRight\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"14\\\" y1=\\\"2\\\" x2=\\\"14\\\" y2=\\\"14\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"4.5\\\" y=\\\"3\\\" width=\\\"9\\\" height=\\\"3\\\"/><rect x=\\\"7.5\\\" y=\\\"9\\\" width=\\\"6\\\" height=\\\"3\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"alignTop\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"2\\\" y1=\\\"2\\\" x2=\\\"14\\\" y2=\\\"2\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"3\\\" y=\\\"2.5\\\" width=\\\"3\\\" height=\\\"9\\\"/><rect x=\\\"9\\\" y=\\\"2.5\\\" width=\\\"3\\\" height=\\\"6\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"alignBottom\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"2\\\" y1=\\\"14\\\" x2=\\\"14\\\" y2=\\\"14\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"3\\\" y=\\\"4.5\\\" width=\\\"3\\\" height=\\\"9\\\"/><rect x=\\\"9\\\" y=\\\"7.5\\\" width=\\\"3\\\" height=\\\"6\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"alignCenterX\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"8\\\" y1=\\\"2\\\" x2=\\\"8\\\" y2=\\\"14\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"3.5\\\" y=\\\"3\\\" width=\\\"9\\\" height=\\\"3\\\"/><rect x=\\\"5\\\" y=\\\"9\\\" width=\\\"6\\\" height=\\\"3\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"alignCenterY\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"2\\\" y1=\\\"8\\\" x2=\\\"14\\\" y2=\\\"8\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"3\\\" y=\\\"3.5\\\" width=\\\"3\\\" height=\\\"9\\\"/><rect x=\\\"9\\\" y=\\\"5\\\" width=\\\"3\\\" height=\\\"6\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"distributeHorizontal\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><rect x=\\\"1\\\" y=\\\"4\\\" width=\\\"3\\\" height=\\\"8\\\"/><rect x=\\\"6.5\\\" y=\\\"4\\\" width=\\\"3\\\" height=\\\"8\\\"/><rect x=\\\"12\\\" y=\\\"4\\\" width=\\\"3\\\" height=\\\"8\\\"/></g>\",\"group\":\"Distribute\",\"tags\":[]},\"distributeVertical\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><rect x=\\\"4\\\" y=\\\"1\\\" width=\\\"8\\\" height=\\\"3\\\"/><rect x=\\\"4\\\" y=\\\"6.5\\\" width=\\\"8\\\" height=\\\"3\\\"/><rect x=\\\"4\\\" y=\\\"12\\\" width=\\\"8\\\" height=\\\"3\\\"/></g>\",\"group\":\"Distribute\",\"tags\":[]},\"union\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"intersect\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\"/><path d=\\\"M 10 6 A 5 5 0 0 1 10 14 A 5 5 0 0 1 10 6 Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"subtract\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\"/><path d=\\\"M 10 6 A 5 5 0 1 0 10 14 A 5 5 0 0 0 10 6 Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"exclude\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\"/><path d=\\\"M 10 6 A 5 5 0 1 0 10 14 A 5 5 0 0 0 10 6 Z M 10 6 A 5 5 0 1 1 10 14 A 5 5 0 0 1 10 6 Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-rule=\\\"evenodd\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"divide\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\"/><line x1=\\\"10\\\" y1=\\\"6\\\" x2=\\\"10\\\" y2=\\\"14\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"crop\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><defs><clipPath id=\\\"weasel-default-crop-mask\\\"><rect x=\\\"9\\\" y=\\\"5\\\" width=\\\"8\\\" height=\\\"10\\\"/></clipPath></defs><circle cx=\\\"9\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"9\\\" cy=\\\"10\\\" r=\\\"5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" clip-path=\\\"url(#weasel-default-crop-mask)\\\"/><rect x=\\\"9\\\" y=\\\"5\\\" width=\\\"8\\\" height=\\\"10\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"trim\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 10 6 A 5 5 0 1 0 10 14 A 5 5 0 0 0 10 6 Z\\\" stroke-linejoin=\\\"round\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\" fill=\\\"currentColor\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"merge\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 10 6 A 5 5 0 1 0 10 14 A 5 5 0 1 0 10 6 Z\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"join\":{\"body\":\"<path d=\\\"M2 15.6 H6 M14 4.4 H18\\\"/><path d=\\\"M6 15.6 L14 4.4\\\"/><rect x=\\\"4.5\\\" y=\\\"14.1\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"12.5\\\" y=\\\"2.9\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Path commands\",\"tags\":[]},\"bridge\":{\"body\":\"<path d=\\\"M2 15.6 H6 M14 4.4 H18\\\"/><path d=\\\"M6 15.6 C11 15.6 9 4.4 14 4.4\\\"/><rect x=\\\"4.5\\\" y=\\\"14.1\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"12.5\\\" y=\\\"2.9\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Path commands\",\"tags\":[]},\"cutAtCrossings\":{\"body\":\"<path d=\\\"M2.5 10.625 H6 M12.75 10.625 H17.5\\\"/><path d=\\\"M9.375 2.5 V17.5\\\"/><rect x=\\\"4.5\\\" y=\\\"9.125\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"11.25\\\" y=\\\"9.125\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Path commands\",\"tags\":[]},\"simplify\":{\"body\":\"<path d=\\\"M3 7.5 L5.5 4.5 L8 7.5 L10.5 4.5 L13 7.5 L15.5 4.5 L17 6\\\" stroke-width=\\\"1.25\\\"/><path d=\\\"M4 15.6 C8 10.5 12 10.5 16 15.6\\\"/><rect x=\\\"2.5\\\" y=\\\"14.1\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"14.5\\\" y=\\\"14.1\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Path commands\",\"tags\":[]},\"offsetPath\":{\"body\":\"<rect x=\\\"6.875\\\" y=\\\"6.875\\\" width=\\\"6.25\\\" height=\\\"6.25\\\" rx=\\\"1\\\"/><rect x=\\\"3.125\\\" y=\\\"3.125\\\" width=\\\"13.75\\\" height=\\\"13.75\\\" rx=\\\"4.75\\\" stroke-width=\\\"1.25\\\"/>\",\"group\":\"Path commands\",\"tags\":[]},\"retractHandles\":{\"body\":\"<path d=\\\"M3 17 L10 7 L17 17\\\"/><path d=\\\"M2.5 5 H6.5 M5 3.5 L6.5 5 L5 6.5\\\" stroke-width=\\\"1\\\"/><path d=\\\"M17.5 5 H13.5 M15 3.5 L13.5 5 L15 6.5\\\" stroke-width=\\\"1\\\"/><rect x=\\\"8.5\\\" y=\\\"5.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"symmetricHandles\":{\"body\":\"<path d=\\\"M3 17 C3 10 6 8 10 8 S17 10 17 17\\\"/><path d=\\\"M3.5 8 H16.5\\\" stroke-width=\\\"1\\\"/><circle cx=\\\"3.5\\\" cy=\\\"8\\\" r=\\\"1.5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><circle cx=\\\"16.5\\\" cy=\\\"8\\\" r=\\\"1.5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"8.5\\\" y=\\\"6.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"holdHandleAngle\":{\"body\":\"<path d=\\\"M5 15 L16 4\\\"/><path d=\\\"M12 4 H16 V8\\\"/><circle cx=\\\"10.5\\\" cy=\\\"9.5\\\" r=\\\"1.75\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"3.5\\\" y=\\\"13.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"holdHandleLength\":{\"body\":\"<circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"6.5\\\" stroke-width=\\\"1\\\"/><path d=\\\"M10 10 L14.5962 5.4038\\\"/><circle cx=\\\"14.5962\\\" cy=\\\"5.4038\\\" r=\\\"1.75\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"8.5\\\" y=\\\"8.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"simplifyBrush\":{\"body\":\"<path d=\\\"M2 16 C5 6 15 6 18 16\\\"/><circle cx=\\\"10\\\" cy=\\\"8.5\\\" r=\\\"5\\\" stroke-width=\\\"1\\\" stroke-dasharray=\\\"2 1.5\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"harmonize\":{\"body\":\"<path d=\\\"M3 16 C3 9 6.5 6 10 6 S17 9 17 16\\\"/><path d=\\\"M4.02 7.43 L2.47 6.18 M10 3.5 V1.5 M15.98 7.43 L17.53 6.18\\\" stroke-width=\\\"1\\\"/><rect x=\\\"8.5\\\" y=\\\"4.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"averageAnchors\":{\"body\":\"<path d=\\\"M5.6 5.6 L7.6 7.6 M14.4 5.6 L12.4 7.6 M10 14.4 V12.5\\\" stroke-width=\\\"1.25\\\"/><rect x=\\\"2.875\\\" y=\\\"2.875\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"14.125\\\" y=\\\"2.875\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"8.5\\\" y=\\\"14.125\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"8.125\\\" y=\\\"8.125\\\" width=\\\"3.75\\\" height=\\\"3.75\\\" stroke-width=\\\"1.25\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"bendSegment\":{\"body\":\"<path d=\\\"M3.5 15 H16.5\\\" stroke-width=\\\"1\\\" stroke-dasharray=\\\"1.4 1.4\\\"/><path d=\\\"M3.5 15 Q10 3 16.5 15\\\"/><path d=\\\"M10 12.5 V10 M8.8 11.2 L10 10 L11.2 11.2\\\" stroke-width=\\\"1\\\"/><rect x=\\\"2\\\" y=\\\"13.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"15\\\" y=\\\"13.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"nudgeAnchors\":{\"body\":\"<g transform=\\\"rotate(0 10 10)\\\"><path d=\\\"M4.1605 6.4645 A5 5 0 0 1 4.1605 13.5355\\\"/><path d=\\\"M6.8122 3.8128 A8.75 8.75 0 0 1 6.8122 16.1872\\\"/><svg x=\\\"11.25\\\" y=\\\"3.75\\\" width=\\\"5\\\" height=\\\"12.5\\\" viewBox=\\\"11.25 3.75 5 12.5\\\" overflow=\\\"hidden\\\"><path d=\\\"M0 16.25 L20 -3.75 M3.75 16.25 L23.75 -3.75 M7.5 16.25 L27.5 -3.75 M11.25 16.25 L31.25 -3.75 M15 16.25 L35 -3.75\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\"/></svg></g>\",\"group\":\"Anchors\",\"tags\":[]},\"nudgeAnchorsUp\":{\"body\":\"<g transform=\\\"rotate(-90 10 10)\\\"><path d=\\\"M4.1605 6.4645 A5 5 0 0 1 4.1605 13.5355\\\"/><path d=\\\"M6.8122 3.8128 A8.75 8.75 0 0 1 6.8122 16.1872\\\"/><svg x=\\\"11.25\\\" y=\\\"3.75\\\" width=\\\"5\\\" height=\\\"12.5\\\" viewBox=\\\"11.25 3.75 5 12.5\\\" overflow=\\\"hidden\\\"><path d=\\\"M0 16.25 L20 -3.75 M3.75 16.25 L23.75 -3.75 M7.5 16.25 L27.5 -3.75 M11.25 16.25 L31.25 -3.75 M15 16.25 L35 -3.75\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\"/></svg></g>\",\"group\":\"Anchors\",\"tags\":[]},\"nudgeAnchorsDown\":{\"body\":\"<g transform=\\\"rotate(90 10 10)\\\"><path d=\\\"M4.1605 6.4645 A5 5 0 0 1 4.1605 13.5355\\\"/><path d=\\\"M6.8122 3.8128 A8.75 8.75 0 0 1 6.8122 16.1872\\\"/><svg x=\\\"11.25\\\" y=\\\"3.75\\\" width=\\\"5\\\" height=\\\"12.5\\\" viewBox=\\\"11.25 3.75 5 12.5\\\" overflow=\\\"hidden\\\"><path d=\\\"M0 16.25 L20 -3.75 M3.75 16.25 L23.75 -3.75 M7.5 16.25 L27.5 -3.75 M11.25 16.25 L31.25 -3.75 M15 16.25 L35 -3.75\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\"/></svg></g>\",\"group\":\"Anchors\",\"tags\":[]},\"nudgeAnchorsLeft\":{\"body\":\"<g transform=\\\"rotate(180 10 10)\\\"><path d=\\\"M4.1605 6.4645 A5 5 0 0 1 4.1605 13.5355\\\"/><path d=\\\"M6.8122 3.8128 A8.75 8.75 0 0 1 6.8122 16.1872\\\"/><svg x=\\\"11.25\\\" y=\\\"3.75\\\" width=\\\"5\\\" height=\\\"12.5\\\" viewBox=\\\"11.25 3.75 5 12.5\\\" overflow=\\\"hidden\\\"><path d=\\\"M0 16.25 L20 -3.75 M3.75 16.25 L23.75 -3.75 M7.5 16.25 L27.5 -3.75 M11.25 16.25 L31.25 -3.75 M15 16.25 L35 -3.75\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\"/></svg></g>\",\"group\":\"Anchors\",\"tags\":[]},\"createOutlines\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M3.5 3.5 H16.5 V7.5 H12 V16.5 H8 V7.5 H3.5 Z\\\" stroke-linejoin=\\\"miter\\\"/><g fill=\\\"currentColor\\\" stroke=\\\"none\\\"><rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"15\\\" y=\\\"2\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"6.5\\\" y=\\\"15\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"10.5\\\" y=\\\"15\\\" width=\\\"3\\\" height=\\\"3\\\"/></g></g>\",\"group\":\"Outline\",\"tags\":[]},\"outlineStroke\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M4 4 A12 12 0 0 1 16 16 H10 A6 6 0 0 0 4 10 Z\\\" stroke-linejoin=\\\"miter\\\"/><g fill=\\\"currentColor\\\" stroke=\\\"none\\\"><rect x=\\\"2.5\\\" y=\\\"2.5\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"14.5\\\" y=\\\"14.5\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"8.5\\\" y=\\\"14.5\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"2.5\\\" y=\\\"8.5\\\" width=\\\"3\\\" height=\\\"3\\\"/></g></g>\",\"group\":\"Outline\",\"tags\":[]},\"bold\":{\"body\":\"<path d=\\\"M6 3.5h4.6a3.1 3.1 0 0 1 0 6.2H6zM6 9.7h5.4a3.4 3.4 0 0 1 0 6.8H6z\\\" stroke-width=\\\"2.1\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"italic\":{\"body\":\"<path d=\\\"M9 3.5h6M5 16.5h6M12.5 3.5 7.5 16.5\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"underline\":{\"body\":\"<path d=\\\"M6 3.4v5.6a4 4 0 0 0 8 0V3.4\\\"/><path d=\\\"M4.6 17h10.8\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"strikethrough\":{\"body\":\"<path d=\\\"M14.4 5.8c-.9-1.6-2.4-2.4-4.4-2.4-2.5 0-4.2 1.3-4.2 3.1 0 .9.4 1.6 1.2 2.2\\\"/><path d=\\\"M5.6 14.2c.9 1.6 2.4 2.4 4.4 2.4 2.5 0 4.2-1.3 4.2-3.1 0-.9-.4-1.6-1.2-2.2\\\"/><path d=\\\"M3.4 10h13.2\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"overline\":{\"body\":\"<path d=\\\"M4.6 3h10.8\\\"/><ellipse cx=\\\"10\\\" cy=\\\"11.4\\\" rx=\\\"4.4\\\" ry=\\\"4.8\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"superscript\":{\"body\":\"<path d=\\\"M3.6 8.6 10.4 16.4M10.4 8.6 3.6 16.4\\\"/><path d=\\\"M11.9 5.3a2.2 2.2 0 1 1 4.3.8c0 1.4-4.3 2.2-4.3 3.5h4.5\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"subscript\":{\"body\":\"<path d=\\\"M3.6 3.6 10.4 11.4M10.4 3.6 3.6 11.4\\\"/><path d=\\\"M11.9 11.5a2.2 2.2 0 1 1 4.3.8c0 1.4-4.3 2.2-4.3 3.5h4.5\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"textAlignLeft\":{\"body\":\"<path d=\\\"M3 4.375H17M3 8.125H12M3 11.875H17M3 15.625H12\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignCenter\":{\"body\":\"<path d=\\\"M3 4.375H17M5.5 8.125H14.5M3 11.875H17M5.5 15.625H14.5\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignRight\":{\"body\":\"<path d=\\\"M3 4.375H17M8 8.125H17M3 11.875H17M8 15.625H17\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignJustify\":{\"body\":\"<path d=\\\"M3 4.375H17M3 8.125H17M3 11.875H17M3 15.625H12\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignTop\":{\"body\":\"<rect x=\\\"1.875\\\" y=\\\"1.875\\\" width=\\\"16.25\\\" height=\\\"16.25\\\" rx=\\\"2\\\" stroke-width=\\\"1\\\"/><path d=\\\"M5.5 5.625H14.5M7 9.375H13\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignMiddle\":{\"body\":\"<rect x=\\\"1.875\\\" y=\\\"1.875\\\" width=\\\"16.25\\\" height=\\\"16.25\\\" rx=\\\"2\\\" stroke-width=\\\"1\\\"/><path d=\\\"M5.5 8.125H14.5M7 11.875H13\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignBottom\":{\"body\":\"<rect x=\\\"1.875\\\" y=\\\"1.875\\\" width=\\\"16.25\\\" height=\\\"16.25\\\" rx=\\\"2\\\" stroke-width=\\\"1\\\"/><path d=\\\"M5.5 10.625H14.5M7 14.375H13\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"strokeWidth\":{\"body\":\"<path d=\\\"M3.4 5.6h13.2\\\" stroke-width=\\\"1\\\"/><path d=\\\"M3.4 10h13.2\\\" stroke-width=\\\"2\\\"/><path d=\\\"M3.4 15.2h13.2\\\" stroke-width=\\\"3.4\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"strokeCap\":{\"body\":\"<path d=\\\"M2.5 10H12\\\" stroke-linecap=\\\"butt\\\"/><path d=\\\"M12 6V14\\\" stroke-width=\\\"1\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"strokeJoin\":{\"body\":\"<path d=\\\"M4.4 15.5 10 5.5 15.6 15.5\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"strokeAlign\":{\"body\":\"<circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"6.2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"capButt\":{\"body\":\"<path d=\\\"M5.5 5.25H14.5V14.75H5.5Z\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linejoin=\\\"miter\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"capRound\":{\"body\":\"<path d=\\\"M3.13 5.25H12.13V14.75H3.13Z\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linejoin=\\\"miter\\\"/><path d=\\\"M12.13 4.5A5.5 5.5 0 0 1 12.13 15.5Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"capSquare\":{\"body\":\"<path d=\\\"M3.13 5.25H12.13V14.75H3.13Z\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linejoin=\\\"miter\\\"/><path d=\\\"M12.13 4.5H17.63V15.5H12.13Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"joinMiter\":{\"body\":\"<path d=\\\"M10 3.5 15.6 15.5H4.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"joinRound\":{\"body\":\"<path d=\\\"M4.4 15.5V12a5.6 5.6 0 0 1 11.2 0v3.5Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"joinBevel\":{\"body\":\"<path d=\\\"M6.8 8.2h6.4l2.4 7.3H4.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"alignInner\":{\"body\":\"<path d=\\\"M10 3.8A6.2 6.2 0 1 0 10 16.2A6.2 6.2 0 1 0 10 3.8Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"alignCenter\":{\"body\":\"<path d=\\\"M10 2.1A7.9 7.9 0 1 0 10 17.9A7.9 7.9 0 1 0 10 2.1ZM10 5.5A4.5 4.5 0 1 0 10 14.5A4.5 4.5 0 1 0 10 5.5Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-rule=\\\"evenodd\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"alignOuter\":{\"body\":\"<path d=\\\"M0 0H20V20H0ZM10 3.8A6.2 6.2 0 1 0 10 16.2A6.2 6.2 0 1 0 10 3.8Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-rule=\\\"evenodd\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"dashSolid\":{\"body\":\"<path d=\\\"M2 10h16\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"butt\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"dashDashed\":{\"body\":\"<path d=\\\"M2 10h16\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"butt\\\" stroke-dasharray=\\\"6 4\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"dashDotted\":{\"body\":\"<path d=\\\"M2 10h16\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"butt\\\" stroke-dasharray=\\\"2.5 2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"dashCustom\":{\"body\":\"<path d=\\\"M2 10h16\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"butt\\\" stroke-dasharray=\\\"5 2 2 2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintSolid\":{\"body\":\"<path d=\\\"M3.4 3.4H16.6V16.6H3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"1\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintLinear\":{\"body\":\"<path d=\\\"M3.4 3.4H6.7V16.6H3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"1\\\"/><path d=\\\"M6.7 3.4H10V16.6H6.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.68\\\"/><path d=\\\"M10 3.4H13.3V16.6H10Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.42\\\"/><path d=\\\"M13.3 3.4H16.6V16.6H13.3Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintRadial\":{\"body\":\"<path d=\\\"M3.4 3.4H16.6V16.6H3.4ZM4.95 4.95H15.05V15.05H4.95Z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.7\\\"/><path d=\\\"M4.95 4.95H15.05V15.05H4.95ZM6.5 6.5H13.5V13.5H6.5Z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.53\\\"/><path d=\\\"M6.5 6.5H13.5V13.5H6.5ZM8.05 8.05H11.95V11.95H8.05Z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.37\\\"/><path d=\\\"M8.05 8.05H11.95V11.95H8.05Z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintConic\":{\"body\":\"<path d=\\\"M10 10L16.6 3.4L16.6 16.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"1\\\"/><path d=\\\"M10 10L16.6 16.6L3.4 16.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.68\\\"/><path d=\\\"M10 10L3.4 16.6L3.4 3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.42\\\"/><path d=\\\"M10 10L3.4 3.4L16.6 3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintMesh\":{\"body\":\"<path d=\\\"M3.4 3.4L10 3.4C10 6.26 11.6 5.74 11.6 8.6C7.09 8.6 7.91 10 3.4 10L3.4 3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"1\\\"/><path d=\\\"M10 3.4L16.6 3.4L16.6 10C13.85 10 14.35 8.6 11.6 8.6C11.6 5.74 10 6.26 10 3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.68\\\"/><path d=\\\"M11.6 8.6C14.35 8.6 13.85 10 16.6 10L16.6 16.6L10 16.6C10 12.2 11.6 13 11.6 8.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.42\\\"/><path d=\\\"M11.6 8.6C11.6 13 10 12.2 10 16.6L3.4 16.6L3.4 10C7.91 10 7.09 8.6 11.6 8.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintPattern\":{\"body\":\"<path d=\\\"M3.4 3.4L4.7 3.4L3.4 4.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M8.7 3.4L11.3 3.4L3.4 11.3L3.4 8.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M15.3 3.4L16.6 3.4L16.6 4.7L4.7 16.6L3.4 16.6L3.4 15.3Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M16.6 8.7L16.6 11.3L11.3 16.6L8.7 16.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M16.6 15.3L16.6 16.6L15.3 16.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M15.3 3.4L16.6 3.4L16.6 4.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M8.7 3.4L11.3 3.4L16.6 8.7L16.6 11.3Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M3.4 3.4L4.7 3.4L16.6 15.3L16.6 16.6L15.3 16.6L3.4 4.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M11.3 16.6L8.7 16.6L3.4 11.3L3.4 8.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M4.7 16.6L3.4 16.6L3.4 15.3Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintNone\":{\"body\":\"<path d=\\\"M3.4 3.4H16.6V16.6H3.4Z\\\"/><path d=\\\"M3.4 16.6L16.6 3.4\\\" stroke=\\\"var(--wzl-danger, #d94a3f)\\\" stroke-width=\\\"1.8\\\" stroke-linecap=\\\"butt\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]}}");
|
|
4
|
+
var icons = /*#__PURE__*/ JSON.parse("{\"arrow\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M3.5 16.5 12.9 7.1\\\" stroke-linecap=\\\"round\\\"/><path d=\\\"M16.5 3.5 11.06 5.98 14.03 8.95Z\\\" fill=\\\"currentColor\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"ellipse\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><ellipse cx=\\\"10\\\" cy=\\\"10\\\" rx=\\\"7\\\" ry=\\\"5\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"eyedropper\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><line x1=\\\"12.5\\\" y1=\\\"3.5\\\" x2=\\\"16.5\\\" y2=\\\"7.5\\\" stroke-linecap=\\\"round\\\"/><path d=\\\"M 11 7 L 13 5 a 2 2 0 0 1 2.8 0 l 1.2 1.2 a 2 2 0 0 1 0 2.8 L 15 11 Z\\\" stroke-linejoin=\\\"round\\\"/><line x1=\\\"13\\\" y1=\\\"9\\\" x2=\\\"5\\\" y2=\\\"17\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"11\\\" y1=\\\"7\\\" x2=\\\"3\\\" y2=\\\"15\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"3\\\" y1=\\\"15\\\" x2=\\\"5\\\" y2=\\\"17\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"hand\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"5\\\" y=\\\"10\\\" width=\\\"10\\\" height=\\\"7.5\\\" rx=\\\"2\\\"/><line x1=\\\"6.5\\\" y1=\\\"10\\\" x2=\\\"6.5\\\" y2=\\\"4.5\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"9\\\" y1=\\\"10\\\" x2=\\\"9\\\" y2=\\\"3\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"11.5\\\" y1=\\\"10\\\" x2=\\\"11.5\\\" y2=\\\"3.5\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"14\\\" y1=\\\"10\\\" x2=\\\"14\\\" y2=\\\"5.5\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"5\\\" y1=\\\"12.5\\\" x2=\\\"2.5\\\" y2=\\\"14.5\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"image\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"3\\\" y=\\\"4\\\" width=\\\"14\\\" height=\\\"12\\\" rx=\\\"1\\\"/><circle cx=\\\"7\\\" cy=\\\"8\\\" r=\\\"1.4\\\"/><path d=\\\"M4 14l4-4 3 3 3-4 2 2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"lasso\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 6 13 Q 2.5 8.5 5 5 Q 9 2 13.5 4.5 Q 17.5 7.5 15.5 11.5 Q 13 14 9.5 13.5 Q 7.5 13.2 6 13 Z\\\" stroke-linejoin=\\\"round\\\"/><path d=\\\"M 6 13 L 4 17\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"line\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><line x1=\\\"4\\\" y1=\\\"16\\\" x2=\\\"16\\\" y2=\\\"4\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"pen\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 4 4 L 8.5 4 L 16 11.5 L 13 14.5 L 4 5.5 Z\\\" fill=\\\"currentColor\\\" stroke-linejoin=\\\"round\\\"/><line x1=\\\"13\\\" y1=\\\"14.5\\\" x2=\\\"14.2\\\" y2=\\\"15.7\\\" stroke-linecap=\\\"round\\\"/><circle cx=\\\"15.5\\\" cy=\\\"16.5\\\" r=\\\"1.1\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"pencil\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 3 17 L 5.5 14.5 L 14 6 L 17 9 L 8.5 17.5 L 6 17 Z\\\" stroke-linejoin=\\\"round\\\"/><line x1=\\\"12\\\" y1=\\\"4\\\" x2=\\\"17\\\" y2=\\\"9\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"polygon\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><polygon points=\\\"10,3 16.5,6.5 16.5,13.5 10,17 3.5,13.5 3.5,6.5\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"rect\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"5\\\" y=\\\"6\\\" width=\\\"11\\\" height=\\\"9\\\"/><line x1=\\\"3\\\" y1=\\\"4\\\" x2=\\\"7\\\" y2=\\\"4\\\" stroke-linecap=\\\"round\\\"/><line x1=\\\"5\\\" y1=\\\"2\\\" x2=\\\"5\\\" y2=\\\"6\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"select\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 4 3 L 4 14.5 L 7.2 11.4 L 9.5 16 L 11.4 15.1 L 9.1 10.5 L 13.5 10.5 Z\\\" fill=\\\"currentColor\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"slice\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 8.5 10.5 L 14.5 4.5 L 16.5 6.5 L 10.5 12.5\\\" stroke-linejoin=\\\"round\\\" stroke-linecap=\\\"round\\\"/><path d=\\\"M 8.5 10.5 L 3.5 15.5 L 10.5 12.5 Z\\\" fill=\\\"currentColor\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"star\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><polygon points=\\\"10,2.5 12.1,7.9 17.8,8.3 13.4,12 14.8,17.5 10,14.4 5.2,17.5 6.6,12 2.2,8.3 7.9,7.9\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"sticky\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M 3.5 3.5 L 16.5 3.5 L 16.5 12 L 12 16.5 L 3.5 16.5 Z\\\"/><path d=\\\"M 16.5 12 L 12 12 L 12 16.5\\\"/><path d=\\\"M 6.5 7.5 L 13.5 7.5 M 6.5 10.5 L 9.5 10.5\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"text\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 4 5 L 16 5 M 10 5 L 10 16 M 7 16 L 13 16\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"unknown\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"7.5\\\"/><path d=\\\"M 7.5 8 Q 7.5 5.5 10 5.5 Q 12.5 5.5 12.5 8 Q 12.5 9.5 10 11 L 10 12.5\\\" stroke-linecap=\\\"round\\\"/><circle cx=\\\"10\\\" cy=\\\"14.5\\\" r=\\\"0.6\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Tools\",\"tags\":[]},\"cut\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"6\\\" cy=\\\"14\\\" r=\\\"2.5\\\"/><circle cx=\\\"14\\\" cy=\\\"14\\\" r=\\\"2.5\\\"/><path d=\\\"M8 12 L16 4\\\" stroke-linecap=\\\"round\\\"/><path d=\\\"M12 12 L4 4\\\" stroke-linecap=\\\"round\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"copy\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M6 14 H3 V3 H14 V6\\\" stroke-linejoin=\\\"round\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"11\\\" height=\\\"11\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"paste\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"4\\\" y=\\\"5\\\" width=\\\"12\\\" height=\\\"13\\\" rx=\\\"1\\\"/><rect x=\\\"7.5\\\" y=\\\"2.5\\\" width=\\\"5\\\" height=\\\"4\\\" rx=\\\"0.5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"duplicate\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"10\\\" height=\\\"10\\\"/><rect x=\\\"7\\\" y=\\\"7\\\" width=\\\"10\\\" height=\\\"10\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"transformAgain\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"8\\\" height=\\\"8\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"8\\\" height=\\\"8\\\"/><rect x=\\\"10\\\" y=\\\"10\\\" width=\\\"8\\\" height=\\\"8\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"group\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 2 5 L 2 2 L 5 2\\\"/><path d=\\\"M 18 5 L 18 2 L 15 2\\\"/><path d=\\\"M 2 15 L 2 18 L 5 18\\\"/><path d=\\\"M 18 15 L 18 18 L 15 18\\\"/><rect x=\\\"5\\\" y=\\\"6\\\" width=\\\"4.5\\\" height=\\\"8\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"11\\\" y=\\\"6\\\" width=\\\"4\\\" height=\\\"8\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"ungroup\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 2 5 L 2 2 L 5 2\\\" stroke-dasharray=\\\"1.5 1.5\\\"/><path d=\\\"M 18 15 L 18 18 L 15 18\\\" stroke-dasharray=\\\"1.5 1.5\\\"/><rect x=\\\"3\\\" y=\\\"5\\\" width=\\\"4.5\\\" height=\\\"8\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"13\\\" y=\\\"7\\\" width=\\\"4\\\" height=\\\"8\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"bringForward\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"11\\\" height=\\\"11\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"11\\\" height=\\\"11\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"bringToFront\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"9\\\" height=\\\"9\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"9\\\" height=\\\"9\\\"/><rect x=\\\"9\\\" y=\\\"9\\\" width=\\\"9\\\" height=\\\"9\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"sendBackward\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"11\\\" height=\\\"11\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"11\\\" height=\\\"11\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"sendToBack\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"9\\\" height=\\\"9\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"6\\\" y=\\\"6\\\" width=\\\"9\\\" height=\\\"9\\\"/><rect x=\\\"9\\\" y=\\\"9\\\" width=\\\"9\\\" height=\\\"9\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"flipX\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><line x1=\\\"10\\\" y1=\\\"2\\\" x2=\\\"10\\\" y2=\\\"18\\\" stroke-dasharray=\\\"2 1.5\\\"/><path d=\\\"M 8 4 L 3 10 L 8 16 Z\\\"/><path d=\\\"M 12 4 L 17 10 L 12 16 Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"flipY\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><line x1=\\\"2\\\" y1=\\\"10\\\" x2=\\\"18\\\" y2=\\\"10\\\" stroke-dasharray=\\\"2 1.5\\\"/><path d=\\\"M 4 8 L 10 3 L 16 8 Z\\\"/><path d=\\\"M 4 12 L 10 17 L 16 12 Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Edit\",\"tags\":[]},\"delete\":{\"body\":\"<path d=\\\"M3.6 5.8h12.8M8 5.8V4.5A1.1 1.1 0 0 1 9.1 3.4h1.8A1.1 1.1 0 0 1 12 4.5v1.3\\\"/><path d=\\\"M5.2 5.8v9.6A1.6 1.6 0 0 0 6.8 17h6.4a1.6 1.6 0 0 0 1.6-1.6V5.8\\\"/><path d=\\\"M8.4 8.8v5.2M11.6 8.8v5.2\\\" stroke-width=\\\"1\\\"/>\",\"group\":\"History\",\"tags\":[]},\"undo\":{\"body\":\"<path d=\\\"M4.4 8.4h6.8a3.6 3.6 0 0 1 0 7.2H8.6\\\"/><path d=\\\"M6.47 10.14 4.4 8.4 6.47 6.66\\\"/>\",\"group\":\"History\",\"tags\":[]},\"redo\":{\"body\":\"<path d=\\\"M15.6 8.4H8.8a3.6 3.6 0 0 0 0 7.2H11.4\\\"/><path d=\\\"M13.53 6.66 15.6 8.4 13.53 10.14\\\"/>\",\"group\":\"History\",\"tags\":[]},\"measure\":{\"body\":\"<rect x=\\\"2.6\\\" y=\\\"7.4\\\" width=\\\"14.8\\\" height=\\\"5.2\\\" rx=\\\"1.2\\\"/><path d=\\\"M6 7.4v2.2M9.4 7.4v3M12.8 7.4v2.2\\\" stroke-width=\\\"1\\\"/>\",\"group\":\"History\",\"tags\":[]},\"tune\":{\"body\":\"<path d=\\\"M3.4 6h13.2M3.4 10h13.2M3.4 14h13.2\\\" stroke-width=\\\"1.25\\\"/><circle cx=\\\"7\\\" cy=\\\"6\\\" r=\\\"1.8\\\"/><circle cx=\\\"12.6\\\" cy=\\\"10\\\" r=\\\"1.8\\\"/><circle cx=\\\"9\\\" cy=\\\"14\\\" r=\\\"1.8\\\"/>\",\"group\":\"History\",\"tags\":[]},\"alignLeft\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"2\\\" y1=\\\"2\\\" x2=\\\"2\\\" y2=\\\"14\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"2.5\\\" y=\\\"3\\\" width=\\\"9\\\" height=\\\"3\\\"/><rect x=\\\"2.5\\\" y=\\\"9\\\" width=\\\"6\\\" height=\\\"3\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"alignRight\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"14\\\" y1=\\\"2\\\" x2=\\\"14\\\" y2=\\\"14\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"4.5\\\" y=\\\"3\\\" width=\\\"9\\\" height=\\\"3\\\"/><rect x=\\\"7.5\\\" y=\\\"9\\\" width=\\\"6\\\" height=\\\"3\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"alignTop\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"2\\\" y1=\\\"2\\\" x2=\\\"14\\\" y2=\\\"2\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"3\\\" y=\\\"2.5\\\" width=\\\"3\\\" height=\\\"9\\\"/><rect x=\\\"9\\\" y=\\\"2.5\\\" width=\\\"3\\\" height=\\\"6\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"alignBottom\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"2\\\" y1=\\\"14\\\" x2=\\\"14\\\" y2=\\\"14\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"3\\\" y=\\\"4.5\\\" width=\\\"3\\\" height=\\\"9\\\"/><rect x=\\\"9\\\" y=\\\"7.5\\\" width=\\\"3\\\" height=\\\"6\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"alignCenterX\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"8\\\" y1=\\\"2\\\" x2=\\\"8\\\" y2=\\\"14\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"3.5\\\" y=\\\"3\\\" width=\\\"9\\\" height=\\\"3\\\"/><rect x=\\\"5\\\" y=\\\"9\\\" width=\\\"6\\\" height=\\\"3\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"alignCenterY\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><line x1=\\\"2\\\" y1=\\\"8\\\" x2=\\\"14\\\" y2=\\\"8\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\"/><rect x=\\\"3\\\" y=\\\"3.5\\\" width=\\\"3\\\" height=\\\"9\\\"/><rect x=\\\"9\\\" y=\\\"5\\\" width=\\\"3\\\" height=\\\"6\\\"/></g>\",\"group\":\"Align\",\"tags\":[]},\"distributeHorizontal\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><rect x=\\\"1\\\" y=\\\"4\\\" width=\\\"3\\\" height=\\\"8\\\"/><rect x=\\\"6.5\\\" y=\\\"4\\\" width=\\\"3\\\" height=\\\"8\\\"/><rect x=\\\"12\\\" y=\\\"4\\\" width=\\\"3\\\" height=\\\"8\\\"/></g>\",\"group\":\"Distribute\",\"tags\":[]},\"distributeVertical\":{\"body\":\"<g fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\" transform=\\\"scale(1.25)\\\"><rect x=\\\"4\\\" y=\\\"1\\\" width=\\\"8\\\" height=\\\"3\\\"/><rect x=\\\"4\\\" y=\\\"6.5\\\" width=\\\"8\\\" height=\\\"3\\\"/><rect x=\\\"4\\\" y=\\\"12\\\" width=\\\"8\\\" height=\\\"3\\\"/></g>\",\"group\":\"Distribute\",\"tags\":[]},\"union\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"intersect\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\"/><path d=\\\"M 10 6 A 5 5 0 0 1 10 14 A 5 5 0 0 1 10 6 Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"subtract\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\"/><path d=\\\"M 10 6 A 5 5 0 1 0 10 14 A 5 5 0 0 0 10 6 Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"exclude\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\"/><path d=\\\"M 10 6 A 5 5 0 1 0 10 14 A 5 5 0 0 0 10 6 Z M 10 6 A 5 5 0 1 1 10 14 A 5 5 0 0 1 10 6 Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-rule=\\\"evenodd\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"divide\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><circle cx=\\\"7\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\"/><line x1=\\\"10\\\" y1=\\\"6\\\" x2=\\\"10\\\" y2=\\\"14\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"crop\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><defs><clipPath id=\\\"weasel-default-crop-mask\\\"><rect x=\\\"9\\\" y=\\\"5\\\" width=\\\"8\\\" height=\\\"10\\\"/></clipPath></defs><circle cx=\\\"9\\\" cy=\\\"10\\\" r=\\\"5\\\"/><circle cx=\\\"9\\\" cy=\\\"10\\\" r=\\\"5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" clip-path=\\\"url(#weasel-default-crop-mask)\\\"/><rect x=\\\"9\\\" y=\\\"5\\\" width=\\\"8\\\" height=\\\"10\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"trim\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 10 6 A 5 5 0 1 0 10 14 A 5 5 0 0 0 10 6 Z\\\" stroke-linejoin=\\\"round\\\"/><circle cx=\\\"13\\\" cy=\\\"10\\\" r=\\\"5\\\" fill=\\\"currentColor\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"merge\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M 10 6 A 5 5 0 1 0 10 14 A 5 5 0 1 0 10 6 Z\\\" stroke-linejoin=\\\"round\\\"/></g>\",\"group\":\"Booleans\",\"tags\":[]},\"join\":{\"body\":\"<path d=\\\"M2 15.6 H6 M14 4.4 H18\\\"/><path d=\\\"M6 15.6 L14 4.4\\\"/><rect x=\\\"4.5\\\" y=\\\"14.1\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"12.5\\\" y=\\\"2.9\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Path commands\",\"tags\":[]},\"bridge\":{\"body\":\"<path d=\\\"M2 15.6 H6 M14 4.4 H18\\\"/><path d=\\\"M6 15.6 C11 15.6 9 4.4 14 4.4\\\"/><rect x=\\\"4.5\\\" y=\\\"14.1\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"12.5\\\" y=\\\"2.9\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Path commands\",\"tags\":[]},\"cutAtCrossings\":{\"body\":\"<path d=\\\"M2.5 10.625 H6 M12.75 10.625 H17.5\\\"/><path d=\\\"M9.375 2.5 V17.5\\\"/><rect x=\\\"4.5\\\" y=\\\"9.125\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"11.25\\\" y=\\\"9.125\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Path commands\",\"tags\":[]},\"simplify\":{\"body\":\"<path d=\\\"M3 7.5 L5.5 4.5 L8 7.5 L10.5 4.5 L13 7.5 L15.5 4.5 L17 6\\\" stroke-width=\\\"1.25\\\"/><path d=\\\"M4 15.6 C8 10.5 12 10.5 16 15.6\\\"/><rect x=\\\"2.5\\\" y=\\\"14.1\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"14.5\\\" y=\\\"14.1\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Path commands\",\"tags\":[]},\"offsetPath\":{\"body\":\"<rect x=\\\"6.875\\\" y=\\\"6.875\\\" width=\\\"6.25\\\" height=\\\"6.25\\\" rx=\\\"1\\\"/><rect x=\\\"3.125\\\" y=\\\"3.125\\\" width=\\\"13.75\\\" height=\\\"13.75\\\" rx=\\\"4.75\\\" stroke-width=\\\"1.25\\\"/>\",\"group\":\"Path commands\",\"tags\":[]},\"retractHandles\":{\"body\":\"<path d=\\\"M3 17 L10 7 L17 17\\\"/><path d=\\\"M2.5 5 H6.5 M5 3.5 L6.5 5 L5 6.5\\\" stroke-width=\\\"1\\\"/><path d=\\\"M17.5 5 H13.5 M15 3.5 L13.5 5 L15 6.5\\\" stroke-width=\\\"1\\\"/><rect x=\\\"8.5\\\" y=\\\"5.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"symmetricHandles\":{\"body\":\"<path d=\\\"M3 17 C3 10 6 8 10 8 S17 10 17 17\\\"/><path d=\\\"M3.5 8 H16.5\\\" stroke-width=\\\"1\\\"/><circle cx=\\\"3.5\\\" cy=\\\"8\\\" r=\\\"1.5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><circle cx=\\\"16.5\\\" cy=\\\"8\\\" r=\\\"1.5\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"8.5\\\" y=\\\"6.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"holdHandleAngle\":{\"body\":\"<path d=\\\"M5 15 L16 4\\\"/><path d=\\\"M12 4 H16 V8\\\"/><circle cx=\\\"10.5\\\" cy=\\\"9.5\\\" r=\\\"1.75\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"3.5\\\" y=\\\"13.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"holdHandleLength\":{\"body\":\"<circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"6.5\\\" stroke-width=\\\"1\\\"/><path d=\\\"M10 10 L14.5962 5.4038\\\"/><circle cx=\\\"14.5962\\\" cy=\\\"5.4038\\\" r=\\\"1.75\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"8.5\\\" y=\\\"8.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"simplifyBrush\":{\"body\":\"<path d=\\\"M2 16 C5 6 15 6 18 16\\\"/><circle cx=\\\"10\\\" cy=\\\"8.5\\\" r=\\\"5\\\" stroke-width=\\\"1\\\" stroke-dasharray=\\\"2 1.5\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"harmonize\":{\"body\":\"<path d=\\\"M3 16 C3 9 6.5 6 10 6 S17 9 17 16\\\"/><path d=\\\"M4.02 7.43 L2.47 6.18 M10 3.5 V1.5 M15.98 7.43 L17.53 6.18\\\" stroke-width=\\\"1\\\"/><rect x=\\\"8.5\\\" y=\\\"4.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"averageAnchors\":{\"body\":\"<path d=\\\"M5.6 5.6 L7.6 7.6 M14.4 5.6 L12.4 7.6 M10 14.4 V12.5\\\" stroke-width=\\\"1.25\\\"/><rect x=\\\"2.875\\\" y=\\\"2.875\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"14.125\\\" y=\\\"2.875\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"8.5\\\" y=\\\"14.125\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"8.125\\\" y=\\\"8.125\\\" width=\\\"3.75\\\" height=\\\"3.75\\\" stroke-width=\\\"1.25\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"bendSegment\":{\"body\":\"<path d=\\\"M3.5 15 H16.5\\\" stroke-width=\\\"1\\\" stroke-dasharray=\\\"1.4 1.4\\\"/><path d=\\\"M3.5 15 Q10 3 16.5 15\\\"/><path d=\\\"M10 12.5 V10 M8.8 11.2 L10 10 L11.2 11.2\\\" stroke-width=\\\"1\\\"/><rect x=\\\"2\\\" y=\\\"13.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><rect x=\\\"15\\\" y=\\\"13.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Anchors\",\"tags\":[]},\"nudgeAnchors\":{\"body\":\"<g transform=\\\"rotate(0 10 10)\\\"><path d=\\\"M4.1605 6.4645 A5 5 0 0 1 4.1605 13.5355\\\"/><path d=\\\"M6.8122 3.8128 A8.75 8.75 0 0 1 6.8122 16.1872\\\"/><svg x=\\\"11.25\\\" y=\\\"3.75\\\" width=\\\"5\\\" height=\\\"12.5\\\" viewBox=\\\"11.25 3.75 5 12.5\\\" overflow=\\\"hidden\\\"><path d=\\\"M0 16.25 L20 -3.75 M3.75 16.25 L23.75 -3.75 M7.5 16.25 L27.5 -3.75 M11.25 16.25 L31.25 -3.75 M15 16.25 L35 -3.75\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\"/></svg></g>\",\"group\":\"Anchors\",\"tags\":[]},\"nudgeAnchorsUp\":{\"body\":\"<g transform=\\\"rotate(-90 10 10)\\\"><path d=\\\"M4.1605 6.4645 A5 5 0 0 1 4.1605 13.5355\\\"/><path d=\\\"M6.8122 3.8128 A8.75 8.75 0 0 1 6.8122 16.1872\\\"/><svg x=\\\"11.25\\\" y=\\\"3.75\\\" width=\\\"5\\\" height=\\\"12.5\\\" viewBox=\\\"11.25 3.75 5 12.5\\\" overflow=\\\"hidden\\\"><path d=\\\"M0 16.25 L20 -3.75 M3.75 16.25 L23.75 -3.75 M7.5 16.25 L27.5 -3.75 M11.25 16.25 L31.25 -3.75 M15 16.25 L35 -3.75\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\"/></svg></g>\",\"group\":\"Anchors\",\"tags\":[]},\"nudgeAnchorsDown\":{\"body\":\"<g transform=\\\"rotate(90 10 10)\\\"><path d=\\\"M4.1605 6.4645 A5 5 0 0 1 4.1605 13.5355\\\"/><path d=\\\"M6.8122 3.8128 A8.75 8.75 0 0 1 6.8122 16.1872\\\"/><svg x=\\\"11.25\\\" y=\\\"3.75\\\" width=\\\"5\\\" height=\\\"12.5\\\" viewBox=\\\"11.25 3.75 5 12.5\\\" overflow=\\\"hidden\\\"><path d=\\\"M0 16.25 L20 -3.75 M3.75 16.25 L23.75 -3.75 M7.5 16.25 L27.5 -3.75 M11.25 16.25 L31.25 -3.75 M15 16.25 L35 -3.75\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\"/></svg></g>\",\"group\":\"Anchors\",\"tags\":[]},\"nudgeAnchorsLeft\":{\"body\":\"<g transform=\\\"rotate(180 10 10)\\\"><path d=\\\"M4.1605 6.4645 A5 5 0 0 1 4.1605 13.5355\\\"/><path d=\\\"M6.8122 3.8128 A8.75 8.75 0 0 1 6.8122 16.1872\\\"/><svg x=\\\"11.25\\\" y=\\\"3.75\\\" width=\\\"5\\\" height=\\\"12.5\\\" viewBox=\\\"11.25 3.75 5 12.5\\\" overflow=\\\"hidden\\\"><path d=\\\"M0 16.25 L20 -3.75 M3.75 16.25 L23.75 -3.75 M7.5 16.25 L27.5 -3.75 M11.25 16.25 L31.25 -3.75 M15 16.25 L35 -3.75\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"butt\\\"/></svg></g>\",\"group\":\"Anchors\",\"tags\":[]},\"createOutlines\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M3.5 3.5 H16.5 V7.5 H12 V16.5 H8 V7.5 H3.5 Z\\\" stroke-linejoin=\\\"miter\\\"/><g fill=\\\"currentColor\\\" stroke=\\\"none\\\"><rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"15\\\" y=\\\"2\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"6.5\\\" y=\\\"15\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"10.5\\\" y=\\\"15\\\" width=\\\"3\\\" height=\\\"3\\\"/></g></g>\",\"group\":\"Outline\",\"tags\":[]},\"outlineStroke\":{\"body\":\"<g stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"><path d=\\\"M4 4 A12 12 0 0 1 16 16 H10 A6 6 0 0 0 4 10 Z\\\" stroke-linejoin=\\\"miter\\\"/><g fill=\\\"currentColor\\\" stroke=\\\"none\\\"><rect x=\\\"2.5\\\" y=\\\"2.5\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"14.5\\\" y=\\\"14.5\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"8.5\\\" y=\\\"14.5\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"2.5\\\" y=\\\"8.5\\\" width=\\\"3\\\" height=\\\"3\\\"/></g></g>\",\"group\":\"Outline\",\"tags\":[]},\"bold\":{\"body\":\"<path d=\\\"M6 3.5h4.6a3.1 3.1 0 0 1 0 6.2H6zM6 9.7h5.4a3.4 3.4 0 0 1 0 6.8H6z\\\" stroke-width=\\\"2.1\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"italic\":{\"body\":\"<path d=\\\"M9 3.5h6M5 16.5h6M12.5 3.5 7.5 16.5\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"underline\":{\"body\":\"<path d=\\\"M6 3.4v5.6a4 4 0 0 0 8 0V3.4\\\"/><path d=\\\"M4.6 17h10.8\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"strikethrough\":{\"body\":\"<path d=\\\"M14.4 5.8c-.9-1.6-2.4-2.4-4.4-2.4-2.5 0-4.2 1.3-4.2 3.1 0 .9.4 1.6 1.2 2.2\\\"/><path d=\\\"M5.6 14.2c.9 1.6 2.4 2.4 4.4 2.4 2.5 0 4.2-1.3 4.2-3.1 0-.9-.4-1.6-1.2-2.2\\\"/><path d=\\\"M3.4 10h13.2\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"overline\":{\"body\":\"<path d=\\\"M4.6 3h10.8\\\"/><ellipse cx=\\\"10\\\" cy=\\\"11.4\\\" rx=\\\"4.4\\\" ry=\\\"4.8\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"superscript\":{\"body\":\"<path d=\\\"M3.6 8.6 10.4 16.4M10.4 8.6 3.6 16.4\\\"/><path d=\\\"M11.9 5.3a2.2 2.2 0 1 1 4.3.8c0 1.4-4.3 2.2-4.3 3.5h4.5\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"subscript\":{\"body\":\"<path d=\\\"M3.6 3.6 10.4 11.4M10.4 3.6 3.6 11.4\\\"/><path d=\\\"M11.9 11.5a2.2 2.2 0 1 1 4.3.8c0 1.4-4.3 2.2-4.3 3.5h4.5\\\"/>\",\"group\":\"Character styling\",\"tags\":[]},\"textAlignLeft\":{\"body\":\"<path d=\\\"M3 4.375H17M3 8.125H12M3 11.875H17M3 15.625H12\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignCenter\":{\"body\":\"<path d=\\\"M3 4.375H17M5.5 8.125H14.5M3 11.875H17M5.5 15.625H14.5\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignRight\":{\"body\":\"<path d=\\\"M3 4.375H17M8 8.125H17M3 11.875H17M8 15.625H17\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignJustify\":{\"body\":\"<path d=\\\"M3 4.375H17M3 8.125H17M3 11.875H17M3 15.625H12\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignTop\":{\"body\":\"<rect x=\\\"1.875\\\" y=\\\"1.875\\\" width=\\\"16.25\\\" height=\\\"16.25\\\" rx=\\\"2\\\" stroke-width=\\\"1\\\"/><path d=\\\"M5.5 5.625H14.5M7 9.375H13\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignMiddle\":{\"body\":\"<rect x=\\\"1.875\\\" y=\\\"1.875\\\" width=\\\"16.25\\\" height=\\\"16.25\\\" rx=\\\"2\\\" stroke-width=\\\"1\\\"/><path d=\\\"M5.5 8.125H14.5M7 11.875H13\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"textAlignBottom\":{\"body\":\"<rect x=\\\"1.875\\\" y=\\\"1.875\\\" width=\\\"16.25\\\" height=\\\"16.25\\\" rx=\\\"2\\\" stroke-width=\\\"1\\\"/><path d=\\\"M5.5 10.625H14.5M7 14.375H13\\\"/>\",\"group\":\"Paragraph alignment\",\"tags\":[]},\"strokeWidth\":{\"body\":\"<path d=\\\"M3.4 5.6h13.2\\\" stroke-width=\\\"1\\\"/><path d=\\\"M3.4 10h13.2\\\" stroke-width=\\\"2\\\"/><path d=\\\"M3.4 15.2h13.2\\\" stroke-width=\\\"3.4\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"strokeCap\":{\"body\":\"<path d=\\\"M2.5 10H12\\\" stroke-linecap=\\\"butt\\\"/><path d=\\\"M12 6V14\\\" stroke-width=\\\"1\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"strokeJoin\":{\"body\":\"<path d=\\\"M4.4 15.5 10 5.5 15.6 15.5\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"miter\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"strokeAlign\":{\"body\":\"<circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"6.2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"capButt\":{\"body\":\"<path d=\\\"M5.5 5.25H14.5V14.75H5.5Z\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linejoin=\\\"miter\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"capRound\":{\"body\":\"<path d=\\\"M3.13 5.25H12.13V14.75H3.13Z\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linejoin=\\\"miter\\\"/><path d=\\\"M12.13 4.5A5.5 5.5 0 0 1 12.13 15.5Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"capSquare\":{\"body\":\"<path d=\\\"M3.13 5.25H12.13V14.75H3.13Z\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linejoin=\\\"miter\\\"/><path d=\\\"M12.13 4.5H17.63V15.5H12.13Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"joinMiter\":{\"body\":\"<path d=\\\"M10 3.5 15.6 15.5H4.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"joinRound\":{\"body\":\"<path d=\\\"M4.4 15.5V12a5.6 5.6 0 0 1 11.2 0v3.5Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"joinBevel\":{\"body\":\"<path d=\\\"M6.8 8.2h6.4l2.4 7.3H4.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"alignInner\":{\"body\":\"<path d=\\\"M10 3.8A6.2 6.2 0 1 0 10 16.2A6.2 6.2 0 1 0 10 3.8Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"alignCenter\":{\"body\":\"<path d=\\\"M10 2.1A7.9 7.9 0 1 0 10 17.9A7.9 7.9 0 1 0 10 2.1ZM10 5.5A4.5 4.5 0 1 0 10 14.5A4.5 4.5 0 1 0 10 5.5Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-rule=\\\"evenodd\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"alignOuter\":{\"body\":\"<path d=\\\"M0 0H20V20H0ZM10 3.8A6.2 6.2 0 1 0 10 16.2A6.2 6.2 0 1 0 10 3.8Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-rule=\\\"evenodd\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"dashSolid\":{\"body\":\"<path d=\\\"M2 10h16\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"butt\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"dashDashed\":{\"body\":\"<path d=\\\"M2 10h16\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"butt\\\" stroke-dasharray=\\\"6 4\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"dashDotted\":{\"body\":\"<path d=\\\"M2 10h16\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"butt\\\" stroke-dasharray=\\\"2.5 2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"dashCustom\":{\"body\":\"<path d=\\\"M2 10h16\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"butt\\\" stroke-dasharray=\\\"5 2 2 2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintSolid\":{\"body\":\"<path d=\\\"M3.4 3.4H16.6V16.6H3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"1\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintLinear\":{\"body\":\"<path d=\\\"M3.4 3.4H6.7V16.6H3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"1\\\"/><path d=\\\"M6.7 3.4H10V16.6H6.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.68\\\"/><path d=\\\"M10 3.4H13.3V16.6H10Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.42\\\"/><path d=\\\"M13.3 3.4H16.6V16.6H13.3Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintRadial\":{\"body\":\"<path d=\\\"M3.4 3.4H16.6V16.6H3.4ZM4.95 4.95H15.05V15.05H4.95Z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.7\\\"/><path d=\\\"M4.95 4.95H15.05V15.05H4.95ZM6.5 6.5H13.5V13.5H6.5Z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.53\\\"/><path d=\\\"M6.5 6.5H13.5V13.5H6.5ZM8.05 8.05H11.95V11.95H8.05Z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.37\\\"/><path d=\\\"M8.05 8.05H11.95V11.95H8.05Z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintConic\":{\"body\":\"<path d=\\\"M10 10L16.6 3.4L16.6 16.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"1\\\"/><path d=\\\"M10 10L16.6 16.6L3.4 16.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.68\\\"/><path d=\\\"M10 10L3.4 16.6L3.4 3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.42\\\"/><path d=\\\"M10 10L3.4 3.4L16.6 3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintMesh\":{\"body\":\"<path d=\\\"M3.4 3.4L10 3.4C10 6.26 11.6 5.74 11.6 8.6C7.09 8.6 7.91 10 3.4 10L3.4 3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"1\\\"/><path d=\\\"M10 3.4L16.6 3.4L16.6 10C13.85 10 14.35 8.6 11.6 8.6C11.6 5.74 10 6.26 10 3.4Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.68\\\"/><path d=\\\"M11.6 8.6C14.35 8.6 13.85 10 16.6 10L16.6 16.6L10 16.6C10 12.2 11.6 13 11.6 8.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.42\\\"/><path d=\\\"M11.6 8.6C11.6 13 10 12.2 10 16.6L3.4 16.6L3.4 10C7.91 10 7.09 8.6 11.6 8.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" fill-opacity=\\\"0.2\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintPattern\":{\"body\":\"<path d=\\\"M3.4 3.4L4.7 3.4L3.4 4.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M8.7 3.4L11.3 3.4L3.4 11.3L3.4 8.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M15.3 3.4L16.6 3.4L16.6 4.7L4.7 16.6L3.4 16.6L3.4 15.3Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M16.6 8.7L16.6 11.3L11.3 16.6L8.7 16.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M16.6 15.3L16.6 16.6L15.3 16.6Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M15.3 3.4L16.6 3.4L16.6 4.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M8.7 3.4L11.3 3.4L16.6 8.7L16.6 11.3Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M3.4 3.4L4.7 3.4L16.6 15.3L16.6 16.6L15.3 16.6L3.4 4.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M11.3 16.6L8.7 16.6L3.4 11.3L3.4 8.7Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/><path d=\\\"M4.7 16.6L3.4 16.6L3.4 15.3Z\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]},\"paintNone\":{\"body\":\"<path d=\\\"M3.4 3.4H16.6V16.6H3.4Z\\\"/><path d=\\\"M3.4 16.6L16.6 3.4\\\" stroke=\\\"var(--wzl-danger, #d94a3f)\\\" stroke-width=\\\"1.8\\\" stroke-linecap=\\\"butt\\\"/>\",\"group\":\"Stroke and paint\",\"tags\":[]}}");
|
|
5
5
|
var icons_table_default = {
|
|
6
6
|
namespace,
|
|
7
7
|
owner,
|