@oh-just-another/state 0.62.0 → 0.64.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 +83 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/actions/registry.js +1 -1
- package/dist/actions/registry.js.map +1 -1
- package/dist/constants.d.ts +162 -8
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +132 -8
- package/dist/constants.js.map +1 -1
- package/dist/editor/animation-scene.d.ts.map +1 -1
- package/dist/editor/animation-scene.js +27 -39
- package/dist/editor/animation-scene.js.map +1 -1
- package/dist/editor/animation.js +1 -1
- package/dist/editor/animation.js.map +1 -1
- package/dist/editor/applies/arrange-units.d.ts +24 -0
- package/dist/editor/applies/arrange-units.d.ts.map +1 -0
- package/dist/editor/applies/arrange-units.js +56 -0
- package/dist/editor/applies/arrange-units.js.map +1 -0
- package/dist/editor/applies/arrange.d.ts +16 -15
- package/dist/editor/applies/arrange.d.ts.map +1 -1
- package/dist/editor/applies/arrange.js +33 -48
- package/dist/editor/applies/arrange.js.map +1 -1
- package/dist/editor/applies/create.d.ts +16 -10
- package/dist/editor/applies/create.d.ts.map +1 -1
- package/dist/editor/applies/create.js +32 -12
- package/dist/editor/applies/create.js.map +1 -1
- package/dist/editor/applies/edge.d.ts +1 -1
- package/dist/editor/applies/edge.d.ts.map +1 -1
- package/dist/editor/applies/object-snap.d.ts +87 -0
- package/dist/editor/applies/object-snap.d.ts.map +1 -0
- package/dist/editor/applies/object-snap.js +198 -0
- package/dist/editor/applies/object-snap.js.map +1 -0
- package/dist/editor/applies/resize.d.ts +1 -1
- package/dist/editor/applies/resize.d.ts.map +1 -1
- package/dist/editor/applies/resize.js +6 -4
- package/dist/editor/applies/resize.js.map +1 -1
- package/dist/editor/applies/selection.d.ts +5 -5
- package/dist/editor/applies/selection.d.ts.map +1 -1
- package/dist/editor/applies/selection.js +15 -7
- package/dist/editor/applies/selection.js.map +1 -1
- package/dist/editor/applies/snap-grid.d.ts +1 -1
- package/dist/editor/applies/snap-grid.d.ts.map +1 -1
- package/dist/editor/container-ops.d.ts +1 -1
- package/dist/editor/container-ops.d.ts.map +1 -1
- package/dist/{editor-events.d.ts → editor/editor-events.d.ts} +2 -2
- package/dist/editor/editor-events.d.ts.map +1 -0
- package/dist/{editor-events.js.map → editor/editor-events.js.map} +1 -1
- package/dist/editor/event-fanout.d.ts +3 -3
- package/dist/editor/event-fanout.d.ts.map +1 -1
- package/dist/editor/gesture-tx.d.ts +1 -1
- package/dist/editor/gesture-tx.d.ts.map +1 -1
- package/dist/editor/hit-test.d.ts +5 -3
- package/dist/editor/hit-test.d.ts.map +1 -1
- package/dist/editor/hit-test.js +18 -10
- package/dist/editor/hit-test.js.map +1 -1
- package/dist/editor/interaction-state.d.ts +29 -2
- package/dist/editor/interaction-state.d.ts.map +1 -1
- package/dist/editor/interaction-state.js +34 -0
- package/dist/editor/interaction-state.js.map +1 -1
- package/dist/editor/link-handle-drag.d.ts +1 -1
- package/dist/editor/link-handle-drag.d.ts.map +1 -1
- package/dist/editor/link-handle-drag.js +1 -1
- package/dist/editor/link-handle-drag.js.map +1 -1
- package/dist/editor/pointer-binding.d.ts.map +1 -1
- package/dist/editor/pointer-binding.js +86 -24
- package/dist/editor/pointer-binding.js.map +1 -1
- package/dist/editor/public/arrange-group.d.ts +6 -5
- package/dist/editor/public/arrange-group.d.ts.map +1 -1
- package/dist/editor/public/arrange-group.js +39 -23
- package/dist/editor/public/arrange-group.js.map +1 -1
- package/dist/editor/public/clipboard.d.ts +1 -1
- package/dist/editor/public/clipboard.d.ts.map +1 -1
- package/dist/editor/public/clipboard.js +2 -2
- package/dist/editor/public/clipboard.js.map +1 -1
- package/dist/editor/public/cursor.js +1 -1
- package/dist/editor/public/cursor.js.map +1 -1
- package/dist/editor/public/eraser.js +1 -1
- package/dist/editor/public/eraser.js.map +1 -1
- package/dist/editor/public/image-insert.d.ts.map +1 -1
- package/dist/editor/public/image-insert.js +4 -1
- package/dist/editor/public/image-insert.js.map +1 -1
- package/dist/editor/public/label-seed.d.ts +12 -0
- package/dist/editor/public/label-seed.d.ts.map +1 -0
- package/dist/editor/public/label-seed.js +20 -0
- package/dist/editor/public/label-seed.js.map +1 -0
- package/dist/editor/public/layers.d.ts +1 -1
- package/dist/editor/public/layers.d.ts.map +1 -1
- package/dist/editor/public/placement.d.ts +6 -1
- package/dist/editor/public/placement.d.ts.map +1 -1
- package/dist/editor/public/placement.js +47 -17
- package/dist/editor/public/placement.js.map +1 -1
- package/dist/editor/public/selection-ops.d.ts +1 -1
- package/dist/editor/public/selection-ops.d.ts.map +1 -1
- package/dist/editor/public/selection-ops.js +31 -2
- package/dist/editor/public/selection-ops.js.map +1 -1
- package/dist/editor/public/stroke-eraser-coverage.js +1 -1
- package/dist/editor/public/stroke-eraser-coverage.js.map +1 -1
- package/dist/editor/public/stroke-eraser.js +1 -1
- package/dist/editor/public/stroke-eraser.js.map +1 -1
- package/dist/editor/public/text-edit.d.ts +4 -2
- package/dist/editor/public/text-edit.d.ts.map +1 -1
- package/dist/editor/public/text-edit.js +8 -4
- package/dist/editor/public/text-edit.js.map +1 -1
- package/dist/editor/public/tool-ops.d.ts +10 -7
- package/dist/editor/public/tool-ops.d.ts.map +1 -1
- package/dist/editor/public/tool-ops.js +141 -14
- package/dist/editor/public/tool-ops.js.map +1 -1
- package/dist/editor/public/zoom-pan.d.ts +10 -1
- package/dist/editor/public/zoom-pan.d.ts.map +1 -1
- package/dist/editor/public/zoom-pan.js +49 -0
- package/dist/editor/public/zoom-pan.js.map +1 -1
- package/dist/editor/render-orchestrator.d.ts +17 -11
- package/dist/editor/render-orchestrator.d.ts.map +1 -1
- package/dist/editor/render-orchestrator.js +45 -31
- package/dist/editor/render-orchestrator.js.map +1 -1
- package/dist/editor/resize-helpers.d.ts +1 -1
- package/dist/editor/resize-helpers.d.ts.map +1 -1
- package/dist/editor/shape-traits.d.ts +1 -1
- package/dist/editor/shape-traits.d.ts.map +1 -1
- package/dist/editor/shape-traits.js +1 -1
- package/dist/editor/shape-traits.js.map +1 -1
- package/dist/editor/text-edit.d.ts +24 -11
- package/dist/editor/text-edit.d.ts.map +1 -1
- package/dist/editor/text-edit.js +225 -45
- package/dist/editor/text-edit.js.map +1 -1
- package/dist/editor.d.ts +320 -20
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +1324 -73
- package/dist/editor.js.map +1 -1
- package/dist/features/built-in-handlers.d.ts.map +1 -0
- package/dist/{built-in-handlers.js → features/built-in-handlers.js} +7 -1
- package/dist/features/built-in-handlers.js.map +1 -0
- package/dist/{clipboard.d.ts → features/clipboard.d.ts} +14 -0
- package/dist/features/clipboard.d.ts.map +1 -0
- package/dist/{clipboard.js → features/clipboard.js} +1 -1
- package/dist/features/clipboard.js.map +1 -0
- package/dist/{file-drop.d.ts → features/file-drop.d.ts} +20 -1
- package/dist/features/file-drop.d.ts.map +1 -0
- package/dist/{file-drop.js → features/file-drop.js} +47 -19
- package/dist/features/file-drop.js.map +1 -0
- package/dist/features/insert-scene.d.ts +19 -0
- package/dist/features/insert-scene.d.ts.map +1 -0
- package/dist/features/insert-scene.js +145 -0
- package/dist/features/insert-scene.js.map +1 -0
- package/dist/features/search.d.ts.map +1 -0
- package/dist/features/search.js.map +1 -0
- package/dist/helpers/auto-compact.d.ts.map +1 -0
- package/dist/{auto-compact.js → helpers/auto-compact.js} +1 -1
- package/dist/helpers/auto-compact.js.map +1 -0
- package/dist/helpers/auto-layout-scheduler.d.ts.map +1 -0
- package/dist/helpers/auto-layout-scheduler.js.map +1 -0
- package/dist/helpers/frame-helpers.d.ts.map +1 -0
- package/dist/helpers/frame-helpers.js.map +1 -0
- package/dist/helpers/group-helpers.d.ts.map +1 -0
- package/dist/helpers/group-helpers.js.map +1 -0
- package/dist/helpers/util.d.ts.map +1 -0
- package/dist/helpers/util.js.map +1 -0
- package/dist/index.d.ts +23 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/input/dom-events.d.ts.map +1 -0
- package/dist/input/dom-events.js.map +1 -0
- package/dist/{hotkeys-binding.d.ts → input/hotkeys-binding.d.ts} +2 -2
- package/dist/input/hotkeys-binding.d.ts.map +1 -0
- package/dist/{hotkeys-binding.js → input/hotkeys-binding.js} +1 -1
- package/dist/input/hotkeys-binding.js.map +1 -0
- package/dist/input/platform.d.ts.map +1 -0
- package/dist/input/platform.js.map +1 -0
- package/dist/{handle.d.ts → interaction/handle.d.ts} +1 -1
- package/dist/interaction/handle.d.ts.map +1 -0
- package/dist/{handle.js → interaction/handle.js} +1 -1
- package/dist/interaction/handle.js.map +1 -0
- package/dist/interaction/interactive.d.ts.map +1 -0
- package/dist/interaction/interactive.js.map +1 -0
- package/dist/interaction/machine.d.ts.map +1 -0
- package/dist/interaction/machine.js.map +1 -0
- package/dist/interaction/modes.d.ts.map +1 -0
- package/dist/interaction/modes.js.map +1 -0
- package/dist/render/animation-tick.d.ts.map +1 -0
- package/dist/render/animation-tick.js.map +1 -0
- package/dist/{overlay.d.ts → render/overlay.d.ts} +42 -38
- package/dist/render/overlay.d.ts.map +1 -0
- package/dist/{overlay.js → render/overlay.js} +174 -59
- package/dist/render/overlay.js.map +1 -0
- package/dist/selection/link-selection.d.ts.map +1 -0
- package/dist/{link-selection.js → selection/link-selection.js} +1 -1
- package/dist/selection/link-selection.js.map +1 -0
- package/dist/selection/selection.d.ts.map +1 -0
- package/dist/{selection.js → selection/selection.js} +1 -1
- package/dist/selection/selection.js.map +1 -0
- package/package.json +5 -5
- package/dist/animation-tick.d.ts.map +0 -1
- package/dist/animation-tick.js.map +0 -1
- package/dist/auto-compact.d.ts.map +0 -1
- package/dist/auto-compact.js.map +0 -1
- package/dist/auto-layout-scheduler.d.ts.map +0 -1
- package/dist/auto-layout-scheduler.js.map +0 -1
- package/dist/built-in-handlers.d.ts.map +0 -1
- package/dist/built-in-handlers.js.map +0 -1
- package/dist/clipboard.d.ts.map +0 -1
- package/dist/clipboard.js.map +0 -1
- package/dist/dom-events.d.ts.map +0 -1
- package/dist/dom-events.js.map +0 -1
- package/dist/editor-events.d.ts.map +0 -1
- package/dist/file-drop.d.ts.map +0 -1
- package/dist/file-drop.js.map +0 -1
- package/dist/frame-helpers.d.ts.map +0 -1
- package/dist/frame-helpers.js.map +0 -1
- package/dist/group-helpers.d.ts.map +0 -1
- package/dist/group-helpers.js.map +0 -1
- package/dist/handle.d.ts.map +0 -1
- package/dist/handle.js.map +0 -1
- package/dist/hotkeys-binding.d.ts.map +0 -1
- package/dist/hotkeys-binding.js.map +0 -1
- package/dist/interactive.d.ts.map +0 -1
- package/dist/interactive.js.map +0 -1
- package/dist/link-selection.d.ts.map +0 -1
- package/dist/link-selection.js.map +0 -1
- package/dist/machine.d.ts.map +0 -1
- package/dist/machine.js.map +0 -1
- package/dist/modes.d.ts.map +0 -1
- package/dist/modes.js.map +0 -1
- package/dist/overlay.d.ts.map +0 -1
- package/dist/overlay.js.map +0 -1
- package/dist/platform.d.ts.map +0 -1
- package/dist/platform.js.map +0 -1
- package/dist/search.d.ts.map +0 -1
- package/dist/search.js.map +0 -1
- package/dist/selection.d.ts.map +0 -1
- package/dist/selection.js.map +0 -1
- package/dist/util.d.ts.map +0 -1
- package/dist/util.js.map +0 -1
- /package/dist/{editor-events.js → editor/editor-events.js} +0 -0
- /package/dist/{built-in-handlers.d.ts → features/built-in-handlers.d.ts} +0 -0
- /package/dist/{search.d.ts → features/search.d.ts} +0 -0
- /package/dist/{search.js → features/search.js} +0 -0
- /package/dist/{auto-compact.d.ts → helpers/auto-compact.d.ts} +0 -0
- /package/dist/{auto-layout-scheduler.d.ts → helpers/auto-layout-scheduler.d.ts} +0 -0
- /package/dist/{auto-layout-scheduler.js → helpers/auto-layout-scheduler.js} +0 -0
- /package/dist/{frame-helpers.d.ts → helpers/frame-helpers.d.ts} +0 -0
- /package/dist/{frame-helpers.js → helpers/frame-helpers.js} +0 -0
- /package/dist/{group-helpers.d.ts → helpers/group-helpers.d.ts} +0 -0
- /package/dist/{group-helpers.js → helpers/group-helpers.js} +0 -0
- /package/dist/{util.d.ts → helpers/util.d.ts} +0 -0
- /package/dist/{util.js → helpers/util.js} +0 -0
- /package/dist/{dom-events.d.ts → input/dom-events.d.ts} +0 -0
- /package/dist/{dom-events.js → input/dom-events.js} +0 -0
- /package/dist/{platform.d.ts → input/platform.d.ts} +0 -0
- /package/dist/{platform.js → input/platform.js} +0 -0
- /package/dist/{interactive.d.ts → interaction/interactive.d.ts} +0 -0
- /package/dist/{interactive.js → interaction/interactive.js} +0 -0
- /package/dist/{machine.d.ts → interaction/machine.d.ts} +0 -0
- /package/dist/{machine.js → interaction/machine.js} +0 -0
- /package/dist/{modes.d.ts → interaction/modes.d.ts} +0 -0
- /package/dist/{modes.js → interaction/modes.js} +0 -0
- /package/dist/{animation-tick.d.ts → render/animation-tick.d.ts} +0 -0
- /package/dist/{animation-tick.js → render/animation-tick.js} +0 -0
- /package/dist/{link-selection.d.ts → selection/link-selection.d.ts} +0 -0
- /package/dist/{selection.d.ts → selection/selection.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-edit.js","sourceRoot":"","sources":["../../src/editor/text-edit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"text-edit.js","sourceRoot":"","sources":["../../src/editor/text-edit.ts"],"names":[],"mappings":"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"}
|
package/dist/editor.d.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { type Actor } from "xstate";
|
|
2
2
|
import type { Bounds, FileId, ElementId, Vec2 } from "@oh-just-another/types";
|
|
3
3
|
import type { SpatialGrid } from "@oh-just-another/scene";
|
|
4
|
-
import { type FractionalIndex, type BrushPoint, type Link, type Patch, type Scene, type Element, type GridStyle, type ImageCrop, type TextStyle } from "@oh-just-another/scene";
|
|
4
|
+
import { type FractionalIndex, type BrushPoint, type Link, type Patch, type Scene, type Element, type GridStyle, type StartView, type ImageCrop, type ImageMask, type TextStyle } from "@oh-just-another/scene";
|
|
5
5
|
import { type AnnotationId, type Color, type CommentId, type LinkId, type LayerId } from "@oh-just-another/types";
|
|
6
6
|
import { ElementCache, type RenderTarget, type TextShaper, type Rasterizer } from "@oh-just-another/renderer-core";
|
|
7
7
|
import { type HistoryOptions, type HistoryProvider, type TransactionHandle } from "@oh-just-another/history";
|
|
8
|
-
import { type FileDropHandler } from "./file-drop.js";
|
|
9
|
-
import {
|
|
10
|
-
import type
|
|
11
|
-
import type {
|
|
8
|
+
import { type FileDropHandler } from "./features/file-drop.js";
|
|
9
|
+
import { type EditorPreferences, type ImageAspectPreset, type DrawShapeKind, type LinkDrawPreset } from "./constants.js";
|
|
10
|
+
import { interactionMachine, type InteractionContext, type InteractionEmit, type PressTarget } from "./interaction/machine.js";
|
|
11
|
+
import type { ActiveTool, Mode } from "./interaction/modes.js";
|
|
12
|
+
import type { EditorEvents } from "./editor/editor-events.js";
|
|
12
13
|
import { GifPlaybackController } from "./editor/gif-playback.js";
|
|
13
14
|
import { LongPressController } from "./editor/long-press.js";
|
|
14
15
|
import { PinchController } from "./editor/pinch.js";
|
|
@@ -19,9 +20,10 @@ import { type LaserStroke } from "./editor/public/laser.js";
|
|
|
19
20
|
import type { CursorRole, CursorSpec } from "./editor/public/cursor.js";
|
|
20
21
|
import { type ConvertTarget, type CropHandle, type SpawnDirection } from "./editor/public/tool-ops.js";
|
|
21
22
|
import { type AlignEdge, type DistributeAxis, type FlipAxis } from "./editor/applies/arrange.js";
|
|
22
|
-
import { type
|
|
23
|
-
import
|
|
24
|
-
import * as
|
|
23
|
+
import { type SizeMatch, type SnapGuide } from "./editor/applies/object-snap.js";
|
|
24
|
+
import { type EditingTextOverlay, type PeerCursor, type PeerSelection, type SizeReadout } from "./render/overlay.js";
|
|
25
|
+
import * as Selection from "./selection/selection.js";
|
|
26
|
+
import * as LinkSelection from "./selection/link-selection.js";
|
|
25
27
|
export interface LoadSceneOptions {
|
|
26
28
|
/**
|
|
27
29
|
* Keep the existing undo/redo stack when swapping scenes. Used by
|
|
@@ -81,6 +83,13 @@ export interface EditorOptions {
|
|
|
81
83
|
* reports a coarse primary pointer, else `"mouse"`. Default.
|
|
82
84
|
*/
|
|
83
85
|
readonly inputMode?: "mouse" | "touch" | "auto";
|
|
86
|
+
/**
|
|
87
|
+
* Initial per-user preferences (object snapping, size readouts, wheel
|
|
88
|
+
* routing) — see {@link EditorPreferences}. Missing keys take
|
|
89
|
+
* {@link DEFAULT_EDITOR_PREFERENCES}; change at runtime via
|
|
90
|
+
* {@link Editor.setPreferences}.
|
|
91
|
+
*/
|
|
92
|
+
readonly preferences?: Partial<EditorPreferences>;
|
|
84
93
|
/**
|
|
85
94
|
* Optional text shaper. When supplied, replaces the renderer's
|
|
86
95
|
* default Canvas2D `measureText` path for wrap / layout. Plug
|
|
@@ -408,6 +417,14 @@ export declare class Editor {
|
|
|
408
417
|
* this lets that active→inactive transition force one full repaint.
|
|
409
418
|
*/
|
|
410
419
|
lastRenderedEraseActive: boolean;
|
|
420
|
+
/**
|
|
421
|
+
* Last-painted hovered sticky — paired with `lastRenderedScene` like
|
|
422
|
+
* {@link lastRenderedEnteredGroup}. Hovering changes only chrome (the
|
|
423
|
+
* "+" add-reaction button), not the scene, so the dirty-rect diff is
|
|
424
|
+
* empty and the button would never appear / disappear without this
|
|
425
|
+
* forcing a full repaint on hover transitions.
|
|
426
|
+
*/
|
|
427
|
+
lastRenderedHoveredSticky: ElementId | null;
|
|
411
428
|
/**
|
|
412
429
|
* Set whenever an eraser move actually CHANGES the marked / cut set (a new
|
|
413
430
|
* shape marked, un-marked, or a brush point cut). Gates the forced full
|
|
@@ -549,6 +566,9 @@ export declare class Editor {
|
|
|
549
566
|
*/
|
|
550
567
|
get panGesture(): PanGesture | null;
|
|
551
568
|
set panGesture(v: PanGesture | null);
|
|
569
|
+
/** Element being placed by a library drag, or null (see `beginPlacement`). */
|
|
570
|
+
get placementId(): ElementId | null;
|
|
571
|
+
set placementId(v: ElementId | null);
|
|
552
572
|
/**
|
|
553
573
|
* Set on a right-click pointerdown so the upcoming native
|
|
554
574
|
* `contextmenu` event can be unconditionally preventDefault'ed
|
|
@@ -772,6 +792,33 @@ export declare class Editor {
|
|
|
772
792
|
setGridVisible(on: boolean): void;
|
|
773
793
|
/** Toggle the background grid on/off. */
|
|
774
794
|
toggleGrid(): void;
|
|
795
|
+
private _preferences;
|
|
796
|
+
/** Per-user preferences — see {@link EditorPreferences}. */
|
|
797
|
+
get preferences(): EditorPreferences;
|
|
798
|
+
/**
|
|
799
|
+
* Merge `patch` over the current preferences. Not part of the document
|
|
800
|
+
* and never recorded in history; hosts persist the result per browser.
|
|
801
|
+
* Subscribers are notified (the object identity changes only when a
|
|
802
|
+
* value actually changed).
|
|
803
|
+
*/
|
|
804
|
+
setPreferences(patch: Partial<EditorPreferences>): void;
|
|
805
|
+
/**
|
|
806
|
+
* Clear the `locked` flag on every locked element (one undo step).
|
|
807
|
+
* The canvas menu's "Unlock all"; no-op when nothing is locked.
|
|
808
|
+
*/
|
|
809
|
+
unlockAll(): void;
|
|
810
|
+
/** The document's saved start view, or `null` when none is set. */
|
|
811
|
+
get startView(): StartView | null;
|
|
812
|
+
/**
|
|
813
|
+
* Save the current camera (pan + zoom) as the document's start view —
|
|
814
|
+
* where the document opens and where {@link goToStartView} jumps.
|
|
815
|
+
* Persists in the viewport (exported with the scene), not in history.
|
|
816
|
+
*/
|
|
817
|
+
setCurrentViewAsStart(): void;
|
|
818
|
+
/** Forget the saved start view. No-op when none is set. */
|
|
819
|
+
clearStartView(): void;
|
|
820
|
+
/** Move the camera to the saved start view. No-op when none is set. */
|
|
821
|
+
goToStartView(): void;
|
|
775
822
|
/** All currently-selected link (connector) ids. */
|
|
776
823
|
get selectedLinks(): LinkSelection.LinkSelection;
|
|
777
824
|
/**
|
|
@@ -797,6 +844,8 @@ export declare class Editor {
|
|
|
797
844
|
registerFileDropHandler(handler: FileDropHandler): void;
|
|
798
845
|
/** Drop a registered handler. */
|
|
799
846
|
unregisterFileDropHandler(id: string): void;
|
|
847
|
+
/** Registered file-drop handlers, in dispatch order — the drop overlay lists the labelled ones. */
|
|
848
|
+
getFileDropHandlers(): readonly FileDropHandler[];
|
|
800
849
|
/**
|
|
801
850
|
* Dispatch a dropped file (or pasted file from clipboard) into
|
|
802
851
|
* the registered handlers. Returns `true` when a handler accepted
|
|
@@ -819,6 +868,24 @@ export declare class Editor {
|
|
|
819
868
|
* toolbar buttons and hotkeys reach it through the action registry.
|
|
820
869
|
* Records the outgoing tool in `activeTool.lastActiveTool`.
|
|
821
870
|
*/
|
|
871
|
+
/**
|
|
872
|
+
* Shape kind the next rubber-band draw creates while `draw-rect` is
|
|
873
|
+
* armed (the "Shapes and lines" flyout arms diamond / triangle through
|
|
874
|
+
* the same mode). Reset to "rect" on every tool switch so hotkeys and
|
|
875
|
+
* plain toolbar buttons keep their stock behaviour.
|
|
876
|
+
*/
|
|
877
|
+
private _drawShapeKind;
|
|
878
|
+
get drawShapeKind(): DrawShapeKind;
|
|
879
|
+
/**
|
|
880
|
+
* Connector preset for NEW links drawn in `draw-edge` mode (see
|
|
881
|
+
* `LINK_DRAW_PRESETS`); `null` = stock defaults. Reset on tool switch.
|
|
882
|
+
*/
|
|
883
|
+
private _linkDrawPreset;
|
|
884
|
+
get linkDrawPreset(): LinkDrawPreset | null;
|
|
885
|
+
/** Arm the shape-drawing tool for `kind` (the flyout's shape rows). */
|
|
886
|
+
armShapeTool(kind: DrawShapeKind): void;
|
|
887
|
+
/** Arm the connector tool with a line preset (the flyout's line rows). */
|
|
888
|
+
armLineTool(preset: LinkDrawPreset): void;
|
|
822
889
|
setActiveTool(mode: Mode): void;
|
|
823
890
|
/** Undo the latest record. No-op if there is nothing to undo. */
|
|
824
891
|
undo(): boolean;
|
|
@@ -894,6 +961,14 @@ export declare class Editor {
|
|
|
894
961
|
* Pass `null` when the pointer leaves all shapes.
|
|
895
962
|
*/
|
|
896
963
|
hoverAnimatedElement(id: ElementId | null): void;
|
|
964
|
+
/**
|
|
965
|
+
* Sticky under the idle cursor (its render bounds, so the reaction row
|
|
966
|
+
* below the card counts too) — drives the canvas-drawn hover-only "+"
|
|
967
|
+
* add-reaction button. Set by the pointer-move path; `null` clears.
|
|
968
|
+
*/
|
|
969
|
+
private _hoveredStickyId;
|
|
970
|
+
get hoveredStickyId(): ElementId | null;
|
|
971
|
+
setHoveredSticky(id: ElementId | null): void;
|
|
897
972
|
/** True when the shape's GIF is paused (drives the overlay badge). */
|
|
898
973
|
isPlaybackPaused(id: ElementId): boolean;
|
|
899
974
|
/**
|
|
@@ -1027,15 +1102,7 @@ export declare class Editor {
|
|
|
1027
1102
|
* Returns `null` when not editing. The caret is `null` while blinked
|
|
1028
1103
|
* off so the overlay can simply skip drawing it.
|
|
1029
1104
|
*/
|
|
1030
|
-
editingTextOverlay():
|
|
1031
|
-
caret: {
|
|
1032
|
-
x: number;
|
|
1033
|
-
y: number;
|
|
1034
|
-
height: number;
|
|
1035
|
-
} | null;
|
|
1036
|
-
caretColor: string;
|
|
1037
|
-
selectionRects: readonly Bounds[];
|
|
1038
|
-
} | null;
|
|
1105
|
+
editingTextOverlay(): EditingTextOverlay | null;
|
|
1039
1106
|
commitTextEdit(next?: string): void;
|
|
1040
1107
|
cancelTextEdit(): void;
|
|
1041
1108
|
/**
|
|
@@ -1064,6 +1131,11 @@ export declare class Editor {
|
|
|
1064
1131
|
* the tool is locked.
|
|
1065
1132
|
*/
|
|
1066
1133
|
createTextAt(worldPoint: Vec2): ElementId;
|
|
1134
|
+
/**
|
|
1135
|
+
* Drop a default sticky note centred on `worldPoint`, select it and open
|
|
1136
|
+
* its inline editor (the canvas menu's "Add sticky note"). One undo step.
|
|
1137
|
+
*/
|
|
1138
|
+
createStickyAt(worldPoint: Vec2): ElementId | null;
|
|
1067
1139
|
/** Current brush paint settings (line colour, fill, opacity, width). */
|
|
1068
1140
|
private _brushSettings;
|
|
1069
1141
|
get brushSettings(): BrushSettings;
|
|
@@ -1201,6 +1273,14 @@ export declare class Editor {
|
|
|
1201
1273
|
* New shapes get fresh ids and end up selected. Single undo step.
|
|
1202
1274
|
*/
|
|
1203
1275
|
paste(targetWorld?: Vec2): void;
|
|
1276
|
+
/**
|
|
1277
|
+
* Insert a whole scene fragment (an imported diagram — elements, links,
|
|
1278
|
+
* binary files) into the current scene, centred on `targetWorld` (default:
|
|
1279
|
+
* the last pointer position, else the fragment stays where it is). Ids are
|
|
1280
|
+
* remapped, everything lands on the active layer, one undo step; the new
|
|
1281
|
+
* elements become the selection. Returns their ids.
|
|
1282
|
+
*/
|
|
1283
|
+
insertScene(fragment: Scene, targetWorld?: Vec2): readonly ElementId[];
|
|
1204
1284
|
/**
|
|
1205
1285
|
* Merge `partial` into the `style` of every shape in `ids`. Useful
|
|
1206
1286
|
* for the inspector / PropertyPanel: flipping `roundness`, swapping
|
|
@@ -1236,6 +1316,120 @@ export declare class Editor {
|
|
|
1236
1316
|
* inline-edit selection).
|
|
1237
1317
|
*/
|
|
1238
1318
|
applyTextStyleToRange(id: ElementId, from: number, to: number, partial: Partial<TextStyle>): void;
|
|
1319
|
+
/**
|
|
1320
|
+
* Merge a partial text style into the embedded label's style on every
|
|
1321
|
+
* shape in `ids` that carries a label. One undo step. The counterpart
|
|
1322
|
+
* of `updateStyle` for shape labels (which must not collide with the
|
|
1323
|
+
* shape body's own fill / stroke).
|
|
1324
|
+
*/
|
|
1325
|
+
updateLabelStyle(ids: Iterable<ElementId>, partial: Partial<TextStyle>): void;
|
|
1326
|
+
/**
|
|
1327
|
+
* Text-carrier routing for mixed selections: merge a partial text style
|
|
1328
|
+
* into the element style of text elements and into the label style of
|
|
1329
|
+
* labelable shapes (seeding the label when missing); other elements are
|
|
1330
|
+
* skipped. One undo step. The selection toolbar writes through this so a
|
|
1331
|
+
* shape + text selection shares one text-colour / decoration control
|
|
1332
|
+
* instead of choosing between `updateStyle` and `updateLabelStyle`.
|
|
1333
|
+
*/
|
|
1334
|
+
updateTextStyle(ids: Iterable<ElementId>, partial: Partial<TextStyle>): void;
|
|
1335
|
+
/**
|
|
1336
|
+
* Merge font family / size into the embedded label. Picking an
|
|
1337
|
+
* explicit `fontSize` also leaves auto-fit mode (reference behaviour —
|
|
1338
|
+
* a concrete size wins over the automatic one). One undo step.
|
|
1339
|
+
*/
|
|
1340
|
+
updateLabelProps(ids: Iterable<ElementId>, partial: {
|
|
1341
|
+
readonly fontFamily?: string;
|
|
1342
|
+
readonly fontSize?: number;
|
|
1343
|
+
}): void;
|
|
1344
|
+
/** Toggle auto-fit label sizing (sticky notes). One undo step. */
|
|
1345
|
+
setLabelAutoFit(ids: Iterable<ElementId>, on: boolean): void;
|
|
1346
|
+
/**
|
|
1347
|
+
* Resize sticky notes to a square preset side (`STICKY_SIZE_PRESETS`).
|
|
1348
|
+
* One undo step; non-sticky ids are skipped.
|
|
1349
|
+
*/
|
|
1350
|
+
setStickySize(ids: Iterable<ElementId>, side: number): void;
|
|
1351
|
+
/**
|
|
1352
|
+
* Toggle the author-name strip on sticky notes. Turning it on fills a
|
|
1353
|
+
* missing `authorName` from the editor's comment author (the local
|
|
1354
|
+
* user). One undo step.
|
|
1355
|
+
*/
|
|
1356
|
+
toggleStickyAuthor(ids: Iterable<ElementId>): void;
|
|
1357
|
+
/** Replace the tag list on sticky notes. One undo step. */
|
|
1358
|
+
setStickyTags(ids: Iterable<ElementId>, tags: readonly string[]): void;
|
|
1359
|
+
/**
|
|
1360
|
+
* Toggle the local user's emoji reaction on a sticky note. A glyph the
|
|
1361
|
+
* user has NOT reacted with gains their reaction (+1); one they
|
|
1362
|
+
* already reacted with loses it (-1, removing the glyph at zero).
|
|
1363
|
+
* Other users' reactions are never touched — so counters only grow
|
|
1364
|
+
* through OTHER collaborators. Plain element data → syncs through the
|
|
1365
|
+
* normal scene channel. One undo step.
|
|
1366
|
+
*/
|
|
1367
|
+
toggleStickyReaction(id: ElementId, glyph: string): void;
|
|
1368
|
+
/** Replace an emoji element's glyph (the toolbar picker). One undo step. */
|
|
1369
|
+
setEmojiGlyph(ids: Iterable<ElementId>, glyph: string): void;
|
|
1370
|
+
/**
|
|
1371
|
+
* Resize a frame to one of the `FRAME_SIZE_PRESETS` (top-left corner
|
|
1372
|
+
* stays put; members keep their absolute positions). One undo step.
|
|
1373
|
+
*/
|
|
1374
|
+
applyFramePreset(id: ElementId, preset: {
|
|
1375
|
+
width: number;
|
|
1376
|
+
height: number;
|
|
1377
|
+
}): void;
|
|
1378
|
+
/**
|
|
1379
|
+
* Rename the binary file behind an image (the toolbar's file-name
|
|
1380
|
+
* input). One undo step; no-op when the id is unknown or the name is
|
|
1381
|
+
* unchanged.
|
|
1382
|
+
*/
|
|
1383
|
+
renameBinaryFile(id: FileId, name: string): void;
|
|
1384
|
+
/** Set (or clear, with `null`) the accessible description on image shapes. */
|
|
1385
|
+
setImageAlt(ids: Iterable<ElementId>, alt: string | null): void;
|
|
1386
|
+
/**
|
|
1387
|
+
* Set (or clear, with `null`) the shape mask on image elements. The
|
|
1388
|
+
* mask clips the drawn box (renderer-side `RenderTarget.clip`);
|
|
1389
|
+
* normalised coordinates make it survive resizes. One undo step.
|
|
1390
|
+
*/
|
|
1391
|
+
setImageMask(ids: Iterable<ElementId>, mask: ImageMask | null): void;
|
|
1392
|
+
/**
|
|
1393
|
+
* Apply an aspect preset from the mask picker to image elements.
|
|
1394
|
+
* `"original"` clears crop AND mask and refits the box to the source's
|
|
1395
|
+
* natural aspect; the ratio presets centre-crop the source to the
|
|
1396
|
+
* target aspect and refit the box height (width kept), with `"circle"`
|
|
1397
|
+
* additionally installing an ellipse mask on the square box. The
|
|
1398
|
+
* source's natural aspect derives from the current box + crop (the box
|
|
1399
|
+
* always displays the crop region undistorted), so no live image
|
|
1400
|
+
* handle is needed. One undo step.
|
|
1401
|
+
*/
|
|
1402
|
+
setImageAspectPreset(ids: Iterable<ElementId>, preset: ImageAspectPreset): void;
|
|
1403
|
+
/**
|
|
1404
|
+
* Swap a media shape's backing file for `blob` while keeping its
|
|
1405
|
+
* position and width (height refits to the new aspect). Accepts static
|
|
1406
|
+
* images, GIFs and videos — the shape's animation fields are rewritten
|
|
1407
|
+
* to match the NEW media kind, and `crop` resets when the media kind
|
|
1408
|
+
* changes (its pixel rect targeted the old content). Registers the new
|
|
1409
|
+
* `BinaryFile`, points the shape at it, drops the stale live handle
|
|
1410
|
+
* (`metadata.image`) and rebuilds handles for the new bytes. One undo
|
|
1411
|
+
* step.
|
|
1412
|
+
*/
|
|
1413
|
+
replaceImageFile(id: ElementId, blob: Blob, name?: string): Promise<void>;
|
|
1414
|
+
/**
|
|
1415
|
+
* Paragraph targets for the list operations: while inline-editing one
|
|
1416
|
+
* of `ids`, only the paragraphs covered by the caret / selection;
|
|
1417
|
+
* otherwise every paragraph of each text element. Returns `null` for
|
|
1418
|
+
* non-text ids.
|
|
1419
|
+
*/
|
|
1420
|
+
private paragraphTargets;
|
|
1421
|
+
/**
|
|
1422
|
+
* Set (or clear, with `null`) the list kind on the targeted paragraphs
|
|
1423
|
+
* of every text element in `ids` — the inline-edit selection's
|
|
1424
|
+
* paragraphs while editing, the whole element otherwise. One undo step.
|
|
1425
|
+
*/
|
|
1426
|
+
setParagraphList(ids: Iterable<ElementId>, kind: "bullet" | "numbered" | null): void;
|
|
1427
|
+
/**
|
|
1428
|
+
* Shift the targeted paragraphs' list nesting by `delta` (±1), clamped
|
|
1429
|
+
* to `[0, MAX_LIST_INDENT]`. Same targeting rules as
|
|
1430
|
+
* {@link setParagraphList}. One undo step.
|
|
1431
|
+
*/
|
|
1432
|
+
indentParagraphs(ids: Iterable<ElementId>, delta: 1 | -1): void;
|
|
1239
1433
|
/**
|
|
1240
1434
|
* The fill (or stroke, per `role`) colour of the top-most shape under the
|
|
1241
1435
|
* world point, or `null` on empty canvas. Pure read — no mutation.
|
|
@@ -1402,8 +1596,11 @@ export declare class Editor {
|
|
|
1402
1596
|
private cropGhost;
|
|
1403
1597
|
/**
|
|
1404
1598
|
* Update non-style text properties (`fontSize`, `fontFamily`,
|
|
1405
|
-
* `maxWidth`) on every
|
|
1406
|
-
*
|
|
1599
|
+
* `maxWidth`) on every text shape in `ids`; labelable shapes route
|
|
1600
|
+
* `fontSize` / `fontFamily` to their embedded label instead (as
|
|
1601
|
+
* `updateLabelProps` — an explicit size leaves auto-fit). Anything else is
|
|
1602
|
+
* skipped. Single undo step. Used by the selection toolbar, so a mixed
|
|
1603
|
+
* text + shape selection shares one font control.
|
|
1407
1604
|
*/
|
|
1408
1605
|
updateTextProps(ids: Iterable<ElementId>, partial: {
|
|
1409
1606
|
fontSize?: number;
|
|
@@ -1473,6 +1670,13 @@ export declare class Editor {
|
|
|
1473
1670
|
* rotate gesture drives the same maths from a press-time snapshot.
|
|
1474
1671
|
*/
|
|
1475
1672
|
rotateSelection(delta: number): void;
|
|
1673
|
+
/**
|
|
1674
|
+
* Straighten the selection: every selected element (and descendants of
|
|
1675
|
+
* selected groups) goes back to `rotation: 0`, each turning about its own
|
|
1676
|
+
* centre so it stays where it is. One undoable step; no-op when nothing
|
|
1677
|
+
* is rotated. Triggered by a double-click on the rotate grip.
|
|
1678
|
+
*/
|
|
1679
|
+
resetSelectionRotation(): void;
|
|
1476
1680
|
/** Apply a batch of arrange patches as a single undoable step. */
|
|
1477
1681
|
private commitArrange;
|
|
1478
1682
|
compactLayerZOrder(layerId?: LayerId, options?: {
|
|
@@ -1504,6 +1708,11 @@ export declare class Editor {
|
|
|
1504
1708
|
zoomIn(): void;
|
|
1505
1709
|
zoomOut(): void;
|
|
1506
1710
|
private zoomStep;
|
|
1711
|
+
/**
|
|
1712
|
+
* Set an absolute zoom level (1 = 100%), scaling about the viewport
|
|
1713
|
+
* centre and clamped to `MIN_ZOOM..MAX_ZOOM`. The zoom menu's presets.
|
|
1714
|
+
*/
|
|
1715
|
+
setZoom(level: number): void;
|
|
1507
1716
|
resetZoom(): void;
|
|
1508
1717
|
zoomToFit(padding?: number): void;
|
|
1509
1718
|
/** Fit the camera to the current selection (standard `⌥2`). No-op when empty. */
|
|
@@ -1515,6 +1724,14 @@ export declare class Editor {
|
|
|
1515
1724
|
* fit an oversized match. No-op when the selection is empty.
|
|
1516
1725
|
*/
|
|
1517
1726
|
revealSelection(padding?: number): void;
|
|
1727
|
+
/**
|
|
1728
|
+
* "Back to content": jump to the element nearest the camera centre, keeping
|
|
1729
|
+
* the current zoom (it only drops when that element doesn't fit). Unlike
|
|
1730
|
+
* {@link zoomToFit} this neither shrinks a large board to a speck nor blows
|
|
1731
|
+
* a single small shape up to full screen. Groups are skipped (their own
|
|
1732
|
+
* bounds are empty — their children count). No-op on an empty scene.
|
|
1733
|
+
*/
|
|
1734
|
+
revealNearestContent(padding?: number): void;
|
|
1518
1735
|
/**
|
|
1519
1736
|
* Select the nearest interactable top-level element in `direction` from the
|
|
1520
1737
|
* current selection's centre (or the viewport centre when nothing is
|
|
@@ -1559,6 +1776,47 @@ export declare class Editor {
|
|
|
1559
1776
|
private snapActive;
|
|
1560
1777
|
/** World-unit spacing the current gesture snaps to. */
|
|
1561
1778
|
private snapSpacing;
|
|
1779
|
+
/**
|
|
1780
|
+
* Object snapping is a per-user preference; the suppress modifier
|
|
1781
|
+
* (Cmd/Ctrl) bypasses it for the current gesture like grid snapping.
|
|
1782
|
+
*/
|
|
1783
|
+
private objectSnapActive;
|
|
1784
|
+
private sizeSuggestActive;
|
|
1785
|
+
/**
|
|
1786
|
+
* World AABBs of the shapes a gesture may snap to (reference rules): every
|
|
1787
|
+
* visible element on screen that is not being moved / resized, except
|
|
1788
|
+
* groups (no geometry of their own), brush strokes (freehand ink is never
|
|
1789
|
+
* a snap target), shapes rotated off the 90° grid, and shapes too small on
|
|
1790
|
+
* screen (`OBJECT_SNAP_MIN_SIZE_PX`). Returns nothing on a crowded view
|
|
1791
|
+
* (`OBJECT_SNAP_MAX_CANDIDATES`) so a huge board never stalls a drag.
|
|
1792
|
+
*/
|
|
1793
|
+
private snapCandidates;
|
|
1794
|
+
/** Brush strokes never snap (as movers or targets) — freehand ink has no meaningful edges. */
|
|
1795
|
+
private snapsAsMover;
|
|
1796
|
+
/**
|
|
1797
|
+
* Move-delta snapping: object snapping (edges / centres of nearby shapes)
|
|
1798
|
+
* wins when it lands; otherwise grid snapping. Records the guides for the
|
|
1799
|
+
* overlay either way.
|
|
1800
|
+
*/
|
|
1801
|
+
private snapMoveDeltaFor;
|
|
1802
|
+
/**
|
|
1803
|
+
* Group move: the press-time union AABB of the members (each member's
|
|
1804
|
+
* current geometry at its press-time position; brush strokes excluded)
|
|
1805
|
+
* snaps to nearby shapes by its frame EDGES only — a multi-selection has
|
|
1806
|
+
* no centre line, like the reference. Falls back to the grid
|
|
1807
|
+
* reference-point snap.
|
|
1808
|
+
*/
|
|
1809
|
+
private snapGroupMoveDelta;
|
|
1810
|
+
/** Resize-delta counterpart of {@link snapMoveDeltaFor}; also sets `sizeMatch`. */
|
|
1811
|
+
private snapResizeDeltaFor;
|
|
1812
|
+
/** Publish the `W × H` readout for `bounds` when the preference is on. */
|
|
1813
|
+
private setSizeReadout;
|
|
1814
|
+
/** Alignment guides of the current gesture tick (object snapping). */
|
|
1815
|
+
get snapGuides(): readonly SnapGuide[];
|
|
1816
|
+
/** `W × H` readout of the shape being resized, when `showObjectSize` is on. */
|
|
1817
|
+
get sizeReadout(): SizeReadout | null;
|
|
1818
|
+
/** Bounds of the shape whose size the current resize matched, if any. */
|
|
1819
|
+
get sizeMatch(): SizeMatch | null;
|
|
1562
1820
|
/**
|
|
1563
1821
|
* Replace the entire scene (e.g. after `parseScene`). Clears history,
|
|
1564
1822
|
* selection and any open gesture. Use to load a saved document.
|
|
@@ -1583,6 +1841,17 @@ export declare class Editor {
|
|
|
1583
1841
|
*/
|
|
1584
1842
|
endPanGesture(): void;
|
|
1585
1843
|
isDrawingPhase(ctx: InteractionContext): boolean;
|
|
1844
|
+
/**
|
|
1845
|
+
* Context press (right-click / touch long-press): first make the selection
|
|
1846
|
+
* match what was pressed, then notify the `onLongPress` listeners so the
|
|
1847
|
+
* menu they open describes that point.
|
|
1848
|
+
* - On an unselected element / link → it becomes the selection.
|
|
1849
|
+
* - On a selected element (or its chrome: handles, rotate grip) → keep.
|
|
1850
|
+
* - On empty canvas → clear elements + links, so the menu is the canvas
|
|
1851
|
+
* menu rather than the previous selection's.
|
|
1852
|
+
*/
|
|
1853
|
+
private fireContextPress;
|
|
1854
|
+
private routeContextPress;
|
|
1586
1855
|
startLongPress(screenPoint: Vec2): void;
|
|
1587
1856
|
cancelLongPress(): void;
|
|
1588
1857
|
beginPinch(): void;
|
|
@@ -1648,6 +1917,21 @@ export declare class Editor {
|
|
|
1648
1917
|
* can't be moved or resized.
|
|
1649
1918
|
*/
|
|
1650
1919
|
toggleLockSelection(): void;
|
|
1920
|
+
/**
|
|
1921
|
+
* Topmost locked (own or inherited `locked`) shape at `worldPoint`, on a
|
|
1922
|
+
* visible, unlocked layer. Locked shapes are click-through for normal
|
|
1923
|
+
* interaction, so this is the dedicated lookup for affordances that must
|
|
1924
|
+
* still find them — the context menu's Unlock entry.
|
|
1925
|
+
*/
|
|
1926
|
+
lockedElementAt(worldPoint: Vec2): Element | null;
|
|
1927
|
+
/**
|
|
1928
|
+
* Clear the `locked` flag on the shape that carries it. When the flag
|
|
1929
|
+
* lives on an ancestor (group lock propagation), the closest locked
|
|
1930
|
+
* ancestor is unlocked instead, so the whole locked unit is released.
|
|
1931
|
+
* Selects the unlocked shape afterwards — the natural next step after
|
|
1932
|
+
* an unlock is editing it. One undo step.
|
|
1933
|
+
*/
|
|
1934
|
+
unlockElement(id: ElementId): void;
|
|
1651
1935
|
/**
|
|
1652
1936
|
* Promote a hit shape to the topmost ancestor whose group we have NOT
|
|
1653
1937
|
* "entered" yet. Only **`group`**-typed parents promote — containers
|
|
@@ -1736,7 +2020,7 @@ export declare class Editor {
|
|
|
1736
2020
|
* scene-identity. Scene operations replace `_scene` (immutable patches),
|
|
1737
2021
|
* so reference-equality is a sufficient invalidation signal.
|
|
1738
2022
|
*/
|
|
1739
|
-
acceleratedElementAt(worldPoint: Vec2): Element | undefined;
|
|
2023
|
+
acceleratedElementAt(worldPoint: Vec2, accept?: (shape: Element) => boolean): Element | undefined;
|
|
1740
2024
|
/**
|
|
1741
2025
|
* Build (or return the cached) `SpatialGrid` for the current scene.
|
|
1742
2026
|
* Re-built only when `_scene` reference changes — scene operations
|
|
@@ -1855,6 +2139,15 @@ export declare class Editor {
|
|
|
1855
2139
|
private applyRotate;
|
|
1856
2140
|
private applyGroupResize;
|
|
1857
2141
|
private applyResize;
|
|
2142
|
+
/** World AABB of `id` after a resize tick (null when the shape is gone). */
|
|
2143
|
+
private resizedBounds;
|
|
2144
|
+
/**
|
|
2145
|
+
* Snap freshly-drawn bounds onto the grid when snapping is active.
|
|
2146
|
+
* Shared by the live rubber-band preview and the final CREATE so the
|
|
2147
|
+
* preview shows exactly where the shape will land (parity with how
|
|
2148
|
+
* move / resize snap live during the gesture).
|
|
2149
|
+
*/
|
|
2150
|
+
snapCreateBoundsIfActive(bounds: Bounds): Bounds;
|
|
1858
2151
|
private applyCreate;
|
|
1859
2152
|
/** Generate the next "Frame N" name based on existing frames. */
|
|
1860
2153
|
private nextFrameName;
|
|
@@ -2054,6 +2347,13 @@ export declare class Editor {
|
|
|
2054
2347
|
* into a single render per frame.
|
|
2055
2348
|
*/
|
|
2056
2349
|
private renderRafId;
|
|
2350
|
+
/**
|
|
2351
|
+
* Set by {@link dispose}. Render scheduling bails out when set:
|
|
2352
|
+
* async completions (image decode, font load, wasm init) can resolve
|
|
2353
|
+
* after the host tears the editor down (e.g. a runtime backend
|
|
2354
|
+
* switch) and must not paint onto disposed render targets.
|
|
2355
|
+
*/
|
|
2356
|
+
private disposed;
|
|
2057
2357
|
/** Unsubscribe for the animation-content-ready listener (decode → re-render). */
|
|
2058
2358
|
private animationContentOff;
|
|
2059
2359
|
/**
|