@weasel-js/core 1.9.1 → 1.9.3

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/dist/index.js CHANGED
@@ -143,171 +143,172 @@ import { useAnimator as Zi } from "./animation/useAnimator.js";
143
143
  import { VIEW_ANIMATION_KEY as Qi, useViewAnimation as $i, useViewAnimationOn as ea } from "./core/viewport/useViewAnimation.js";
144
144
  import { defineTool as ta, useTools as na } from "./tools/overlayBinding.js";
145
145
  import { useKeybindings as ra } from "./tools/useKeybindings.js";
146
- import { TOOL_PREF_KINDS as ia, isBuiltinToolPref as aa, prefUnit as oa } from "./tools/prefs.js";
147
- import sa from "./icons/SelectIcon.js";
148
- import ca from "./icons/LassoIcon.js";
149
- import la from "./icons/RectIcon.js";
150
- import ua from "./icons/EllipseIcon.js";
151
- import da from "./icons/ImageIcon.js";
152
- import fa from "./icons/EyedropperIcon.js";
153
- import pa from "./icons/LineIcon.js";
154
- import ma from "./icons/ArrowIcon.js";
155
- import ha from "./icons/PolygonIcon.js";
156
- import ga from "./icons/StarIcon.js";
157
- import _a from "./icons/PencilIcon.js";
158
- import va from "./icons/TextIcon.js";
159
- import ya from "./icons/PenIcon.js";
160
- import ba from "./icons/HandIcon.js";
161
- import xa from "./icons/UnknownIcon.js";
162
- import { getImageBitmap as Sa, imageStatus as Ca, isVectorImageSrc as wa, subscribeImageReady as Ta } from "./features/images/imageCache.js";
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
- import { pickTopMostHit as Pa } from "./tools/builtin/pickTopMostHit.js";
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";
146
+ import { TOOL_PREF_KINDS as ia, isBuiltinToolPref as aa, pairRowsOf as oa, prefUnit as sa } from "./tools/prefs.js";
147
+ import ca from "./icons/SelectIcon.js";
148
+ import la from "./icons/LassoIcon.js";
149
+ import ua from "./icons/RectIcon.js";
150
+ import da from "./icons/EllipseIcon.js";
151
+ import fa from "./icons/ImageIcon.js";
152
+ import pa from "./icons/EyedropperIcon.js";
153
+ import ma from "./icons/LineIcon.js";
154
+ import ha from "./icons/ArrowIcon.js";
155
+ import ga from "./icons/PolygonIcon.js";
156
+ import _a from "./icons/StarIcon.js";
157
+ import va from "./icons/PencilIcon.js";
158
+ import ya from "./icons/TextIcon.js";
159
+ import ba from "./icons/PenIcon.js";
160
+ import xa from "./icons/HandIcon.js";
161
+ import Sa from "./icons/UnknownIcon.js";
162
+ import { getImageBitmap as Ca, imageStatus as wa, isVectorImageSrc as Ta, subscribeImageReady as Ea } from "./features/images/imageCache.js";
163
+ import { DEFAULT_INK as Da, findNodeShape as Oa, findShapeBounds as ka, findShapeInk as Aa, findShapeSilhouette as ja, getNodeShapes as Ma, registerNodeShape as Na, shapeCoversPoint as Pa } from "./canvas/NodeShape.js";
164
+ import { pickTopMostHit as Fa } from "./tools/builtin/pickTopMostHit.js";
165
+ import { AREA_SELECT_ID as Ia, SELECTION_MOVE_ID as La, SELECTION_RESIZE_ID as Ra, SELECTION_ROTATE_ID as za, SELECTION_TRANSFORM_ID as Ba, areaSelectContribution as Va, onEmptyCanvas as Ha, selectionMoveBindings as Ua, selectionMoveContribution as Wa, selectionResizeBindings as Ga, selectionResizeContribution as Ka, selectionRotateBindings as qa, selectionRotateContribution as Ja, selectionTransformBindings as Ya, selectionTransformContribution as Xa } from "./tools/builtin/select/selectionContributions.js";
166
+ import { useSelectTool as Za } from "./tools/builtin/select/useSelectTool.js";
167
+ import { useHandTool as Qa } from "./tools/builtin/hand/useHandTool.js";
168
+ import { DRAG_PAN_ID as $a, dragPanContribution as eo } from "./tools/builtin/hand/dragPanContribution.js";
169
+ import { useTextTool as to } from "./tools/builtin/text/useTextTool.js";
170
+ import { constrainTo45 as no } from "./util/constrainTo45.js";
171
+ import { usePenTool as ro } from "./tools/builtin/pen/usePenTool.js";
172
+ import { useRectTool as io } from "./tools/builtin/rect/useRectTool.js";
173
+ import { useEllipseTool as ao } from "./tools/builtin/ellipse/useEllipseTool.js";
174
+ import { useImageTool as oo } from "./tools/builtin/image/useImageTool.js";
175
+ import { useEyedropperTool as so } from "./tools/builtin/eyedropper/useEyedropperTool.js";
176
+ import { useLineTool as co } from "./tools/builtin/line/useLineTool.js";
177
+ import { useLassoTool as lo } from "./tools/builtin/lasso/useLassoTool.js";
178
+ import { usePolygonTool as uo } from "./tools/builtin/polygon/usePolygonTool.js";
179
+ import { useStarTool as fo } from "./tools/builtin/star/useStarTool.js";
180
+ import { usePencilTool as po } from "./tools/builtin/pencil/usePencilTool.js";
181
+ import { useSliceTool as mo } from "./tools/builtin/slice/useSliceTool.js";
182
+ import { defaultDrawOne as ho, defaultPaintBounds as go } from "./canvas/defaultDrawOne.js";
183
+ import { releaseCanvasRenderer as _o } from "./canvas/canvasRenderer.js";
184
+ import { useSelection as vo } from "./core/selection/useSelection.js";
185
+ import { DEFAULT_ROTATION_HANDLE_DISTANCE as yo, hitRotationHandle as bo, rotationHandle as xo } from "./interactions/actions/rotate/handle.js";
186
+ import { composeSelectionPose as So, createSelectionHandlesLayer as Co, createSelectionOutlineLayer as wo, createSelectionOverlayLayer as To } from "./features/selection/overlay.js";
187
+ import { PAINTED_CURSOR_LAYER_ID as Eo, createPaintedCursorLayer as Do } from "./features/cursor/paintedCursorLayer.js";
188
+ import { rotateAroundAABBCenter as Oo } from "./canvas/poseRotation.js";
189
+ import { hostAnchorCss as ko, hostAnchorRect as Ao } from "./canvas/hostAnchor.js";
190
+ import { useHostAnchor as jo } from "./canvas/useHostAnchor.js";
191
+ import { CursorCoordsHud as Mo } from "./canvas/CursorCoordsHud.js";
192
+ import { PickHud as No } from "./canvas/PickHud.js";
193
+ import { sceneToAdapter as Po, useSceneAdapter as Fo } from "./canvas/sceneAdapter.js";
194
+ import { createArrangeOp as Io } from "./core/ops/arrange.js";
195
+ import { createPoseOverrides as Lo } from "./core/scene/poseOverrides.js";
196
+ import { createScene as Ro, sceneFromJSON as zo, sceneSelectionStore as Bo } from "./core/scene/scene.js";
197
+ import { SelectionContextProvider as Vo, SelectionContextProviderIfRoot as Ho, usePublishSelection as Uo, useSelectionContext as Wo } from "./features/selection/SelectionContext.js";
198
+ import { annulusSemiAxes as Go, hitAffordanceRegions as Ko, pointRegionFrame as qo } from "./affordances/hitAffordanceRegions.js";
199
+ import { createCornerResizeAffordance as Jo } from "./affordances/cornerResize.js";
200
+ import { createRotationAffordance as Yo } from "./affordances/rotationHandle.js";
201
+ import { enumerateAnchors as Xo, withCoord as Zo } from "./interactions/actions/edit-anchors/geometry.js";
202
+ import { PATH_ANCHOR_CHROME_ID as Qo, createPathAnchorAffordances as $o } from "./affordances/pathAnchors.js";
203
+ import { insertPreviewExtent as es } from "./canvas/insertPreviewExtent.js";
204
+ import { CanvasView as ts } from "./canvas/CanvasView.js";
205
+ import { KIT_VERSIONS as ns, checkRequirements as rs, satisfiesRange as is } from "./canvas/kitRequirements.js";
206
+ import { PointerProviderIfRoot as as } from "./canvas/SceneCanvas/PointerProviderIfRoot.js";
207
+ import { AUTO_ORIGIN_PROJECTION as os, RECT_ORIGIN_PROJECTION as ss } from "./interactions/gestures/shared/originProjection.js";
208
+ import { snap as cs } from "./interactions/gestures/shared/snap.js";
209
+ import { COMPOSITE_FEATURES as ls, FEATURE_ACTION_IDS as us, SCENE_CANVAS_FEATURES as ds, TOOL_DRIVEN_ACTION_IDS as fs } from "./canvas/SceneCanvas/features.js";
210
+ import { flattenPreviews as ps, resolvePreviews as ms } from "./interactions/actions/resolvePreviews.js";
211
+ import { resolveOverlays as hs } from "./interactions/actions/resolveOverlays.js";
212
+ import { circlePath as gs, rectMarkerPath as _s, roundRectPath as vs, squarePath as ys } from "./features/paths/markers.js";
213
+ import { createPenPreviewLayer as bs } from "./features/paths/penPreviewLayer.js";
214
+ import { createPathEditingOverlayLayer as xs } from "./features/paths/pathEditingOverlayLayer.js";
215
+ import { layoutArrivalHandler as Ss, useLayoutArrivals as Cs } from "./layout/arrivals.js";
216
+ import { WEASEL_CLIPBOARD_MIME as ws, WEASEL_CLIPBOARD_MIME_WEB as Ts, buildWeaselClipboardText as Es, embedWeaselMetadataInSvg as Ds, extractWeaselClipboardFromSvg as Os, parseWeaselClipboardText as ks, sniffWeaselClipboardText as As } from "./interactions/actions/clipboard/wireFormat.js";
217
+ import { openFilePicker as js } from "./features/ingestion/openFilePicker.js";
218
+ import { LONG_PRESS_FEEDBACK_ID as Ms, createLongPressFeedbackContribution as Ns } from "./features/longPress/longPressFeedback.js";
219
+ import { createNodeRouting as Ps } from "./core/scene/NodeRouting.js";
220
+ import { defaultNodeRouting as Fs, inferredNodeRouting as Is } from "./canvas/SceneCanvas/defaultNodeRouting.js";
221
+ import { actionIs as Ls, always as Rs, and as zs, canHover as Bs, capabilityAll as Vs, capabilityIn as Hs, capabilityIs as Us, capabilityNot as Ws, coarsePointer as Gs, cond as Ks, focused as qs, gesturing as Js, hovering as Ys, hoveringSelected as Xs, modeIn as Zs, modeIs as Qs, modeNot as $s, modifierHeld as ec, multiActive as tc, never as nc, not as rc, or as ic, selectionAtLeast as ac, selectionEmpty as oc, selectionIs as sc, when as cc, zoomAtLeast as lc } from "./features/chrome-caps/conditions.js";
222
+ import { defaultVisibilityRules as uc } from "./features/chrome-caps/defaults.js";
223
+ import { resolveVisibility as dc } from "./features/chrome-caps/resolve.js";
224
+ import { buildChromeCtx as fc } from "./features/chrome-caps/buildChromeCtx.js";
225
+ import { useHoverTracking as pc } from "./features/chrome-caps/useHoverTracking.js";
226
+ import { ALWAYS as mc, DEFAULT_ALLOWED_CAPABILITIES as hc, NEVER as gc, buildRuleCtx as _c, describeRule as vc, evaluate as yc } from "./features/chrome-caps/index.js";
227
+ import { BUILTIN_TOOL_IDS as bc, DEFAULT_HANDLE_SIZE as xc, SceneCanvas as Sc } from "./canvas/SceneCanvas.js";
228
+ import { createNodeProperties as Cc } from "./core/scene/NodeProperties.js";
229
+ import { defaultNodeProperties as wc, inferredNodeProperties as Tc, rotationDegreesUnit as Ec } from "./canvas/SceneCanvas/defaultNodeProperties.js";
230
+ import { buildSceneViewCommands as Dc, renderSceneToCanvas as Oc } from "./canvas/sceneViewRender.js";
231
+ import { SceneViewCanvas as kc } from "./canvas/SceneViewCanvas.js";
232
+ import { DrawCanvas as Ac } from "./canvas/DrawCanvas.js";
233
+ import { MINIMAP_CENTER as jc, MINIMAP_PAN as Mc, centerRootOn as Nc, minimapCenterAction as Pc, minimapPanAction as Fc } from "./features/minimap/actions.js";
234
+ import { CROSSHAIR_HALO as Ic, crosshairRects as Lc } from "./features/minimap/layers.js";
235
+ import { useScene as Rc } from "./core/scene/useScene.js";
236
+ import { reconcileSpecs as zc } from "./core/scene/reconcileSpecs.js";
237
+ import { createPoseFeed as Bc } from "./core/scene/poseFeed.js";
238
+ import { FALLBACK_FIT_VIEW as Vc, computeFitView as Hc, computeIndicatorCommand as Uc } from "./canvas/minimapMath.js";
239
+ import { MinimapCanvas as Wc } from "./canvas/MinimapCanvas.js";
240
+ import { createLinkedCursorContribution as Gc, createMinimapContribution as Kc } from "./features/minimap/createMinimapContribution.js";
241
+ import { renderNeeds as qc } from "./canvas/renderNeeds.js";
242
+ import { createRasterSession as Jc, planPixelRender as Yc, renderSceneToPixels as Xc, warmRender as Zc } from "./canvas/renderSceneToPixels.js";
243
+ import { debugSnapshotArgs as Qc, renderDebugSnapshot as $c } from "./canvas/renderDebugSnapshot.js";
244
+ import { rasterToPng as el } from "./canvas/rasterToPng.js";
245
+ import { ActionsProviderIfRoot as tl } from "./canvas/SceneCanvas/ActionsProviderIfRoot.js";
246
+ import { DepRegistryProviderIfRoot as nl } from "./canvas/SceneCanvas/DepRegistryProviderIfRoot.js";
247
+ import { WeaselProvider as rl } from "./WeaselProvider.js";
248
+ import { useCanvasFocus as il } from "./features/focus/useCanvasFocus.js";
249
+ import { gateLayer as al } from "./features/focus/gateLayer.js";
250
+ import { modeDecorationLayer as ol, workspaceTintLayer as sl } from "./features/modes/modeLayers.js";
251
+ import { createChildrenLayer as cl } from "./features/groups/children.js";
252
+ import { composeAffordanceLayer as ll } from "./affordances/composeAffordanceLayer.js";
253
+ import { defaultLabelTextRenderer as ul, renderLabel as dl } from "./features/text/renderLabel.js";
254
+ import { createTextLayer as fl } from "./features/text/textLayer.js";
255
+ import { caretIndexAt as pl, pointInTextPose as ml } from "./features/text/hitTest.js";
256
+ import { fitTextPose as hl } from "./features/text/fitTextPose.js";
257
+ import { charOffsetToDomPosition as gl, domPositionToCharOffset as _l, domToRuns as vl, runsToDom as yl } from "./features/text/domRuns.js";
258
+ import { MIXED as bl } from "./core/mixed.js";
259
+ import { applyStyleToRange as xl, patchRangeStyle as Sl, styleAtRange as Cl } from "./features/text/runs/rangeStyle.js";
260
+ import { nodeHasFlag as wl, setFlagOverRange as Tl, unboldPatch as El } from "./features/text/runs/flagRange.js";
261
+ import { effectiveRangeStyle as Dl, rangeWeight as Ol } from "./features/text/runs/effectiveRangeStyle.js";
262
+ import { TEXT_EDIT_FONT_HOLD as kl, useTextEdit as Al } from "./features/text/useTextEdit.js";
263
+ import { useSceneTextEdit as jl } from "./features/text/useSceneTextEdit.js";
264
+ import { createSetTextOp as Ml } from "./core/ops/setText.js";
265
+ import { createSetLayerOp as Nl } from "./core/ops/setLayer.js";
266
+ import { createSetLayoutOp as Pl } from "./core/ops/setLayout.js";
267
+ import { createSetPathOp as Fl } from "./core/ops/setPath.js";
268
+ import { nestedHitTester as Il } from "./features/groups/nestedHit.js";
269
+ import { unionOfChildrenVia as Ll } from "./features/groups/unionOfChildren.js";
270
+ import { createPathLayer as Rl } from "./features/paths/pathLayer.js";
271
+ import { pathOriginProjection as zl } from "./features/paths/originProjection.js";
272
+ import { DEFAULT_FLATTEN_TOLERANCE as Bl, PATH_C as Vl, PATH_CMD_LENGTHS as Hl, PATH_L as Ul, PATH_M as Wl, PATH_Q as Gl, PATH_Z as Kl, PathBuilder as ql, boundsOfPath as Jl, composePath as Yl, decomposePath as Xl, ellipsePath as Zl, flattenCubic as Ql, flattenCubicWithArcLen as $l, flattenQuadratic as eu, flattenQuadraticWithArcLen as tu, linePath as nu, pathCommandCoordCount as ru, pathContainsPoint as iu, pathContainsPolygon as au, pathContainsRect as ou, pathDistanceToPoint as su, pathFromD as cu, pathIntersectsPolygon as lu, pathIntersectsRect as uu, pathSignedArea as du, pointAlongPath as fu, pointInPath as pu, polygonFromPoints as mu, polylineFromPoints as hu, rectPath as gu, regularPolygonPath as _u, reversePath as vu, scalePathToBounds as yu, snipPathByPolyline as bu, splitPathByPolyline as xu, splitPathBySegment as Su, splitSubpaths as Cu, starPath as wu, transformPath as Tu, translatePath as Eu, unionBoundsPath as Du } from "./features/paths/index.js";
273
+ import { useGradientKinds as Ou, usePaintKind as ku, usePaintKinds as Au } from "./core/usePaintKinds.js";
274
+ import { createHistory as ju } from "./core/ops/createHistory.js";
275
+ import { arrayAdapter as Mu } from "./core/adapters/arrayAdapter.js";
276
+ import { useArrayAdapter as Nu } from "./core/adapters/useArrayAdapter.js";
277
+ import { useDragGesture as Pu } from "./interactions/gestures/dragGesture/dragGesture.js";
278
+ import { useDragRect as Fu } from "./interactions/gestures/dragRect/dragRect.js";
279
+ import { useDragRadial as Iu } from "./interactions/gestures/dragRadial/dragRadial.js";
280
+ import { hitAnchor as Lu } from "./interactions/actions/edit-anchors/handles.js";
281
+ import { useClipboardOps as Ru } from "./interactions/actions/clipboard/clipboardOps.js";
282
+ import { useDistribute as zu } from "./interactions/actions/distribute/distribute.js";
283
+ import { cloneByAltDrag as Bu } from "./interactions/actions/clone/behaviors/cloneByAltDrag.js";
284
+ import { useBooleans as Vu } from "./interactions/actions/booleans/useBooleans.js";
285
+ import { useBooleansAdapter as Hu } from "./interactions/actions/booleans/useBooleansAdapter.js";
286
+ import { useCreateOutlinesAdapter as Uu } from "./interactions/actions/outlines/useCreateOutlinesAdapter.js";
287
+ import { animateOnSetPose as Wu } from "./animation/wrappers/animateOnSetPose.js";
288
+ import { animateLifecycle as Gu } from "./animation/wrappers/animateLifecycle.js";
289
+ import { createReflowTransition as Ku, useAnimatedReflow as qu } from "./animation/reflow.js";
290
+ import { momentum as Ju } from "./animation/behaviors/momentum.js";
291
+ import { createSlew as Yu, slewToward as Xu } from "./animation/slew.js";
292
+ import { cycleVertexColors as Zu, rainbowVertexColors as Qu, solidVertexColors as $u, springVertexColors as ed, staggerVertexColors as td, tweenVertexColors as nd } from "./animation/colorHelpers.js";
293
+ import { IDENTITY_JOINT as rd } from "./animation/rig/types.js";
294
+ import { blendPoses as id } from "./animation/rig/blendPoses.js";
295
+ import { mirrorPose as ad } from "./animation/rig/mirrorPose.js";
296
+ import { resolveSkeleton as od } from "./animation/rig/resolveSkeleton.js";
297
+ import { bindRig as sd, rigidRigApply as cd } from "./animation/rig/bindRig.js";
298
+ import { solveIk as ld } from "./animation/rig/solveIk.js";
299
+ import { useRig as ud } from "./animation/rig/useRig.js";
300
+ import { EASINGS as dd, SPRING_PRESETS as fd, cubicBezierEasing as pd, easeIn as md, easeInBack as hd, easeInBounce as gd, easeInCirc as _d, easeInCubic as vd, easeInElastic as yd, easeInExpo as bd, easeInOut as xd, easeInOutBack as Sd, easeInOutBounce as Cd, easeInOutCirc as wd, easeInOutCubic as Td, easeInOutElastic as Ed, easeInOutExpo as Dd, easeInOutQuad as Od, easeInOutQuart as kd, easeInOutQuint as Ad, easeInOutSine as jd, easeInQuad as Md, easeInQuart as Nd, easeInQuint as Pd, easeInSine as Fd, easeOut as Id, easeOutBack as Ld, easeOutBounce as Rd, easeOutCirc as zd, easeOutCubic as Bd, easeOutElastic as Vd, easeOutExpo as Hd, easeOutQuad as Ud, easeOutQuart as Wd, easeOutQuint as Gd, easeOutSine as Kd, hexToOklchDeg as qd, hslToSrgb as Jd, interpolateSrgb as Yd, lerpColorArray as Xd, lerpOklab as Zd, lerpOklch as Qd, linear as $d, linearSrgbToOklab as ef, linearToSrgb as tf, oklabToLinearSrgb as nf, oklabToOklch as rf, oklabToSrgbU8 as af, oklchDegToHex as of, oklchToOklab as sf, resolveEasing as cf, srgbFloatToOklab as lf, srgbToHsl as uf, srgbToLinear as df, srgbU8ToOklab as ff } from "./animation/index.js";
301
+ import { mergeContributions as pf } from "./canvas/surfaceContribution.js";
302
+ import { canQueryLocalFonts as mf, cssFamilyName as hf, cssFontFamily as gf, cssFontFamilyLoading as _f, enableLocalFontOutlines as vf, fontOutlineRegistry as yf, fontRegistry as bf, hasFontOutlines as xf, isCanvasFont as Sf, listFontOutlines as Cf, loadFontOutlines as wf, outlineStatus as Tf, registerCanvasFont as Ef, registerFont as Df, registerFontOutlines as Of, subscribeGlyphReady as kf, unregisterCanvasFont as Af, unregisterFontOutlines as jf, warmFonts as Mf } from "@weasel-js/font";
303
+ import { STROKE_DASH_RATIOS as Nf, alignedStrokeRect as Pf, composePatternTransform as Ff, contrastLineColor as If, dashForStrokeStyle as Lf, decomposePatternTransform as Rf, resolveScreenLength as zf, strokeDashStyleOf as Bf } from "@weasel-js/paint";
304
+ import { createReflectable as Vf } from "@weasel-js/registry";
305
+ import { DEFAULT_DECORATION_METRICS as Hf, DEFAULT_TEXT_STYLE as Uf, MARKDOWN_RUN_GRAMMAR as Wf, SCRIPT_METRICS as Gf, SMALL_CAPS_SCALE as Kf, cachedLayoutRuns as qf, createMarkdownRenderer as Jf, decorationMetrics as Yf, fontString as Xf, isBoldWeight as Zf, isSmallCapsLetter as Qf, layoutMarkdown as $f, layoutRuns as ep, layoutTextPose as tp, markdownToRuns as np, measureText as rp, measureTextBounds as ip, measuredWidth as ap, numericWeight as op, resolveAlign as sp, resolveRunFace as cp, resolveRuns as lp, resolveTextStyle as up, runsToMarkdown as dp, runsToPlainText as fp, scriptMetrics as pp, scriptMetricsFor as mp, smallCapsScale as hp, smallCapsScaleFor as gp, smallCapsText as _p, textLineBoxes as vp, textPoseLayoutInput as yp, toRuns as bp, transformRunTexts as xp, verticalAlignOffset as Sp } from "@weasel-js/text";
306
+ import { trimPolyline as Cp } from "@weasel-js/geom/tessellate";
307
+ import { useLatest as wp } from "@weasel-js/react";
308
+ import { ActionDisabledReason as Tp, CONTROL_SELECTOR as Ep, DRAG_THRESHOLD_PX as Dp, LONG_PRESS_MS as Op, actionBindings as kp, actionItems as Ap, activatesFocusedControl as jp, buildDepsFromRequires as Mp, clientToCanvas as Np, createDepRegistry as Pp, createDispatcher as Fp, createLongPressStore as Ip, deleteScratch as Lp, evaluateEnabled as Rp, getScratch as zp, historyKey as Bp, isEditableTarget as Vp, isInControlWithin as Hp, liveScope as Up, matchesKeyBinding as Wp, modeShortcutSpec as Gp, modeShortcuts as Kp, openPointerSession as qp, pastDragThreshold as Jp, resolveParams as Yp, scopeBindings as Xp, scratchKey as Zp, setScratch as Qp, specificity as $p } from "@weasel-js/routing";
309
+ import { ActionsProvider as em, ActiveToolContextProvider as tm, ActiveToolContextProviderIfRoot as nm, DepRegistryProvider as rm, InputScope as im, Yoke as am, useAction as om, useActionsRegistry as sm, useActiveToolContext as cm, useDepRegistry as lm, useDepSource as um, useGestureDispatcher as dm, useOngoingAction as fm, useOptionalActiveToolContext as pm, useOptionalDepRegistry as mm, useYoke as hm } from "@weasel-js/routing/react";
310
+ import { ANGLE_RADIANS as gm, IMPERIAL_INCHES as _m, METRIC_MM as vm, PIXELS as ym, formatUnit as bm, resolveUnit as xm, unitScale as Sm } from "@weasel-js/quantity";
311
+ import { CURSOR_ANGLE_STEPS as Cm, CURSOR_MAX_CSS_PX as wm, bakeCursor as Tm, createPaintedCursorState as Em, cursorFor as Dm, resolveCursor as Om, resolveCursorTier as km } from "@weasel-js/cursor";
312
+ import { CURVE_REPS as Am, bezierCubic as jm, bezierQuadratic as Mm, nurbs as Nm, spiro as Pm } from "@weasel-js/geom/curves";
312
313
  export * from "@weasel-js/history";
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 };
314
+ export { sr as ACTION_GLYPHS, mc as ALWAYS, lt as ANCHOR_HIT_BASE_PX, gm as ANGLE_RADIANS, Ia as AREA_SELECT_ID, os as AUTO_ORIGIN_PROJECTION, Jt as AUTO_POSE_DESCRIPTOR, Tp as ActionDisabledReason, em as ActionsProvider, tl as ActionsProviderIfRoot, tm as ActiveToolContextProvider, nm as ActiveToolContextProviderIfRoot, kr as AlignBottomIcon, Ar as AlignCenterXIcon, jr as AlignCenterYIcon, Mr as AlignLeftIcon, Nr as AlignRightIcon, Pr as AlignTopIcon, ha as ArrowIcon, E as BUILTIN_MARKERS, bc as BUILTIN_TOOL_IDS, Yn as BringForwardIcon, Xn as BringToFrontIcon, ft as COARSE_TARGET_SCALE, ls as COMPOSITE_FEATURES, Ep as CONTROL_SELECTOR, nn as CORNER_ANCHORS, Ic as CROSSHAIR_HALO, Cm as CURSOR_ANGLE_STEPS, wm as CURSOR_MAX_CSS_PX, Am as CURVE_REPS, ts as CanvasView, Xi as ColorOverrideRegistry, Zn as CopyIcon, ei as CreateOutlinesIcon, qr as CropIcon, Mo as CursorCoordsHud, Qn as CutIcon, hc as DEFAULT_ALLOWED_CAPABILITIES, he as DEFAULT_ALPHA_DECAY, ge as DEFAULT_ALPHA_MIN, ji as DEFAULT_DEBUG_STROKES, Mi as DEFAULT_DEBUG_THEME, Hf as DEFAULT_DECORATION_METRICS, pt as DEFAULT_DEVICE_PROFILE, ai as DEFAULT_FILL_COLOR, Bl as DEFAULT_FLATTEN_TOLERANCE, xc as DEFAULT_HANDLE_SIZE, Da as DEFAULT_INK, J as DEFAULT_MAX_ZOOM, Y as DEFAULT_MIN_ZOOM, oi as DEFAULT_PALETTE, yo as DEFAULT_ROTATION_HANDLE_DISTANCE, si as DEFAULT_SHAPE_FILL, ci as DEFAULT_STROKE_COLOR, Uf as DEFAULT_TEXT_STYLE, _e as DEFAULT_VELOCITY_DECAY, $a as DRAG_PAN_ID, Dp as DRAG_THRESHOLD_PX, cr as DeleteIcon, rm as DepRegistryProvider, nl as DepRegistryProviderIfRoot, Se as DeviceProfileProvider, Fr as DistributeHorizontalIcon, Ir as DistributeVerticalIcon, Jr as DivideIcon, Ac as DrawCanvas, $n as DuplicateIcon, dd as EASINGS, da as EllipseIcon, Yr as ExcludeIcon, pa as EyedropperIcon, Vc as FALLBACK_FIT_VIEW, us as FEATURE_ACTION_IDS, er as FlipXIcon, tr as FlipYIcon, li as GHOST_STROKE, nr as GroupIcon, ut as HANDLE_BASE_PX, xa as HandIcon, rd as IDENTITY_JOINT, Te as IDENTITY_POSE_COMPOSITION, _m as IMPERIAL_INCHES, fa as ImageIcon, im as InputScope, Xr as IntersectIcon, _n as KIT_SHAPE_KINDS, Ii as KIT_STANDARD_ACTION_IDS, ns as KIT_VERSIONS, Ms as LONG_PRESS_FEEDBACK_ID, Op as LONG_PRESS_MS, la as LassoIcon, ma as LineIcon, Wf as MARKDOWN_RUN_GRAMMAR, vm as METRIC_MM, jc as MINIMAP_CENTER, Mc as MINIMAP_PAN, bl as MIXED, Wc as MinimapCanvas, gc as NEVER, Eo as PAINTED_CURSOR_LAYER_ID, Qo as PATH_ANCHOR_CHROME_ID, Vl as PATH_C, Hl as PATH_CMD_LENGTHS, Ul as PATH_L, Wl as PATH_M, Gl as PATH_Q, Kl as PATH_Z, ym as PIXELS, rr as PasteIcon, ql as PathBuilder, ba as PenIcon, va as PencilIcon, No as PickHud, _r as PointerContextProvider, as as PointerProviderIfRoot, ga as PolygonIcon, ss 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, ua as RectIcon, lr as RedoIcon, ds as SCENE_CANVAS_FEATURES, Gf as SCRIPT_METRICS, La as SELECTION_MOVE_ID, Ra as SELECTION_RESIZE_ID, za as SELECTION_ROTATE_ID, Ba as SELECTION_TRANSFORM_ID, vn as SHAPE_KINDS, Kf as SMALL_CAPS_SCALE, fd as SPRING_PRESETS, w as SPRITE_STRIDE, Nf as STROKE_DASH_RATIOS, jt as SceneArrivalRefused, Sc as SceneCanvas, kc as SceneViewCanvas, ca as SelectIcon, Vo as SelectionContextProvider, Ho as SelectionContextProviderIfRoot, ir as SendBackwardIcon, ar as SendToBackIcon, _a as StarIcon, Zr as SubtractIcon, kl as TEXT_EDIT_FONT_HOLD, fs as TOOL_DRIVEN_ACTION_IDS, ia as TOOL_PREF_KINDS, ya as TextIcon, Hr as TextOutlinesError, hr as UNION_OF_CHILDREN, ur as UndoIcon, or as UngroupIcon, Qr as UnionIcon, Sa as UnknownIcon, e as VERSION, Qi as VIEW_ANIMATION_KEY, ws as WEASEL_CLIPBOARD_MIME, Ts as WEASEL_CLIPBOARD_MIME_WEB, En as WHEEL_ZOOM_STEP, rl as WeaselProvider, am as Yoke, X as ZOOM_FLOOR, cn as aabbCenter, kp as actionBindings, Ls as actionIs, Ap as actionItems, Tt as actionShortcuts, jp as activatesFocusedControl, Sr as alignDeltaFor, Cr as alignTargetBounds, Pf as alignedStrokeRect, Rs as always, zs as and, Gu as animateLifecycle, Wu as animateOnSetPose, Go as annulusSemiAxes, Kr as applyBooleanOp, $r as applyCreateOutlines, Vn as applyOpsTo, xl as applyStyleToRange, gn as areaSelectAction, Va as areaSelectContribution, Mu as arrayAdapter, At as asNodeId, p as asPaint, zt as axisAlignedBounds, Tm as bakeCursor, jm as bezierCubic, Mm as bezierQuadratic, sd as bindRig, id as blendPoses, B as blur, Jl as boundsOfPath, fc as buildChromeCtx, Ni as buildDebugOverlayCommands, Mp as buildDepsFromRequires, _c as buildRuleCtx, Dc as buildSceneViewCommands, Es as buildWeaselClipboardText, qf as cachedLayoutRuns, Tr as canBringForward, Bs as canHover, mf as canQueryLocalFonts, Er as canSendBackward, Vs as capabilityAll, Hs as capabilityIn, Us as capabilityIs, Ws as capabilityNot, pl as caretIndexAt, Nc as centerRootOn, gl as charOffsetToDomPosition, rs as checkRequirements, gs as circlePath, yt as clampView, bn as clearSelectionAction, Np as clientToCanvas, dr as clipboardCopyAction, fr as clipboardCutAction, pr as clipboardPasteAction, Cn as cloneAction, Bu as cloneByAltDrag, Gs as coarsePointer, ll as composeAffordanceLayer, Yl as composePath, Ff as composePatternTransform, Ae as composeRectPose, je as composeRigidPose, So as composeSelectionPose, Ee as composeWorldPose, Hc as computeFitView, xt as computeFitViewport, Uc as computeIndicatorCommand, Vi as computeSliceOps, Dn as computeWheelAction, Ks as cond, no as constrainTo45, If as contrastLineColor, rn as cornerPoint, an as cornerResizeHandles, Fn as countPathAnchors, Io as createArrangeOp, cl as createChildrenLayer, Jo as createCornerResizeAffordance, Pi as createDebugOverlayLayer, xi as createDebugSink, xn as createDeleteOp, Pp as createDepRegistry, Fp as createDispatcher, ju as createHistory, Sn as createInsertOp, Ct as createKeyState, Gc as createLinkedCursorContribution, Ns as createLongPressFeedbackContribution, Ip as createLongPressStore, Jf as createMarkdownRenderer, Kc as createMinimapContribution, Dr as createMoveToIndexOp, Cc as createNodeProperties, Ps as createNodeRouting, Do as createPaintedCursorLayer, Em as createPaintedCursorState, fe as createParallaxLayer, de as createParallaxPlane, $o as createPathAnchorAffordances, xs as createPathEditingOverlayLayer, Rl as createPathLayer, bs as createPenPreviewLayer, vr as createPointerStore, Bc as createPoseFeed, Lo as createPoseOverrides, Jc as createRasterSession, Vf as createReflectable, Ku as createReflowTransition, Or as createReorderOp, Lt as createReparentOp, Yo as createRotationAffordance, Ro as createScene, Co as createSelectionHandlesLayer, wo as createSelectionOutlineLayer, To as createSelectionOverlayLayer, Rt as createSetDataOp, Nl as createSetLayerOp, Pl as createSetLayoutOp, Fl as createSetPathOp, Un as createSetSelectionOp, Ml as createSetTextOp, ve as createSimulation, Yu as createSlew, fl as createTextLayer, wi as createTilePattern, me as createTiledLayer, It as createTransformOp, wn as createVelocityTracker, ne as createViewResolver, te as createViewportLayer, Lc as crosshairRects, hf as cssFamilyName, gf as cssFontFamily, _f as cssFontFamilyLoading, pd as cubicBezierEasing, R as cullDrawCommands, Dm as cursorFor, ui as cycleFill, Zu as cycleVertexColors, Lf as dashForStrokeStyle, Qc as debugSnapshotArgs, Xl as decomposePath, Rf as decomposePatternTransform, Me as decomposeRectPose, Ne as decomposeRigidPose, Yf as decorationMetrics, pn as defaultCommitAdapter, ho as defaultDrawOne, ul as defaultLabelTextRenderer, wc as defaultNodeProperties, Fs as defaultNodeRouting, go as defaultPaintBounds, uc as defaultVisibilityRules, ta as defineTool, Le as definesFrame, Lp as deleteScratch, H as depsUnchanged, re as deriveParallaxView, Re as derivedDepOf, ze as derivedPose, vc as describeRule, Hn as dispatchApplyBatch, _i as dlog, Be as documentPose, _l as domPositionToCharOffset, vl as domToRuns, eo as dragPanContribution, U as drawLayers, W as drawOneLayer, vi as dwarn, md as easeIn, hd as easeInBack, gd as easeInBounce, _d as easeInCirc, vd as easeInCubic, yd as easeInElastic, bd as easeInExpo, xd as easeInOut, Sd as easeInOutBack, Cd as easeInOutBounce, wd as easeInOutCirc, Td as easeInOutCubic, Ed as easeInOutElastic, Dd as easeInOutExpo, Od as easeInOutQuad, kd as easeInOutQuart, Ad as easeInOutQuint, jd as easeInOutSine, Md as easeInQuad, Nd as easeInQuart, Pd as easeInQuint, Fd as easeInSine, Id as easeOut, Ld as easeOutBack, Rd as easeOutBounce, zd as easeOutCirc, Bd as easeOutCubic, Vd as easeOutElastic, Hd as easeOutExpo, Ud as easeOutQuad, Wd as easeOutQuart, Gd as easeOutQuint, Kd as easeOutSine, Bn as editAnchorsAction, Zt as editingLayer, Ve as effectivePose, Dl as effectiveRangeStyle, Zl as ellipsePath, Ds as embedWeaselMetadataInSvg, vf as enableLocalFontOutlines, mr as enterTextEditAction, Xo as enumerateAnchors, yc as evaluate, Rp as evaluateEnabled, Os as extractWeaselClipboardFromSvg, Si as fillInPoseFrame, Ci as fillToBoundsFrame, Oa as findNodeShape, ka as findShapeBounds, Aa as findShapeInk, ja as findShapeSilhouette, hl as fitTextPose, ht as fitToBounds, _t as fitViewToBounds, gt as fitZoom, on as fixedCornerOf, Ql as flattenCubic, $l as flattenCubicWithArcLen, ps as flattenPreviews, eu as flattenQuadratic, tu as flattenQuadraticWithArcLen, qs as focused, yf as fontOutlineRegistry, bf as fontRegistry, Xf as fontString, Ge as forEachCoalesced, bm as formatUnit, I as frameRect, ie as fromPlane, al as gateLayer, Dt as gesturePlaneReader, Ot as gestureViewReader, Js as gesturing, ti as getAlpha01, Ca as getImageBitmap, D as getMarker, Ma as getNodeShapes, m as getPaintKind, zp as getScratch, Ke as getStylusData, s as gradientForBounds, c as gradientGeometry, xf as hasFontOutlines, qd as hexToOklchDeg, t as hexToRgba, Bp as historyKey, Ko as hitAffordanceRegions, Lu as hitAnchor, sn as hitCornerHandle, bo as hitRotationHandle, ko as hostAnchorCss, Ao as hostAnchorRect, Ys as hovering, Xs as hoveringSelected, Jd as hslToSrgb, wa as imageStatus, Qt as inPlane, Tc as inferredNodeProperties, Is as inferredNodeRouting, yn as insertAction, $t as insertLayer, es as insertPreviewExtent, Yd as interpolateSrgb, Ki as interpolateView, Zf as isBoldWeight, aa as isBuiltinToolPref, Sf as isCanvasFont, yi as isDebugEnabled, Vp as isEditableTarget, l as isGradientFill, Hp as isInControlWithin, G as isLayerPainted, K as isLayerVisible, h as isPaintKindKnown, Yt as isPathLike, Ti as isPatternSpec, Ie as isPlainObject, Xt as isRectPose, Qf as isSmallCapsLetter, Ta as isVectorImageSrc, Et as keySpecShortcut, Gn as lassoSelectAction, Ss as layoutArrivalHandler, $f as layoutMarkdown, ep as layoutRuns, tp as layoutTextPose, Xd as lerpColorArray, Zd as lerpOklab, Qd as lerpOklch, nu as linePath, $d as linear, ef as linearSrgbToOklab, tf as linearToSrgb, Cf as listFontOutlines, g as listGradientKinds, O as listMarkers, _ as listPaintKinds, Up as liveScope, wf as loadFontOutlines, Ur as loadTextOutlines, qn as makePinchZoomAction, Nn as makeViewportWheelPanAction, jn as makeViewportZoomAction, np as markdownToRuns, j as markerInset, M as markerKeyOf, k as markerRegistry, F as markerSites, f as mat3, Wp as matchesKeyBinding, Ze as meanScale, rp as measureText, ip as measureTextBounds, ap as measuredWidth, ni as mergeAlphaFromPrev, pf as mergeContributions, Pc as minimapCenterAction, Fc as minimapPanAction, ad as mirrorPose, ol as modeDecorationLayer, Zs as modeIn, Qs as modeIs, $s as modeNot, Gp as modeShortcutSpec, Kp as modeShortcuts, ec as modifierHeld, Ju as momentum, tn as moveAction, tc as multiActive, Il as nestedHitTester, nc as never, wl as nodeHasFlag, n as normalizeHex, Q as normalizeView, Z as normalizeZoom, rc as not, op as numericWeight, Nm as nurbs, nf as oklabToLinearSrgb, rf as oklabToOklch, af as oklabToSrgbU8, of as oklchDegToHex, sf as oklchToOklab, Ha as onEmptyCanvas, Mt as opFactoryRegistry, js as openFilePicker, qp as openPointerSession, ic as or, Tf as outlineStatus, di as paintAlpha, v as paintKindOf, y as paintKindRegistry, fi as paintWithAlpha, pi as paintWithColor, oa as pairRowsOf, r as parseColor, i as parseColorToRgba255, bi as parseDebugFlags, ks as parseWeaselClipboardText, Jp as pastDragThreshold, Sl as patchRangeStyle, ru as pathCommandCoordCount, iu as pathContainsPoint, au as pathContainsPolygon, ou as pathContainsRect, su as pathDistanceToPoint, Lr as pathDivide, Rr as pathExclude, cu as pathFromD, Ln as pathInPoseFrame, Rn as pathInWorld, zr as pathIntersect, lu as pathIntersectsPolygon, uu as pathIntersectsRect, zl as pathOriginProjection, qt as pathPoseDescriptor, du as pathSignedArea, Br as pathSubtract, In as pathToAnchors, Vr as pathUnion, Fa as pickTopMostHit, Jn as pinchZoomAction, Yc as planPixelRender, ae as planeMap, oe as planeMatrix, se as planeToPlane, fu as pointAlongPath, pu as pointInPath, ln as pointInRotatedRect, ml as pointInTextPose, qo as pointRegionFrame, mu as polygonFromPoints, hu as polylineFromPoints, Wt as poseDescriptorForNode, He as poseRotationOf, sa as prefUnit, qe as pressureToWidth, $e as pxExtent, Qu as rainbowVertexColors, Ol as rangeWeight, el as rasterToPng, De as rebaseLocalPose, Nt as rebuildOp, zc as reconcileSpecs, un as rectCorners, ce as rectFromPlane, _s as rectMarkerPath, gu as rectPath, le as rectToPlane, Ef as registerCanvasFont, Fi as registerContentHandler, z as registerEffect, Df as registerFont, Of as registerFontOutlines, A as registerMarker, Na as registerNodeShape, Pt as registerOpFactory, b as registerPaintKind, x as registerPaintKindLoader, Ft as registeredOpNames, _u as regularPolygonPath, _o as releaseCanvasRenderer, $c as renderDebugSnapshot, dl as renderLabel, qc as renderNeeds, Oc as renderSceneToCanvas, Xc as renderSceneToPixels, mn as resizeAction, sp as resolveAlign, a as resolveColor, Om as resolveCursor, km as resolveCursorTier, mt as resolveDeviceProfile, cf as resolveEasing, Ei as resolveFillPattern, N as resolveMarkerSize, hs as resolveOverlays, Yp as resolveParams, Di as resolvePatternSpec, ms as resolvePreviews, cp as resolveRunFace, lp as resolveRuns, zf as resolveScreenLength, od as resolveSkeleton, xr as resolveSpatialReference, T as resolveStrokeWidth, up as resolveTextStyle, xm as resolveUnit, dc as resolveVisibility, vu as reversePath, o as rgbaToHex, cd as rigidRigApply, hn as rotateAction, Oo as rotateAroundAABBCenter, Ue as rotatePathAround, dn as rotatePoint, fn as rotatedRectCorners, Ec as rotationDegreesUnit, xo as rotationHandle, vs as roundRectPath, yl as runsToDom, dp as runsToMarkdown, fp as runsToPlainText, u as sampleGradientStops, Yi as sampleTrack, is as satisfiesRange, et as scaleDelta, yu as scalePathToBounds, zo as sceneFromJSON, bt as sceneNodeClientRect, Bo as sceneSelectionStore, Po as sceneToAdapter, Xp as scopeBindings, Zp as scratchKey, tt as screenAngleOf, Ye as screenToWorld, kt as screenTolerance, pp as scriptMetrics, mp as scriptMetricsFor, Wn as selectFromLasso, ac as selectionAtLeast, oc as selectionEmpty, sc as selectionIs, en as selectionLayer, Ua as selectionMoveBindings, Wa as selectionMoveContribution, Ga as selectionResizeBindings, Ka as selectionResizeContribution, qa as selectionRotateBindings, Ja as selectionRotateContribution, Ya as selectionTransformBindings, Xa as selectionTransformContribution, Tl as setFlagOverRange, Qp as setScratch, Pa as shapeCoversPoint, Xu as slewToward, Kn as sliceAction, hp as smallCapsScale, gp as smallCapsScaleFor, _p as smallCapsText, cs as snap, As as sniffWeaselClipboardText, bu as snipPathByPolyline, mi as solid, $u as solidVertexColors, ld as solveIk, $p as specificity, Pm as spiro, xu as splitPathByPolyline, Su as splitPathBySegment, Cu as splitSubpaths, qi as springPose, ed as springVertexColors, ys as squarePath, lf as srgbFloatToOklab, uf as srgbToHsl, df as srgbToLinear, ff as srgbU8ToOklab, Qe as stableStringify, td as staggerVertexColors, nt as standoff, wu as starPath, ct as startThresholdDrag, Bf as strokeDashStyleOf, P as strokeInsets, hi as strokeOf, gi as strokeWith, Cl as styleAtRange, kf as subscribeGlyphReady, Ea as subscribeImageReady, q as subscribeToSources, S as switchGradientKind, Oi as textCommand, ki as textCommandFromPose, Ai as textCommandFromRuns, vp as textLineBoxes, yp as textPoseLayoutInput, Wr as textToPath, Gr as textToPathsByPaint, pe as tiledProject, ri as toHex8, ue as toPlane, bp as toRuns, Tu as transformPath, xp as transformRunTexts, Eu as translatePath, Gt as translatePoseViaDescriptor, Pe as translateRectPose, Cp as trimPolyline, Ji as tweenPose, nd as tweenVertexColors, El as unboldPatch, Bt as unionAABB, Vt as unionBounds, Du as unionBoundsPath, gr as unionOfChildren, Ll as unionOfChildrenVia, Sm as unitScale, Af as unregisterCanvasFont, jf as unregisterFontOutlines, om as useAction, sm as useActionsRegistry, cm as useActiveToolContext, wr as useAlign, qu as useAnimatedReflow, Zi as useAnimator, Nu as useArrayAdapter, St as useAutoCenter, Vu as useBooleans, Hu as useBooleansAdapter, il as useCanvasFocus, we as useCanvasSize, Ru as useClipboardOps, Uu as useCreateOutlinesAdapter, Gi as useDecayLoop, lm as useDepRegistry, um as useDepSource, Ce as useDeviceProfile, zu as useDistribute, Pu as useDragGesture, ot as useDragHandle, Iu as useDragRadial, Fu as useDragRect, st as useDropZone, ao as useEllipseTool, so as useEyedropperTool, dm as useGestureDispatcher, Ou as useGradientKinds, Qa as useHandTool, at as useHandleDrag, jo as useHostAnchor, pc as useHoverTracking, oo as useImageTool, wt as useKeyState, ra as useKeybindings, lo as useLassoTool, wp as useLatest, Cs as useLayoutArrivals, co as useLineTool, We as useNodeOverlayFrame, fm as useOngoingAction, pm as useOptionalActiveToolContext, mm as useOptionalDepRegistry, ku as usePaintKind, Au as usePaintKinds, ro as usePenTool, po as usePencilTool, yr as usePointerContext, br as usePointerPosition, Je as usePointerStylus, uo as usePolygonTool, Bi as usePoseCompositionDepSource, zi as usePoseDescriptorDepSource, xe as usePoseRun, Uo as usePublishSelection, io as useRectTool, Ri as useResizePolicy, ud as useRig, Rc as useScene, Fo as useSceneAdapter, jl as useSceneTextEdit, Za as useSelectTool, vo as useSelection, Wo as useSelectionContext, be as useSimulation, Hi as useSliceDep, Ui as useSliceDepSource, mo as useSliceTool, Li as useStandardActions, fo as useStarTool, Al as useTextEdit, to as useTextTool, na as useTools, Wi as useVelocityTracker, $i as useViewAnimation, ea as useViewAnimationOn, ye as useVisibleRaf, hm as useYoke, Sp 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, Mf as warmFonts, C as warmPaintKinds, Zc as warmRender, On as wheelPan, kn as wheelZoom, An as wheelZoomFactor, cc as when, ii as withAlpha01, Zo as withCoord, d as withGradientKind, rt as withinPxBox, it as withinPxRadius, sl as workspaceTintLayer, zn as worldEditToStorage, Fe as worldPoseLookup, Xe as worldToScreen, vt as zoomAt, lc as zoomAtLeast };
@@ -1,4 +1,4 @@
1
- export { C as CullRect, D as DrawCommand, E as Effect, G as GroupDrawCommand, I as IDENTITY_COLOR_MATRIX, a as ImageDrawCommand, b as ImageMinification, P as PathDrawCommand, R as RenderOptions, c as RenderSpan, d as RenderSpanStats, e as RenderStats, f as RenderTarget, S as SPRITE_STRIDE, g as ShaderDrawCommand, h as SolidPaint, i as SpriteSheet, j as SpritesDrawCommand, k as StrokeOptions, T as TextDrawCommand, W as WeaselRenderer, l as WeaselRendererOptions, m as blur, n as buildGradientRamp, o as cullDrawCommands, p as frameRect, r as registerEffect, t as tessellateStroke, v as viewToMat3, q as vignette } from './builtins-CQcvcLXh.js';
1
+ export { C as CullRect, D as DrawCommand, E as Effect, G as GroupDrawCommand, I as IDENTITY_COLOR_MATRIX, a as ImageDrawCommand, b as ImageMinification, P as PathDrawCommand, R as RenderOptions, c as RenderSpan, d as RenderSpanStats, e as RenderStats, f as RenderTarget, S as SPRITE_STRIDE, g as ShaderDrawCommand, h as SolidPaint, i as SpriteSheet, j as SpritesDrawCommand, k as StrokeOptions, T as TextDrawCommand, W as WeaselRenderer, l as WeaselRendererOptions, m as blur, n as buildGradientRamp, o as cullDrawCommands, p as frameRect, r as registerEffect, t as tessellateStroke, v as viewToMat3, q as vignette } from './builtins-C-VgUlWI.js';
2
2
  export { G as GlMat3, P as ProgramSource, S as ShaderCompileError, a as ShaderProgramHandle, b as ShaderUniform, m as mat3, p as programSourceRegistry, r as registerProgram } from './registerProgram-BMZRDgrh.js';
3
3
  export { Mesh, TessellateOptions, tessellate } from '@weasel-js/geom/tessellate';
4
4
  export { RegisterFontOptions, canQueryLocalFonts, cssFontFamily, cssFontFamilyLoading, enableLocalFontOutlines, fontOutlineRegistry, fontRegistry, hasFontOutlines, isCanvasFont, listFontOutlines, loadFontOutlines, outlineStatus, registerCanvasFont, registerFont, registerFontOutlines, subscribeGlyphReady, unregisterCanvasFont, unregisterFontOutlines } from '@weasel-js/font';
@@ -42,14 +42,24 @@ var s = {
42
42
  description: `${e} for the characters in the range.`,
43
43
  icon: t,
44
44
  control: "toggle",
45
- pair: "Character style",
46
45
  default: !1
47
46
  });
48
47
  o.options = {
49
48
  name: "Text",
50
49
  description: "Character styling for the selected range.",
51
50
  children: {
52
- bold: c("Bold", "bold"),
51
+ bold: {
52
+ ...c("Bold", "bold"),
53
+ pair: {
54
+ with: [
55
+ "italic",
56
+ "underline",
57
+ "strikethrough",
58
+ "overline"
59
+ ],
60
+ label: "Character style"
61
+ }
62
+ },
53
63
  italic: c("Italic", "italic"),
54
64
  underline: c("Underline", "underline"),
55
65
  strikethrough: c("Strikethrough", "strikethrough"),
@@ -1 +1 @@
1
- {"version":3,"file":"useTextTool.js","names":["TextIcon","PRESENTATION","createElement","useTextTool","options","useMemo","defineTool","insertBindingBehaviors","behaviors","PERCENT","v","flag","name"],"sources":["../../../../src/tools/builtin/text/useTextTool.ts"],"sourcesContent":["import { useMemo, createElement } from 'react';\nimport { defineTool } from '../../overlayBinding';\nimport type { Tool } from '../../overlayBinding';\nimport { insertBindingBehaviors, type InsertToolOptions } from '../shared/insertToolOptions';\nimport type { ToolPrefGroup } from '../../prefs';\nimport { TextIcon } from '../../../icons';\n\nconst PRESENTATION = {\n label: 'Text',\n icon: createElement(TextIcon),\n group: 'type',\n};\n\n/** Text tool. Drag-rect insertion is owned end-to-end by the dispatcher's\n * `insertAction` (kind: `'text'`); click-on-selected-text-node enters edit\n * mode via the `enterTextEdit` action.\n *\n * Consumers must register both the `insert` dep (e.g. through\n * `SceneCanvas`'s `useInsertDepSource`) and the `textEdit` dep\n * (`enterTextEditAction`'s contract — see\n * `src/interactions/actions/defaults/enterTextEdit.ts`). Custom node\n * factories and hit gating belong on those deps, not on the tool. */\nexport function useTextTool(options: InsertToolOptions = {}): Tool<undefined> {\n const { behaviors } = options;\n return useMemo<Tool<undefined>>(\n () =>\n defineTool<undefined>({\n id: 'text',\n capabilities: ['creates-text'],\n hookName: 'useTextTool',\n cursor: 'text',\n presentation: PRESENTATION,\n bindings: [\n { spec: { kind: 'drag' }, actionId: 'insert', opts: { params: { kind: 'text' }, ...insertBindingBehaviors(behaviors) } },\n { spec: { kind: 'click', target: 'selected-body' }, actionId: 'enterTextEdit' },\n ],\n }),\n [behaviors],\n );\n}\n\n/** Both script primitives are fractions of the inherited size, so both read\n * as percentages. The step is a tenth of a point because the field snaps the\n * *displayed* value to it, and a coarser one would render a superscript's\n * 58.3% as 60% and commit that on the next edit. */\nconst PERCENT = {\n toDisplay: (v: number) => Math.round(v * 1000) / 10,\n // Rounded rather than divided: 33.3 / 100 is 0.33299999999999996, and that\n // dust would be written into the document and shown back on the next read.\n fromDisplay: (v: number) => Math.round(v * 1000) / 100_000,\n suffix: '%',\n};\n\n/** A run flag: on or off per character, drawn as one segment of a bar. */\nconst flag = (name: string, icon: string) =>\n ({\n kind: 'boolean',\n name,\n description: `${name} for the characters in the range.`,\n icon,\n control: 'toggle',\n pair: 'Character style',\n default: false,\n }) as const;\n\n/**\n * What the tool offers while a caret range is active — the character half of\n * text styling, against the node-level Character group a selection shows.\n *\n * Keyed by {@link StyledRun} field, so a host reads values out of a\n * `RangeStyle` and writes a `RunStylePatch` back with no name mapping of its\n * own. `script` is a preset over `baselineShift` and `fontScale`, so all three\n * are here and naming either primitive overrides that half.\n */\nuseTextTool.options = {\n name: 'Text',\n description: 'Character styling for the selected range.',\n children: {\n bold: flag('Bold', 'bold'),\n italic: flag('Italic', 'italic'),\n underline: flag('Underline', 'underline'),\n strikethrough: flag('Strikethrough', 'strikethrough'),\n overline: flag('Overline', 'overline'),\n // Clearable: the two values are exclusive *and* absent is a third state,\n // so clicking the lit segment turns the script off.\n script: {\n kind: 'enum',\n name: 'Script',\n description: 'Raise or lower the range off the baseline, at a smaller size.',\n control: 'toggle',\n clearable: true,\n default: undefined,\n options: [\n { value: 'super', label: 'Superscript', icon: 'superscript' },\n { value: 'sub', label: 'Subscript', icon: 'subscript' },\n ],\n },\n textTransform: {\n kind: 'enum',\n name: 'Case',\n description: 'Draw the range in capitals, lowercase or title case. The text itself is unchanged.',\n control: 'toggle',\n default: 'none',\n options: [{ value: 'none', label: 'None', short: ['–'] }, { value: 'uppercase', label: 'Uppercase', short: ['AA'] }, { value: 'lowercase', label: 'Lowercase', short: ['aa'] }, { value: 'capitalize', label: 'Capitalize', short: ['Aa'] }],\n },\n fontVariantCaps: {\n kind: 'enum',\n name: 'Small caps',\n description: 'Draw lowercase letters in the range as smaller capitals. The text itself is unchanged.',\n control: 'toggle',\n default: 'normal',\n options: [{ value: 'normal', label: 'Normal', short: ['–'] }, { value: 'small-caps', label: 'Small caps', short: ['Sc'] }],\n },\n fontFamily: {\n kind: 'font-family',\n name: 'Font',\n description: 'Typeface for the range.',\n default: undefined,\n },\n // Listed from the weights the range's family has registered. Bold is a\n // preset over it: toggling Bold clears it, picking one clears Bold.\n fontWeight: {\n kind: 'font-weight',\n name: 'Weight',\n description: 'Weight of the range, from the faces its family has.',\n default: undefined,\n },\n fontSize: { kind: 'number', name: 'Size', description: 'Type size.', min: 1, step: 1, default: 16 },\n letterSpacing: {\n kind: 'number',\n name: 'Tracking',\n // The typographic term, short enough for a strip; `name` stays the\n // accessible one.\n short: ['VA'],\n description: 'Space added between characters.',\n step: 0.1,\n default: 0,\n },\n baselineShift: {\n kind: 'number',\n name: 'Baseline shift',\n short: ['Shift'],\n description: 'Raise or lower the range, in ems of the inherited size.',\n step: 0.001,\n unit: PERCENT,\n default: 0,\n },\n fontScale: {\n kind: 'number',\n name: 'Scale',\n description: 'Size of the range against the inherited size.',\n min: 0.01,\n step: 0.001,\n unit: PERCENT,\n default: 1,\n },\n fill: {\n kind: 'color',\n name: 'Color',\n description: 'Ink for the range.',\n alpha: true,\n default: '#000000',\n },\n },\n} satisfies ToolPrefGroup;\n"],"mappings":"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"}
1
+ {"version":3,"file":"useTextTool.js","names":["TextIcon","PRESENTATION","createElement","useTextTool","options","useMemo","defineTool","insertBindingBehaviors","behaviors","PERCENT","v","flag","name"],"sources":["../../../../src/tools/builtin/text/useTextTool.ts"],"sourcesContent":["import { useMemo, createElement } from 'react';\nimport { defineTool } from '../../overlayBinding';\nimport type { Tool } from '../../overlayBinding';\nimport { insertBindingBehaviors, type InsertToolOptions } from '../shared/insertToolOptions';\nimport type { ToolPrefGroup } from '../../prefs';\nimport { TextIcon } from '../../../icons';\n\nconst PRESENTATION = {\n label: 'Text',\n icon: createElement(TextIcon),\n group: 'type',\n};\n\n/** Text tool. Drag-rect insertion is owned end-to-end by the dispatcher's\n * `insertAction` (kind: `'text'`); click-on-selected-text-node enters edit\n * mode via the `enterTextEdit` action.\n *\n * Consumers must register both the `insert` dep (e.g. through\n * `SceneCanvas`'s `useInsertDepSource`) and the `textEdit` dep\n * (`enterTextEditAction`'s contract — see\n * `src/interactions/actions/defaults/enterTextEdit.ts`). Custom node\n * factories and hit gating belong on those deps, not on the tool. */\nexport function useTextTool(options: InsertToolOptions = {}): Tool<undefined> {\n const { behaviors } = options;\n return useMemo<Tool<undefined>>(\n () =>\n defineTool<undefined>({\n id: 'text',\n capabilities: ['creates-text'],\n hookName: 'useTextTool',\n cursor: 'text',\n presentation: PRESENTATION,\n bindings: [\n { spec: { kind: 'drag' }, actionId: 'insert', opts: { params: { kind: 'text' }, ...insertBindingBehaviors(behaviors) } },\n { spec: { kind: 'click', target: 'selected-body' }, actionId: 'enterTextEdit' },\n ],\n }),\n [behaviors],\n );\n}\n\n/** Both script primitives are fractions of the inherited size, so both read\n * as percentages. The step is a tenth of a point because the field snaps the\n * *displayed* value to it, and a coarser one would render a superscript's\n * 58.3% as 60% and commit that on the next edit. */\nconst PERCENT = {\n toDisplay: (v: number) => Math.round(v * 1000) / 10,\n // Rounded rather than divided: 33.3 / 100 is 0.33299999999999996, and that\n // dust would be written into the document and shown back on the next read.\n fromDisplay: (v: number) => Math.round(v * 1000) / 100_000,\n suffix: '%',\n};\n\n/** A run flag: on or off per character, drawn as one segment of a bar. */\nconst flag = (name: string, icon: string) =>\n ({\n kind: 'boolean',\n name,\n description: `${name} for the characters in the range.`,\n icon,\n control: 'toggle',\n default: false,\n }) as const;\n\n/**\n * What the tool offers while a caret range is active — the character half of\n * text styling, against the node-level Character group a selection shows.\n *\n * Keyed by {@link StyledRun} field, so a host reads values out of a\n * `RangeStyle` and writes a `RunStylePatch` back with no name mapping of its\n * own. `script` is a preset over `baselineShift` and `fontScale`, so all three\n * are here and naming either primitive overrides that half.\n */\nuseTextTool.options = {\n name: 'Text',\n description: 'Character styling for the selected range.',\n children: {\n bold: {\n ...flag('Bold', 'bold'),\n pair: { with: ['italic', 'underline', 'strikethrough', 'overline'], label: 'Character style' },\n },\n italic: flag('Italic', 'italic'),\n underline: flag('Underline', 'underline'),\n strikethrough: flag('Strikethrough', 'strikethrough'),\n overline: flag('Overline', 'overline'),\n // Clearable: the two values are exclusive *and* absent is a third state,\n // so clicking the lit segment turns the script off.\n script: {\n kind: 'enum',\n name: 'Script',\n description: 'Raise or lower the range off the baseline, at a smaller size.',\n control: 'toggle',\n clearable: true,\n default: undefined,\n options: [\n { value: 'super', label: 'Superscript', icon: 'superscript' },\n { value: 'sub', label: 'Subscript', icon: 'subscript' },\n ],\n },\n textTransform: {\n kind: 'enum',\n name: 'Case',\n description: 'Draw the range in capitals, lowercase or title case. The text itself is unchanged.',\n control: 'toggle',\n default: 'none',\n options: [{ value: 'none', label: 'None', short: ['–'] }, { value: 'uppercase', label: 'Uppercase', short: ['AA'] }, { value: 'lowercase', label: 'Lowercase', short: ['aa'] }, { value: 'capitalize', label: 'Capitalize', short: ['Aa'] }],\n },\n fontVariantCaps: {\n kind: 'enum',\n name: 'Small caps',\n description: 'Draw lowercase letters in the range as smaller capitals. The text itself is unchanged.',\n control: 'toggle',\n default: 'normal',\n options: [{ value: 'normal', label: 'Normal', short: ['–'] }, { value: 'small-caps', label: 'Small caps', short: ['Sc'] }],\n },\n fontFamily: {\n kind: 'font-family',\n name: 'Font',\n description: 'Typeface for the range.',\n default: undefined,\n },\n // Listed from the weights the range's family has registered. Bold is a\n // preset over it: toggling Bold clears it, picking one clears Bold.\n fontWeight: {\n kind: 'font-weight',\n name: 'Weight',\n description: 'Weight of the range, from the faces its family has.',\n default: undefined,\n },\n fontSize: { kind: 'number', name: 'Size', description: 'Type size.', min: 1, step: 1, default: 16 },\n letterSpacing: {\n kind: 'number',\n name: 'Tracking',\n // The typographic term, short enough for a strip; `name` stays the\n // accessible one.\n short: ['VA'],\n description: 'Space added between characters.',\n step: 0.1,\n default: 0,\n },\n baselineShift: {\n kind: 'number',\n name: 'Baseline shift',\n short: ['Shift'],\n description: 'Raise or lower the range, in ems of the inherited size.',\n step: 0.001,\n unit: PERCENT,\n default: 0,\n },\n fontScale: {\n kind: 'number',\n name: 'Scale',\n description: 'Size of the range against the inherited size.',\n min: 0.01,\n step: 0.001,\n unit: PERCENT,\n default: 1,\n },\n fill: {\n kind: 'color',\n name: 'Color',\n description: 'Ink for the range.',\n alpha: true,\n default: '#000000',\n },\n },\n} satisfies ToolPrefGroup;\n"],"mappings":"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"}