@weasel-js/core 1.8.1 → 1.9.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 +49 -0
- package/README.md +9 -5
- package/dist/{builtins-CMEh6-Oc.d.ts → builtins-CQcvcLXh.d.ts} +98 -31
- package/dist/canvas/DrawCanvas.js +33 -33
- package/dist/canvas/DrawCanvas.js.map +1 -1
- package/dist/canvas/MinimapCanvas.js +29 -29
- package/dist/canvas/MinimapCanvas.js.map +1 -1
- package/dist/canvas/NodeShape.js +63 -54
- package/dist/canvas/NodeShape.js.map +1 -1
- package/dist/canvas/SceneCanvas/features.js +26 -5
- package/dist/canvas/SceneCanvas/features.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneSelectTool.js +3 -2
- package/dist/canvas/SceneCanvas/useSceneSelectTool.js.map +1 -1
- package/dist/canvas/SceneCanvas.js +526 -529
- package/dist/canvas/SceneCanvas.js.map +1 -1
- package/dist/canvas/SceneViewCanvas.js +35 -35
- package/dist/canvas/SceneViewCanvas.js.map +1 -1
- package/dist/canvas/defaultDrawOne.js +6 -1
- package/dist/canvas/defaultDrawOne.js.map +1 -1
- package/dist/canvas/pickWalk.js.map +1 -1
- package/dist/canvas/sceneAdapter.js.map +1 -1
- package/dist/canvas/useHitObserver.js +23 -0
- package/dist/canvas/useHitObserver.js.map +1 -0
- package/dist/canvas/useHostAnchor.js.map +1 -1
- package/dist/core/device/useDeviceProfile.js.map +1 -1
- package/dist/core/scene/derivedPath.js.map +1 -1
- package/dist/core/scene/effectivePose.js.map +1 -1
- package/dist/core/scene/kitRegistry.js.map +1 -1
- package/dist/core/scene/scene.js.map +1 -1
- package/dist/core/scene/types.js.map +1 -1
- package/dist/core/scene/useScene.js.map +1 -1
- package/dist/core/viewport/fitViewToBounds.js +3 -3
- package/dist/core/viewport/fitViewToBounds.js.map +1 -1
- package/dist/core/viewport/screenSlop.js +8 -2
- package/dist/core/viewport/screenSlop.js.map +1 -1
- package/dist/features/minimap/actions.js.map +1 -1
- package/dist/features/paths/markerCommands.js +95 -63
- package/dist/features/paths/markerCommands.js.map +1 -1
- package/dist/features/paths/tessellate/dash.js +52 -0
- package/dist/features/paths/tessellate/dash.js.map +1 -0
- package/dist/features/paths/tessellate/insets.js +32 -0
- package/dist/features/paths/tessellate/insets.js.map +1 -0
- package/dist/features/paths/tessellate/metric.js +72 -0
- package/dist/features/paths/tessellate/metric.js.map +1 -0
- package/dist/features/paths/tessellate/stroke.js +74 -134
- package/dist/features/paths/tessellate/stroke.js.map +1 -1
- package/dist/features/paths/tessellate/vertexWidths.js +32 -0
- package/dist/features/paths/tessellate/vertexWidths.js.map +1 -0
- package/dist/features/pointer/PointerContext.js +2 -2
- package/dist/features/pointer/PointerContext.js.map +1 -1
- package/dist/features/poseRun/usePoseRun.js.map +1 -1
- package/dist/features/text/useTextEdit.js +86 -84
- package/dist/features/text/useTextEdit.js.map +1 -1
- package/dist/index.d.ts +78 -39
- package/dist/index.js +148 -148
- package/dist/interactions/actions/defaults/align.js.map +1 -1
- package/dist/interactions/actions/defaults/anchorEditing.js.map +1 -1
- package/dist/interactions/actions/defaults/areaSelect.js.map +1 -1
- package/dist/interactions/actions/defaults/booleans.js.map +1 -1
- package/dist/interactions/actions/defaults/cancelGesture.js.map +1 -1
- package/dist/interactions/actions/defaults/clearSelection.js.map +1 -1
- package/dist/interactions/actions/defaults/clipboard.js.map +1 -1
- package/dist/interactions/actions/defaults/clone.js.map +1 -1
- package/dist/interactions/actions/defaults/createOutlines.js +1 -1
- package/dist/interactions/actions/defaults/createOutlines.js.map +1 -1
- package/dist/interactions/actions/defaults/createPaintAction.js.map +1 -1
- package/dist/interactions/actions/defaults/delete.js.map +1 -1
- package/dist/interactions/actions/defaults/distribute.js.map +1 -1
- package/dist/interactions/actions/defaults/duplicate.js.map +1 -1
- package/dist/interactions/actions/defaults/editAnchors.js.map +1 -1
- package/dist/interactions/actions/defaults/enterPathEdit.js.map +1 -1
- package/dist/interactions/actions/defaults/enterTextEdit.js.map +1 -1
- package/dist/interactions/actions/defaults/escape.js +1 -1
- package/dist/interactions/actions/defaults/escape.js.map +1 -1
- package/dist/interactions/actions/defaults/exitPathEdit.js.map +1 -1
- package/dist/interactions/actions/defaults/flip.js.map +1 -1
- package/dist/interactions/actions/defaults/group.js.map +1 -1
- package/dist/interactions/actions/defaults/ingest.js.map +1 -1
- package/dist/interactions/actions/defaults/insert.js.map +1 -1
- package/dist/interactions/actions/defaults/insertPathAnchor.js +1 -1
- package/dist/interactions/actions/defaults/insertPathAnchor.js.map +1 -1
- package/dist/interactions/actions/defaults/lassoSelect.js.map +1 -1
- package/dist/interactions/actions/defaults/move.js.map +1 -1
- package/dist/interactions/actions/defaults/nudge.js.map +1 -1
- package/dist/interactions/actions/defaults/pinchZoom.js.map +1 -1
- package/dist/interactions/actions/defaults/reorder.js.map +1 -1
- package/dist/interactions/actions/defaults/requiresSelection.js.map +1 -1
- package/dist/interactions/actions/defaults/resize.js.map +1 -1
- package/dist/interactions/actions/defaults/rotate.js.map +1 -1
- package/dist/interactions/actions/defaults/selectAll.js.map +1 -1
- package/dist/interactions/actions/defaults/slice.js.map +1 -1
- package/dist/interactions/actions/defaults/toolActivate.js.map +1 -1
- package/dist/interactions/actions/defaults/toolResetToDefault.js.map +1 -1
- package/dist/interactions/actions/defaults/undoRedo.js +1 -1
- package/dist/interactions/actions/defaults/undoRedo.js.map +1 -1
- package/dist/interactions/actions/defaults/viewportDragPan.js.map +1 -1
- package/dist/interactions/actions/defaults/viewportWheelPan.js.map +1 -1
- package/dist/interactions/actions/defaults/viewportZoom.js.map +1 -1
- package/dist/interactions/actions/planeInput.js.map +1 -1
- package/dist/interactions/gestures/shared/screenTolerance.js.map +1 -1
- package/dist/{registerProgram-ateHDGjw.d.ts → registerProgram-BMZRDgrh.d.ts} +4 -0
- package/dist/renderer/cache/markerCommandCache.js +46 -42
- package/dist/renderer/cache/markerCommandCache.js.map +1 -1
- package/dist/renderer/cache/outlineStrokeMeshCache.js +30 -25
- package/dist/renderer/cache/outlineStrokeMeshCache.js.map +1 -1
- package/dist/renderer/cache/strokeMeshCache.js +42 -31
- package/dist/renderer/cache/strokeMeshCache.js.map +1 -1
- package/dist/renderer/cullDrawCommands.js +32 -31
- package/dist/renderer/cullDrawCommands.js.map +1 -1
- package/dist/renderer/draw.js +315 -362
- package/dist/renderer/draw.js.map +1 -1
- package/dist/renderer/glyphOutlineMesh.js +67 -0
- package/dist/renderer/glyphOutlineMesh.js.map +1 -0
- package/dist/renderer/math/mat3.js +8 -3
- package/dist/renderer/math/mat3.js.map +1 -1
- package/dist/renderer/strokeLengths.js +50 -0
- package/dist/renderer/strokeLengths.js.map +1 -0
- package/dist/renderer.d.ts +2 -2
- package/dist/{test-seams-fYf6m5pu.d.ts → test-seams-CuIxe0xY.d.ts} +1 -1
- package/dist/test-seams.d.ts +2 -2
- package/dist/tools/builtin/eyedropper/useEyedropperTool.js.map +1 -1
- package/dist/tools/builtin/pen/usePenTool.js +1 -1
- package/dist/tools/builtin/pen/usePenTool.js.map +1 -1
- package/dist/tools/builtin/select/selectionContributions.js +43 -23
- package/dist/tools/builtin/select/selectionContributions.js.map +1 -1
- package/dist/tools/builtin/select/useSelectTool.js.map +1 -1
- package/dist/tools/builtin/slice/useSliceTool.js.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +17 -17
package/dist/index.js
CHANGED
|
@@ -162,152 +162,152 @@ import xa from "./icons/UnknownIcon.js";
|
|
|
162
162
|
import { getImageBitmap as Sa, imageStatus as Ca, isVectorImageSrc as wa, subscribeImageReady as Ta } from "./features/images/imageCache.js";
|
|
163
163
|
import { DEFAULT_INK as Ea, findNodeShape as Da, findShapeBounds as Oa, findShapeInk as ka, findShapeSilhouette as Aa, getNodeShapes as ja, registerNodeShape as Ma, shapeCoversPoint as Na } from "./canvas/NodeShape.js";
|
|
164
164
|
import { pickTopMostHit as Pa } from "./tools/builtin/pickTopMostHit.js";
|
|
165
|
-
import { AREA_SELECT_ID as Fa, SELECTION_MOVE_ID as Ia,
|
|
166
|
-
import { useSelectTool as
|
|
167
|
-
import { useHandTool as
|
|
168
|
-
import { DRAG_PAN_ID as
|
|
169
|
-
import { useTextTool as
|
|
170
|
-
import { constrainTo45 as
|
|
171
|
-
import { usePenTool as
|
|
172
|
-
import { useRectTool as
|
|
173
|
-
import { useEllipseTool as
|
|
174
|
-
import { useImageTool as
|
|
175
|
-
import { useEyedropperTool as
|
|
176
|
-
import { useLineTool as
|
|
177
|
-
import { useLassoTool as
|
|
178
|
-
import { usePolygonTool as
|
|
179
|
-
import { useStarTool as
|
|
180
|
-
import { usePencilTool as
|
|
181
|
-
import { useSliceTool as
|
|
182
|
-
import { defaultDrawOne as
|
|
183
|
-
import { releaseCanvasRenderer as
|
|
184
|
-
import { useSelection as
|
|
185
|
-
import { DEFAULT_ROTATION_HANDLE_DISTANCE as
|
|
186
|
-
import { composeSelectionPose as
|
|
187
|
-
import { PAINTED_CURSOR_LAYER_ID as
|
|
188
|
-
import { rotateAroundAABBCenter as
|
|
189
|
-
import { hostAnchorCss as
|
|
190
|
-
import { useHostAnchor as
|
|
191
|
-
import { CursorCoordsHud as
|
|
192
|
-
import { PickHud as
|
|
193
|
-
import { sceneToAdapter as
|
|
194
|
-
import { createArrangeOp as
|
|
195
|
-
import { createPoseOverrides as
|
|
196
|
-
import { createScene as
|
|
197
|
-
import { SelectionContextProvider as
|
|
198
|
-
import { annulusSemiAxes as
|
|
199
|
-
import { createCornerResizeAffordance as
|
|
200
|
-
import { createRotationAffordance as
|
|
201
|
-
import { enumerateAnchors as
|
|
202
|
-
import { PATH_ANCHOR_CHROME_ID as
|
|
203
|
-
import { insertPreviewExtent as
|
|
204
|
-
import { CanvasView as
|
|
205
|
-
import { KIT_VERSIONS as
|
|
206
|
-
import { PointerProviderIfRoot as
|
|
207
|
-
import { AUTO_ORIGIN_PROJECTION as
|
|
208
|
-
import { snap as
|
|
209
|
-
import { FEATURE_ACTION_IDS as
|
|
210
|
-
import { flattenPreviews as
|
|
211
|
-
import { resolveOverlays as
|
|
212
|
-
import { circlePath as
|
|
213
|
-
import { createPenPreviewLayer as
|
|
214
|
-
import { createPathEditingOverlayLayer as
|
|
215
|
-
import { layoutArrivalHandler as
|
|
216
|
-
import { WEASEL_CLIPBOARD_MIME as
|
|
217
|
-
import { openFilePicker as
|
|
218
|
-
import { LONG_PRESS_FEEDBACK_ID as
|
|
219
|
-
import { createNodeRouting as
|
|
220
|
-
import { defaultNodeRouting as
|
|
221
|
-
import { actionIs as
|
|
222
|
-
import { defaultVisibilityRules as
|
|
223
|
-
import { resolveVisibility as
|
|
224
|
-
import { buildChromeCtx as
|
|
225
|
-
import { useHoverTracking as
|
|
226
|
-
import { ALWAYS as
|
|
227
|
-
import { BUILTIN_TOOL_IDS as
|
|
228
|
-
import { createNodeProperties as
|
|
229
|
-
import { defaultNodeProperties as
|
|
230
|
-
import { buildSceneViewCommands as
|
|
231
|
-
import { SceneViewCanvas as
|
|
232
|
-
import { DrawCanvas as
|
|
233
|
-
import { MINIMAP_CENTER as
|
|
234
|
-
import { CROSSHAIR_HALO as
|
|
235
|
-
import { useScene as
|
|
236
|
-
import { createPoseFeed as
|
|
237
|
-
import { FALLBACK_FIT_VIEW as
|
|
238
|
-
import { MinimapCanvas as
|
|
239
|
-
import { createLinkedCursorContribution as
|
|
240
|
-
import { renderNeeds as
|
|
241
|
-
import { createRasterSession as
|
|
242
|
-
import { debugSnapshotArgs as
|
|
243
|
-
import { rasterToPng as
|
|
244
|
-
import { ActionsProviderIfRoot as
|
|
245
|
-
import { DepRegistryProviderIfRoot as
|
|
246
|
-
import { WeaselProvider as
|
|
247
|
-
import { useCanvasFocus as
|
|
248
|
-
import { gateLayer as
|
|
249
|
-
import { modeDecorationLayer as
|
|
250
|
-
import { createChildrenLayer as
|
|
251
|
-
import { composeAffordanceLayer as
|
|
252
|
-
import { defaultLabelTextRenderer as
|
|
253
|
-
import { createTextLayer as
|
|
254
|
-
import { caretIndexAt as
|
|
255
|
-
import { fitTextPose as
|
|
256
|
-
import { charOffsetToDomPosition as
|
|
257
|
-
import { MIXED as
|
|
258
|
-
import { applyStyleToRange as
|
|
259
|
-
import { nodeHasFlag as
|
|
260
|
-
import { effectiveRangeStyle as
|
|
261
|
-
import { TEXT_EDIT_FONT_HOLD as
|
|
262
|
-
import { useSceneTextEdit as
|
|
263
|
-
import { createSetTextOp as
|
|
264
|
-
import { createSetLayerOp as
|
|
265
|
-
import { createSetLayoutOp as
|
|
266
|
-
import { createSetPathOp as
|
|
267
|
-
import { nestedHitTester as
|
|
268
|
-
import { unionOfChildrenVia as
|
|
269
|
-
import { createPathLayer as
|
|
270
|
-
import { pathOriginProjection as
|
|
271
|
-
import { DEFAULT_FLATTEN_TOLERANCE as
|
|
272
|
-
import { useGradientKinds as
|
|
273
|
-
import { createHistory as
|
|
274
|
-
import { arrayAdapter as
|
|
275
|
-
import { useArrayAdapter as
|
|
276
|
-
import { useDragGesture as
|
|
277
|
-
import { useDragRect as
|
|
278
|
-
import { useDragRadial as
|
|
279
|
-
import { hitAnchor as
|
|
280
|
-
import { useClipboardOps as
|
|
281
|
-
import { useDistribute as
|
|
282
|
-
import { cloneByAltDrag as
|
|
283
|
-
import { useBooleans as
|
|
284
|
-
import { useBooleansAdapter as
|
|
285
|
-
import { useCreateOutlinesAdapter as
|
|
286
|
-
import { animateOnSetPose as
|
|
287
|
-
import { animateLifecycle as
|
|
288
|
-
import { createReflowTransition as
|
|
289
|
-
import { momentum as
|
|
290
|
-
import { createSlew as
|
|
291
|
-
import { cycleVertexColors as
|
|
292
|
-
import { IDENTITY_JOINT as
|
|
293
|
-
import { blendPoses as
|
|
294
|
-
import { mirrorPose as
|
|
295
|
-
import { resolveSkeleton as
|
|
296
|
-
import { bindRig as
|
|
297
|
-
import { solveIk as
|
|
298
|
-
import { useRig as
|
|
299
|
-
import { EASINGS as
|
|
300
|
-
import { mergeContributions as
|
|
301
|
-
import { canQueryLocalFonts as
|
|
302
|
-
import { STROKE_DASH_RATIOS as
|
|
303
|
-
import { createReflectable as
|
|
304
|
-
import { DEFAULT_DECORATION_METRICS as
|
|
305
|
-
import { trimPolyline as
|
|
306
|
-
import { useLatest as
|
|
307
|
-
import { ActionDisabledReason as
|
|
308
|
-
import { ActionsProvider as
|
|
309
|
-
import { ANGLE_RADIANS as
|
|
310
|
-
import { CURSOR_ANGLE_STEPS as
|
|
311
|
-
import { CURVE_REPS as
|
|
165
|
+
import { AREA_SELECT_ID as Fa, SELECTION_MOVE_ID as Ia, SELECTION_RESIZE_ID as La, SELECTION_ROTATE_ID as Ra, SELECTION_TRANSFORM_ID as za, areaSelectContribution as Ba, onEmptyCanvas as Va, selectionMoveBindings as Ha, selectionMoveContribution as Ua, selectionResizeBindings as Wa, selectionResizeContribution as Ga, selectionRotateBindings as Ka, selectionRotateContribution as qa, selectionTransformBindings as Ja, selectionTransformContribution as Ya } from "./tools/builtin/select/selectionContributions.js";
|
|
166
|
+
import { useSelectTool as Xa } from "./tools/builtin/select/useSelectTool.js";
|
|
167
|
+
import { useHandTool as Za } from "./tools/builtin/hand/useHandTool.js";
|
|
168
|
+
import { DRAG_PAN_ID as Qa, dragPanContribution as $a } from "./tools/builtin/hand/dragPanContribution.js";
|
|
169
|
+
import { useTextTool as eo } from "./tools/builtin/text/useTextTool.js";
|
|
170
|
+
import { constrainTo45 as to } from "./util/constrainTo45.js";
|
|
171
|
+
import { usePenTool as no } from "./tools/builtin/pen/usePenTool.js";
|
|
172
|
+
import { useRectTool as ro } from "./tools/builtin/rect/useRectTool.js";
|
|
173
|
+
import { useEllipseTool as io } from "./tools/builtin/ellipse/useEllipseTool.js";
|
|
174
|
+
import { useImageTool as ao } from "./tools/builtin/image/useImageTool.js";
|
|
175
|
+
import { useEyedropperTool as oo } from "./tools/builtin/eyedropper/useEyedropperTool.js";
|
|
176
|
+
import { useLineTool as so } from "./tools/builtin/line/useLineTool.js";
|
|
177
|
+
import { useLassoTool as co } from "./tools/builtin/lasso/useLassoTool.js";
|
|
178
|
+
import { usePolygonTool as lo } from "./tools/builtin/polygon/usePolygonTool.js";
|
|
179
|
+
import { useStarTool as uo } from "./tools/builtin/star/useStarTool.js";
|
|
180
|
+
import { usePencilTool as fo } from "./tools/builtin/pencil/usePencilTool.js";
|
|
181
|
+
import { useSliceTool as po } from "./tools/builtin/slice/useSliceTool.js";
|
|
182
|
+
import { defaultDrawOne as mo, defaultPaintBounds as ho } from "./canvas/defaultDrawOne.js";
|
|
183
|
+
import { releaseCanvasRenderer as go } from "./canvas/canvasRenderer.js";
|
|
184
|
+
import { useSelection as _o } from "./core/selection/useSelection.js";
|
|
185
|
+
import { DEFAULT_ROTATION_HANDLE_DISTANCE as vo, hitRotationHandle as yo, rotationHandle as bo } from "./interactions/actions/rotate/handle.js";
|
|
186
|
+
import { composeSelectionPose as xo, createSelectionHandlesLayer as So, createSelectionOutlineLayer as Co, createSelectionOverlayLayer as wo } from "./features/selection/overlay.js";
|
|
187
|
+
import { PAINTED_CURSOR_LAYER_ID as To, createPaintedCursorLayer as Eo } from "./features/cursor/paintedCursorLayer.js";
|
|
188
|
+
import { rotateAroundAABBCenter as Do } from "./canvas/poseRotation.js";
|
|
189
|
+
import { hostAnchorCss as Oo, hostAnchorRect as ko } from "./canvas/hostAnchor.js";
|
|
190
|
+
import { useHostAnchor as Ao } from "./canvas/useHostAnchor.js";
|
|
191
|
+
import { CursorCoordsHud as jo } from "./canvas/CursorCoordsHud.js";
|
|
192
|
+
import { PickHud as Mo } from "./canvas/PickHud.js";
|
|
193
|
+
import { sceneToAdapter as No, useSceneAdapter as Po } from "./canvas/sceneAdapter.js";
|
|
194
|
+
import { createArrangeOp as Fo } from "./core/ops/arrange.js";
|
|
195
|
+
import { createPoseOverrides as Io } from "./core/scene/poseOverrides.js";
|
|
196
|
+
import { createScene as Lo, sceneFromJSON as Ro, sceneSelectionStore as zo } from "./core/scene/scene.js";
|
|
197
|
+
import { SelectionContextProvider as Bo, SelectionContextProviderIfRoot as Vo, usePublishSelection as Ho, useSelectionContext as Uo } from "./features/selection/SelectionContext.js";
|
|
198
|
+
import { annulusSemiAxes as Wo, hitAffordanceRegions as Go, pointRegionFrame as Ko } from "./affordances/hitAffordanceRegions.js";
|
|
199
|
+
import { createCornerResizeAffordance as qo } from "./affordances/cornerResize.js";
|
|
200
|
+
import { createRotationAffordance as Jo } from "./affordances/rotationHandle.js";
|
|
201
|
+
import { enumerateAnchors as Yo, withCoord as Xo } from "./interactions/actions/edit-anchors/geometry.js";
|
|
202
|
+
import { PATH_ANCHOR_CHROME_ID as Zo, createPathAnchorAffordances as Qo } from "./affordances/pathAnchors.js";
|
|
203
|
+
import { insertPreviewExtent as $o } from "./canvas/insertPreviewExtent.js";
|
|
204
|
+
import { CanvasView as es } from "./canvas/CanvasView.js";
|
|
205
|
+
import { KIT_VERSIONS as ts, checkRequirements as ns, satisfiesRange as rs } from "./canvas/kitRequirements.js";
|
|
206
|
+
import { PointerProviderIfRoot as is } from "./canvas/SceneCanvas/PointerProviderIfRoot.js";
|
|
207
|
+
import { AUTO_ORIGIN_PROJECTION as as, RECT_ORIGIN_PROJECTION as os } from "./interactions/gestures/shared/originProjection.js";
|
|
208
|
+
import { snap as ss } from "./interactions/gestures/shared/snap.js";
|
|
209
|
+
import { COMPOSITE_FEATURES as cs, FEATURE_ACTION_IDS as ls, SCENE_CANVAS_FEATURES as us, TOOL_DRIVEN_ACTION_IDS as ds } from "./canvas/SceneCanvas/features.js";
|
|
210
|
+
import { flattenPreviews as fs, resolvePreviews as ps } from "./interactions/actions/resolvePreviews.js";
|
|
211
|
+
import { resolveOverlays as ms } from "./interactions/actions/resolveOverlays.js";
|
|
212
|
+
import { circlePath as hs, rectMarkerPath as gs, roundRectPath as _s, squarePath as vs } from "./features/paths/markers.js";
|
|
213
|
+
import { createPenPreviewLayer as ys } from "./features/paths/penPreviewLayer.js";
|
|
214
|
+
import { createPathEditingOverlayLayer as bs } from "./features/paths/pathEditingOverlayLayer.js";
|
|
215
|
+
import { layoutArrivalHandler as xs, useLayoutArrivals as Ss } from "./layout/arrivals.js";
|
|
216
|
+
import { WEASEL_CLIPBOARD_MIME as Cs, WEASEL_CLIPBOARD_MIME_WEB as ws, buildWeaselClipboardText as Ts, embedWeaselMetadataInSvg as Es, extractWeaselClipboardFromSvg as Ds, parseWeaselClipboardText as Os, sniffWeaselClipboardText as ks } from "./interactions/actions/clipboard/wireFormat.js";
|
|
217
|
+
import { openFilePicker as As } from "./features/ingestion/openFilePicker.js";
|
|
218
|
+
import { LONG_PRESS_FEEDBACK_ID as js, createLongPressFeedbackContribution as Ms } from "./features/longPress/longPressFeedback.js";
|
|
219
|
+
import { createNodeRouting as Ns } from "./core/scene/NodeRouting.js";
|
|
220
|
+
import { defaultNodeRouting as Ps, inferredNodeRouting as Fs } from "./canvas/SceneCanvas/defaultNodeRouting.js";
|
|
221
|
+
import { actionIs as Is, always as Ls, and as Rs, canHover as zs, capabilityAll as Bs, capabilityIn as Vs, capabilityIs as Hs, capabilityNot as Us, coarsePointer as Ws, cond as Gs, focused as Ks, gesturing as qs, hovering as Js, hoveringSelected as Ys, modeIn as Xs, modeIs as Zs, modeNot as Qs, modifierHeld as $s, multiActive as ec, never as tc, not as nc, or as rc, selectionAtLeast as ic, selectionEmpty as ac, selectionIs as oc, when as sc, zoomAtLeast as cc } from "./features/chrome-caps/conditions.js";
|
|
222
|
+
import { defaultVisibilityRules as lc } from "./features/chrome-caps/defaults.js";
|
|
223
|
+
import { resolveVisibility as uc } from "./features/chrome-caps/resolve.js";
|
|
224
|
+
import { buildChromeCtx as dc } from "./features/chrome-caps/buildChromeCtx.js";
|
|
225
|
+
import { useHoverTracking as fc } from "./features/chrome-caps/useHoverTracking.js";
|
|
226
|
+
import { ALWAYS as pc, DEFAULT_ALLOWED_CAPABILITIES as mc, NEVER as hc, buildRuleCtx as gc, describeRule as _c, evaluate as vc } from "./features/chrome-caps/index.js";
|
|
227
|
+
import { BUILTIN_TOOL_IDS as yc, DEFAULT_HANDLE_SIZE as bc, SceneCanvas as xc } from "./canvas/SceneCanvas.js";
|
|
228
|
+
import { createNodeProperties as Sc } from "./core/scene/NodeProperties.js";
|
|
229
|
+
import { defaultNodeProperties as Cc, inferredNodeProperties as wc, rotationDegreesUnit as Tc } from "./canvas/SceneCanvas/defaultNodeProperties.js";
|
|
230
|
+
import { buildSceneViewCommands as Ec, renderSceneToCanvas as Dc } from "./canvas/sceneViewRender.js";
|
|
231
|
+
import { SceneViewCanvas as Oc } from "./canvas/SceneViewCanvas.js";
|
|
232
|
+
import { DrawCanvas as kc } from "./canvas/DrawCanvas.js";
|
|
233
|
+
import { MINIMAP_CENTER as Ac, MINIMAP_PAN as jc, centerRootOn as Mc, minimapCenterAction as Nc, minimapPanAction as Pc } from "./features/minimap/actions.js";
|
|
234
|
+
import { CROSSHAIR_HALO as Fc, crosshairRects as Ic } from "./features/minimap/layers.js";
|
|
235
|
+
import { useScene as Lc } from "./core/scene/useScene.js";
|
|
236
|
+
import { createPoseFeed as Rc } from "./core/scene/poseFeed.js";
|
|
237
|
+
import { FALLBACK_FIT_VIEW as zc, computeFitView as Bc, computeIndicatorCommand as Vc } from "./canvas/minimapMath.js";
|
|
238
|
+
import { MinimapCanvas as Hc } from "./canvas/MinimapCanvas.js";
|
|
239
|
+
import { createLinkedCursorContribution as Uc, createMinimapContribution as Wc } from "./features/minimap/createMinimapContribution.js";
|
|
240
|
+
import { renderNeeds as Gc } from "./canvas/renderNeeds.js";
|
|
241
|
+
import { createRasterSession as Kc, planPixelRender as qc, renderSceneToPixels as Jc, warmRender as Yc } from "./canvas/renderSceneToPixels.js";
|
|
242
|
+
import { debugSnapshotArgs as Xc, renderDebugSnapshot as Zc } from "./canvas/renderDebugSnapshot.js";
|
|
243
|
+
import { rasterToPng as Qc } from "./canvas/rasterToPng.js";
|
|
244
|
+
import { ActionsProviderIfRoot as $c } from "./canvas/SceneCanvas/ActionsProviderIfRoot.js";
|
|
245
|
+
import { DepRegistryProviderIfRoot as el } from "./canvas/SceneCanvas/DepRegistryProviderIfRoot.js";
|
|
246
|
+
import { WeaselProvider as tl } from "./WeaselProvider.js";
|
|
247
|
+
import { useCanvasFocus as nl } from "./features/focus/useCanvasFocus.js";
|
|
248
|
+
import { gateLayer as rl } from "./features/focus/gateLayer.js";
|
|
249
|
+
import { modeDecorationLayer as il, workspaceTintLayer as al } from "./features/modes/modeLayers.js";
|
|
250
|
+
import { createChildrenLayer as ol } from "./features/groups/children.js";
|
|
251
|
+
import { composeAffordanceLayer as sl } from "./affordances/composeAffordanceLayer.js";
|
|
252
|
+
import { defaultLabelTextRenderer as cl, renderLabel as ll } from "./features/text/renderLabel.js";
|
|
253
|
+
import { createTextLayer as ul } from "./features/text/textLayer.js";
|
|
254
|
+
import { caretIndexAt as dl, pointInTextPose as fl } from "./features/text/hitTest.js";
|
|
255
|
+
import { fitTextPose as pl } from "./features/text/fitTextPose.js";
|
|
256
|
+
import { charOffsetToDomPosition as ml, domPositionToCharOffset as hl, domToRuns as gl, runsToDom as _l } from "./features/text/domRuns.js";
|
|
257
|
+
import { MIXED as vl } from "./core/mixed.js";
|
|
258
|
+
import { applyStyleToRange as yl, patchRangeStyle as bl, styleAtRange as xl } from "./features/text/runs/rangeStyle.js";
|
|
259
|
+
import { nodeHasFlag as Sl, setFlagOverRange as Cl, unboldPatch as wl } from "./features/text/runs/flagRange.js";
|
|
260
|
+
import { effectiveRangeStyle as Tl, rangeWeight as El } from "./features/text/runs/effectiveRangeStyle.js";
|
|
261
|
+
import { TEXT_EDIT_FONT_HOLD as Dl, useTextEdit as Ol } from "./features/text/useTextEdit.js";
|
|
262
|
+
import { useSceneTextEdit as kl } from "./features/text/useSceneTextEdit.js";
|
|
263
|
+
import { createSetTextOp as Al } from "./core/ops/setText.js";
|
|
264
|
+
import { createSetLayerOp as jl } from "./core/ops/setLayer.js";
|
|
265
|
+
import { createSetLayoutOp as Ml } from "./core/ops/setLayout.js";
|
|
266
|
+
import { createSetPathOp as Nl } from "./core/ops/setPath.js";
|
|
267
|
+
import { nestedHitTester as Pl } from "./features/groups/nestedHit.js";
|
|
268
|
+
import { unionOfChildrenVia as Fl } from "./features/groups/unionOfChildren.js";
|
|
269
|
+
import { createPathLayer as Il } from "./features/paths/pathLayer.js";
|
|
270
|
+
import { pathOriginProjection as Ll } from "./features/paths/originProjection.js";
|
|
271
|
+
import { DEFAULT_FLATTEN_TOLERANCE as Rl, PATH_C as zl, PATH_CMD_LENGTHS as Bl, PATH_L as Vl, PATH_M as Hl, PATH_Q as Ul, PATH_Z as Wl, PathBuilder as Gl, boundsOfPath as Kl, composePath as ql, decomposePath as Jl, ellipsePath as Yl, flattenCubic as Xl, flattenCubicWithArcLen as Zl, flattenQuadratic as Ql, flattenQuadraticWithArcLen as $l, linePath as eu, pathCommandCoordCount as tu, pathContainsPoint as nu, pathContainsPolygon as ru, pathContainsRect as iu, pathDistanceToPoint as au, pathFromD as ou, pathIntersectsPolygon as su, pathIntersectsRect as cu, pathSignedArea as lu, pointAlongPath as uu, pointInPath as du, polygonFromPoints as fu, polylineFromPoints as pu, rectPath as mu, regularPolygonPath as hu, reversePath as gu, scalePathToBounds as _u, snipPathByPolyline as vu, splitPathByPolyline as yu, splitPathBySegment as bu, splitSubpaths as xu, starPath as Su, transformPath as Cu, translatePath as wu, unionBoundsPath as Tu } from "./features/paths/index.js";
|
|
272
|
+
import { useGradientKinds as Eu, usePaintKind as Du, usePaintKinds as Ou } from "./core/usePaintKinds.js";
|
|
273
|
+
import { createHistory as ku } from "./core/ops/createHistory.js";
|
|
274
|
+
import { arrayAdapter as Au } from "./core/adapters/arrayAdapter.js";
|
|
275
|
+
import { useArrayAdapter as ju } from "./core/adapters/useArrayAdapter.js";
|
|
276
|
+
import { useDragGesture as Mu } from "./interactions/gestures/dragGesture/dragGesture.js";
|
|
277
|
+
import { useDragRect as Nu } from "./interactions/gestures/dragRect/dragRect.js";
|
|
278
|
+
import { useDragRadial as Pu } from "./interactions/gestures/dragRadial/dragRadial.js";
|
|
279
|
+
import { hitAnchor as Fu } from "./interactions/actions/edit-anchors/handles.js";
|
|
280
|
+
import { useClipboardOps as Iu } from "./interactions/actions/clipboard/clipboardOps.js";
|
|
281
|
+
import { useDistribute as Lu } from "./interactions/actions/distribute/distribute.js";
|
|
282
|
+
import { cloneByAltDrag as Ru } from "./interactions/actions/clone/behaviors/cloneByAltDrag.js";
|
|
283
|
+
import { useBooleans as zu } from "./interactions/actions/booleans/useBooleans.js";
|
|
284
|
+
import { useBooleansAdapter as Bu } from "./interactions/actions/booleans/useBooleansAdapter.js";
|
|
285
|
+
import { useCreateOutlinesAdapter as Vu } from "./interactions/actions/outlines/useCreateOutlinesAdapter.js";
|
|
286
|
+
import { animateOnSetPose as Hu } from "./animation/wrappers/animateOnSetPose.js";
|
|
287
|
+
import { animateLifecycle as Uu } from "./animation/wrappers/animateLifecycle.js";
|
|
288
|
+
import { createReflowTransition as Wu, useAnimatedReflow as Gu } from "./animation/reflow.js";
|
|
289
|
+
import { momentum as Ku } from "./animation/behaviors/momentum.js";
|
|
290
|
+
import { createSlew as qu, slewToward as Ju } from "./animation/slew.js";
|
|
291
|
+
import { cycleVertexColors as Yu, rainbowVertexColors as Xu, solidVertexColors as Zu, springVertexColors as Qu, staggerVertexColors as $u, tweenVertexColors as ed } from "./animation/colorHelpers.js";
|
|
292
|
+
import { IDENTITY_JOINT as td } from "./animation/rig/types.js";
|
|
293
|
+
import { blendPoses as nd } from "./animation/rig/blendPoses.js";
|
|
294
|
+
import { mirrorPose as rd } from "./animation/rig/mirrorPose.js";
|
|
295
|
+
import { resolveSkeleton as id } from "./animation/rig/resolveSkeleton.js";
|
|
296
|
+
import { bindRig as ad, rigidRigApply as od } from "./animation/rig/bindRig.js";
|
|
297
|
+
import { solveIk as sd } from "./animation/rig/solveIk.js";
|
|
298
|
+
import { useRig as cd } from "./animation/rig/useRig.js";
|
|
299
|
+
import { EASINGS as ld, SPRING_PRESETS as ud, cubicBezierEasing as dd, easeIn as fd, easeInBack as pd, easeInBounce as md, easeInCirc as hd, easeInCubic as gd, easeInElastic as _d, easeInExpo as vd, easeInOut as yd, easeInOutBack as bd, easeInOutBounce as xd, easeInOutCirc as Sd, easeInOutCubic as Cd, easeInOutElastic as wd, easeInOutExpo as Td, easeInOutQuad as Ed, easeInOutQuart as Dd, easeInOutQuint as Od, easeInOutSine as kd, easeInQuad as Ad, easeInQuart as jd, easeInQuint as Md, easeInSine as Nd, easeOut as Pd, easeOutBack as Fd, easeOutBounce as Id, easeOutCirc as Ld, easeOutCubic as Rd, easeOutElastic as zd, easeOutExpo as Bd, easeOutQuad as Vd, easeOutQuart as Hd, easeOutQuint as Ud, easeOutSine as Wd, hexToOklchDeg as Gd, hslToSrgb as Kd, interpolateSrgb as qd, lerpColorArray as Jd, lerpOklab as Yd, lerpOklch as Xd, linear as Zd, linearSrgbToOklab as Qd, linearToSrgb as $d, oklabToLinearSrgb as ef, oklabToOklch as tf, oklabToSrgbU8 as nf, oklchDegToHex as rf, oklchToOklab as af, resolveEasing as of, srgbFloatToOklab as sf, srgbToHsl as cf, srgbToLinear as lf, srgbU8ToOklab as uf } from "./animation/index.js";
|
|
300
|
+
import { mergeContributions as df } from "./canvas/surfaceContribution.js";
|
|
301
|
+
import { canQueryLocalFonts as ff, cssFontFamily as pf, cssFontFamilyLoading as mf, enableLocalFontOutlines as hf, fontOutlineRegistry as gf, fontRegistry as _f, hasFontOutlines as vf, isCanvasFont as yf, listFontOutlines as bf, loadFontOutlines as xf, outlineStatus as Sf, registerCanvasFont as Cf, registerFont as wf, registerFontOutlines as Tf, subscribeGlyphReady as Ef, unregisterCanvasFont as Df, unregisterFontOutlines as Of, warmFonts as kf } from "@weasel-js/font";
|
|
302
|
+
import { STROKE_DASH_RATIOS as Af, alignedStrokeRect as jf, composePatternTransform as Mf, contrastLineColor as Nf, dashForStrokeStyle as Pf, decomposePatternTransform as Ff, resolveScreenLength as If, strokeDashStyleOf as Lf } from "@weasel-js/paint";
|
|
303
|
+
import { createReflectable as Rf } from "@weasel-js/registry";
|
|
304
|
+
import { DEFAULT_DECORATION_METRICS as zf, DEFAULT_TEXT_STYLE as Bf, MARKDOWN_RUN_GRAMMAR as Vf, SCRIPT_METRICS as Hf, SMALL_CAPS_SCALE as Uf, cachedLayoutRuns as Wf, createMarkdownRenderer as Gf, decorationMetrics as Kf, fontString as qf, isBoldWeight as Jf, isSmallCapsLetter as Yf, layoutMarkdown as Xf, layoutRuns as Zf, layoutTextPose as Qf, markdownToRuns as $f, measureText as ep, measureTextBounds as tp, measuredWidth as np, numericWeight as rp, resolveAlign as ip, resolveRunFace as ap, resolveRuns as op, resolveTextStyle as sp, runsToMarkdown as cp, runsToPlainText as lp, scriptMetrics as up, scriptMetricsFor as dp, smallCapsScale as fp, smallCapsScaleFor as pp, smallCapsText as mp, textLineBoxes as hp, textPoseLayoutInput as gp, toRuns as _p, transformRunTexts as vp, verticalAlignOffset as yp } from "@weasel-js/text";
|
|
305
|
+
import { trimPolyline as bp } from "@weasel-js/geom/tessellate";
|
|
306
|
+
import { useLatest as xp } from "@weasel-js/react";
|
|
307
|
+
import { ActionDisabledReason as Sp, CONTROL_SELECTOR as Cp, DRAG_THRESHOLD_PX as wp, LONG_PRESS_MS as Tp, actionBindings as Ep, actionItems as Dp, buildDepsFromRequires as Op, clientToCanvas as kp, createDepRegistry as Ap, createDispatcher as jp, createLongPressStore as Mp, deleteScratch as Np, evaluateEnabled as Pp, getScratch as Fp, isEditableTarget as Ip, isInControlWithin as Lp, liveScope as Rp, matchesKeyBinding as zp, modeShortcutSpec as Bp, modeShortcuts as Vp, openPointerSession as Hp, pastDragThreshold as Up, resolveParams as Wp, scopeBindings as Gp, scratchKey as Kp, setScratch as qp, specificity as Jp } from "@weasel-js/routing";
|
|
308
|
+
import { ActionsProvider as Yp, ActiveToolContextProvider as Xp, ActiveToolContextProviderIfRoot as Zp, DepRegistryProvider as Qp, InputScope as $p, Yoke as em, useAction as tm, useActionsRegistry as nm, useActiveToolContext as rm, useDepRegistry as im, useDepSource as am, useGestureDispatcher as om, useOngoingAction as sm, useOptionalActiveToolContext as cm, useOptionalDepRegistry as lm, useYoke as um } from "@weasel-js/routing/react";
|
|
309
|
+
import { ANGLE_RADIANS as dm, IMPERIAL_INCHES as fm, METRIC_MM as pm, PIXELS as mm, formatUnit as hm, resolveUnit as gm, unitScale as _m } from "@weasel-js/quantity";
|
|
310
|
+
import { CURSOR_ANGLE_STEPS as vm, CURSOR_MAX_CSS_PX as ym, bakeCursor as bm, createPaintedCursorState as xm, cursorFor as Sm, resolveCursor as Cm, resolveCursorTier as wm } from "@weasel-js/cursor";
|
|
311
|
+
import { CURVE_REPS as Tm, bezierCubic as Em, bezierQuadratic as Dm, nurbs as Om, spiro as km } from "@weasel-js/geom/curves";
|
|
312
312
|
export * from "@weasel-js/history";
|
|
313
|
-
export { sr as ACTION_GLYPHS, oc as ALWAYS, lt as ANCHOR_HIT_BASE_PX, im as ANGLE_RADIANS, Fa as AREA_SELECT_ID, $o as AUTO_ORIGIN_PROJECTION, Jt as AUTO_POSE_DESCRIPTOR, hp as ActionDisabledReason, Hp as ActionsProvider, Kc as ActionsProviderIfRoot, Up as ActiveToolContextProvider, Wp as ActiveToolContextProviderIfRoot, kr as AlignBottomIcon, Ar as AlignCenterXIcon, jr as AlignCenterYIcon, Mr as AlignLeftIcon, Nr as AlignRightIcon, Pr as AlignTopIcon, ma as ArrowIcon, E as BUILTIN_MARKERS, fc as BUILTIN_TOOL_IDS, Yn as BringForwardIcon, Xn as BringToFrontIcon, ft as COARSE_TARGET_SCALE, gp as CONTROL_SELECTOR, nn as CORNER_ANCHORS, Oc as CROSSHAIR_HALO, dm as CURSOR_ANGLE_STEPS, fm as CURSOR_MAX_CSS_PX, vm as CURVE_REPS, Jo as CanvasView, Xi as ColorOverrideRegistry, Zn as CopyIcon, ei as CreateOutlinesIcon, qr as CropIcon, To as CursorCoordsHud, Qn as CutIcon, sc as DEFAULT_ALLOWED_CAPABILITIES, he as DEFAULT_ALPHA_DECAY, ge as DEFAULT_ALPHA_MIN, ji as DEFAULT_DEBUG_STROKES, Mi as DEFAULT_DEBUG_THEME, Mf as DEFAULT_DECORATION_METRICS, pt as DEFAULT_DEVICE_PROFILE, ai as DEFAULT_FILL_COLOR, jl as DEFAULT_FLATTEN_TOLERANCE, pc as DEFAULT_HANDLE_SIZE, Ea as DEFAULT_INK, J as DEFAULT_MAX_ZOOM, Y as DEFAULT_MIN_ZOOM, oi as DEFAULT_PALETTE, fo as DEFAULT_ROTATION_HANDLE_DISTANCE, si as DEFAULT_SHAPE_FILL, ci as DEFAULT_STROKE_COLOR, Nf as DEFAULT_TEXT_STYLE, _e as DEFAULT_VELOCITY_DECAY, Ka as DRAG_PAN_ID, _p as DRAG_THRESHOLD_PX, cr as DeleteIcon, Gp as DepRegistryProvider, qc as DepRegistryProviderIfRoot, Se as DeviceProfileProvider, Fr as DistributeHorizontalIcon, Ir as DistributeVerticalIcon, Jr as DivideIcon, Sc as DrawCanvas, $n as DuplicateIcon, nd as EASINGS, ua as EllipseIcon, Yr as ExcludeIcon, fa as EyedropperIcon, Mc as FALLBACK_FIT_VIEW, ns as FEATURE_ACTION_IDS, er as FlipXIcon, tr as FlipYIcon, li as GHOST_STROKE, nr as GroupIcon, ut as HANDLE_BASE_PX, ba as HandIcon, Ju as IDENTITY_JOINT, Te as IDENTITY_POSE_COMPOSITION, am as IMPERIAL_INCHES, da as ImageIcon, Kp as InputScope, Xr as IntersectIcon, _n as KIT_SHAPE_KINDS, Ii as KIT_STANDARD_ACTION_IDS, Yo as KIT_VERSIONS, ws as LONG_PRESS_FEEDBACK_ID, vp as LONG_PRESS_MS, ca as LassoIcon, pa as LineIcon, Pf as MARKDOWN_RUN_GRAMMAR, om as METRIC_MM, Cc as MINIMAP_CENTER, wc as MINIMAP_PAN, dl as MIXED, Fc as MinimapCanvas, cc as NEVER, yo as PAINTED_CURSOR_LAYER_ID, Go as PATH_ANCHOR_CHROME_ID, Ml as PATH_C, Nl as PATH_CMD_LENGTHS, Pl as PATH_L, Fl as PATH_M, Il as PATH_Q, Ll as PATH_Z, sm as PIXELS, rr as PasteIcon, Rl as PathBuilder, ya as PenIcon, _a as PencilIcon, Eo as PickHud, _r as PointerContextProvider, Qo as PointerProviderIfRoot, ha as PolygonIcon, es as RECT_ORIGIN_PROJECTION, Oe as RECT_POSE_COMPOSITION, Ht as RECT_POSE_DESCRIPTOR, ke as RIGID_POSE_COMPOSITION, Ut as ROTATED_POSE_DESCRIPTOR, dt as ROTATION_HANDLE_BASE_PX, la as RectIcon, lr as RedoIcon, rs as SCENE_CANVAS_FEATURES, Ff as SCRIPT_METRICS, Ia as SELECTION_MOVE_ID, La as SELECTION_TRANSFORM_ID, vn as SHAPE_KINDS, If as SMALL_CAPS_SCALE, rd as SPRING_PRESETS, w as SPRITE_STRIDE, Cf as STROKE_DASH_RATIOS, jt as SceneArrivalRefused, mc as SceneCanvas, xc as SceneViewCanvas, sa as SelectIcon, Po as SelectionContextProvider, Fo as SelectionContextProviderIfRoot, ir as SendBackwardIcon, ar as SendToBackIcon, ga as StarIcon, Zr as SubtractIcon, bl as TEXT_EDIT_FONT_HOLD, is as TOOL_DRIVEN_ACTION_IDS, ia as TOOL_PREF_KINDS, va as TextIcon, Hr as TextOutlinesError, hr as UNION_OF_CHILDREN, ur as UndoIcon, or as UngroupIcon, Qr as UnionIcon, xa as UnknownIcon, e as VERSION, Qi as VIEW_ANIMATION_KEY, gs as WEASEL_CLIPBOARD_MIME, _s as WEASEL_CLIPBOARD_MIME_WEB, En as WHEEL_ZOOM_STEP, Jc as WeaselProvider, qp as Yoke, X as ZOOM_FLOOR, cn as aabbCenter, yp as actionBindings, ks as actionIs, bp as actionItems, Tt as actionShortcuts, Sr as alignDeltaFor, Cr as alignTargetBounds, wf as alignedStrokeRect, As as always, js as and, Iu as animateLifecycle, Fu as animateOnSetPose, Ro as annulusSemiAxes, Kr as applyBooleanOp, $r as applyCreateOutlines, Vn as applyOpsTo, fl as applyStyleToRange, gn as areaSelectAction, Ra as areaSelectContribution, Cu as arrayAdapter, At as asNodeId, p as asPaint, zt as axisAlignedBounds, pm as bakeCursor, ym as bezierCubic, bm as bezierQuadratic, Qu as bindRig, Yu as blendPoses, B as blur, zl as boundsOfPath, ic as buildChromeCtx, Ni as buildDebugOverlayCommands, xp as buildDepsFromRequires, lc as buildRuleCtx, yc as buildSceneViewCommands, vs as buildWeaselClipboardText, Lf as cachedLayoutRuns, Tr as canBringForward, Ms as canHover, af as canQueryLocalFonts, Er as canSendBackward, Ns as capabilityAll, Ps as capabilityIn, Fs as capabilityIs, Is as capabilityNot, il as caretIndexAt, Tc as centerRootOn, sl as charOffsetToDomPosition, Xo as checkRequirements, cs as circlePath, yt as clampView, bn as clearSelectionAction, Sp as clientToCanvas, dr as clipboardCopyAction, fr as clipboardCutAction, pr as clipboardPasteAction, Cn as cloneAction, ju as cloneByAltDrag, Ls as coarsePointer, el as composeAffordanceLayer, Bl as composePath, Tf as composePatternTransform, Ae as composeRectPose, je as composeRigidPose, ho as composeSelectionPose, Ee as composeWorldPose, Nc as computeFitView, xt as computeFitViewport, Pc as computeIndicatorCommand, Vi as computeSliceOps, Dn as computeWheelAction, Rs as cond, Ya as constrainTo45, Ef as contrastLineColor, rn as cornerPoint, an as cornerResizeHandles, Fn as countPathAnchors, ko as createArrangeOp, $c as createChildrenLayer, Vo as createCornerResizeAffordance, Pi as createDebugOverlayLayer, xi as createDebugSink, xn as createDeleteOp, Cp as createDepRegistry, wp as createDispatcher, Su as createHistory, Sn as createInsertOp, Ct as createKeyState, Ic as createLinkedCursorContribution, Ts as createLongPressFeedbackContribution, Tp as createLongPressStore, Rf as createMarkdownRenderer, Lc as createMinimapContribution, Dr as createMoveToIndexOp, hc as createNodeProperties, Es as createNodeRouting, bo as createPaintedCursorLayer, mm as createPaintedCursorState, fe as createParallaxLayer, de as createParallaxPlane, Ko as createPathAnchorAffordances, ps as createPathEditingOverlayLayer, kl as createPathLayer, fs as createPenPreviewLayer, vr as createPointerStore, jc as createPoseFeed, Ao as createPoseOverrides, zc as createRasterSession, jf as createReflectable, Lu as createReflowTransition, Or as createReorderOp, Lt as createReparentOp, Ho as createRotationAffordance, jo as createScene, go as createSelectionHandlesLayer, _o as createSelectionOutlineLayer, vo as createSelectionOverlayLayer, Rt as createSetDataOp, wl as createSetLayerOp, Tl as createSetLayoutOp, El as createSetPathOp, Un as createSetSelectionOp, Cl as createSetTextOp, ve as createSimulation, Bu as createSlew, rl as createTextLayer, wi as createTilePattern, me as createTiledLayer, It as createTransformOp, wn as createVelocityTracker, ne as createViewResolver, te as createViewportLayer, kc as crosshairRects, of as cssFontFamily, sf as cssFontFamilyLoading, id as cubicBezierEasing, R as cullDrawCommands, hm as cursorFor, ui as cycleFill, Hu as cycleVertexColors, Df as dashForStrokeStyle, Uc as debugSnapshotArgs, Vl as decomposePath, Of as decomposePatternTransform, Me as decomposeRectPose, Ne as decomposeRigidPose, zf as decorationMetrics, pn as defaultCommitAdapter, so as defaultDrawOne, tl as defaultLabelTextRenderer, gc as defaultNodeProperties, Ds as defaultNodeRouting, co as defaultPaintBounds, nc as defaultVisibilityRules, ta as defineTool, Le as definesFrame, Ep as deleteScratch, H as depsUnchanged, re as deriveParallaxView, Re as derivedDepOf, ze as derivedPose, uc as describeRule, Hn as dispatchApplyBatch, _i as dlog, Be as documentPose, cl as domPositionToCharOffset, ll as domToRuns, qa as dragPanContribution, U as drawLayers, W as drawOneLayer, vi as dwarn, ad as easeIn, od as easeInBack, sd as easeInBounce, cd as easeInCirc, ld as easeInCubic, ud as easeInElastic, dd as easeInExpo, fd as easeInOut, pd as easeInOutBack, md as easeInOutBounce, hd as easeInOutCirc, gd as easeInOutCubic, _d as easeInOutElastic, vd as easeInOutExpo, yd as easeInOutQuad, bd as easeInOutQuart, xd as easeInOutQuint, Sd as easeInOutSine, Cd as easeInQuad, wd as easeInQuart, Td as easeInQuint, Ed as easeInSine, Dd as easeOut, Od as easeOutBack, kd as easeOutBounce, Ad as easeOutCirc, jd as easeOutCubic, Md as easeOutElastic, Nd as easeOutExpo, Pd as easeOutQuad, Fd as easeOutQuart, Id as easeOutQuint, Ld as easeOutSine, Bn as editAnchorsAction, Zt as editingLayer, Ve as effectivePose, vl as effectiveRangeStyle, Hl as ellipsePath, ys as embedWeaselMetadataInSvg, cf as enableLocalFontOutlines, mr as enterTextEditAction, Uo as enumerateAnchors, dc as evaluate, Dp as evaluateEnabled, bs as extractWeaselClipboardFromSvg, Si as fillInPoseFrame, Ci as fillToBoundsFrame, Da as findNodeShape, Oa as findShapeBounds, ka as findShapeInk, Aa as findShapeSilhouette, ol as fitTextPose, ht as fitToBounds, _t as fitViewToBounds, gt as fitZoom, on as fixedCornerOf, Ul as flattenCubic, Wl as flattenCubicWithArcLen, as as flattenPreviews, Gl as flattenQuadratic, Kl as flattenQuadraticWithArcLen, zs as focused, lf as fontOutlineRegistry, uf as fontRegistry, Bf as fontString, Ge as forEachCoalesced, cm as formatUnit, I as frameRect, ie as fromPlane, Xc as gateLayer, Dt as gesturePlaneReader, Ot as gestureViewReader, Bs as gesturing, ti as getAlpha01, Sa as getImageBitmap, D as getMarker, ja as getNodeShapes, m as getPaintKind, Op as getScratch, Ke as getStylusData, s as gradientForBounds, c as gradientGeometry, df as hasFontOutlines, Rd as hexToOklchDeg, t as hexToRgba, zo as hitAffordanceRegions, Ou as hitAnchor, sn as hitCornerHandle, po as hitRotationHandle, So as hostAnchorCss, Co as hostAnchorRect, Vs as hovering, Hs as hoveringSelected, zd as hslToSrgb, Ca as imageStatus, Qt as inPlane, _c as inferredNodeProperties, Os as inferredNodeRouting, yn as insertAction, $t as insertLayer, qo as insertPreviewExtent, Bd as interpolateSrgb, Ki as interpolateView, Vf as isBoldWeight, aa as isBuiltinToolPref, ff as isCanvasFont, yi as isDebugEnabled, kp as isEditableTarget, l as isGradientFill, Ap as isInControlWithin, G as isLayerPainted, K as isLayerVisible, h as isPaintKindKnown, Yt as isPathLike, Ti as isPatternSpec, Ie as isPlainObject, Xt as isRectPose, Hf as isSmallCapsLetter, wa as isVectorImageSrc, Et as keySpecShortcut, Gn as lassoSelectAction, ms as layoutArrivalHandler, Uf as layoutMarkdown, Wf as layoutRuns, Gf as layoutTextPose, Vd as lerpColorArray, Hd as lerpOklab, Ud as lerpOklch, ql as linePath, Wd as linear, Gd as linearSrgbToOklab, Kd as linearToSrgb, pf as listFontOutlines, g as listGradientKinds, O as listMarkers, _ as listPaintKinds, jp as liveScope, mf as loadFontOutlines, Ur as loadTextOutlines, qn as makePinchZoomAction, Nn as makeViewportWheelPanAction, jn as makeViewportZoomAction, Kf as markdownToRuns, j as markerInset, M as markerKeyOf, k as markerRegistry, F as markerSites, f as mat3, Mp as matchesKeyBinding, Ze as meanScale, qf as measureText, Jf as measureTextBounds, Yf as measuredWidth, ni as mergeAlphaFromPrev, rf as mergeContributions, Ec as minimapCenterAction, Dc as minimapPanAction, Xu as mirrorPose, Zc as modeDecorationLayer, Us as modeIn, Ws as modeIs, Gs as modeNot, Np as modeShortcutSpec, Pp as modeShortcuts, Ks as modifierHeld, zu as momentum, tn as moveAction, qs as multiActive, Dl as nestedHitTester, Js as never, hl as nodeHasFlag, n as normalizeHex, Q as normalizeView, Z as normalizeZoom, Ys as not, Xf as numericWeight, xm as nurbs, qd as oklabToLinearSrgb, Jd as oklabToOklch, Yd as oklabToSrgbU8, Xd as oklchDegToHex, Zd as oklchToOklab, za as onEmptyCanvas, Mt as opFactoryRegistry, Cs as openFilePicker, Fp as openPointerSession, Xs as or, hf as outlineStatus, di as paintAlpha, v as paintKindOf, y as paintKindRegistry, fi as paintWithAlpha, pi as paintWithColor, r as parseColor, i as parseColorToRgba255, bi as parseDebugFlags, xs as parseWeaselClipboardText, Ip as pastDragThreshold, pl as patchRangeStyle, Jl as pathCommandCoordCount, Yl as pathContainsPoint, Xl as pathContainsPolygon, Zl as pathContainsRect, Ql as pathDistanceToPoint, Lr as pathDivide, Rr as pathExclude, $l as pathFromD, Ln as pathInPoseFrame, Rn as pathInWorld, zr as pathIntersect, eu as pathIntersectsPolygon, tu as pathIntersectsRect, Al as pathOriginProjection, qt as pathPoseDescriptor, nu as pathSignedArea, Br as pathSubtract, In as pathToAnchors, Vr as pathUnion, Pa as pickTopMostHit, Jn as pinchZoomAction, Bc as planPixelRender, ae as planeMap, oe as planeMatrix, se as planeToPlane, ru as pointAlongPath, iu as pointInPath, ln as pointInRotatedRect, al as pointInTextPose, Bo as pointRegionFrame, au as polygonFromPoints, ou as polylineFromPoints, Wt as poseDescriptorForNode, He as poseRotationOf, oa as prefUnit, qe as pressureToWidth, $e as pxExtent, Uu as rainbowVertexColors, yl as rangeWeight, Gc as rasterToPng, De as rebaseLocalPose, Nt as rebuildOp, un as rectCorners, ce as rectFromPlane, ls as rectMarkerPath, su as rectPath, le as rectToPlane, gf as registerCanvasFont, Fi as registerContentHandler, z as registerEffect, _f as registerFont, vf as registerFontOutlines, A as registerMarker, Ma as registerNodeShape, Pt as registerOpFactory, b as registerPaintKind, x as registerPaintKindLoader, Ft as registeredOpNames, cu as regularPolygonPath, lo as releaseCanvasRenderer, Wc as renderDebugSnapshot, nl as renderLabel, Rc as renderNeeds, bc as renderSceneToCanvas, Vc as renderSceneToPixels, mn as resizeAction, Zf as resolveAlign, a as resolveColor, gm as resolveCursor, _m as resolveCursorTier, mt as resolveDeviceProfile, Qd as resolveEasing, Ei as resolveFillPattern, N as resolveMarkerSize, ss as resolveOverlays, Lp as resolveParams, Di as resolvePatternSpec, os as resolvePreviews, Qf as resolveRunFace, $f as resolveRuns, kf as resolveScreenLength, Zu as resolveSkeleton, xr as resolveSpatialReference, T as resolveStrokeWidth, ep as resolveTextStyle, lm as resolveUnit, rc as resolveVisibility, lu as reversePath, o as rgbaToHex, $u as rigidRigApply, hn as rotateAction, xo as rotateAroundAABBCenter, Ue as rotatePathAround, dn as rotatePoint, fn as rotatedRectCorners, vc as rotationDegreesUnit, mo as rotationHandle, us as roundRectPath, ul as runsToDom, tp as runsToMarkdown, np as runsToPlainText, u as sampleGradientStops, Yi as sampleTrack, Zo as satisfiesRange, et as scaleDelta, uu as scalePathToBounds, Mo as sceneFromJSON, bt as sceneNodeClientRect, No as sceneSelectionStore, Do as sceneToAdapter, Rp as scopeBindings, zp as scratchKey, tt as screenAngleOf, Ye as screenToWorld, kt as screenTolerance, rp as scriptMetrics, ip as scriptMetricsFor, Wn as selectFromLasso, Zs as selectionAtLeast, Qs as selectionEmpty, $s as selectionIs, en as selectionLayer, Ba as selectionMoveBindings, Va as selectionMoveContribution, Ha as selectionTransformBindings, Ua as selectionTransformContribution, gl as setFlagOverRange, Bp as setScratch, Na as shapeCoversPoint, Vu as slewToward, Kn as sliceAction, ap as smallCapsScale, op as smallCapsScaleFor, sp as smallCapsText, ts as snap, Ss as sniffWeaselClipboardText, du as snipPathByPolyline, mi as solid, Wu as solidVertexColors, ed as solveIk, Vp as specificity, Sm as spiro, fu as splitPathByPolyline, pu as splitPathBySegment, mu as splitSubpaths, qi as springPose, Gu as springVertexColors, ds as squarePath, $d as srgbFloatToOklab, ef as srgbToHsl, tf as srgbToLinear, nf as srgbU8ToOklab, Qe as stableStringify, Ku as staggerVertexColors, nt as standoff, hu as starPath, ct as startThresholdDrag, Af as strokeDashStyleOf, P as strokeInsets, hi as strokeOf, gi as strokeWith, ml as styleAtRange, yf as subscribeGlyphReady, Ta as subscribeImageReady, q as subscribeToSources, S as switchGradientKind, Oi as textCommand, ki as textCommandFromPose, Ai as textCommandFromRuns, cp as textLineBoxes, lp as textPoseLayoutInput, Wr as textToPath, Gr as textToPathsByPaint, pe as tiledProject, ri as toHex8, ue as toPlane, up as toRuns, gu as transformPath, dp as transformRunTexts, _u as translatePath, Gt as translatePoseViaDescriptor, Pe as translateRectPose, pp as trimPolyline, Ji as tweenPose, qu as tweenVertexColors, _l as unboldPatch, Bt as unionAABB, Vt as unionBounds, vu as unionBoundsPath, gr as unionOfChildren, Ol as unionOfChildrenVia, um as unitScale, bf as unregisterCanvasFont, xf as unregisterFontOutlines, Jp as useAction, Yp as useActionsRegistry, Xp as useActiveToolContext, wr as useAlign, Ru as useAnimatedReflow, Zi as useAnimator, wu as useArrayAdapter, St as useAutoCenter, Mu as useBooleans, Nu as useBooleansAdapter, Yc as useCanvasFocus, we as useCanvasSize, ku as useClipboardOps, Pu as useCreateOutlinesAdapter, Gi as useDecayLoop, Zp as useDepRegistry, Qp as useDepSource, Ce as useDeviceProfile, Au as useDistribute, Tu as useDragGesture, ot as useDragHandle, Du as useDragRadial, Eu as useDragRect, st as useDropZone, Qa as useEllipseTool, eo as useEyedropperTool, $p as useGestureDispatcher, yu as useGradientKinds, Ga as useHandTool, at as useHandleDrag, wo as useHostAnchor, ac as useHoverTracking, $a as useImageTool, wt as useKeyState, ra as useKeybindings, no as useLassoTool, mp as useLatest, hs as useLayoutArrivals, to as useLineTool, We as useNodeOverlayFrame, em as useOngoingAction, tm as useOptionalActiveToolContext, nm as useOptionalDepRegistry, bu as usePaintKind, xu as usePaintKinds, Xa as usePenTool, ao as usePencilTool, yr as usePointerContext, br as usePointerPosition, Je as usePointerStylus, ro as usePolygonTool, Bi as usePoseCompositionDepSource, zi as usePoseDescriptorDepSource, xe as usePoseRun, Io as usePublishSelection, Za as useRectTool, Ri as useResizePolicy, td as useRig, Ac as useScene, Oo as useSceneAdapter, Sl as useSceneTextEdit, Wa as useSelectTool, uo as useSelection, Lo as useSelectionContext, be as useSimulation, Hi as useSliceDep, Ui as useSliceDepSource, oo as useSliceTool, Li as useStandardActions, io as useStarTool, xl as useTextEdit, Ja as useTextTool, na as useTools, Wi as useVelocityTracker, $i as useViewAnimation, ea as useViewAnimationOn, ye as useVisibleRaf, rm as useYoke, fp as verticalAlignOffset, L as viewToMat3, $ as viewToTransform, ee as viewZoom, Tn as viewportDragPanAction, Pn as viewportWheelPanAction, Mn as viewportZoomAction, V as vignette, Kt as visualBoundsViaDescriptor, Sf as warmFonts, C as warmPaintKinds, Hc as warmRender, On as wheelPan, kn as wheelZoom, An as wheelZoomFactor, ec as when, ii as withAlpha01, Wo as withCoord, d as withGradientKind, rt as withinPxBox, it as withinPxRadius, Qc as workspaceTintLayer, zn as worldEditToStorage, Fe as worldPoseLookup, Xe as worldToScreen, vt as zoomAt, tc as zoomAtLeast };
|
|
313
|
+
export { sr as ACTION_GLYPHS, pc as ALWAYS, lt as ANCHOR_HIT_BASE_PX, dm as ANGLE_RADIANS, Fa as AREA_SELECT_ID, as as AUTO_ORIGIN_PROJECTION, Jt as AUTO_POSE_DESCRIPTOR, Sp as ActionDisabledReason, Yp as ActionsProvider, $c as ActionsProviderIfRoot, Xp as ActiveToolContextProvider, Zp as ActiveToolContextProviderIfRoot, kr as AlignBottomIcon, Ar as AlignCenterXIcon, jr as AlignCenterYIcon, Mr as AlignLeftIcon, Nr as AlignRightIcon, Pr as AlignTopIcon, ma as ArrowIcon, E as BUILTIN_MARKERS, yc as BUILTIN_TOOL_IDS, Yn as BringForwardIcon, Xn as BringToFrontIcon, ft as COARSE_TARGET_SCALE, cs as COMPOSITE_FEATURES, Cp as CONTROL_SELECTOR, nn as CORNER_ANCHORS, Fc as CROSSHAIR_HALO, vm as CURSOR_ANGLE_STEPS, ym as CURSOR_MAX_CSS_PX, Tm as CURVE_REPS, es as CanvasView, Xi as ColorOverrideRegistry, Zn as CopyIcon, ei as CreateOutlinesIcon, qr as CropIcon, jo as CursorCoordsHud, Qn as CutIcon, mc as DEFAULT_ALLOWED_CAPABILITIES, he as DEFAULT_ALPHA_DECAY, ge as DEFAULT_ALPHA_MIN, ji as DEFAULT_DEBUG_STROKES, Mi as DEFAULT_DEBUG_THEME, zf as DEFAULT_DECORATION_METRICS, pt as DEFAULT_DEVICE_PROFILE, ai as DEFAULT_FILL_COLOR, Rl as DEFAULT_FLATTEN_TOLERANCE, bc as DEFAULT_HANDLE_SIZE, Ea as DEFAULT_INK, J as DEFAULT_MAX_ZOOM, Y as DEFAULT_MIN_ZOOM, oi as DEFAULT_PALETTE, vo as DEFAULT_ROTATION_HANDLE_DISTANCE, si as DEFAULT_SHAPE_FILL, ci as DEFAULT_STROKE_COLOR, Bf as DEFAULT_TEXT_STYLE, _e as DEFAULT_VELOCITY_DECAY, Qa as DRAG_PAN_ID, wp as DRAG_THRESHOLD_PX, cr as DeleteIcon, Qp as DepRegistryProvider, el as DepRegistryProviderIfRoot, Se as DeviceProfileProvider, Fr as DistributeHorizontalIcon, Ir as DistributeVerticalIcon, Jr as DivideIcon, kc as DrawCanvas, $n as DuplicateIcon, ld as EASINGS, ua as EllipseIcon, Yr as ExcludeIcon, fa as EyedropperIcon, zc as FALLBACK_FIT_VIEW, ls as FEATURE_ACTION_IDS, er as FlipXIcon, tr as FlipYIcon, li as GHOST_STROKE, nr as GroupIcon, ut as HANDLE_BASE_PX, ba as HandIcon, td as IDENTITY_JOINT, Te as IDENTITY_POSE_COMPOSITION, fm as IMPERIAL_INCHES, da as ImageIcon, $p as InputScope, Xr as IntersectIcon, _n as KIT_SHAPE_KINDS, Ii as KIT_STANDARD_ACTION_IDS, ts as KIT_VERSIONS, js as LONG_PRESS_FEEDBACK_ID, Tp as LONG_PRESS_MS, ca as LassoIcon, pa as LineIcon, Vf as MARKDOWN_RUN_GRAMMAR, pm as METRIC_MM, Ac as MINIMAP_CENTER, jc as MINIMAP_PAN, vl as MIXED, Hc as MinimapCanvas, hc as NEVER, To as PAINTED_CURSOR_LAYER_ID, Zo as PATH_ANCHOR_CHROME_ID, zl as PATH_C, Bl as PATH_CMD_LENGTHS, Vl as PATH_L, Hl as PATH_M, Ul as PATH_Q, Wl as PATH_Z, mm as PIXELS, rr as PasteIcon, Gl as PathBuilder, ya as PenIcon, _a as PencilIcon, Mo as PickHud, _r as PointerContextProvider, is as PointerProviderIfRoot, ha as PolygonIcon, os as RECT_ORIGIN_PROJECTION, Oe as RECT_POSE_COMPOSITION, Ht as RECT_POSE_DESCRIPTOR, ke as RIGID_POSE_COMPOSITION, Ut as ROTATED_POSE_DESCRIPTOR, dt as ROTATION_HANDLE_BASE_PX, la as RectIcon, lr as RedoIcon, us as SCENE_CANVAS_FEATURES, Hf as SCRIPT_METRICS, Ia as SELECTION_MOVE_ID, La as SELECTION_RESIZE_ID, Ra as SELECTION_ROTATE_ID, za as SELECTION_TRANSFORM_ID, vn as SHAPE_KINDS, Uf as SMALL_CAPS_SCALE, ud as SPRING_PRESETS, w as SPRITE_STRIDE, Af as STROKE_DASH_RATIOS, jt as SceneArrivalRefused, xc as SceneCanvas, Oc as SceneViewCanvas, sa as SelectIcon, Bo as SelectionContextProvider, Vo as SelectionContextProviderIfRoot, ir as SendBackwardIcon, ar as SendToBackIcon, ga as StarIcon, Zr as SubtractIcon, Dl as TEXT_EDIT_FONT_HOLD, ds as TOOL_DRIVEN_ACTION_IDS, ia as TOOL_PREF_KINDS, va as TextIcon, Hr as TextOutlinesError, hr as UNION_OF_CHILDREN, ur as UndoIcon, or as UngroupIcon, Qr as UnionIcon, xa as UnknownIcon, e as VERSION, Qi as VIEW_ANIMATION_KEY, Cs as WEASEL_CLIPBOARD_MIME, ws as WEASEL_CLIPBOARD_MIME_WEB, En as WHEEL_ZOOM_STEP, tl as WeaselProvider, em as Yoke, X as ZOOM_FLOOR, cn as aabbCenter, Ep as actionBindings, Is as actionIs, Dp as actionItems, Tt as actionShortcuts, Sr as alignDeltaFor, Cr as alignTargetBounds, jf as alignedStrokeRect, Ls as always, Rs as and, Uu as animateLifecycle, Hu as animateOnSetPose, Wo as annulusSemiAxes, Kr as applyBooleanOp, $r as applyCreateOutlines, Vn as applyOpsTo, yl as applyStyleToRange, gn as areaSelectAction, Ba as areaSelectContribution, Au as arrayAdapter, At as asNodeId, p as asPaint, zt as axisAlignedBounds, bm as bakeCursor, Em as bezierCubic, Dm as bezierQuadratic, ad as bindRig, nd as blendPoses, B as blur, Kl as boundsOfPath, dc as buildChromeCtx, Ni as buildDebugOverlayCommands, Op as buildDepsFromRequires, gc as buildRuleCtx, Ec as buildSceneViewCommands, Ts as buildWeaselClipboardText, Wf as cachedLayoutRuns, Tr as canBringForward, zs as canHover, ff as canQueryLocalFonts, Er as canSendBackward, Bs as capabilityAll, Vs as capabilityIn, Hs as capabilityIs, Us as capabilityNot, dl as caretIndexAt, Mc as centerRootOn, ml as charOffsetToDomPosition, ns as checkRequirements, hs as circlePath, yt as clampView, bn as clearSelectionAction, kp as clientToCanvas, dr as clipboardCopyAction, fr as clipboardCutAction, pr as clipboardPasteAction, Cn as cloneAction, Ru as cloneByAltDrag, Ws as coarsePointer, sl as composeAffordanceLayer, ql as composePath, Mf as composePatternTransform, Ae as composeRectPose, je as composeRigidPose, xo as composeSelectionPose, Ee as composeWorldPose, Bc as computeFitView, xt as computeFitViewport, Vc as computeIndicatorCommand, Vi as computeSliceOps, Dn as computeWheelAction, Gs as cond, to as constrainTo45, Nf as contrastLineColor, rn as cornerPoint, an as cornerResizeHandles, Fn as countPathAnchors, Fo as createArrangeOp, ol as createChildrenLayer, qo as createCornerResizeAffordance, Pi as createDebugOverlayLayer, xi as createDebugSink, xn as createDeleteOp, Ap as createDepRegistry, jp as createDispatcher, ku as createHistory, Sn as createInsertOp, Ct as createKeyState, Uc as createLinkedCursorContribution, Ms as createLongPressFeedbackContribution, Mp as createLongPressStore, Gf as createMarkdownRenderer, Wc as createMinimapContribution, Dr as createMoveToIndexOp, Sc as createNodeProperties, Ns as createNodeRouting, Eo as createPaintedCursorLayer, xm as createPaintedCursorState, fe as createParallaxLayer, de as createParallaxPlane, Qo as createPathAnchorAffordances, bs as createPathEditingOverlayLayer, Il as createPathLayer, ys as createPenPreviewLayer, vr as createPointerStore, Rc as createPoseFeed, Io as createPoseOverrides, Kc as createRasterSession, Rf as createReflectable, Wu as createReflowTransition, Or as createReorderOp, Lt as createReparentOp, Jo as createRotationAffordance, Lo as createScene, So as createSelectionHandlesLayer, Co as createSelectionOutlineLayer, wo as createSelectionOverlayLayer, Rt as createSetDataOp, jl as createSetLayerOp, Ml as createSetLayoutOp, Nl as createSetPathOp, Un as createSetSelectionOp, Al as createSetTextOp, ve as createSimulation, qu as createSlew, ul as createTextLayer, wi as createTilePattern, me as createTiledLayer, It as createTransformOp, wn as createVelocityTracker, ne as createViewResolver, te as createViewportLayer, Ic as crosshairRects, pf as cssFontFamily, mf as cssFontFamilyLoading, dd as cubicBezierEasing, R as cullDrawCommands, Sm as cursorFor, ui as cycleFill, Yu as cycleVertexColors, Pf as dashForStrokeStyle, Xc as debugSnapshotArgs, Jl as decomposePath, Ff as decomposePatternTransform, Me as decomposeRectPose, Ne as decomposeRigidPose, Kf as decorationMetrics, pn as defaultCommitAdapter, mo as defaultDrawOne, cl as defaultLabelTextRenderer, Cc as defaultNodeProperties, Ps as defaultNodeRouting, ho as defaultPaintBounds, lc as defaultVisibilityRules, ta as defineTool, Le as definesFrame, Np as deleteScratch, H as depsUnchanged, re as deriveParallaxView, Re as derivedDepOf, ze as derivedPose, _c as describeRule, Hn as dispatchApplyBatch, _i as dlog, Be as documentPose, hl as domPositionToCharOffset, gl as domToRuns, $a as dragPanContribution, U as drawLayers, W as drawOneLayer, vi as dwarn, fd as easeIn, pd as easeInBack, md as easeInBounce, hd as easeInCirc, gd as easeInCubic, _d as easeInElastic, vd as easeInExpo, yd as easeInOut, bd as easeInOutBack, xd as easeInOutBounce, Sd as easeInOutCirc, Cd as easeInOutCubic, wd as easeInOutElastic, Td as easeInOutExpo, Ed as easeInOutQuad, Dd as easeInOutQuart, Od as easeInOutQuint, kd as easeInOutSine, Ad as easeInQuad, jd as easeInQuart, Md as easeInQuint, Nd as easeInSine, Pd as easeOut, Fd as easeOutBack, Id as easeOutBounce, Ld as easeOutCirc, Rd as easeOutCubic, zd as easeOutElastic, Bd as easeOutExpo, Vd as easeOutQuad, Hd as easeOutQuart, Ud as easeOutQuint, Wd as easeOutSine, Bn as editAnchorsAction, Zt as editingLayer, Ve as effectivePose, Tl as effectiveRangeStyle, Yl as ellipsePath, Es as embedWeaselMetadataInSvg, hf as enableLocalFontOutlines, mr as enterTextEditAction, Yo as enumerateAnchors, vc as evaluate, Pp as evaluateEnabled, Ds as extractWeaselClipboardFromSvg, Si as fillInPoseFrame, Ci as fillToBoundsFrame, Da as findNodeShape, Oa as findShapeBounds, ka as findShapeInk, Aa as findShapeSilhouette, pl as fitTextPose, ht as fitToBounds, _t as fitViewToBounds, gt as fitZoom, on as fixedCornerOf, Xl as flattenCubic, Zl as flattenCubicWithArcLen, fs as flattenPreviews, Ql as flattenQuadratic, $l as flattenQuadraticWithArcLen, Ks as focused, gf as fontOutlineRegistry, _f as fontRegistry, qf as fontString, Ge as forEachCoalesced, hm as formatUnit, I as frameRect, ie as fromPlane, rl as gateLayer, Dt as gesturePlaneReader, Ot as gestureViewReader, qs as gesturing, ti as getAlpha01, Sa as getImageBitmap, D as getMarker, ja as getNodeShapes, m as getPaintKind, Fp as getScratch, Ke as getStylusData, s as gradientForBounds, c as gradientGeometry, vf as hasFontOutlines, Gd as hexToOklchDeg, t as hexToRgba, Go as hitAffordanceRegions, Fu as hitAnchor, sn as hitCornerHandle, yo as hitRotationHandle, Oo as hostAnchorCss, ko as hostAnchorRect, Js as hovering, Ys as hoveringSelected, Kd as hslToSrgb, Ca as imageStatus, Qt as inPlane, wc as inferredNodeProperties, Fs as inferredNodeRouting, yn as insertAction, $t as insertLayer, $o as insertPreviewExtent, qd as interpolateSrgb, Ki as interpolateView, Jf as isBoldWeight, aa as isBuiltinToolPref, yf as isCanvasFont, yi as isDebugEnabled, Ip as isEditableTarget, l as isGradientFill, Lp as isInControlWithin, G as isLayerPainted, K as isLayerVisible, h as isPaintKindKnown, Yt as isPathLike, Ti as isPatternSpec, Ie as isPlainObject, Xt as isRectPose, Yf as isSmallCapsLetter, wa as isVectorImageSrc, Et as keySpecShortcut, Gn as lassoSelectAction, xs as layoutArrivalHandler, Xf as layoutMarkdown, Zf as layoutRuns, Qf as layoutTextPose, Jd as lerpColorArray, Yd as lerpOklab, Xd as lerpOklch, eu as linePath, Zd as linear, Qd as linearSrgbToOklab, $d as linearToSrgb, bf as listFontOutlines, g as listGradientKinds, O as listMarkers, _ as listPaintKinds, Rp as liveScope, xf as loadFontOutlines, Ur as loadTextOutlines, qn as makePinchZoomAction, Nn as makeViewportWheelPanAction, jn as makeViewportZoomAction, $f as markdownToRuns, j as markerInset, M as markerKeyOf, k as markerRegistry, F as markerSites, f as mat3, zp as matchesKeyBinding, Ze as meanScale, ep as measureText, tp as measureTextBounds, np as measuredWidth, ni as mergeAlphaFromPrev, df as mergeContributions, Nc as minimapCenterAction, Pc as minimapPanAction, rd as mirrorPose, il as modeDecorationLayer, Xs as modeIn, Zs as modeIs, Qs as modeNot, Bp as modeShortcutSpec, Vp as modeShortcuts, $s as modifierHeld, Ku as momentum, tn as moveAction, ec as multiActive, Pl as nestedHitTester, tc as never, Sl as nodeHasFlag, n as normalizeHex, Q as normalizeView, Z as normalizeZoom, nc as not, rp as numericWeight, Om as nurbs, ef as oklabToLinearSrgb, tf as oklabToOklch, nf as oklabToSrgbU8, rf as oklchDegToHex, af as oklchToOklab, Va as onEmptyCanvas, Mt as opFactoryRegistry, As as openFilePicker, Hp as openPointerSession, rc as or, Sf as outlineStatus, di as paintAlpha, v as paintKindOf, y as paintKindRegistry, fi as paintWithAlpha, pi as paintWithColor, r as parseColor, i as parseColorToRgba255, bi as parseDebugFlags, Os as parseWeaselClipboardText, Up as pastDragThreshold, bl as patchRangeStyle, tu as pathCommandCoordCount, nu as pathContainsPoint, ru as pathContainsPolygon, iu as pathContainsRect, au as pathDistanceToPoint, Lr as pathDivide, Rr as pathExclude, ou as pathFromD, Ln as pathInPoseFrame, Rn as pathInWorld, zr as pathIntersect, su as pathIntersectsPolygon, cu as pathIntersectsRect, Ll as pathOriginProjection, qt as pathPoseDescriptor, lu as pathSignedArea, Br as pathSubtract, In as pathToAnchors, Vr as pathUnion, Pa as pickTopMostHit, Jn as pinchZoomAction, qc as planPixelRender, ae as planeMap, oe as planeMatrix, se as planeToPlane, uu as pointAlongPath, du as pointInPath, ln as pointInRotatedRect, fl as pointInTextPose, Ko as pointRegionFrame, fu as polygonFromPoints, pu as polylineFromPoints, Wt as poseDescriptorForNode, He as poseRotationOf, oa as prefUnit, qe as pressureToWidth, $e as pxExtent, Xu as rainbowVertexColors, El as rangeWeight, Qc as rasterToPng, De as rebaseLocalPose, Nt as rebuildOp, un as rectCorners, ce as rectFromPlane, gs as rectMarkerPath, mu as rectPath, le as rectToPlane, Cf as registerCanvasFont, Fi as registerContentHandler, z as registerEffect, wf as registerFont, Tf as registerFontOutlines, A as registerMarker, Ma as registerNodeShape, Pt as registerOpFactory, b as registerPaintKind, x as registerPaintKindLoader, Ft as registeredOpNames, hu as regularPolygonPath, go as releaseCanvasRenderer, Zc as renderDebugSnapshot, ll as renderLabel, Gc as renderNeeds, Dc as renderSceneToCanvas, Jc as renderSceneToPixels, mn as resizeAction, ip as resolveAlign, a as resolveColor, Cm as resolveCursor, wm as resolveCursorTier, mt as resolveDeviceProfile, of as resolveEasing, Ei as resolveFillPattern, N as resolveMarkerSize, ms as resolveOverlays, Wp as resolveParams, Di as resolvePatternSpec, ps as resolvePreviews, ap as resolveRunFace, op as resolveRuns, If as resolveScreenLength, id as resolveSkeleton, xr as resolveSpatialReference, T as resolveStrokeWidth, sp as resolveTextStyle, gm as resolveUnit, uc as resolveVisibility, gu as reversePath, o as rgbaToHex, od as rigidRigApply, hn as rotateAction, Do as rotateAroundAABBCenter, Ue as rotatePathAround, dn as rotatePoint, fn as rotatedRectCorners, Tc as rotationDegreesUnit, bo as rotationHandle, _s as roundRectPath, _l as runsToDom, cp as runsToMarkdown, lp as runsToPlainText, u as sampleGradientStops, Yi as sampleTrack, rs as satisfiesRange, et as scaleDelta, _u as scalePathToBounds, Ro as sceneFromJSON, bt as sceneNodeClientRect, zo as sceneSelectionStore, No as sceneToAdapter, Gp as scopeBindings, Kp as scratchKey, tt as screenAngleOf, Ye as screenToWorld, kt as screenTolerance, up as scriptMetrics, dp as scriptMetricsFor, Wn as selectFromLasso, ic as selectionAtLeast, ac as selectionEmpty, oc as selectionIs, en as selectionLayer, Ha as selectionMoveBindings, Ua as selectionMoveContribution, Wa as selectionResizeBindings, Ga as selectionResizeContribution, Ka as selectionRotateBindings, qa as selectionRotateContribution, Ja as selectionTransformBindings, Ya as selectionTransformContribution, Cl as setFlagOverRange, qp as setScratch, Na as shapeCoversPoint, Ju as slewToward, Kn as sliceAction, fp as smallCapsScale, pp as smallCapsScaleFor, mp as smallCapsText, ss as snap, ks as sniffWeaselClipboardText, vu as snipPathByPolyline, mi as solid, Zu as solidVertexColors, sd as solveIk, Jp as specificity, km as spiro, yu as splitPathByPolyline, bu as splitPathBySegment, xu as splitSubpaths, qi as springPose, Qu as springVertexColors, vs as squarePath, sf as srgbFloatToOklab, cf as srgbToHsl, lf as srgbToLinear, uf as srgbU8ToOklab, Qe as stableStringify, $u as staggerVertexColors, nt as standoff, Su as starPath, ct as startThresholdDrag, Lf as strokeDashStyleOf, P as strokeInsets, hi as strokeOf, gi as strokeWith, xl as styleAtRange, Ef as subscribeGlyphReady, Ta as subscribeImageReady, q as subscribeToSources, S as switchGradientKind, Oi as textCommand, ki as textCommandFromPose, Ai as textCommandFromRuns, hp as textLineBoxes, gp as textPoseLayoutInput, Wr as textToPath, Gr as textToPathsByPaint, pe as tiledProject, ri as toHex8, ue as toPlane, _p as toRuns, Cu as transformPath, vp as transformRunTexts, wu as translatePath, Gt as translatePoseViaDescriptor, Pe as translateRectPose, bp as trimPolyline, Ji as tweenPose, ed as tweenVertexColors, wl as unboldPatch, Bt as unionAABB, Vt as unionBounds, Tu as unionBoundsPath, gr as unionOfChildren, Fl as unionOfChildrenVia, _m as unitScale, Df as unregisterCanvasFont, Of as unregisterFontOutlines, tm as useAction, nm as useActionsRegistry, rm as useActiveToolContext, wr as useAlign, Gu as useAnimatedReflow, Zi as useAnimator, ju as useArrayAdapter, St as useAutoCenter, zu as useBooleans, Bu as useBooleansAdapter, nl as useCanvasFocus, we as useCanvasSize, Iu as useClipboardOps, Vu as useCreateOutlinesAdapter, Gi as useDecayLoop, im as useDepRegistry, am as useDepSource, Ce as useDeviceProfile, Lu as useDistribute, Mu as useDragGesture, ot as useDragHandle, Pu as useDragRadial, Nu as useDragRect, st as useDropZone, io as useEllipseTool, oo as useEyedropperTool, om as useGestureDispatcher, Eu as useGradientKinds, Za as useHandTool, at as useHandleDrag, Ao as useHostAnchor, fc as useHoverTracking, ao as useImageTool, wt as useKeyState, ra as useKeybindings, co as useLassoTool, xp as useLatest, Ss as useLayoutArrivals, so as useLineTool, We as useNodeOverlayFrame, sm as useOngoingAction, cm as useOptionalActiveToolContext, lm as useOptionalDepRegistry, Du as usePaintKind, Ou as usePaintKinds, no as usePenTool, fo as usePencilTool, yr as usePointerContext, br as usePointerPosition, Je as usePointerStylus, lo as usePolygonTool, Bi as usePoseCompositionDepSource, zi as usePoseDescriptorDepSource, xe as usePoseRun, Ho as usePublishSelection, ro as useRectTool, Ri as useResizePolicy, cd as useRig, Lc as useScene, Po as useSceneAdapter, kl as useSceneTextEdit, Xa as useSelectTool, _o as useSelection, Uo as useSelectionContext, be as useSimulation, Hi as useSliceDep, Ui as useSliceDepSource, po as useSliceTool, Li as useStandardActions, uo as useStarTool, Ol as useTextEdit, eo as useTextTool, na as useTools, Wi as useVelocityTracker, $i as useViewAnimation, ea as useViewAnimationOn, ye as useVisibleRaf, um as useYoke, yp as verticalAlignOffset, L as viewToMat3, $ as viewToTransform, ee as viewZoom, Tn as viewportDragPanAction, Pn as viewportWheelPanAction, Mn as viewportZoomAction, V as vignette, Kt as visualBoundsViaDescriptor, kf as warmFonts, C as warmPaintKinds, Yc as warmRender, On as wheelPan, kn as wheelZoom, An as wheelZoomFactor, sc as when, ii as withAlpha01, Xo as withCoord, d as withGradientKind, rt as withinPxBox, it as withinPxRadius, al as workspaceTintLayer, zn as worldEditToStorage, Fe as worldPoseLookup, Xe as worldToScreen, vt as zoomAt, cc as zoomAtLeast };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"align.js","names":["ID_FOR","\"left\"","\"right\"","\"top\"","\"bottom\"","LABEL_FOR","ICON_FOR","AlignLeftIcon","AlignRightIcon","AlignTopIcon","AlignBottomIcon","AlignCenterXIcon","AlignCenterYIcon","alignSelection","ids","selection","frame","scenePoseFrame","scene","poseComposition","poses","id","bounds","visualBoundsViaDescriptor","p","geom","target","alignTargetBounds","params","actionReferenceSources","pointer","i","alignDeltaFor","edge","dx","dy","to","translatePoseViaDescriptor","makeAlignAction","deps","poseDescriptorOf","ActionDisabledReason","alignLeftAction","alignRightAction","alignTopAction","alignBottomAction","alignCenterXAction","alignCenterYAction"],"sources":["../../../../src/interactions/actions/defaults/align.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { Scene } from 'core/scene/types';\nimport type { PoseDescriptor } from '../resize/geometry';\nimport { poseDescriptorOf } from '../poseDescriptorDep';\nimport {\n alignDeltaFor,\n alignTargetBounds,\n translatePoseViaDescriptor,\n visualBoundsViaDescriptor,\n type AlignEdge,\n type AlignReference,\n} from '../align/align';\nimport { actionReferenceSources } from '../spatialReference';\nimport type { PointerContextValue } from 'features/pointer/PointerContext';\nimport { scenePoseFrame } from '../poseFrame';\nimport type { Action } from '@weasel-js/routing';\nimport { ActionDisabledReason } from '@weasel-js/routing';\nimport type { SelectionApi } from 'core/selection/useSelection';\nimport type { ImmediateInvoker } from '@weasel-js/routing';\nimport {\n AlignLeftIcon,\n AlignRightIcon,\n AlignTopIcon,\n AlignBottomIcon,\n AlignCenterXIcon,\n AlignCenterYIcon,\n} from './icons/alignIcons';\nconst ID_FOR: Record<AlignEdge, string> = {\n 'left': 'align.left',\n 'right': 'align.right',\n 'top': 'align.top',\n 'bottom': 'align.bottom',\n 'center-x': 'align.centerX',\n 'center-y': 'align.centerY',\n};\nconst LABEL_FOR: Record<AlignEdge, string> = {\n 'left': 'Align Left',\n 'right': 'Align Right',\n 'top': 'Align Top',\n 'bottom': 'Align Bottom',\n 'center-x': 'Align Centers Horizontally',\n 'center-y': 'Align Centers Vertically',\n};\nconst ICON_FOR: Record<AlignEdge, ReactNode> = {\n 'left': <AlignLeftIcon />,\n 'right': <AlignRightIcon />,\n 'top': <AlignTopIcon />,\n 'bottom': <AlignBottomIcon />,\n 'center-x': <AlignCenterXIcon />,\n 'center-y': <AlignCenterYIcon />,\n};\n\n// ---------------------------------------------------------------------------\n// Shared helper for descriptor invokers\n// ---------------------------------------------------------------------------\n\n/**\n * Apply an align operation to the current selection via the Scene API.\n * Reads poses through the `poseDescriptor` dep; what the selection aligns to\n * comes from `params.to` (an `AlignReference`, default `'union'`).\n *\n * The edge every member lines up on is a world edge, so the bounds are read\n * and translated in world and each result is stored back in its own parent's\n * frame.\n */\nfunction alignSelection(\n selection: SelectionApi,\n scene: Scene<unknown, string, unknown>,\n edge: AlignEdge,\n geom: PoseDescriptor<unknown>,\n poseComposition: unknown,\n params: Record<string, unknown> | undefined,\n pointer: PointerContextValue | undefined,\n): void {\n const ids = selection.get();\n const frame = scenePoseFrame(scene, poseComposition);\n const poses = ids.map((id) => frame.world(id));\n const bounds = poses.map((p) => visualBoundsViaDescriptor(p, geom));\n const target = alignTargetBounds(\n bounds,\n params?.to as AlignReference | undefined,\n actionReferenceSources(params, pointer, scene, frame, geom),\n );\n if (target === null) return;\n scene.batch('Align', () => {\n for (let i = 0; i < ids.length; i++) {\n const { dx, dy } = alignDeltaFor(bounds[i], target, edge);\n if (dx === 0 && dy === 0) continue;\n const to = translatePoseViaDescriptor(poses[i], dx, dy, geom);\n scene.setPose(ids[i], frame.local(ids[i], to));\n }\n });\n}\n\n// ---------------------------------------------------------------------------\n// Static descriptors\n// ---------------------------------------------------------------------------\n\nfunction makeAlignAction(edge: AlignEdge): Action {\n return {\n id: ID_FOR[edge],\n label: LABEL_FOR[edge],\n icon: ICON_FOR[edge],\n group: 'align',\n eligible: { capability: 'transforms-selection' },\n requires: ['selection', 'scene', 'poseDescriptor', 'poseComposition', 'pointer'],\n // No default keybindings — six edges/centers don't fit a clean default\n // chord set. Wire bindings explicitly via the actions registry override map.\n invoker: {\n timing: 'immediate',\n run: (deps, params) => {\n const selection = deps.selection
|
|
1
|
+
{"version":3,"file":"align.js","names":["ID_FOR","\"left\"","\"right\"","\"top\"","\"bottom\"","LABEL_FOR","ICON_FOR","AlignLeftIcon","AlignRightIcon","AlignTopIcon","AlignBottomIcon","AlignCenterXIcon","AlignCenterYIcon","alignSelection","ids","selection","frame","scenePoseFrame","scene","poseComposition","poses","id","bounds","visualBoundsViaDescriptor","p","geom","target","alignTargetBounds","params","actionReferenceSources","pointer","i","alignDeltaFor","edge","dx","dy","to","translatePoseViaDescriptor","makeAlignAction","deps","poseDescriptorOf","ActionDisabledReason","alignLeftAction","alignRightAction","alignTopAction","alignBottomAction","alignCenterXAction","alignCenterYAction"],"sources":["../../../../src/interactions/actions/defaults/align.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { Scene } from 'core/scene/types';\nimport type { PoseDescriptor } from '../resize/geometry';\nimport { poseDescriptorOf } from '../poseDescriptorDep';\nimport {\n alignDeltaFor,\n alignTargetBounds,\n translatePoseViaDescriptor,\n visualBoundsViaDescriptor,\n type AlignEdge,\n type AlignReference,\n} from '../align/align';\nimport { actionReferenceSources } from '../spatialReference';\nimport type { PointerContextValue } from 'features/pointer/PointerContext';\nimport { scenePoseFrame } from '../poseFrame';\nimport type { Action } from '@weasel-js/routing';\nimport { ActionDisabledReason } from '@weasel-js/routing';\nimport type { SelectionApi } from 'core/selection/useSelection';\nimport type { ImmediateInvoker } from '@weasel-js/routing';\nimport {\n AlignLeftIcon,\n AlignRightIcon,\n AlignTopIcon,\n AlignBottomIcon,\n AlignCenterXIcon,\n AlignCenterYIcon,\n} from './icons/alignIcons';\nconst ID_FOR: Record<AlignEdge, string> = {\n 'left': 'align.left',\n 'right': 'align.right',\n 'top': 'align.top',\n 'bottom': 'align.bottom',\n 'center-x': 'align.centerX',\n 'center-y': 'align.centerY',\n};\nconst LABEL_FOR: Record<AlignEdge, string> = {\n 'left': 'Align Left',\n 'right': 'Align Right',\n 'top': 'Align Top',\n 'bottom': 'Align Bottom',\n 'center-x': 'Align Centers Horizontally',\n 'center-y': 'Align Centers Vertically',\n};\nconst ICON_FOR: Record<AlignEdge, ReactNode> = {\n 'left': <AlignLeftIcon />,\n 'right': <AlignRightIcon />,\n 'top': <AlignTopIcon />,\n 'bottom': <AlignBottomIcon />,\n 'center-x': <AlignCenterXIcon />,\n 'center-y': <AlignCenterYIcon />,\n};\n\n// ---------------------------------------------------------------------------\n// Shared helper for descriptor invokers\n// ---------------------------------------------------------------------------\n\n/**\n * Apply an align operation to the current selection via the Scene API.\n * Reads poses through the `poseDescriptor` dep; what the selection aligns to\n * comes from `params.to` (an `AlignReference`, default `'union'`).\n *\n * The edge every member lines up on is a world edge, so the bounds are read\n * and translated in world and each result is stored back in its own parent's\n * frame.\n */\nfunction alignSelection(\n selection: SelectionApi,\n scene: Scene<unknown, string, unknown>,\n edge: AlignEdge,\n geom: PoseDescriptor<unknown>,\n poseComposition: unknown,\n params: Record<string, unknown> | undefined,\n pointer: PointerContextValue | undefined,\n): void {\n const ids = selection.get();\n const frame = scenePoseFrame(scene, poseComposition);\n const poses = ids.map((id) => frame.world(id));\n const bounds = poses.map((p) => visualBoundsViaDescriptor(p, geom));\n const target = alignTargetBounds(\n bounds,\n params?.to as AlignReference | undefined,\n actionReferenceSources(params, pointer, scene, frame, geom),\n );\n if (target === null) return;\n scene.batch('Align', () => {\n for (let i = 0; i < ids.length; i++) {\n const { dx, dy } = alignDeltaFor(bounds[i], target, edge);\n if (dx === 0 && dy === 0) continue;\n const to = translatePoseViaDescriptor(poses[i], dx, dy, geom);\n scene.setPose(ids[i], frame.local(ids[i], to));\n }\n });\n}\n\n// ---------------------------------------------------------------------------\n// Static descriptors\n// ---------------------------------------------------------------------------\n\nfunction makeAlignAction(edge: AlignEdge): Action {\n return {\n id: ID_FOR[edge],\n label: LABEL_FOR[edge],\n icon: ICON_FOR[edge],\n group: 'align',\n eligible: { capability: 'transforms-selection' },\n requires: ['selection', 'scene', 'poseDescriptor', 'poseComposition', 'pointer'],\n // No default keybindings — six edges/centers don't fit a clean default\n // chord set. Wire bindings explicitly via the actions registry override map.\n invoker: {\n timing: 'immediate',\n run: (deps, params) => {\n const selection = deps.selection;\n const scene = deps.scene;\n if (!selection || !scene) return;\n alignSelection(\n selection, scene, edge, poseDescriptorOf(deps.poseDescriptor), deps.poseComposition,\n params, deps.pointer,\n );\n },\n } satisfies ImmediateInvoker,\n // One item is enough: `enabled` cannot see the binding's `to`, and every\n // reference but `'union'` aligns a single item. Deps-aware, since a\n // constant disabled reason greys the entry out forever (see\n // `requiresSelection`).\n enabled: (deps) => {\n const selection = deps?.selection;\n const count = selection?.get().length ?? 0;\n return count >= 1 ? true : ActionDisabledReason.SelectionRequired;\n },\n };\n}\n\n/** @experimental Static descriptor for align-left. */\nexport const alignLeftAction = makeAlignAction('left');\n/** @experimental Static descriptor for align-right. */\nexport const alignRightAction = makeAlignAction('right');\n/** @experimental Static descriptor for align-top. */\nexport const alignTopAction = makeAlignAction('top');\n/** @experimental Static descriptor for align-bottom. */\nexport const alignBottomAction = makeAlignAction('bottom');\n/** @experimental Static descriptor for align-center-x. */\nexport const alignCenterXAction = makeAlignAction('center-x');\n/** @experimental Static descriptor for align-center-y. */\nexport const alignCenterYAction = makeAlignAction('center-y');\n\n"],"mappings":";;;;;;;;;AA2BA,IAAMA,IAAoC;CACxCC,MAAQ;CACRC,OAAS;CACTC,KAAO;CACPC,QAAU;CACV,YAAY;CACZ,YAAY;AACd,GACMC,IAAuC;CAC3CJ,MAAQ;CACRC,OAAS;CACTC,KAAO;CACPC,QAAU;CACV,YAAY;CACZ,YAAY;AACd,GACME,IAAyC;CAC7CL,MAAQ,kBAACM,GAAD,CAAgB,CAAA;CACxBL,OAAS,kBAACM,GAAD,CAAiB,CAAA;CAC1BL,KAAO,kBAACM,GAAD,CAAe,CAAA;CACtBL,QAAU,kBAACM,GAAD,CAAkB,CAAA;CAC5B,YAAY,kBAACC,GAAD,CAAmB,CAAA;CAC/B,YAAY,kBAACC,GAAD,CAAmB,CAAA;AACjC;AAeA,SAASC,EACP,GACA,GACA,GACA,GACA,GACA,GACA,GACM;CACN,IAAMC,IAAMC,EAAU,IAAI,GACpBC,IAAQC,EAAeC,GAAOC,CAAe,GAC7CC,IAAQN,EAAI,KAAK,MAAOE,EAAM,MAAMK,CAAE,CAAC,GACvCC,IAASF,EAAM,KAAK,MAAMG,EAA0BC,GAAGC,CAAI,CAAC,GAC5DC,IAASC,EACbL,GACAM,GAAQ,IACRC,EAAuBD,GAAQE,GAASZ,GAAOF,GAAOS,CAAI,CAC5D;CACA,AAAIC,MAAW,QACfR,EAAM,MAAM,eAAe;EACzB,KAAK,IAAIa,IAAI,GAAGA,IAAIjB,EAAI,QAAQ,KAAK;GACnC,IAAM,EAAE,OAAI,UAAOkB,EAAcV,EAAOS,IAAIL,GAAQO,CAAI;GACxD,IAAIC,MAAO,KAAKC,MAAO,GAAG;GAC1B,IAAMC,IAAKC,EAA2BjB,EAAMW,IAAIG,GAAIC,GAAIV,CAAI;GAC5D,EAAM,QAAQX,EAAIiB,IAAIf,EAAM,MAAMF,EAAIiB,IAAIK,CAAE,CAAC;EAC/C;CACF,CAAC;AACH;AAMA,SAASE,EAAgB,GAAyB;CAChD,OAAO;EACL,IAAItC,EAAOiC;EACX,OAAO5B,EAAU4B;EACjB,MAAM3B,EAAS2B;EACf,OAAO;EACP,UAAU,EAAE,YAAY,uBAAuB;EAC/C,UAAU;GAAC;GAAa;GAAS;GAAkB;GAAmB;EAAS;EAG/E,SAAS;GACP,QAAQ;GACR,MAAM,GAAM,MAAW;IACrB,IAAMlB,IAAYwB,EAAK,WACjBrB,IAAQqB,EAAK;IACnB,AAAKxB,KAAcG,KACnBL,EACEE,GAAWG,GAAOe,GAAMO,EAAiBD,EAAK,cAAc,GAAGA,EAAK,iBACpEX,GAAQW,EAAK,OACf;GACF;EACF;EAKA,UAAU,QACUA,GAAM,UAAA,EACC,IAAI,CAAC,CAAC,UAAU,MACzB,KAAWE,EAAqB;CAEpD;AACF;AAGA,IAAaC,IAAqBJ,EAAgB,MAAM,GAE3CK,IAAqBL,EAAgB,OAAO,GAE5CM,IAAqBN,EAAgB,KAAK,GAE1CO,IAAqBP,EAAgB,QAAQ,GAE7CQ,IAAqBR,EAAgB,UAAU,GAE/CS,IAAqBT,EAAgB,UAAU"}
|