@scrawl-board/board 0.1.0-beta.0 → 0.1.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.d.ts +49 -7
- package/dist/browser.js +250 -99
- package/dist/core.d.ts +96 -25
- package/dist/core.js +63 -23
- package/dist/index.d.ts +118 -30
- package/dist/index.js +335 -111
- package/dist/react.d.ts +95 -7
- package/dist/react.js +326 -110
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,12 @@ declare function strokeId(value: string): StrokeId;
|
|
|
14
14
|
|
|
15
15
|
/** Wire grammar: `asset:<namespace>:<opaque-id>`. Interpreted only by the Host. */
|
|
16
16
|
type AssetRef = string;
|
|
17
|
+
declare const ASSET_REF_PATTERN: RegExp;
|
|
18
|
+
/** Hard ceiling on a reference's own wire length — independent of any resource limit below. */
|
|
19
|
+
declare const ASSET_REF_MAX_BYTES = 512;
|
|
20
|
+
declare function isAssetRef(value: unknown): value is AssetRef;
|
|
21
|
+
/** Throws on malformed input; use `isAssetRef` where a boolean is wanted instead. */
|
|
22
|
+
declare function assetRef(value: string): AssetRef;
|
|
17
23
|
type AssetKind = "image";
|
|
18
24
|
type AssetPurpose = "render" | "thumbnail" | "export";
|
|
19
25
|
interface AssetResolveRequest {
|
|
@@ -55,6 +61,12 @@ interface AssetIngestor {
|
|
|
55
61
|
ingest(request: AssetIngestRequest): Promise<AssetIngestResult>;
|
|
56
62
|
}
|
|
57
63
|
type AssetResolutionErrorCode = "resolver-unavailable" | "not-found" | "forbidden" | "offline" | "unsupported-type" | "too-large" | "invalid-content" | "decode-failed" | "budget-exceeded" | "aborted" | "unknown";
|
|
64
|
+
declare class AssetResolutionError extends Error {
|
|
65
|
+
readonly code: AssetResolutionErrorCode;
|
|
66
|
+
readonly retryable: boolean;
|
|
67
|
+
readonly ref?: AssetRef | undefined;
|
|
68
|
+
constructor(code: AssetResolutionErrorCode, retryable: boolean, message: string, ref?: AssetRef | undefined);
|
|
69
|
+
}
|
|
58
70
|
/** Runtime event for a resolution/ingestion failure — never carries credentials or a fetchable location. */
|
|
59
71
|
interface AssetDiagnostic {
|
|
60
72
|
code: AssetResolutionErrorCode;
|
|
@@ -63,6 +75,18 @@ interface AssetDiagnostic {
|
|
|
63
75
|
objectKind: "image" | "custom";
|
|
64
76
|
retryable: boolean;
|
|
65
77
|
}
|
|
78
|
+
declare const ASSET_MAX_ENCODED_BYTES: number;
|
|
79
|
+
declare const ASSET_MAX_DIMENSION_PX = 8192;
|
|
80
|
+
declare const ASSET_MAX_DECODED_MEGAPIXELS = 40;
|
|
81
|
+
declare const ASSET_MAX_CONCURRENT_RESOLUTIONS = 6;
|
|
82
|
+
declare const ASSET_CACHE_BYTES_DEFAULT: number;
|
|
83
|
+
declare const ASSET_CACHE_BYTES_MIN: number;
|
|
84
|
+
declare const ASSET_CACHE_BYTES_MAX: number;
|
|
85
|
+
declare const ASSET_EXPORT_MAX_ENCODED_BYTES: number;
|
|
86
|
+
declare const ASSET_EXPORT_MAX_DECODED_MEGAPIXELS = 100;
|
|
87
|
+
declare const SUPPORTED_ASSET_MEDIA_TYPES: readonly ["image/png", "image/jpeg", "image/webp"];
|
|
88
|
+
type SupportedAssetMediaType = (typeof SUPPORTED_ASSET_MEDIA_TYPES)[number];
|
|
89
|
+
declare function clampAssetCacheBytes(value: number | undefined): number;
|
|
66
90
|
|
|
67
91
|
type Mat2x3 = [number, number, number, number, number, number];
|
|
68
92
|
declare const IDENTITY: Mat2x3;
|
|
@@ -121,6 +145,7 @@ interface CustomBoardObject {
|
|
|
121
145
|
};
|
|
122
146
|
props: JsonValue;
|
|
123
147
|
}
|
|
148
|
+
declare function cloneCustomObject(object: CustomBoardObject): CustomBoardObject;
|
|
124
149
|
/**
|
|
125
150
|
* The read-only view handed to `describe`. Deep-readonly by construction
|
|
126
151
|
* (not derived via a shallow `Readonly<>`) because `describe` must treat its
|
|
@@ -158,7 +183,7 @@ interface CustomObjectDefinition<Props extends JsonValue = JsonValue> {
|
|
|
158
183
|
parse(input: unknown, schemaVersion: number): Props;
|
|
159
184
|
/** One pure, synchronous step per consecutive schema version. */
|
|
160
185
|
migrate?: Readonly<Record<number, (oldProps: JsonValue) => JsonValue>>;
|
|
161
|
-
describe(object: ReadonlyCustomObject<Props>, context: ObjectDescribeContext): BoardScene
|
|
186
|
+
describe(object: ReadonlyCustomObject<Props>, context: ObjectDescribeContext): BoardScene;
|
|
162
187
|
}
|
|
163
188
|
interface SceneNodeBase {
|
|
164
189
|
key: string;
|
|
@@ -190,9 +215,9 @@ interface SceneText extends SceneNodeBase {
|
|
|
190
215
|
}
|
|
191
216
|
interface SceneGroup extends SceneNodeBase {
|
|
192
217
|
kind: "group";
|
|
193
|
-
children: readonly BoardScene
|
|
218
|
+
children: readonly BoardScene[];
|
|
194
219
|
}
|
|
195
|
-
interface ScenePath
|
|
220
|
+
interface ScenePath extends SceneNodeBase {
|
|
196
221
|
kind: "path";
|
|
197
222
|
/** SVG-style path data, board-local coordinates. */
|
|
198
223
|
d: string;
|
|
@@ -225,7 +250,7 @@ interface SceneEllipse extends SceneNodeBase {
|
|
|
225
250
|
stroke?: string;
|
|
226
251
|
strokeWidth?: number;
|
|
227
252
|
}
|
|
228
|
-
type BoardScene
|
|
253
|
+
type BoardScene = SceneGroup | ScenePath | SceneText | SceneImage | SceneRect | SceneEllipse;
|
|
229
254
|
type ToolCursor = "default" | "crosshair" | "pointer" | "grab" | "grabbing" | "text";
|
|
230
255
|
type ToolCancelReason = "escape-key" | "tool-switched" | "pointer-lost" | "error";
|
|
231
256
|
interface InputModifiers {
|
|
@@ -321,7 +346,7 @@ interface ToolCapabilities {
|
|
|
321
346
|
};
|
|
322
347
|
/** Session-only geometry — never enters Document/history/persistence/collaboration. */
|
|
323
348
|
preview: {
|
|
324
|
-
set(scene: BoardScene
|
|
349
|
+
set(scene: BoardScene): void;
|
|
325
350
|
clear(): void;
|
|
326
351
|
};
|
|
327
352
|
/** Constructs, validates, and commits one atomic command; controller derives Ops. */
|
|
@@ -550,7 +575,6 @@ declare function measureTable(table: TableBlock): {
|
|
|
550
575
|
width: number;
|
|
551
576
|
height: number;
|
|
552
577
|
};
|
|
553
|
-
declare const BOARD_COLOR = "#FFFFFF";
|
|
554
578
|
declare const FOG_COLOR = "#FFFFFF";
|
|
555
579
|
/**
|
|
556
580
|
* An imported image block on the board plane.
|
|
@@ -1109,6 +1133,11 @@ interface ExtensionRegistry {
|
|
|
1109
1133
|
* isn't in it), Custom objects still export via the standard fallback
|
|
1110
1134
|
* placeholder (`fallback.bounds`/`label`), never silently dropped.
|
|
1111
1135
|
*
|
|
1136
|
+
* `backgroundColor` should be the Host's actual resolved `boardTheme.surface`
|
|
1137
|
+
* so an export matches what was on screen; defaults to the theme system's
|
|
1138
|
+
* own light-preset default when the caller doesn't have one on hand. The
|
|
1139
|
+
* board's reference grid, if any, is a screen-only aid and never exported.
|
|
1140
|
+
*
|
|
1112
1141
|
* `resolvedAssets` (ticket #23) maps an Asset reference to an already-
|
|
1113
1142
|
* resolved `data:` URI — see `assetExport.ts`'s `exportDocumentSVGWithAssets`,
|
|
1114
1143
|
* which is the only intended caller that ever passes one. Without it, every
|
|
@@ -1116,27 +1145,11 @@ interface ExtensionRegistry {
|
|
|
1116
1145
|
* placeholder instead of guessing at a URL; a legacy `src`-backed image is
|
|
1117
1146
|
* unaffected either way.
|
|
1118
1147
|
*/
|
|
1119
|
-
declare function documentToSVG(doc: SerializedDocument, now?: number, registry?: ExtensionRegistry, resolvedAssets?: ReadonlyMap<AssetRef, string>): string;
|
|
1148
|
+
declare function documentToSVG(doc: SerializedDocument, now?: number, registry?: ExtensionRegistry, backgroundColor?: string, resolvedAssets?: ReadonlyMap<AssetRef, string>): string;
|
|
1120
1149
|
|
|
1121
1150
|
declare const SDK_PACKAGE_NAME = "@scrawl-board/board";
|
|
1122
1151
|
declare const SDK_DEVELOPMENT_VERSION = "0.0.0-development";
|
|
1123
1152
|
|
|
1124
|
-
type BoardBounds = {
|
|
1125
|
-
minX: number;
|
|
1126
|
-
minY: number;
|
|
1127
|
-
maxX: number;
|
|
1128
|
-
maxY: number;
|
|
1129
|
-
};
|
|
1130
|
-
type ScenePath = {
|
|
1131
|
-
id: string;
|
|
1132
|
-
color: string;
|
|
1133
|
-
width: number;
|
|
1134
|
-
points: readonly BoardPoint[];
|
|
1135
|
-
};
|
|
1136
|
-
type BoardScene = {
|
|
1137
|
-
bounds: BoardBounds;
|
|
1138
|
-
paths: readonly ScenePath[];
|
|
1139
|
-
};
|
|
1140
1153
|
type BoardStroke = Stroke;
|
|
1141
1154
|
type SerializedBoardStroke = SerializedStroke;
|
|
1142
1155
|
type SerializedBoardDocument = CurrentSerializedDocument;
|
|
@@ -1292,6 +1305,27 @@ interface BoardView {
|
|
|
1292
1305
|
y: number;
|
|
1293
1306
|
zoom: number;
|
|
1294
1307
|
}
|
|
1308
|
+
/**
|
|
1309
|
+
* The rendered board surface's color, reference grid, and shape stroke
|
|
1310
|
+
* width — the subset of {@link ScrawlTheme} that reaches the rendering
|
|
1311
|
+
* engine directly (everything else is UI-chrome-only, applied as CSS). Any
|
|
1312
|
+
* field left unset keeps its current value.
|
|
1313
|
+
*/
|
|
1314
|
+
interface BoardThemeOptions {
|
|
1315
|
+
/** The board/canvas background color — distinct from UI chrome panels. */
|
|
1316
|
+
surface?: string;
|
|
1317
|
+
/** `"flat"` (default): a plain, uniform board surface. `"textured"`: a subtle "melamine" micro-noise + satin sheen, like a physical whiteboard. */
|
|
1318
|
+
surfaceTexture?: "flat" | "textured";
|
|
1319
|
+
/** `"none"` (default) keeps the board a plain surface; `"line"`/`"dot"` draw a zoom-adaptive reference grid. */
|
|
1320
|
+
gridMode?: "none" | "line" | "dot";
|
|
1321
|
+
gridColor?: string;
|
|
1322
|
+
/** Grid spacing in board units at 100% zoom. Ignored when `gridMode` is `"none"`. */
|
|
1323
|
+
gridSpacing?: number;
|
|
1324
|
+
/** On-screen grid line/dot width in CSS pixels — stays this width at any zoom, since the grid is a reference aid, not content. */
|
|
1325
|
+
gridLineWidth?: number;
|
|
1326
|
+
/** Shape (rectangle, ellipse, arrow, ...) border width, in board units — scales with zoom like ink, since it's part of the drawn content. */
|
|
1327
|
+
shapeStrokeWidth?: number;
|
|
1328
|
+
}
|
|
1295
1329
|
/**
|
|
1296
1330
|
* A Host-owned comment, summarized for Board-side search and marker
|
|
1297
1331
|
* rendering. Comments are not Document content — they carry no undo
|
|
@@ -1483,22 +1517,26 @@ interface CreateBoardControllerOptions {
|
|
|
1483
1517
|
* Trusted Custom tool/object registrations (ticket #22, design:
|
|
1484
1518
|
* docs/research/extension-contracts.md). Validated atomically at
|
|
1485
1519
|
* construction; registration failure throws before any controller is
|
|
1486
|
-
* returned.
|
|
1487
|
-
* internal-only until the reference Extension proves the seam.
|
|
1520
|
+
* returned.
|
|
1488
1521
|
*/
|
|
1489
1522
|
extensions?: readonly ScrawlExtension[];
|
|
1490
1523
|
/**
|
|
1491
1524
|
* Optional Host-managed Asset capabilities (ticket #23, design:
|
|
1492
1525
|
* docs/research/asset-resolution-resource-policy.md). Without a
|
|
1493
1526
|
* resolver, referenced Assets preserve their Document geometry and
|
|
1494
|
-
* render an accessible placeholder.
|
|
1495
|
-
* package entry point — internal-only until the reference resolver
|
|
1496
|
-
* proves the seam, matching how `extensions` is scoped.
|
|
1527
|
+
* render an accessible placeholder.
|
|
1497
1528
|
*/
|
|
1498
1529
|
assetResolver?: AssetResolver;
|
|
1499
1530
|
assetIngestor?: AssetIngestor;
|
|
1500
1531
|
/** Clamped to 64–512MiB; defaults to 256MiB. */
|
|
1501
1532
|
assetCacheBytes?: number;
|
|
1533
|
+
/**
|
|
1534
|
+
* The rendered board surface's color and reference grid. Defaults to the
|
|
1535
|
+
* light theme preset's values; `<Scrawl>` keeps this current across theme
|
|
1536
|
+
* changes via `boardTheme.set` below — a headless/browser-tier Host that
|
|
1537
|
+
* doesn't use the React theme system can set this directly instead.
|
|
1538
|
+
*/
|
|
1539
|
+
boardTheme?: BoardThemeOptions;
|
|
1502
1540
|
}
|
|
1503
1541
|
interface BoardController {
|
|
1504
1542
|
readonly document: ReadonlyBoardDocument;
|
|
@@ -1524,6 +1562,10 @@ interface BoardController {
|
|
|
1524
1562
|
undo(): void;
|
|
1525
1563
|
redo(): void;
|
|
1526
1564
|
};
|
|
1565
|
+
readonly boardTheme: {
|
|
1566
|
+
/** Live update of the board surface color/grid/shape-stroke-width — the controller's identity stays fixed across theme changes. */
|
|
1567
|
+
set(theme: BoardThemeOptions): void;
|
|
1568
|
+
};
|
|
1527
1569
|
readonly view: {
|
|
1528
1570
|
fit(): void;
|
|
1529
1571
|
zoomTo(value: number): void;
|
|
@@ -1626,30 +1668,76 @@ declare function createLocalBoard(options: LocalBoardOptions): LocalBoard;
|
|
|
1626
1668
|
|
|
1627
1669
|
type ScrawlThemePreset = "light" | "dark";
|
|
1628
1670
|
type ScrawlDensity = "comfortable" | "compact";
|
|
1671
|
+
type ScrawlGridMode = "none" | "line" | "dot";
|
|
1672
|
+
type ScrawlSurfaceTexture = "flat" | "textured";
|
|
1673
|
+
/**
|
|
1674
|
+
* Every field is optional — anything you don't set falls back to the
|
|
1675
|
+
* chosen `preset` ("light" or "dark", see {@link resolveScrawlTheme}).
|
|
1676
|
+
* Overrides are semantic, board-local runtime configuration: they never
|
|
1677
|
+
* get written into the Document or into exports, so switching themes is
|
|
1678
|
+
* always non-destructive.
|
|
1679
|
+
*/
|
|
1629
1680
|
interface ScrawlTheme {
|
|
1681
|
+
/** UI chrome background — toolbar/panel base surface. Distinct from `boardSurface` (the canvas itself). */
|
|
1630
1682
|
surface?: string;
|
|
1683
|
+
/** UI chrome background, one step up from `surface` — popovers, dropdowns, elevated panels. */
|
|
1631
1684
|
surfaceRaised?: string;
|
|
1685
|
+
/** UI chrome background, one step down from `surface` — subtle fills, hover states. */
|
|
1632
1686
|
surfaceMuted?: string;
|
|
1687
|
+
/** Primary UI text color. Checked for contrast against `surface`. */
|
|
1633
1688
|
text?: string;
|
|
1689
|
+
/** Secondary/de-emphasized UI text color. Checked for contrast against `surface`. */
|
|
1634
1690
|
textMuted?: string;
|
|
1691
|
+
/** Borders and dividers between UI chrome elements. */
|
|
1635
1692
|
edge?: string;
|
|
1693
|
+
/** Focus ring color. Checked for contrast against `surface`. */
|
|
1636
1694
|
focus?: string;
|
|
1695
|
+
/** Selection highlight color (e.g. selected list items, not board object selection). */
|
|
1637
1696
|
selection?: string;
|
|
1697
|
+
/** Destructive/error state color (delete confirmations, error text). */
|
|
1638
1698
|
danger?: string;
|
|
1699
|
+
/** Warning state color. */
|
|
1639
1700
|
warning?: string;
|
|
1701
|
+
/** Success/confirmation state color. */
|
|
1640
1702
|
success?: string;
|
|
1703
|
+
/** Font stack for UI chrome (toolbar labels, menus, dialogs). */
|
|
1641
1704
|
uiFontFamily?: string;
|
|
1705
|
+
/** Font stack for board content and data (e.g. table cell text). */
|
|
1642
1706
|
dataFontFamily?: string;
|
|
1707
|
+
/** Base UI font size in px. Range: 12–24. */
|
|
1643
1708
|
baseFontSize?: number;
|
|
1709
|
+
/** Regular UI font weight. Range: 300–900. */
|
|
1644
1710
|
regularWeight?: number;
|
|
1711
|
+
/** Emphasized UI font weight (headings, active states). Range: 300–900. */
|
|
1645
1712
|
strongWeight?: number;
|
|
1713
|
+
/** Corner radius for small controls (buttons, inputs) in px. Range: 0–32. */
|
|
1646
1714
|
controlRadius?: number;
|
|
1715
|
+
/** Corner radius for panels/dialogs in px. Range: 0–32. */
|
|
1647
1716
|
panelRadius?: number;
|
|
1717
|
+
/** CSS `box-shadow` value for subtle elevation (e.g. toolbar). */
|
|
1648
1718
|
elevationLow?: string;
|
|
1719
|
+
/** CSS `box-shadow` value for prominent elevation (e.g. modals). */
|
|
1649
1720
|
elevationHigh?: string;
|
|
1721
|
+
/** UI transition duration in ms. Range: 0–500. */
|
|
1650
1722
|
motionDuration?: number;
|
|
1723
|
+
/** CSS easing function for UI transitions. */
|
|
1651
1724
|
motionEasing?: string;
|
|
1725
|
+
/** UI chrome spacing/sizing scale. */
|
|
1652
1726
|
density?: ScrawlDensity;
|
|
1727
|
+
/** The rendered board/canvas surface color — distinct from `surface` (UI chrome panels). */
|
|
1728
|
+
boardSurface?: string;
|
|
1729
|
+
/** `"flat"` (default): a plain, uniform board surface. `"textured"`: a subtle "melamine" micro-noise + satin sheen, like a physical whiteboard. */
|
|
1730
|
+
boardSurfaceTexture?: ScrawlSurfaceTexture;
|
|
1731
|
+
/** `"none"` (default) keeps the board a plain surface; `"line"`/`"dot"` draw a zoom-adaptive reference grid. */
|
|
1732
|
+
gridMode?: ScrawlGridMode;
|
|
1733
|
+
/** Grid line/dot color. Ignored when `gridMode` is `"none"`. */
|
|
1734
|
+
gridColor?: string;
|
|
1735
|
+
/** Grid spacing in board units at 100% zoom. Ignored when `gridMode` is `"none"`. */
|
|
1736
|
+
gridSpacing?: number;
|
|
1737
|
+
/** On-screen grid line/dot width in CSS pixels. Range: 0.5–8. A reference aid, so unlike shape/ink strokes it stays this width at any zoom. */
|
|
1738
|
+
gridLineWidth?: number;
|
|
1739
|
+
/** Shape (rectangle, ellipse, arrow, ...) border width, in board units. Range: 0.01–5. Scales with zoom like ink, since it's part of the drawn content. */
|
|
1740
|
+
shapeStrokeWidth?: number;
|
|
1653
1741
|
}
|
|
1654
1742
|
type ResolvedScrawlTheme = Required<ScrawlTheme>;
|
|
1655
1743
|
interface ScrawlThemeDiagnostic {
|
|
@@ -1793,5 +1881,5 @@ type ScrawlBoardProps = {
|
|
|
1793
1881
|
};
|
|
1794
1882
|
declare function ScrawlBoard({ documentId, initialDocument, onReady, className, style }: ScrawlBoardProps): react.JSX.Element;
|
|
1795
1883
|
|
|
1796
|
-
export { AddImageCommand, AddNoteCommand, AddStrokesCommand, AddTableCommand, AddTextCommand, AddTimerCommand,
|
|
1797
|
-
export type { ApplyOpsResult,
|
|
1884
|
+
export { ASSET_CACHE_BYTES_DEFAULT, ASSET_CACHE_BYTES_MAX, ASSET_CACHE_BYTES_MIN, ASSET_EXPORT_MAX_DECODED_MEGAPIXELS, ASSET_EXPORT_MAX_ENCODED_BYTES, ASSET_MAX_CONCURRENT_RESOLUTIONS, ASSET_MAX_DECODED_MEGAPIXELS, ASSET_MAX_DIMENSION_PX, ASSET_MAX_ENCODED_BYTES, ASSET_REF_MAX_BYTES, ASSET_REF_PATTERN, AddImageCommand, AddNoteCommand, AddStrokesCommand, AddTableCommand, AddTextCommand, AddTimerCommand, AssetResolutionError, BEACON_INSET, BoardDocument, CURRENT_DOCUMENT_SCHEMA_VERSION, ClusterStore, DefaultBoardChrome, DeleteImageCommand, DeleteNoteCommand, DeleteStrokesCommand, DeleteTableCommand, DeleteTextCommand, DeleteTimerCommand, DocumentRecoveryError, END_TAPER, ERASE_THRESHOLD, EraseCommand, FOG_COLOR, HIGHLIGHT_COLORS, History, IDENTITY, INK_COLORS, InlineEditors, LockItemsCommand, MIN_WIDTH_FACTOR, MultiplayerCursors, NOTE_COLORS, NOTE_DEFAULT_SIZE, NOTE_DEFAULT_Z, NOTE_MAX_Z, NOTE_MIN_Z, NOTE_PEEL_STEP, SDK_DEVELOPMENT_VERSION, SDK_PACKAGE_NAME, STAMPS, STAMP_SIZE, SUPPORTED_ASSET_MEDIA_TYPES, Scrawl, ScrawlBoard, ScrawlCanvas, ScrawlDefaultUI, ScrawlPortal, ScrawlProvider, SpatialIndex, StyleShelf, TABLE_DEFAULT_CELL_HEIGHT, TABLE_DEFAULT_CELL_WIDTH, TABLE_DEFAULT_FONT_SIZE, TEXT_DEFAULT_SIZE, TIMER_DEFAULT_DURATION_MS, TIMER_DEFAULT_SIZE, TIMER_PRESETS_MS, TransformCommand, UpdateImageCommand, UpdateNoteCommand, UpdateTableCommand, UpdateTextCommand, UpdateTimerCommand, apply, applyItemLock, assetRef, avgScale, canUnlockItem, changeToOps, clampAssetCacheBytes, cloneCustomObject, cloneImage, cloneNote, cloneStroke, cloneTable, cloneText, cloneTimer, createBoardController, createLocalBoard, documentId, documentToSVG, formatTimer, invert, isAssetRef, isIdentity, isStampKind, loadDocumentBytes, measureTable, measureTextBlock, migrateDocument, mul, pauseTimer, placePresenceBeacon, resolveScrawlTheme, ribbonEdges, rotationAbout, scalingAbout, scrawlThemePresets, searchBoard, serializeDocument, serializeLock, serializeStroke, setTimerDuration, stampDataUrl, startTimer, strokeId, timerExpired, timerRemaining, toggleTimer, translation, useScrawlController, useScrawlSnapshot, useScrawlTheme, validateScrawlTheme };
|
|
1885
|
+
export type { ApplyOpsResult, AssetDiagnostic, AssetIngestRequest, AssetIngestResult, AssetIngestor, AssetKind, AssetPurpose, AssetRef, AssetResolutionErrorCode, AssetResolveRequest, AssetResolveResult, AssetResolver, BBox, BoardController, BoardControllerError, BoardEventMap, BoardKeyInput, BoardObject, BoardObjectInput, BoardObjectPatch, BoardPoint, BoardPointerInput, BoardScene, BoardSlotProps, BoardSnapshot, BoardStroke, BoardStyle, BoardThemeOptions, BoardView, BuiltInTool, ClusterIdFactory, CollaborationAdapter, CollaborationReceiver, CollaborationSession, CollaborationSnapshot, CollaboratorIdentity, Command, CommandKind, CommentMarker, ControllerOp, CreateBoardControllerOptions, CurrentSerializedDocument, CurrentSerializedStroke, CustomBoardObject, CustomObjectAddInput, CustomObjectDefinition, CustomTool, CustomToolDefinition, DeepReadonly, DefaultBoardChromeProps, DefaultUIRegion, DefaultUISlot, DefaultUISlots, DialogSlotProps, DocumentChange, DocumentContext, DocumentId, DocumentLoadResult, DocumentRecoveryCode, ExtensionCommand, ExtensionDiagnostic, ExtensionHitResult, ExtensionId, ExtensionRequirement, ImageBlock, InlineEditorsProps, InputModifiers, JsonObject, JsonValue, KitchenTimer, LoadResult, LocalBoard, LocalBoardOptions, LocalBoardSnapshot, LockHolder, LockTarget, Lockable, Mat2x3, MultiplayerCursorsProps, NoteVote, ObjectDescribeContext, ObjectIntent, ObjectType, Op, OpCollection, PersistenceAdapter, PersistenceDiagnostic, PersistenceSnapshot, PresenceCursor, PresencePlacement, PresenceUser, PresenceView, QueryableBoardObject, ReadonlyBoardDocument, ReadonlyCustomObject, ReadonlyDocumentChange, RibbonEdgePoint, SceneEllipse, SceneGroup, SceneImage, ScenePath, SceneRect, SceneText, ScrawlBoardProps, ScrawlCanvasProps, ScrawlDefaultUIProps, ScrawlDensity, ScrawlExtension, ScrawlGridMode, ScrawlProps, ScrawlProviderProps, ScrawlResolvedTheme, ScrawlSurfaceTexture, ScrawlTheme, ScrawlThemeDiagnostic, ScrawlThemePreset, ScreenPoint, ScreenRect, SearchHit, SearchHitKind, SearchableBoard, SearchableComment, SerializedBoardDocument, SerializedBoardStroke, SerializedPoint, SerializedStroke, StampKind, StickyNote, Stroke, StrokeId, StrokePoint, StrokeTool, StyleShelfProps, SupportedAssetMediaType, TableBlock, TextBlock, ToolCancelReason, ToolCapabilities, ToolCursor, ToolId, ViewportInset };
|