@fieldnotes/core 0.62.0 → 0.63.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/README.md +706 -706
- package/dist/index.cjs +3726 -3588
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +198 -119
- package/dist/index.d.ts +198 -119
- package/dist/index.js +3723 -3588
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -711,6 +711,12 @@ interface ViewportOptions {
|
|
|
711
711
|
/** Show an overview minimap (bottom-right) with tap/drag-to-navigate. Default `false`. */
|
|
712
712
|
minimap?: boolean;
|
|
713
713
|
}
|
|
714
|
+
interface HitTestOptions {
|
|
715
|
+
/** Skip elements on locked layers. Default `true` (selection semantics). */
|
|
716
|
+
respectLayerLock?: boolean;
|
|
717
|
+
/** Applied inside the candidate walk; the topmost passing element wins. */
|
|
718
|
+
match?: (element: CanvasElement) => boolean;
|
|
719
|
+
}
|
|
714
720
|
declare class Viewport {
|
|
715
721
|
private readonly container;
|
|
716
722
|
readonly camera: Camera;
|
|
@@ -772,6 +778,15 @@ declare class Viewport {
|
|
|
772
778
|
fitToContent(padding?: number): void;
|
|
773
779
|
/** World-space rectangle currently visible through the canvas. */
|
|
774
780
|
getVisibleRect(): Bounds;
|
|
781
|
+
/**
|
|
782
|
+
* Topmost element at a world point, using the same geometry selection uses
|
|
783
|
+
* (rotation-aware, grid excluded, real stroke/line hit paths).
|
|
784
|
+
*
|
|
785
|
+
* `match` participates in the topmost-first walk rather than filtering the
|
|
786
|
+
* result, so a non-matching element on top does not swallow the hit.
|
|
787
|
+
* Invisible layers are never returned, in any mode.
|
|
788
|
+
*/
|
|
789
|
+
getElementAt(world: Point, options?: HitTestOptions): CanvasElement | null;
|
|
775
790
|
/**
|
|
776
791
|
* Size in CSS pixels of the canvas that `getVisibleRect()` measures.
|
|
777
792
|
* Exposed because `canvasEl` is private: consumers can only reach the
|
|
@@ -990,6 +1005,187 @@ declare class Viewport {
|
|
|
990
1005
|
private observeResize;
|
|
991
1006
|
}
|
|
992
1007
|
|
|
1008
|
+
/**
|
|
1009
|
+
* A viewport-size-independent camera view: the world rectangle to frame.
|
|
1010
|
+
* Restored by contain-fit, so the same view frames the same world content on
|
|
1011
|
+
* any screen size or aspect — a DM's saved zone looks right on a phone and a
|
|
1012
|
+
* TV. Center+zoom would NOT have this property.
|
|
1013
|
+
*/
|
|
1014
|
+
interface CameraView {
|
|
1015
|
+
x: number;
|
|
1016
|
+
y: number;
|
|
1017
|
+
w: number;
|
|
1018
|
+
h: number;
|
|
1019
|
+
}
|
|
1020
|
+
/** Captures the currently visible world rect. */
|
|
1021
|
+
declare function captureCameraView(viewport: {
|
|
1022
|
+
getVisibleRect(): {
|
|
1023
|
+
x: number;
|
|
1024
|
+
y: number;
|
|
1025
|
+
w: number;
|
|
1026
|
+
h: number;
|
|
1027
|
+
};
|
|
1028
|
+
}): CameraView;
|
|
1029
|
+
/**
|
|
1030
|
+
* Unclamped contain-fit zoom: the largest zoom at which the whole rect fits.
|
|
1031
|
+
* Contain, never crop — a view whose aspect differs from the canvas shows
|
|
1032
|
+
* extra world content on the short axis.
|
|
1033
|
+
*/
|
|
1034
|
+
declare function fitZoomForView(view: CameraView, canvasW: number, canvasH: number): number;
|
|
1035
|
+
/** Camera origin that centers `view` on the canvas at an already-decided zoom. */
|
|
1036
|
+
declare function cameraOriginForView(view: CameraView, zoom: number, canvasW: number, canvasH: number): Point;
|
|
1037
|
+
/**
|
|
1038
|
+
* Writes `view` to `camera`. No-ops on a zero canvas dimension (mount and
|
|
1039
|
+
* visibility races are legitimate); throws on an invalid view or on negative
|
|
1040
|
+
* or non-finite dimensions.
|
|
1041
|
+
*/
|
|
1042
|
+
declare function applyCameraView(camera: Camera, view: CameraView, canvasW: number, canvasH: number): void;
|
|
1043
|
+
|
|
1044
|
+
/** A scheduler and its matching canceller. Inseparable by construction. */
|
|
1045
|
+
interface FrameScheduler {
|
|
1046
|
+
requestFrame: (cb: () => void) => number;
|
|
1047
|
+
cancelFrame: (id: number) => void;
|
|
1048
|
+
}
|
|
1049
|
+
interface CameraAnimatorOptions {
|
|
1050
|
+
/** REQUIRED. `element` is used for input listeners only, never measurement. */
|
|
1051
|
+
getCanvasSize: () => {
|
|
1052
|
+
w: number;
|
|
1053
|
+
h: number;
|
|
1054
|
+
};
|
|
1055
|
+
durationMs?: number;
|
|
1056
|
+
easing?: (t: number) => number;
|
|
1057
|
+
interactive?: boolean;
|
|
1058
|
+
frames?: FrameScheduler;
|
|
1059
|
+
now?: () => number;
|
|
1060
|
+
}
|
|
1061
|
+
type CameraAnimationEndReason = 'complete' | 'cancelled' | 'superseded';
|
|
1062
|
+
/**
|
|
1063
|
+
* Animates a camera to a `CameraView`. Standalone controller in the
|
|
1064
|
+
* `PingInput`/`MinimapController` shape: the host owns construction and
|
|
1065
|
+
* disposal, and every timing dependency is injectable for deterministic tests.
|
|
1066
|
+
*/
|
|
1067
|
+
declare class CameraAnimator {
|
|
1068
|
+
private readonly camera;
|
|
1069
|
+
private readonly getCanvasSize;
|
|
1070
|
+
private readonly frames;
|
|
1071
|
+
private readonly now;
|
|
1072
|
+
private readonly durationMs;
|
|
1073
|
+
private readonly easing;
|
|
1074
|
+
private rafId;
|
|
1075
|
+
private from;
|
|
1076
|
+
private to;
|
|
1077
|
+
private startedAt;
|
|
1078
|
+
private endListeners;
|
|
1079
|
+
/**
|
|
1080
|
+
* Monotonic operation counter. `animateTo`/`jumpTo` claim a generation
|
|
1081
|
+
* before emitting 'superseded'; if an onEnd listener starts a newer
|
|
1082
|
+
* operation during that emit, the outer call sees a bumped counter and
|
|
1083
|
+
* bails instead of overwriting the nested animation's state. Without this,
|
|
1084
|
+
* the nested animation would run to completion having never reported an end
|
|
1085
|
+
* reason, breaking the exactly-one guarantee the spec makes.
|
|
1086
|
+
*/
|
|
1087
|
+
private generation;
|
|
1088
|
+
private lastWrite;
|
|
1089
|
+
private disposed;
|
|
1090
|
+
private detachListeners;
|
|
1091
|
+
constructor(element: HTMLElement, camera: Camera, options: CameraAnimatorOptions);
|
|
1092
|
+
get animating(): boolean;
|
|
1093
|
+
onEnd(listener: (reason: CameraAnimationEndReason) => void): () => void;
|
|
1094
|
+
animateTo(view: CameraView): void;
|
|
1095
|
+
jumpTo(view: CameraView): void;
|
|
1096
|
+
cancel(): void;
|
|
1097
|
+
/**
|
|
1098
|
+
* Terminal. Order is load-bearing: the flag is set BEFORE any listener runs,
|
|
1099
|
+
* because an onEnd listener can call animateTo during the disposal callback.
|
|
1100
|
+
* With the flag set last, that call would start a real animation which the
|
|
1101
|
+
* listener clear then silently discards — a second animation with no end
|
|
1102
|
+
* reason, breaking the exactly-one guarantee.
|
|
1103
|
+
*/
|
|
1104
|
+
dispose(): void;
|
|
1105
|
+
/**
|
|
1106
|
+
* Steps 1-3 of the public-call contract. Returns null when the caller must
|
|
1107
|
+
* stop, having already handled termination.
|
|
1108
|
+
*
|
|
1109
|
+
* The disposed check precedes validation deliberately: ordering it after
|
|
1110
|
+
* would make `disposed.animateTo(invalidView)` both required to throw and
|
|
1111
|
+
* required to stay silent. Disposal wins — a terminal animator is inert for
|
|
1112
|
+
* every input, and post-disposal calls are exactly the racy teardown paths
|
|
1113
|
+
* where a throw is least useful.
|
|
1114
|
+
*/
|
|
1115
|
+
private validateAndMeasure;
|
|
1116
|
+
private step;
|
|
1117
|
+
private recordWrite;
|
|
1118
|
+
private foreignWrite;
|
|
1119
|
+
/** Terminates an in-flight animation with `reason`. No-op when idle. */
|
|
1120
|
+
private end;
|
|
1121
|
+
private clearFrame;
|
|
1122
|
+
private emit;
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
/** World-space rect of a tracked element, plus the host key it matched under. */
|
|
1126
|
+
interface ElementRect {
|
|
1127
|
+
id: string;
|
|
1128
|
+
/** Opaque host key echoed back from `match`. Core never interprets it. */
|
|
1129
|
+
key: string;
|
|
1130
|
+
x: number;
|
|
1131
|
+
y: number;
|
|
1132
|
+
w: number;
|
|
1133
|
+
h: number;
|
|
1134
|
+
/** Radians, clockwise, about the rect centre. 0 when the element has none. */
|
|
1135
|
+
rotation: number;
|
|
1136
|
+
}
|
|
1137
|
+
/** Returns an opaque key to track the element, or `null` to skip it. */
|
|
1138
|
+
type ElementRectMatch = (element: CanvasElement) => string | null;
|
|
1139
|
+
type ElementRectMatchError = (error: unknown, element: CanvasElement) => void;
|
|
1140
|
+
/**
|
|
1141
|
+
* The tracker's per-frame computation, exported so consumers that need a
|
|
1142
|
+
* snapshot without a live tracker (e.g. a React `getSnapshot` before
|
|
1143
|
+
* subscription) cannot drift from these rules.
|
|
1144
|
+
*/
|
|
1145
|
+
declare function computeElementRects(store: ElementStore, match: ElementRectMatch, onError?: ElementRectMatchError): ElementRect[];
|
|
1146
|
+
/** Field-for-field comparison; `key` participates so identity changes emit. */
|
|
1147
|
+
declare function elementRectsEqual(a: readonly ElementRect[], b: readonly ElementRect[]): boolean;
|
|
1148
|
+
/** Narrow structural host: the tracker needs the element store and nothing else. */
|
|
1149
|
+
interface RectTrackerHost {
|
|
1150
|
+
store: ElementStore;
|
|
1151
|
+
}
|
|
1152
|
+
interface ElementRectTrackerOptions {
|
|
1153
|
+
match: ElementRectMatch;
|
|
1154
|
+
/** Inseparable request/cancel pair. Defaults to global rAF. */
|
|
1155
|
+
frames?: FrameScheduler;
|
|
1156
|
+
onError?: ElementRectMatchError;
|
|
1157
|
+
}
|
|
1158
|
+
/**
|
|
1159
|
+
* Tracks the world rects of a host-matched subset of elements.
|
|
1160
|
+
*
|
|
1161
|
+
* Deliberately store-only: it never subscribes to the camera, so pan and zoom
|
|
1162
|
+
* emit nothing and hosts that position content under a single camera transform
|
|
1163
|
+
* (the SDK's own domLayer technique) do no per-frame work.
|
|
1164
|
+
*/
|
|
1165
|
+
declare class ElementRectTracker {
|
|
1166
|
+
private readonly store;
|
|
1167
|
+
private readonly frames;
|
|
1168
|
+
private readonly onError?;
|
|
1169
|
+
private readonly listeners;
|
|
1170
|
+
private readonly unsubscribe;
|
|
1171
|
+
private match;
|
|
1172
|
+
private rects;
|
|
1173
|
+
private frameId;
|
|
1174
|
+
private disposed;
|
|
1175
|
+
constructor(host: RectTrackerHost, options: ElementRectTrackerOptions);
|
|
1176
|
+
onChange(listener: (rects: readonly ElementRect[]) => void): () => void;
|
|
1177
|
+
getRects(): readonly ElementRect[];
|
|
1178
|
+
/**
|
|
1179
|
+
* Replaces the matcher and forces a rescan — including when handed the same
|
|
1180
|
+
* reference, because callers legitimately pass one stable wrapper whose
|
|
1181
|
+
* behavior changes (see the React hook).
|
|
1182
|
+
*/
|
|
1183
|
+
setMatch(match: ElementRectMatch): void;
|
|
1184
|
+
dispose(): void;
|
|
1185
|
+
private schedule;
|
|
1186
|
+
private flush;
|
|
1187
|
+
}
|
|
1188
|
+
|
|
993
1189
|
interface LaserToolOptions {
|
|
994
1190
|
name?: string;
|
|
995
1191
|
color?: string;
|
|
@@ -1601,123 +1797,6 @@ declare class MinimapController {
|
|
|
1601
1797
|
private onPointerEnd;
|
|
1602
1798
|
}
|
|
1603
1799
|
|
|
1604
|
-
/**
|
|
1605
|
-
* A viewport-size-independent camera view: the world rectangle to frame.
|
|
1606
|
-
* Restored by contain-fit, so the same view frames the same world content on
|
|
1607
|
-
* any screen size or aspect — a DM's saved zone looks right on a phone and a
|
|
1608
|
-
* TV. Center+zoom would NOT have this property.
|
|
1609
|
-
*/
|
|
1610
|
-
interface CameraView {
|
|
1611
|
-
x: number;
|
|
1612
|
-
y: number;
|
|
1613
|
-
w: number;
|
|
1614
|
-
h: number;
|
|
1615
|
-
}
|
|
1616
|
-
/** Captures the currently visible world rect. */
|
|
1617
|
-
declare function captureCameraView(viewport: {
|
|
1618
|
-
getVisibleRect(): {
|
|
1619
|
-
x: number;
|
|
1620
|
-
y: number;
|
|
1621
|
-
w: number;
|
|
1622
|
-
h: number;
|
|
1623
|
-
};
|
|
1624
|
-
}): CameraView;
|
|
1625
|
-
/**
|
|
1626
|
-
* Unclamped contain-fit zoom: the largest zoom at which the whole rect fits.
|
|
1627
|
-
* Contain, never crop — a view whose aspect differs from the canvas shows
|
|
1628
|
-
* extra world content on the short axis.
|
|
1629
|
-
*/
|
|
1630
|
-
declare function fitZoomForView(view: CameraView, canvasW: number, canvasH: number): number;
|
|
1631
|
-
/** Camera origin that centers `view` on the canvas at an already-decided zoom. */
|
|
1632
|
-
declare function cameraOriginForView(view: CameraView, zoom: number, canvasW: number, canvasH: number): Point;
|
|
1633
|
-
/**
|
|
1634
|
-
* Writes `view` to `camera`. No-ops on a zero canvas dimension (mount and
|
|
1635
|
-
* visibility races are legitimate); throws on an invalid view or on negative
|
|
1636
|
-
* or non-finite dimensions.
|
|
1637
|
-
*/
|
|
1638
|
-
declare function applyCameraView(camera: Camera, view: CameraView, canvasW: number, canvasH: number): void;
|
|
1639
|
-
|
|
1640
|
-
/** A scheduler and its matching canceller. Inseparable by construction. */
|
|
1641
|
-
interface FrameScheduler {
|
|
1642
|
-
requestFrame: (cb: () => void) => number;
|
|
1643
|
-
cancelFrame: (id: number) => void;
|
|
1644
|
-
}
|
|
1645
|
-
interface CameraAnimatorOptions {
|
|
1646
|
-
/** REQUIRED. `element` is used for input listeners only, never measurement. */
|
|
1647
|
-
getCanvasSize: () => {
|
|
1648
|
-
w: number;
|
|
1649
|
-
h: number;
|
|
1650
|
-
};
|
|
1651
|
-
durationMs?: number;
|
|
1652
|
-
easing?: (t: number) => number;
|
|
1653
|
-
interactive?: boolean;
|
|
1654
|
-
frames?: FrameScheduler;
|
|
1655
|
-
now?: () => number;
|
|
1656
|
-
}
|
|
1657
|
-
type CameraAnimationEndReason = 'complete' | 'cancelled' | 'superseded';
|
|
1658
|
-
/**
|
|
1659
|
-
* Animates a camera to a `CameraView`. Standalone controller in the
|
|
1660
|
-
* `PingInput`/`MinimapController` shape: the host owns construction and
|
|
1661
|
-
* disposal, and every timing dependency is injectable for deterministic tests.
|
|
1662
|
-
*/
|
|
1663
|
-
declare class CameraAnimator {
|
|
1664
|
-
private readonly camera;
|
|
1665
|
-
private readonly getCanvasSize;
|
|
1666
|
-
private readonly frames;
|
|
1667
|
-
private readonly now;
|
|
1668
|
-
private readonly durationMs;
|
|
1669
|
-
private readonly easing;
|
|
1670
|
-
private rafId;
|
|
1671
|
-
private from;
|
|
1672
|
-
private to;
|
|
1673
|
-
private startedAt;
|
|
1674
|
-
private endListeners;
|
|
1675
|
-
/**
|
|
1676
|
-
* Monotonic operation counter. `animateTo`/`jumpTo` claim a generation
|
|
1677
|
-
* before emitting 'superseded'; if an onEnd listener starts a newer
|
|
1678
|
-
* operation during that emit, the outer call sees a bumped counter and
|
|
1679
|
-
* bails instead of overwriting the nested animation's state. Without this,
|
|
1680
|
-
* the nested animation would run to completion having never reported an end
|
|
1681
|
-
* reason, breaking the exactly-one guarantee the spec makes.
|
|
1682
|
-
*/
|
|
1683
|
-
private generation;
|
|
1684
|
-
private lastWrite;
|
|
1685
|
-
private disposed;
|
|
1686
|
-
private detachListeners;
|
|
1687
|
-
constructor(element: HTMLElement, camera: Camera, options: CameraAnimatorOptions);
|
|
1688
|
-
get animating(): boolean;
|
|
1689
|
-
onEnd(listener: (reason: CameraAnimationEndReason) => void): () => void;
|
|
1690
|
-
animateTo(view: CameraView): void;
|
|
1691
|
-
jumpTo(view: CameraView): void;
|
|
1692
|
-
cancel(): void;
|
|
1693
|
-
/**
|
|
1694
|
-
* Terminal. Order is load-bearing: the flag is set BEFORE any listener runs,
|
|
1695
|
-
* because an onEnd listener can call animateTo during the disposal callback.
|
|
1696
|
-
* With the flag set last, that call would start a real animation which the
|
|
1697
|
-
* listener clear then silently discards — a second animation with no end
|
|
1698
|
-
* reason, breaking the exactly-one guarantee.
|
|
1699
|
-
*/
|
|
1700
|
-
dispose(): void;
|
|
1701
|
-
/**
|
|
1702
|
-
* Steps 1-3 of the public-call contract. Returns null when the caller must
|
|
1703
|
-
* stop, having already handled termination.
|
|
1704
|
-
*
|
|
1705
|
-
* The disposed check precedes validation deliberately: ordering it after
|
|
1706
|
-
* would make `disposed.animateTo(invalidView)` both required to throw and
|
|
1707
|
-
* required to stay silent. Disposal wins — a terminal animator is inert for
|
|
1708
|
-
* every input, and post-disposal calls are exactly the racy teardown paths
|
|
1709
|
-
* where a throw is least useful.
|
|
1710
|
-
*/
|
|
1711
|
-
private validateAndMeasure;
|
|
1712
|
-
private step;
|
|
1713
|
-
private recordWrite;
|
|
1714
|
-
private foreignWrite;
|
|
1715
|
-
/** Terminates an in-flight animation with `reason`. No-op when idle. */
|
|
1716
|
-
private end;
|
|
1717
|
-
private clearFrame;
|
|
1718
|
-
private emit;
|
|
1719
|
-
}
|
|
1720
|
-
|
|
1721
1800
|
/**
|
|
1722
1801
|
* The wire shape of a focus-request presence payload. Focus is ephemeral by
|
|
1723
1802
|
* contract: presence frames only — never elements, undo history, persisted
|
|
@@ -2202,6 +2281,6 @@ declare class TemplateTool implements Tool {
|
|
|
2202
2281
|
private notifyOptionsChange;
|
|
2203
2282
|
}
|
|
2204
2283
|
|
|
2205
|
-
declare const VERSION = "0.
|
|
2284
|
+
declare const VERSION = "0.63.0";
|
|
2206
2285
|
|
|
2207
|
-
export { type ActivationOptions, type ActiveFormats, type AlignEdge, type ArrowElement, type ArrowStrokeStyle, ArrowTool, type ArrowToolOptions, AutoSave, type AutoSaveOptions, type BackgroundOptions, type BackgroundPattern, type Binding, type Bounds, Camera, type CameraAnimationEndReason, CameraAnimator, type CameraAnimatorOptions, type CameraChangeInfo, type CameraOptions, type CameraView, type CanvasElement, type CanvasState, type Command, DEFAULT_NOTE_FONT_SIZE, type DistributeAxis, type ElementActivationEvent, type ElementChangeMeta, ElementStore, type ElementStyle, type ElementType, type ElementUpdateEvent, EraserTool, type EraserToolOptions, type ExportAssetError, type ExportAssetErrorReason, type ExportImageOptions, type ExportResourceOptions, type ExportSvgOptions, FOCUS_PRESENCE_KIND, type FocusAudience, type FocusPresence, type FocusRole, type FontSizePreset, type FrameScheduler, type GridElement, type GridInfo, HandTool, type HexOrientation, HistoryStack, type HistoryStackOptions, type HtmlElement, type HtmlExportError, type HtmlExportErrorReason, type HtmlExportOptions, type HtmlExportRenderer, type HtmlPaintContext, type HtmlPaintDiagnostic, type HtmlPainter, HtmlPainterMissingError, HtmlPainterRegistry, type HtmlRenderTarget, type HtmlRouting, type ImageElement, ImageTool, type ImageToolOptions, IndexedDBAdapter, type IndexedDBAdapterOptions, LASER_TRAIL_PRESENCE_KIND, LaserTool, type LaserToolOptions, type LaserTrailEmission, type LaserTrailPresence, type Layer, LayerManager, LocalStorageAdapter, MEASURE_PRESENCE_KIND, type MeasureEmission, type MeasurePresence, MeasureTool, type MeasureToolOptions, type Measurement, MemoryAdapter, MinimapController, type MinimapControllerOptions, type NoteElement, NoteTool, type NoteToolOptions, type OverlayRenderer, PING_PRESENCE_KIND, PencilTool, type PencilToolOptions, type PingEmission, PingInput, type PingInputHost, type PingInputOptions, type PingPresence, PingTool, type PingToolOptions, type Point, type PointerState, RemoteFocusReceiver, type RemoteFocusReceiverHost, type RemoteFocusReceiverOptions, RemoteLaserOverlay, type RemoteLaserOverlayHost, type RemoteLaserOverlayOptions, RemoteMeasureOverlay, type RemoteMeasureOverlayHost, type RemoteMeasureOverlayOptions, RemotePingOverlay, type RemotePingOverlayHost, type RemotePingOverlayOptions, type RenderStatsSnapshot, type RotateDirection, SelectTool, type SelectionStyleDetails, type ShapeElement, type ShapeKind, ShapeTool, type ShapeToolOptions, type ShortcutBindings, type ShortcutOptions, type ShortcutsApi, type Size, type StorageAdapter, type StrokeElement, type StrokePoint, type TemplateElement, type TemplateRenderStyle, type TemplateShape, TemplateTool, type TemplateToolOptions, type TextElement, TextTool, type TextToolOptions, type Tool, type ToolContext, ToolManager, type ToolName, VERSION, Viewport, type ViewportOptions, applyCameraView, boundsIntersect, cameraOriginForView, captureCameraView, createArrow, createGrid, createHtmlElement, createImage, createNote, createShape, createStroke, createTemplate, createText, drawHexPath, exportImage, exportSvg, fitZoomForView, getActiveFormats, getArrowBounds, getArrowControlPoint, getArrowMidpoint, getArrowTangentAngle, getBendFromPoint, getElementBounds, getElementStyle, getElementsBoundingBox, getHexCellsInCone, getHexCellsInLine, getHexCellsInRadius, getHexCellsInRectangle, getHexCellsInSquare, getHexDistance, isFocusPresence, isLaserTrailPresence, isMeasurePresence, isNearBezier, isPingPresence, resolveHtmlRouting, setFontSize, smartSnap, snapPoint, snapToHexCenter, styleToPatch, toFocusPresence, toLaserTrailPresence, toMeasurePresence, toPingPresence, toggleBold, toggleItalic, toggleStrikethrough, toggleUnderline };
|
|
2286
|
+
export { type ActivationOptions, type ActiveFormats, type AlignEdge, type ArrowElement, type ArrowStrokeStyle, ArrowTool, type ArrowToolOptions, AutoSave, type AutoSaveOptions, type BackgroundOptions, type BackgroundPattern, type Binding, type Bounds, Camera, type CameraAnimationEndReason, CameraAnimator, type CameraAnimatorOptions, type CameraChangeInfo, type CameraOptions, type CameraView, type CanvasElement, type CanvasState, type Command, DEFAULT_NOTE_FONT_SIZE, type DistributeAxis, type ElementActivationEvent, type ElementChangeMeta, type ElementRect, type ElementRectMatch, type ElementRectMatchError, ElementRectTracker, type ElementRectTrackerOptions, ElementStore, type ElementStyle, type ElementType, type ElementUpdateEvent, EraserTool, type EraserToolOptions, type ExportAssetError, type ExportAssetErrorReason, type ExportImageOptions, type ExportResourceOptions, type ExportSvgOptions, FOCUS_PRESENCE_KIND, type FocusAudience, type FocusPresence, type FocusRole, type FontSizePreset, type FrameScheduler, type GridElement, type GridInfo, HandTool, type HexOrientation, HistoryStack, type HistoryStackOptions, type HitTestOptions, type HtmlElement, type HtmlExportError, type HtmlExportErrorReason, type HtmlExportOptions, type HtmlExportRenderer, type HtmlPaintContext, type HtmlPaintDiagnostic, type HtmlPainter, HtmlPainterMissingError, HtmlPainterRegistry, type HtmlRenderTarget, type HtmlRouting, type ImageElement, ImageTool, type ImageToolOptions, IndexedDBAdapter, type IndexedDBAdapterOptions, LASER_TRAIL_PRESENCE_KIND, LaserTool, type LaserToolOptions, type LaserTrailEmission, type LaserTrailPresence, type Layer, LayerManager, LocalStorageAdapter, MEASURE_PRESENCE_KIND, type MeasureEmission, type MeasurePresence, MeasureTool, type MeasureToolOptions, type Measurement, MemoryAdapter, MinimapController, type MinimapControllerOptions, type NoteElement, NoteTool, type NoteToolOptions, type OverlayRenderer, PING_PRESENCE_KIND, PencilTool, type PencilToolOptions, type PingEmission, PingInput, type PingInputHost, type PingInputOptions, type PingPresence, PingTool, type PingToolOptions, type Point, type PointerState, type RectTrackerHost, RemoteFocusReceiver, type RemoteFocusReceiverHost, type RemoteFocusReceiverOptions, RemoteLaserOverlay, type RemoteLaserOverlayHost, type RemoteLaserOverlayOptions, RemoteMeasureOverlay, type RemoteMeasureOverlayHost, type RemoteMeasureOverlayOptions, RemotePingOverlay, type RemotePingOverlayHost, type RemotePingOverlayOptions, type RenderStatsSnapshot, type RotateDirection, SelectTool, type SelectionStyleDetails, type ShapeElement, type ShapeKind, ShapeTool, type ShapeToolOptions, type ShortcutBindings, type ShortcutOptions, type ShortcutsApi, type Size, type StorageAdapter, type StrokeElement, type StrokePoint, type TemplateElement, type TemplateRenderStyle, type TemplateShape, TemplateTool, type TemplateToolOptions, type TextElement, TextTool, type TextToolOptions, type Tool, type ToolContext, ToolManager, type ToolName, VERSION, Viewport, type ViewportOptions, applyCameraView, boundsIntersect, cameraOriginForView, captureCameraView, computeElementRects, createArrow, createGrid, createHtmlElement, createImage, createNote, createShape, createStroke, createTemplate, createText, drawHexPath, elementRectsEqual, exportImage, exportSvg, fitZoomForView, getActiveFormats, getArrowBounds, getArrowControlPoint, getArrowMidpoint, getArrowTangentAngle, getBendFromPoint, getElementBounds, getElementStyle, getElementsBoundingBox, getHexCellsInCone, getHexCellsInLine, getHexCellsInRadius, getHexCellsInRectangle, getHexCellsInSquare, getHexDistance, isFocusPresence, isLaserTrailPresence, isMeasurePresence, isNearBezier, isPingPresence, resolveHtmlRouting, setFontSize, smartSnap, snapPoint, snapToHexCenter, styleToPatch, toFocusPresence, toLaserTrailPresence, toMeasurePresence, toPingPresence, toggleBold, toggleItalic, toggleStrikethrough, toggleUnderline };
|