@weasel-js/core 0.8.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +413 -0
- package/dist/{DrawCommand-BKJ5JPkC.d.ts → DrawCommand-DCmiNkBj.d.ts} +14 -169
- package/dist/{chunk-GLZLSPGJ.js → chunk-6SHZHXXR.js} +46 -9
- package/dist/chunk-6SHZHXXR.js.map +1 -0
- package/dist/{chunk-DLV5F4NY.js → chunk-D2C6K6FO.js} +915 -547
- package/dist/chunk-D2C6K6FO.js.map +1 -0
- package/dist/chunk-DCIU3SRK.js +505 -0
- package/dist/chunk-DCIU3SRK.js.map +1 -0
- package/dist/chunk-IO5Z75X4.js +167 -0
- package/dist/chunk-IO5Z75X4.js.map +1 -0
- package/dist/{chunk-BPRHGTLQ.js → chunk-UB6A6L77.js} +3 -3
- package/dist/{chunk-BPRHGTLQ.js.map → chunk-UB6A6L77.js.map} +1 -1
- package/dist/{chunk-CMBE45MT.js → chunk-Z3KNFTTS.js} +6 -6
- package/dist/chunk-Z3KNFTTS.js.map +1 -0
- package/dist/{index-Clf_koyR.d.ts → index-ChM3ZJ2v.d.ts} +103 -90
- package/dist/index.d.ts +313 -32
- package/dist/index.js +6 -6
- package/dist/insert.js +5 -5
- package/dist/insert.js.map +1 -1
- package/dist/move.js +2 -2
- package/dist/paint-types-CnLIzqq1.d.ts +261 -0
- package/dist/patterns-builtin.d.ts +57 -2
- package/dist/patterns-builtin.js +1 -97
- package/dist/patterns-builtin.js.map +1 -1
- package/dist/renderer.d.ts +24 -7
- package/dist/renderer.js +6 -6
- package/dist/resize.js +2 -2
- package/dist/routing.d.ts +4 -4
- package/dist/routing.js +1 -1
- package/dist/{viewToMat3-DFMdZvVl.d.ts → viewToMat3-BvaWCN99.d.ts} +1 -1
- package/package.json +6 -6
- package/dist/chunk-6DAUIMTO.js +0 -233
- package/dist/chunk-6DAUIMTO.js.map +0 -1
- package/dist/chunk-CMBE45MT.js.map +0 -1
- package/dist/chunk-DLV5F4NY.js.map +0 -1
- package/dist/chunk-GLZLSPGJ.js.map +0 -1
- package/dist/chunk-Y52N27PF.js +0 -39
- package/dist/chunk-Y52N27PF.js.map +0 -1
- package/dist/registerTexture-BzHTLhD9.d.ts +0 -25
|
@@ -4,13 +4,14 @@ import { V as View } from './view-DSQgxBJB.js';
|
|
|
4
4
|
import { CapabilityTag } from '@weasel-js/modes';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { MutableRefObject, ReactNode, ReactElement } from 'react';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { GestureSpec, IngestItem, InputEvent, ParsedModifiers, GestureName, ChannelRef, DescribeRouteOptions, GESTURE_DESCRIPTORS, GestureArgSpec, GestureDescriptor, ModRequirement, ModifierKey, ParsedRoute, PhaseAtom, RESERVED_ID_NAMES, RESERVED_ID_PREFIXES, ROUTE_FIELD_DEFINITIONS, ROUTE_TERMS, RouteDescriptionPart, RouteFieldName, RouteTermLabel, canonicalModifiers, collapseShiftPairs, describeRoute, describeRouteParts, formatPhaseAtom, formatRoute, getGestureDescriptor, isKnownGestureName, parseRoute } from '@weasel-js/gestures';
|
|
8
|
+
import { B as Bounds, P as PoseProjection } from './geometry-DVeZ2i-c.js';
|
|
9
|
+
import { F as FillStyle, S as Stroke } from './paint-types-CnLIzqq1.js';
|
|
10
|
+
import { D as DrawCommand } from './DrawCommand-DCmiNkBj.js';
|
|
9
11
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
10
12
|
import { P as Path } from './path-B6MMiodD.js';
|
|
11
13
|
import { Op, History } from '@weasel-js/history';
|
|
12
14
|
import { L as LayoutStrategy, I as InsertAdapter } from './types-B_-khFM0.js';
|
|
13
|
-
import { B as Bounds, P as PoseProjection } from './geometry-DVeZ2i-c.js';
|
|
14
15
|
import { Mat3 } from '@weasel-js/geom';
|
|
15
16
|
import { D as DebugSink } from './types-BJ8_cyT7.js';
|
|
16
17
|
|
|
@@ -239,6 +240,31 @@ interface CommonAffordanceScratch {
|
|
|
239
240
|
y: number;
|
|
240
241
|
};
|
|
241
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* What a **registered layer's** `hitTest` returns. Extends `AffordanceBinding`
|
|
245
|
+
* so existing implementations keep typechecking; the added fields are how a
|
|
246
|
+
* consumer's own chrome says the things kit chrome says through
|
|
247
|
+
* `AffordanceRegion` — which cursor to show, and whether it owns the point
|
|
248
|
+
* outright.
|
|
249
|
+
*/
|
|
250
|
+
interface LayerHit<TScratch = unknown> extends AffordanceBinding<TScratch> {
|
|
251
|
+
/** CSS cursor while the pointer is over this hit. Reaches the hover-cursor
|
|
252
|
+
* pump as `AffordanceHit.cursor`, the same path kit chrome uses. */
|
|
253
|
+
cursor?: string;
|
|
254
|
+
/** `'exclusive'` bars every binding whose target doesn't consult the
|
|
255
|
+
* affordance. Omitted means `'shared'` — today's behavior. Same name and
|
|
256
|
+
* meaning as `AffordanceHit.strength`, which it becomes. */
|
|
257
|
+
strength?: 'exclusive' | 'shared';
|
|
258
|
+
/** Which gestures an exclusive claim bars. Omitted bars all of them. */
|
|
259
|
+
claimedKinds?: readonly ClaimableGesture[];
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Gesture kinds an affordance claim can bar, in the spec vocabulary bindings
|
|
263
|
+
* are written in. `'pointer'` is one token because `pointerDown` / `click` /
|
|
264
|
+
* `drag` are a single press protocol — at the event level the first two are
|
|
265
|
+
* the same `kind: 'pointerdown'`, told apart only by `stage`.
|
|
266
|
+
*/
|
|
267
|
+
type ClaimableGesture = 'pointer' | 'doubleClick' | 'contextMenu' | 'longPress' | 'wheel';
|
|
242
268
|
|
|
243
269
|
/**
|
|
244
270
|
* Canvas size in CSS pixels — passed to `draw` for layers that anchor to
|
|
@@ -317,7 +343,7 @@ interface RenderLayer<TData> {
|
|
|
317
343
|
/** Chrome-caps visibility predicate. When supplied, the layer must
|
|
318
344
|
* not return a hit from any chrome element whose id reports
|
|
319
345
|
* `false`. Absent → every element is hittable. */
|
|
320
|
-
isVisible?: (id: string) => boolean) =>
|
|
346
|
+
isVisible?: (id: string) => boolean) => LayerHit | null;
|
|
321
347
|
/**
|
|
322
348
|
* Called on every pointermove when no gesture is currently captured.
|
|
323
349
|
* Lets layers (e.g. HUD widgets) track hover state without participating
|
|
@@ -623,6 +649,15 @@ interface Point2 {
|
|
|
623
649
|
interface AffordanceHit {
|
|
624
650
|
/** Discriminator string, e.g. `'handle:bottom-right'`. */
|
|
625
651
|
kind: string;
|
|
652
|
+
/** Id of whatever produced this hit — a kit affordance's `id`, or the
|
|
653
|
+
* registered layer's id. Read only by the dispatcher's dead-claim warning today. */
|
|
654
|
+
owner?: string;
|
|
655
|
+
/** `'exclusive'` means no binding may act on this point unless its target
|
|
656
|
+
* consults the affordance. `'shared'` (the default) competes on scope and
|
|
657
|
+
* specificity as bindings always have. */
|
|
658
|
+
strength?: 'exclusive' | 'shared';
|
|
659
|
+
/** Which gestures an exclusive claim bars. Omitted bars all of them. */
|
|
660
|
+
claimedKinds?: readonly ClaimableGesture[];
|
|
626
661
|
/** World-space fixed/pivot point. For resize: opposite corner. For rotate: pivot. */
|
|
627
662
|
fixedPoint?: {
|
|
628
663
|
x: number;
|
|
@@ -950,6 +985,20 @@ interface OngoingInvoker {
|
|
|
950
985
|
* the `Action` type. */
|
|
951
986
|
type Invoker = ImmediateInvoker | OngoingInvoker;
|
|
952
987
|
|
|
988
|
+
/**
|
|
989
|
+
* GestureBinding — connects a GestureSpec to an Action id (with per-binding
|
|
990
|
+
* options). Tools own arrays of these on their `bindings` field; ambient
|
|
991
|
+
* gesture-bindings are registered globally.
|
|
992
|
+
*
|
|
993
|
+
* See `docs/superpowers/specs/2026-05-16-registry-unification-design.md`.
|
|
994
|
+
*/
|
|
995
|
+
|
|
996
|
+
interface GestureBinding {
|
|
997
|
+
spec: GestureSpec;
|
|
998
|
+
actionId: string;
|
|
999
|
+
opts?: BindingOpts;
|
|
1000
|
+
}
|
|
1001
|
+
|
|
953
1002
|
/**
|
|
954
1003
|
* Pose composition for hierarchical scene graphs.
|
|
955
1004
|
*
|
|
@@ -2073,17 +2122,35 @@ declare function useOptionalDepRegistry(): DepRegistry | null;
|
|
|
2073
2122
|
declare function useDepSource<K extends DepName>(name: K, source: () => DepSchema[K]): void;
|
|
2074
2123
|
|
|
2075
2124
|
/**
|
|
2076
|
-
*
|
|
2077
|
-
*
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2125
|
+
* When an entry's bindings are live. A set, not one value: the hand tool is
|
|
2126
|
+
* palette-selectable AND engaged by holding space, and both hold at once.
|
|
2127
|
+
*/
|
|
2128
|
+
interface Eligibility {
|
|
2129
|
+
/** Selectable as the focused entry — exclusive, one at a time. */
|
|
2130
|
+
focus?: boolean;
|
|
2131
|
+
/** Also live while this key is held. */
|
|
2132
|
+
offhand?: HotkeyTrigger;
|
|
2133
|
+
/** Live regardless of what is focused. */
|
|
2134
|
+
always?: boolean;
|
|
2135
|
+
/** Live only for input this entry's own affordances produced. */
|
|
2136
|
+
claimed?: boolean;
|
|
2137
|
+
/** Modality filter, applied wherever it would otherwise be live. */
|
|
2138
|
+
capabilities?: CapabilityTag[];
|
|
2139
|
+
}
|
|
2140
|
+
/**
|
|
2141
|
+
* A registry entry: what it contributes, and when it is eligible. Every role
|
|
2142
|
+
* is optional and independent — an entry that only routes input declares only
|
|
2143
|
+
* `bindings` and `actions`.
|
|
2081
2144
|
*/
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2145
|
+
interface Contribution {
|
|
2146
|
+
id: string;
|
|
2147
|
+
eligibility: Eligibility;
|
|
2148
|
+
bindings?: GestureBinding[];
|
|
2149
|
+
actions?: Action[];
|
|
2150
|
+
overlay?: RenderLayer<unknown>;
|
|
2151
|
+
presentation?: ToolPresentation;
|
|
2152
|
+
/** Reflection escape hatch — the authored form, when there was one. */
|
|
2153
|
+
def?: unknown;
|
|
2087
2154
|
}
|
|
2088
2155
|
|
|
2089
2156
|
/** Modifier-key snapshot at event dispatch time. `space` is included
|
|
@@ -2147,8 +2214,8 @@ type ToolBounds = Bounds;
|
|
|
2147
2214
|
* tool — consumers that render a palette (`<ToolPalette>`) read these
|
|
2148
2215
|
* fields to display the tool; consumers that don't can ignore them.
|
|
2149
2216
|
*
|
|
2150
|
-
* Note: cursor is NOT here.
|
|
2151
|
-
* already plumbed through `<Canvas>` to `style.cursor` on the host. */
|
|
2217
|
+
* Note: cursor is NOT here. `Tool.cursor` (inherited from `Contribution`)
|
|
2218
|
+
* is already plumbed through `<Canvas>` to `style.cursor` on the host. */
|
|
2152
2219
|
interface ToolPresentation<TScratch = unknown> {
|
|
2153
2220
|
/** Human-readable label, distinct from the `id`. Falls back to `id`. */
|
|
2154
2221
|
label?: string;
|
|
@@ -2163,34 +2230,13 @@ interface ToolPresentation<TScratch = unknown> {
|
|
|
2163
2230
|
* derives one from `Tool.keybinding` via its own formatter. */
|
|
2164
2231
|
shortcut?: string;
|
|
2165
2232
|
}
|
|
2166
|
-
/**
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
* strings — apps can define their own. Untagged tools are treated as
|
|
2174
|
-
* ineligible by all modes except those whose `allows` list includes
|
|
2175
|
-
* every implicit-or-declared tag (i.e. `normal` in the default preset).
|
|
2176
|
-
*/
|
|
2177
|
-
capabilities?: CapabilityTag[];
|
|
2178
|
-
/**
|
|
2179
|
-
* Actions this tool owns and needs registered while it is in the tools
|
|
2180
|
-
* registry — e.g. polygon's `polygon.adjustSides`, which its own bindings
|
|
2181
|
-
* reference by id.
|
|
2182
|
-
*
|
|
2183
|
-
* Declared here rather than registered by the hook with `useAction`,
|
|
2184
|
-
* because tool hooks run wherever the consumer calls them — for
|
|
2185
|
-
* `<SceneCanvas>` that is ABOVE `<ActionsProviderIfRoot>`, where
|
|
2186
|
-
* `useActionsRegistry()` returns null and `useAction` silently no-ops. The
|
|
2187
|
-
* result was a binding pointing at an action id nothing had registered, so
|
|
2188
|
-
* the gesture fell through to whatever matched next (polygon's
|
|
2189
|
-
* wheel/arrow-key side adjustment did nothing and `nudge.*` moved the
|
|
2190
|
-
* selection instead). `<ToolActionsMounter>` registers these from inside
|
|
2191
|
-
* the provider.
|
|
2192
|
-
*/
|
|
2193
|
-
actions?: Action[];
|
|
2233
|
+
/**
|
|
2234
|
+
* The focus-declaring case of a `Contribution`: a mode the user switches
|
|
2235
|
+
* into, plus the hooks that only make sense for one (`initScratch`,
|
|
2236
|
+
* activate/deactivate, live preview, `cursor`). Everything else — bindings,
|
|
2237
|
+
* actions, overlay, presentation — is inherited.
|
|
2238
|
+
*/
|
|
2239
|
+
interface Tool<TScratch = unknown> extends Contribution {
|
|
2194
2240
|
/** Optional caller-supplied key. Most built-in tools have their activation
|
|
2195
2241
|
* key declared in `BUILTIN_SELECT_KEYS` in `useKeybindings.ts`; this field
|
|
2196
2242
|
* is for tools that want their activation key to be configurable by the
|
|
@@ -2200,11 +2246,9 @@ interface Tool<TScratch = unknown> {
|
|
|
2200
2246
|
* the invoker knows which tool to switch to). */
|
|
2201
2247
|
keybinding?: ToolKeybinding;
|
|
2202
2248
|
initScratch?: () => TScratch;
|
|
2249
|
+
cursor?: string | ((ctx: ToolCtx<TScratch>) => string);
|
|
2203
2250
|
onActivate?: (ctx: ToolCtx<TScratch>) => void;
|
|
2204
2251
|
onDeactivate?: (ctx: ToolCtx<TScratch>) => void;
|
|
2205
|
-
cursor?: string | ((ctx: ToolCtx<TScratch>) => string);
|
|
2206
|
-
/** Presentation metadata for tool palettes. See `ToolPresentation`. */
|
|
2207
|
-
presentation?: ToolPresentation<TScratch>;
|
|
2208
2252
|
/** Returns the in-flight preview pose for `id` if this tool is mid-gesture
|
|
2209
2253
|
* on it; otherwise `null`. Lets `Canvas.helpersRef.getEffectivePose`
|
|
2210
2254
|
* reflect live gesture state without reaching into hook internals. The
|
|
@@ -2222,26 +2266,6 @@ interface Tool<TScratch = unknown> {
|
|
|
2222
2266
|
* consults this alongside `previewPose` to avoid double-rendering. Returns
|
|
2223
2267
|
* `null` when no gesture is in flight. */
|
|
2224
2268
|
previewIds?: () => Iterable<string> | null;
|
|
2225
|
-
/** Optional overlay layer rendered on top of the scene/chrome whenever
|
|
2226
|
-
* this tool is in any active slot (active, hotkey, or ambient).
|
|
2227
|
-
* The layer's `draw` function reads from this tool's scratch via React
|
|
2228
|
-
* closure (re-evaluated each render). Return early from `draw` to render
|
|
2229
|
-
* nothing — typically gated on a scratch field like
|
|
2230
|
-
* `if (!scratch.overlay) return`. */
|
|
2231
|
-
overlay?: RenderLayer<unknown>;
|
|
2232
|
-
/** Declarative gesture bindings — the tool's entire input surface. The
|
|
2233
|
-
* gesture dispatcher consults these at active scope while this tool is
|
|
2234
|
-
* active, and at hotkey scope while it is held. See
|
|
2235
|
-
* `docs/superpowers/specs/2026-05-16-registry-unification-design.md`. */
|
|
2236
|
-
bindings?: GestureBinding[];
|
|
2237
|
-
/** Reflection escape hatch: when this `Tool` was produced by `defineTool`,
|
|
2238
|
-
* the source `ToolDef` is attached here so introspection consumers
|
|
2239
|
-
* (`buildRouteRegistry`, `findConflicts`, the toolkit-builder UI, the
|
|
2240
|
-
* reflection demo) can read the authored form — `hookName` in particular,
|
|
2241
|
-
* which the runtime `Tool` doesn't carry. Tools constructed without
|
|
2242
|
-
* `defineTool` may leave this undefined. Typed as `unknown` to keep this
|
|
2243
|
-
* file from importing the routing types — consumers cast at the use site. */
|
|
2244
|
-
def?: unknown;
|
|
2245
2269
|
}
|
|
2246
2270
|
/** Internal — which slot a tool occupies in the dispatch order. */
|
|
2247
2271
|
type ToolSlot = 'hotkey' | 'active' | 'ambient';
|
|
@@ -2334,17 +2358,6 @@ interface DispatcherContext {
|
|
|
2334
2358
|
activeToolId: string;
|
|
2335
2359
|
/** Held-hotkey stack, top of stack last. */
|
|
2336
2360
|
hotkeyStack: readonly string[];
|
|
2337
|
-
/**
|
|
2338
|
-
* Ids of always-on tools. Their bindings are assembled at AMBIENT scope, so
|
|
2339
|
-
* they lose to the active tool on a tie — which is what "always listening,
|
|
2340
|
-
* never in the way" needs. Chrome that floats over the scene lives here:
|
|
2341
|
-
* `@weasel-js/hud`'s tool is the worked example.
|
|
2342
|
-
*
|
|
2343
|
-
* Without this an ambient tool's `bindings` were assembled nowhere at all:
|
|
2344
|
-
* the walk covered hotkey and active tools plus actions' `defaultBinding`,
|
|
2345
|
-
* and an ambient tool is in neither set.
|
|
2346
|
-
*/
|
|
2347
|
-
ambientToolIds?: readonly string[];
|
|
2348
2361
|
/** Lookup for tool definitions. */
|
|
2349
2362
|
toolsById: ReadonlyMap<string, Tool>;
|
|
2350
2363
|
/** Platform flag for `mod` shorthand resolution. */
|
|
@@ -2872,13 +2885,10 @@ interface ToolDef<TScratch = void> {
|
|
|
2872
2885
|
* to the consolidated `tool.activate` action (with `opts.params.toolId`
|
|
2873
2886
|
* set so the invoker knows which tool to switch to). */
|
|
2874
2887
|
keybinding?: ToolKeybinding;
|
|
2875
|
-
/**
|
|
2876
|
-
*
|
|
2877
|
-
*
|
|
2878
|
-
*
|
|
2879
|
-
* declare held keys in `BUILTIN_OFFHAND_ACTIONS`; configurable-hotkey
|
|
2880
|
-
* tools rely on the host to wire the binding. Setting this field does NOT
|
|
2881
|
-
* automatically engage the held-key behavior. */
|
|
2888
|
+
/** Held-key trigger: this tool engages while the key is down and
|
|
2889
|
+
* disengages on release. Carried onto `Tool.eligibility.offhand`, which
|
|
2890
|
+
* assembly reads to register the consolidated `tool.offhand` action — the
|
|
2891
|
+
* declaration is the wiring, with nothing for the host to do. */
|
|
2882
2892
|
hotkey?: HotkeyTrigger;
|
|
2883
2893
|
onActivate?: (ctx: ToolCtx<TScratch>) => void;
|
|
2884
2894
|
onDeactivate?: (ctx: ToolCtx<TScratch>) => void;
|
|
@@ -3056,6 +3066,9 @@ interface ToolScopes {
|
|
|
3056
3066
|
registry: readonly Tool<unknown>[] | Readonly<Record<string, Tool<unknown>>>;
|
|
3057
3067
|
/** Always-on tools. Every one of these is live at once. */
|
|
3058
3068
|
ambient?: readonly Tool<unknown>[];
|
|
3069
|
+
/** Registered actions. Their `defaultBinding`s assemble at ambient scope
|
|
3070
|
+
* (hotkey scope when `Action.scope` says so), alongside the tools above. */
|
|
3071
|
+
actions?: readonly Action[];
|
|
3059
3072
|
}
|
|
3060
3073
|
/**
|
|
3061
3074
|
* Detect the same-tuple overlaps that are *reachable* — the ones where the
|
|
@@ -3075,10 +3088,10 @@ interface ToolScopes {
|
|
|
3075
3088
|
* ordered only by registration;
|
|
3076
3089
|
* - two **hotkey-capable** tools, which can stack.
|
|
3077
3090
|
*
|
|
3078
|
-
*
|
|
3079
|
-
*
|
|
3080
|
-
*
|
|
3081
|
-
*
|
|
3091
|
+
* Registered actions join the same two buckets: their `defaultBinding`s
|
|
3092
|
+
* assemble at ambient scope (hotkey scope when `Action.scope` says so), so an
|
|
3093
|
+
* ambient tool and an action claiming one tuple really do fall back on
|
|
3094
|
+
* declaration order.
|
|
3082
3095
|
*/
|
|
3083
3096
|
declare function findScopedConflicts(scopes: ToolScopes): Conflict[];
|
|
3084
3097
|
/**
|
|
@@ -3155,4 +3168,4 @@ declare namespace index {
|
|
|
3155
3168
|
export { index_ChannelRef as ChannelRef, type index_Conflict as Conflict, index_DescribeRouteOptions as DescribeRouteOptions, index_GESTURE_DESCRIPTORS as GESTURE_DESCRIPTORS, index_GestureArgSpec as GestureArgSpec, index_GestureDescriptor as GestureDescriptor, index_GestureName as GestureName, index_ModRequirement as ModRequirement, index_ModifierKey as ModifierKey, index_PREDICATE_TARGET as PREDICATE_TARGET, index_ParsedModifiers as ParsedModifiers, index_ParsedRoute as ParsedRoute, index_PhaseAtom as PhaseAtom, index_RESERVED_ID_NAMES as RESERVED_ID_NAMES, index_RESERVED_ID_PREFIXES as RESERVED_ID_PREFIXES, index_ROUTE_FIELD_DEFINITIONS as ROUTE_FIELD_DEFINITIONS, index_ROUTE_TERMS as ROUTE_TERMS, type index_RegistryEntry as RegistryEntry, index_RouteDescriptionPart as RouteDescriptionPart, index_RouteFieldName as RouteFieldName, index_RouteTermLabel as RouteTermLabel, type index_ToolDef as ToolDef, type index_ToolKeybinding as ToolKeybinding, type index_ToolScopes as ToolScopes, type index_ViewportToolDef as ViewportToolDef, index_buildRouteRegistry as buildRouteRegistry, index_canonicalModifiers as canonicalModifiers, index_collapseShiftPairs as collapseShiftPairs, index_defineTool as defineTool, index_defineViewportTool as defineViewportTool, index_describeRoute as describeRoute, index_describeRouteParts as describeRouteParts, index_findConflicts as findConflicts, index_findScopedConflicts as findScopedConflicts, index_formatConflict as formatConflict, index_formatPhaseAtom as formatPhaseAtom, index_formatRoute as formatRoute, index_getGestureDescriptor as getGestureDescriptor, index_isKnownGestureName as isKnownGestureName, index_parseRoute as parseRoute, index_reportRouteConflicts as reportRouteConflicts };
|
|
3156
3169
|
}
|
|
3157
3170
|
|
|
3158
|
-
export { type
|
|
3171
|
+
export { type BoundGesture as $, type Action as A, type BooleansAdapter as B, type Condition as C, type Dims as D, type Eligibility as E, type ActionDeps as F, type GeometryProjection as G, type HotkeyTrigger as H, type InsertExtras as I, ActionDisabledReason as J, type ActionEnabledResult as K, type LayerHit as L, type ActionEntry as M, ActionsProvider as N, ActiveToolContextProvider as O, ActiveToolContextProviderIfRoot as P, type ActiveToolContextProviderProps as Q, type RenderLayer as R, type SliceDep as S, type Tool as T, type UseSelectionOptions as U, type VisibilityRules as V, type ActiveToolContextValue as W, type AreaSelectDep as X, type BindingOpts as Y, type BooleanOp as Z, type BooleanOpResult as _, type DeviceProfile as a, index as a$, type BuildRuleCtxArgs as a0, type ClaimableGesture as a1, type ClipboardDep as a2, type ClipboardIngestCtx as a3, type CustomPaintContext as a4, type DepName as a5, type DepRegistry as a6, DepRegistryProvider as a7, type DispatcherContext as a8, type DragSample as a9, type ResolvedCandidate as aA, type SelectionExtendKey as aB, type SelectionMode as aC, type Selector as aD, type SnapDep as aE, type SvgUnpacker as aF, type TextEditDep as aG, type ToolModifiers as aH, type ToolPresentation as aI, type ToolSlot as aJ, type UiOngoingControl as aK, type ViewApi as aL, applyBooleanOp as aM, buildRuleCtx as aN, clipboardCopyAction as aO, clipboardCutAction as aP, composeRectPose as aQ, composeWorldPose as aR, createDispatcher as aS, decomposeRectPose as aT, describeRule as aU, drawLayers as aV, enterTextEditAction as aW, evaluate as aX, evaluateEnabled as aY, rebaseLocalPose as aZ, registerContentHandler as a_, type EditAnchorsDep as aa, type GestureBinding as ab, IDENTITY_POSE_COMPOSITION as ac, type ImmediateInvoker as ad, type IngestCtx as ae, type IngestionDep as af, type InsertDep as ag, type InvocationCtx as ah, type Invoker as ai, type LassoSelectDep as aj, type LayoutDep as ak, type MatchResult as al, NEVER as am, type NodeAtPointDep as an, type OngoingHandle as ao, type OngoingInvoker as ap, type OngoingOverlay as aq, type Point2 as ar, PointerContextProvider as as, type PointerContextValue as at, type PointerWorldPos as au, type PoseAdapter as av, type PoseComposition as aw, type ResizePolicy as ax, type ResolveAllOptions as ay, type ResolveOnlyResult as az, type DetectedDeviceFacts as b, sliceAction as b0, specificity as b1, translateRectPose as b2, useAction as b3, useActionsRegistry as b4, useActiveToolContext as b5, useDepRegistry as b6, useDepSource as b7, useOptionalActiveToolContext as b8, useOptionalDepRegistry as b9, usePointerContext as ba, useSelection as bb, worldPoseLookup as bc, type Conflict as bd, PREDICATE_TARGET as be, type RegistryEntry as bf, type ToolDef as bg, type ToolScopes as bh, type ViewportToolDef as bi, buildRouteRegistry as bj, defineTool as bk, defineViewportTool as bl, findConflicts as bm, findScopedConflicts as bn, formatConflict as bo, reportRouteConflicts as bp, type Rule as c, type RuleCtx as d, type ChromeCtx as e, type ChromeId as f, type DepSchema as g, type ActionsRegistry as h, type AffordanceHit as i, type Dispatcher as j, type AnyTool as k, type ToolCtx as l, type ToolKeybinding as m, type ChromeState as n, type SelectionApi as o, type ContentHandlerEntry as p, type SvgIngestOptions as q, type ActionsProp as r, type Affordance as s, type AffordanceBinding as t, type AffordanceRegion as u, type CommonAffordanceScratch as v, type BindingScope as w, type Contribution as x, type ScopedBinding as y, ALWAYS as z };
|