@oh-just-another/state 0.60.0 → 0.62.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 +110 -0
- package/README.md +4 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/actions/actionKeyboard.js +2 -2
- package/dist/actions/actionKeyboard.js.map +1 -1
- package/dist/actions/actionMode.d.ts +0 -2
- package/dist/actions/actionMode.d.ts.map +1 -1
- package/dist/actions/actionMode.js +37 -37
- package/dist/actions/actionMode.js.map +1 -1
- package/dist/actions/types.d.ts +1 -1
- package/dist/built-in-handlers.d.ts +8 -0
- package/dist/built-in-handlers.d.ts.map +1 -1
- package/dist/built-in-handlers.js +31 -16
- package/dist/built-in-handlers.js.map +1 -1
- package/dist/constants.d.ts +110 -4
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +111 -4
- package/dist/constants.js.map +1 -1
- package/dist/editor/animation-scene.d.ts.map +1 -1
- package/dist/editor/animation-scene.js +37 -1
- package/dist/editor/animation-scene.js.map +1 -1
- package/dist/editor/event-fanout.d.ts +6 -6
- package/dist/editor/event-fanout.d.ts.map +1 -1
- package/dist/editor/event-fanout.js +8 -8
- package/dist/editor/event-fanout.js.map +1 -1
- package/dist/editor/hit-test.d.ts +8 -0
- package/dist/editor/hit-test.d.ts.map +1 -1
- package/dist/editor/hit-test.js +31 -16
- package/dist/editor/hit-test.js.map +1 -1
- package/dist/editor/link-handle-drag.d.ts +20 -0
- package/dist/editor/link-handle-drag.d.ts.map +1 -1
- package/dist/editor/link-handle-drag.js +71 -2
- 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 +93 -39
- package/dist/editor/pointer-binding.js.map +1 -1
- package/dist/editor/public/brush.d.ts +69 -8
- package/dist/editor/public/brush.d.ts.map +1 -1
- package/dist/editor/public/brush.js +189 -20
- package/dist/editor/public/brush.js.map +1 -1
- package/dist/editor/public/cursor.js +4 -5
- package/dist/editor/public/cursor.js.map +1 -1
- package/dist/editor/render-orchestrator.d.ts +9 -6
- package/dist/editor/render-orchestrator.d.ts.map +1 -1
- package/dist/editor/render-orchestrator.js +25 -28
- package/dist/editor/render-orchestrator.js.map +1 -1
- package/dist/editor-events.d.ts +5 -5
- package/dist/editor-events.d.ts.map +1 -1
- package/dist/editor.d.ts +64 -19
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +116 -60
- package/dist/editor.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/modes.d.ts +24 -5
- package/dist/modes.d.ts.map +1 -1
- package/dist/modes.js.map +1 -1
- package/dist/overlay.d.ts +7 -19
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +18 -49
- package/dist/overlay.js.map +1 -1
- package/package.json +6 -5
|
@@ -4,159 +4,159 @@
|
|
|
4
4
|
export const actionModeSelect = {
|
|
5
5
|
id: "mode-select",
|
|
6
6
|
label: "Select tool",
|
|
7
|
-
category: "
|
|
7
|
+
category: "tool",
|
|
8
8
|
viewMode: true,
|
|
9
9
|
hotkey: { key: "v" },
|
|
10
10
|
iconId: "mode-select",
|
|
11
11
|
uiKind: "toggle",
|
|
12
|
-
checked: ({ editor }) => editor.
|
|
12
|
+
checked: ({ editor }) => editor.activeTool.type === "select",
|
|
13
13
|
perform: ({ editor }) => {
|
|
14
|
-
editor.
|
|
14
|
+
editor.setActiveTool("select");
|
|
15
15
|
},
|
|
16
16
|
};
|
|
17
17
|
export const actionModeHand = {
|
|
18
18
|
id: "mode-hand",
|
|
19
19
|
label: "Hand tool",
|
|
20
|
-
category: "
|
|
20
|
+
category: "tool",
|
|
21
21
|
viewMode: true,
|
|
22
22
|
hotkey: { key: "h" },
|
|
23
23
|
iconId: "mode-hand",
|
|
24
24
|
uiKind: "toggle",
|
|
25
|
-
checked: ({ editor }) => editor.
|
|
25
|
+
checked: ({ editor }) => editor.activeTool.type === "hand",
|
|
26
26
|
perform: ({ editor }) => {
|
|
27
|
-
editor.
|
|
27
|
+
editor.setActiveTool("hand");
|
|
28
28
|
},
|
|
29
29
|
};
|
|
30
30
|
export const actionModeRect = {
|
|
31
31
|
id: "mode-rect",
|
|
32
32
|
label: "Rectangle tool",
|
|
33
|
-
category: "
|
|
33
|
+
category: "tool",
|
|
34
34
|
hotkey: { key: "r" },
|
|
35
35
|
iconId: "mode-rect",
|
|
36
36
|
uiKind: "toggle",
|
|
37
|
-
checked: ({ editor }) => editor.
|
|
37
|
+
checked: ({ editor }) => editor.activeTool.type === "draw-rect",
|
|
38
38
|
perform: ({ editor }) => {
|
|
39
|
-
editor.
|
|
39
|
+
editor.setActiveTool("draw-rect");
|
|
40
40
|
},
|
|
41
41
|
};
|
|
42
42
|
export const actionModeEllipse = {
|
|
43
43
|
id: "mode-ellipse",
|
|
44
44
|
label: "Ellipse tool",
|
|
45
|
-
category: "
|
|
45
|
+
category: "tool",
|
|
46
46
|
// `O` (standard "Oval").
|
|
47
47
|
hotkey: { key: "o" },
|
|
48
48
|
iconId: "mode-ellipse",
|
|
49
49
|
uiKind: "toggle",
|
|
50
|
-
checked: ({ editor }) => editor.
|
|
50
|
+
checked: ({ editor }) => editor.activeTool.type === "draw-ellipse",
|
|
51
51
|
perform: ({ editor }) => {
|
|
52
|
-
editor.
|
|
52
|
+
editor.setActiveTool("draw-ellipse");
|
|
53
53
|
},
|
|
54
54
|
};
|
|
55
55
|
export const actionModeText = {
|
|
56
56
|
id: "mode-text",
|
|
57
57
|
label: "Text tool",
|
|
58
|
-
category: "
|
|
58
|
+
category: "tool",
|
|
59
59
|
hotkey: { key: "t" },
|
|
60
60
|
iconId: "mode-text",
|
|
61
61
|
uiKind: "toggle",
|
|
62
|
-
checked: ({ editor }) => editor.
|
|
62
|
+
checked: ({ editor }) => editor.activeTool.type === "draw-text",
|
|
63
63
|
perform: ({ editor }) => {
|
|
64
|
-
editor.
|
|
64
|
+
editor.setActiveTool("draw-text");
|
|
65
65
|
},
|
|
66
66
|
};
|
|
67
67
|
export const actionModeLink = {
|
|
68
68
|
id: "mode-edge",
|
|
69
69
|
label: "Link tool",
|
|
70
|
-
category: "
|
|
70
|
+
category: "tool",
|
|
71
71
|
hotkey: { key: "l" },
|
|
72
72
|
iconId: "mode-edge",
|
|
73
73
|
uiKind: "toggle",
|
|
74
|
-
checked: ({ editor }) => editor.
|
|
74
|
+
checked: ({ editor }) => editor.activeTool.type === "draw-edge",
|
|
75
75
|
perform: ({ editor }) => {
|
|
76
|
-
editor.
|
|
76
|
+
editor.setActiveTool("draw-edge");
|
|
77
77
|
},
|
|
78
78
|
};
|
|
79
79
|
export const actionModeBrush = {
|
|
80
80
|
id: "mode-brush",
|
|
81
81
|
label: "Brush tool",
|
|
82
|
-
category: "
|
|
82
|
+
category: "tool",
|
|
83
83
|
hotkey: { key: "b" },
|
|
84
84
|
iconId: "mode-brush",
|
|
85
85
|
uiKind: "toggle",
|
|
86
|
-
checked: ({ editor }) => editor.
|
|
86
|
+
checked: ({ editor }) => editor.activeTool.type === "brush",
|
|
87
87
|
perform: ({ editor }) => {
|
|
88
|
-
editor.
|
|
88
|
+
editor.setActiveTool("brush");
|
|
89
89
|
},
|
|
90
90
|
};
|
|
91
91
|
export const actionModeErase = {
|
|
92
92
|
id: "mode-erase",
|
|
93
93
|
label: "Eraser tool",
|
|
94
|
-
category: "
|
|
94
|
+
category: "tool",
|
|
95
95
|
hotkey: { key: "e" },
|
|
96
96
|
iconId: "mode-erase",
|
|
97
97
|
uiKind: "toggle",
|
|
98
|
-
checked: ({ editor }) => editor.
|
|
98
|
+
checked: ({ editor }) => editor.activeTool.type === "erase",
|
|
99
99
|
perform: ({ editor }) => {
|
|
100
|
-
editor.
|
|
100
|
+
editor.setActiveTool("erase");
|
|
101
101
|
},
|
|
102
102
|
};
|
|
103
103
|
export const actionModeLaser = {
|
|
104
104
|
id: "mode-laser",
|
|
105
105
|
label: "Laser pointer",
|
|
106
|
-
category: "
|
|
106
|
+
category: "tool",
|
|
107
107
|
// Laser is presentation-only (no scene mutation) → available in read-only.
|
|
108
108
|
viewMode: true,
|
|
109
109
|
hotkey: { key: "k" },
|
|
110
110
|
iconId: "mode-laser",
|
|
111
111
|
uiKind: "toggle",
|
|
112
|
-
checked: ({ editor }) => editor.
|
|
112
|
+
checked: ({ editor }) => editor.activeTool.type === "laser",
|
|
113
113
|
perform: ({ editor }) => {
|
|
114
|
-
editor.
|
|
114
|
+
editor.setActiveTool("laser");
|
|
115
115
|
},
|
|
116
116
|
};
|
|
117
117
|
export const actionModeFrame = {
|
|
118
118
|
id: "mode-frame",
|
|
119
119
|
label: "Frame tool",
|
|
120
|
-
category: "
|
|
120
|
+
category: "tool",
|
|
121
121
|
hotkey: { key: "f" },
|
|
122
122
|
iconId: "mode-frame",
|
|
123
123
|
uiKind: "toggle",
|
|
124
|
-
checked: ({ editor }) => editor.
|
|
124
|
+
checked: ({ editor }) => editor.activeTool.type === "draw-frame",
|
|
125
125
|
perform: ({ editor }) => {
|
|
126
|
-
editor.
|
|
126
|
+
editor.setActiveTool("draw-frame");
|
|
127
127
|
},
|
|
128
128
|
};
|
|
129
129
|
export const actionToggleToolLock = {
|
|
130
130
|
id: "toggle-tool-lock",
|
|
131
131
|
label: "Toggle tool lock",
|
|
132
|
-
category: "
|
|
132
|
+
category: "tool",
|
|
133
133
|
iconId: "tool-lock",
|
|
134
134
|
uiKind: "toggle",
|
|
135
|
-
checked: ({ editor }) => editor.
|
|
135
|
+
checked: ({ editor }) => editor.activeTool.locked,
|
|
136
136
|
// No default hotkey — toolbar button only. Hosts can register one
|
|
137
137
|
// via `defaultActionRegistry.replace({...actionToggleToolLock,
|
|
138
138
|
// hotkey: ...})` if needed.
|
|
139
139
|
perform: ({ editor }) => {
|
|
140
|
-
editor.setToolLocked(!editor.
|
|
140
|
+
editor.setToolLocked(!editor.activeTool.locked);
|
|
141
141
|
},
|
|
142
142
|
};
|
|
143
|
-
|
|
143
|
+
const actionCommitCrop = {
|
|
144
144
|
id: "commit-image-crop",
|
|
145
145
|
label: "Apply crop",
|
|
146
146
|
category: "edit",
|
|
147
147
|
hotkey: { key: "Enter" },
|
|
148
|
-
predicate: ({ editor }) => editor.
|
|
148
|
+
predicate: ({ editor }) => editor.activeTool.type === "crop",
|
|
149
149
|
perform: ({ editor }) => {
|
|
150
150
|
editor.commitImageCrop();
|
|
151
151
|
},
|
|
152
152
|
};
|
|
153
|
-
|
|
153
|
+
const actionCancelCrop = {
|
|
154
154
|
id: "cancel-image-crop",
|
|
155
155
|
label: "Cancel crop",
|
|
156
156
|
category: "edit",
|
|
157
157
|
viewMode: true,
|
|
158
158
|
hotkey: { key: "Escape" },
|
|
159
|
-
predicate: ({ editor }) => editor.
|
|
159
|
+
predicate: ({ editor }) => editor.activeTool.type === "crop",
|
|
160
160
|
perform: ({ editor }) => {
|
|
161
161
|
editor.cancelImageCrop();
|
|
162
162
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionMode.js","sourceRoot":"","sources":["../../src/actions/actionMode.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,4EAA4E;AAC5E,qBAAqB;AAErB,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACtC,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;IACpB,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;
|
|
1
|
+
{"version":3,"file":"actionMode.js","sourceRoot":"","sources":["../../src/actions/actionMode.ts"],"names":[],"mappings":"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"}
|
package/dist/actions/types.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export interface HotkeyMatcher {
|
|
|
39
39
|
/**
|
|
40
40
|
* Category groups Actions in the help dialog / menus.
|
|
41
41
|
*/
|
|
42
|
-
export type ActionCategory = "history" | "selection" | "clipboard" | "z-order" | "grouping" | "zoom" | "
|
|
42
|
+
export type ActionCategory = "history" | "selection" | "clipboard" | "z-order" | "grouping" | "zoom" | "tool" | "layout" | "arrange" | "edit" | "other";
|
|
43
43
|
export interface Action {
|
|
44
44
|
/** Stable identifier — used by context menu / hotkey routing. */
|
|
45
45
|
readonly id: string;
|
|
@@ -10,6 +10,14 @@ import { type FileDropHandler } from "./file-drop.js";
|
|
|
10
10
|
* and supply their own.
|
|
11
11
|
*/
|
|
12
12
|
export declare const imageFileDropHandler: FileDropHandler;
|
|
13
|
+
/**
|
|
14
|
+
* Build the hidden, muted, looping `<video>` element both the drop handler
|
|
15
|
+
* and scene rehydration attach for an mp4/webm shape. The element is parked
|
|
16
|
+
* in the animated-image sink (1px, off to the side) so it keeps decoding
|
|
17
|
+
* frames; the canvas reads the current frame every animation tick. The
|
|
18
|
+
* caller decides when to await `loadedmetadata` / call `play()`.
|
|
19
|
+
*/
|
|
20
|
+
export declare const createHiddenLoopingVideo: (src: string) => HTMLVideoElement;
|
|
13
21
|
/**
|
|
14
22
|
* Built-in video file-drop handler. Drops a `<video>` element into
|
|
15
23
|
* the hidden sink (autoplay + muted + loop so it advances frames
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"built-in-handlers.d.ts","sourceRoot":"","sources":["../src/built-in-handlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"built-in-handlers.d.ts","sourceRoot":"","sources":["../src/built-in-handlers.ts"],"names":[],"mappings":"AAMA,OAAO,EAA+C,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAsBnG;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,eA8GlC,CAAC;AAiCF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GAAI,KAAK,MAAM,KAAG,gBActD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,eA2ClC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_IMAGE_MAX_EDGE_PX } from "./constants.js";
|
|
1
|
+
import { DEFAULT_IMAGE_MAX_EDGE_PX, VIDEO_FALLBACK_WIDTH_PX, VIDEO_FALLBACK_HEIGHT_PX, } from "./constants.js";
|
|
2
2
|
import { isImageFile, isVideoFile, readFileAsDataURL } from "./file-drop.js";
|
|
3
3
|
/**
|
|
4
4
|
* Read an image data URL and return its natural pixel dimensions
|
|
@@ -168,6 +168,28 @@ const ensureAnimatedImageSink = () => {
|
|
|
168
168
|
document.body.appendChild(div);
|
|
169
169
|
return div;
|
|
170
170
|
};
|
|
171
|
+
/**
|
|
172
|
+
* Build the hidden, muted, looping `<video>` element both the drop handler
|
|
173
|
+
* and scene rehydration attach for an mp4/webm shape. The element is parked
|
|
174
|
+
* in the animated-image sink (1px, off to the side) so it keeps decoding
|
|
175
|
+
* frames; the canvas reads the current frame every animation tick. The
|
|
176
|
+
* caller decides when to await `loadedmetadata` / call `play()`.
|
|
177
|
+
*/
|
|
178
|
+
export const createHiddenLoopingVideo = (src) => {
|
|
179
|
+
const video = document.createElement("video");
|
|
180
|
+
video.src = src;
|
|
181
|
+
video.muted = true;
|
|
182
|
+
video.loop = true;
|
|
183
|
+
video.playsInline = true;
|
|
184
|
+
video.autoplay = true;
|
|
185
|
+
video.style.position = "absolute";
|
|
186
|
+
video.style.left = "-99999px";
|
|
187
|
+
video.style.top = "-99999px";
|
|
188
|
+
video.style.width = "1px";
|
|
189
|
+
video.style.height = "1px";
|
|
190
|
+
ensureAnimatedImageSink().appendChild(video);
|
|
191
|
+
return video;
|
|
192
|
+
};
|
|
171
193
|
/**
|
|
172
194
|
* Built-in video file-drop handler. Drops a `<video>` element into
|
|
173
195
|
* the hidden sink (autoplay + muted + loop so it advances frames
|
|
@@ -184,20 +206,12 @@ export const videoFileDropHandler = {
|
|
|
184
206
|
handle: async (file, { editor, worldPoint }) => {
|
|
185
207
|
if (typeof document === "undefined")
|
|
186
208
|
return;
|
|
209
|
+
// Persist the bytes in Scene.files FIRST — the live <video> handle and
|
|
210
|
+
// its blob: URL die with the page, so without a `fileId` a reloaded
|
|
211
|
+
// scene has nothing to rehydrate the video from.
|
|
212
|
+
const fileId = await editor.addBinaryFile(file, file.name);
|
|
187
213
|
const url = URL.createObjectURL(file);
|
|
188
|
-
const video =
|
|
189
|
-
video.src = url;
|
|
190
|
-
video.muted = true;
|
|
191
|
-
video.loop = true;
|
|
192
|
-
video.playsInline = true;
|
|
193
|
-
video.autoplay = true;
|
|
194
|
-
const sink = ensureAnimatedImageSink();
|
|
195
|
-
video.style.position = "absolute";
|
|
196
|
-
video.style.left = "-99999px";
|
|
197
|
-
video.style.top = "-99999px";
|
|
198
|
-
video.style.width = "1px";
|
|
199
|
-
video.style.height = "1px";
|
|
200
|
-
sink.appendChild(video);
|
|
214
|
+
const video = createHiddenLoopingVideo(url);
|
|
201
215
|
await new Promise((resolve) => {
|
|
202
216
|
const done = () => {
|
|
203
217
|
resolve();
|
|
@@ -205,8 +219,8 @@ export const videoFileDropHandler = {
|
|
|
205
219
|
video.onloadedmetadata = done;
|
|
206
220
|
video.onerror = done;
|
|
207
221
|
});
|
|
208
|
-
const nW = video.videoWidth ||
|
|
209
|
-
const nH = video.videoHeight ||
|
|
222
|
+
const nW = video.videoWidth || VIDEO_FALLBACK_WIDTH_PX;
|
|
223
|
+
const nH = video.videoHeight || VIDEO_FALLBACK_HEIGHT_PX;
|
|
210
224
|
const max = DEFAULT_IMAGE_MAX_EDGE_PX;
|
|
211
225
|
const scale = Math.max(nW, nH) > max ? max / Math.max(nW, nH) : 1;
|
|
212
226
|
const width = Math.round(nW * scale);
|
|
@@ -227,6 +241,7 @@ export const videoFileDropHandler = {
|
|
|
227
241
|
position: topLeft,
|
|
228
242
|
image: video,
|
|
229
243
|
animated: true,
|
|
244
|
+
fileId,
|
|
230
245
|
});
|
|
231
246
|
},
|
|
232
247
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"built-in-handlers.js","sourceRoot":"","sources":["../src/built-in-handlers.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"built-in-handlers.js","sourceRoot":"","sources":["../src/built-in-handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -5,6 +5,19 @@
|
|
|
5
5
|
* of the hot path code.
|
|
6
6
|
*/
|
|
7
7
|
import type { ArrowheadStyle, LinkRouting } from "@oh-just-another/scene";
|
|
8
|
+
/**
|
|
9
|
+
* Single accent for all chrome drawn ON the canvas (selection, handles,
|
|
10
|
+
* anchors, marquee, badges, text selection). One hex for both themes: the
|
|
11
|
+
* canvas itself is always light (dark mode themes the DOM chrome only), so
|
|
12
|
+
* no per-theme pair is needed. Equals the light `--du-accent` CSS value
|
|
13
|
+
* (iris9), keeping canvas chrome and DOM chrome on one accent.
|
|
14
|
+
*/
|
|
15
|
+
export declare const CANVAS_CHROME_ACCENT: string;
|
|
16
|
+
/**
|
|
17
|
+
* Translucent wash of {@link CANVAS_CHROME_ACCENT} for area highlights
|
|
18
|
+
* (container drop-zone). Keep the rgb triplet in sync with the accent hex.
|
|
19
|
+
*/
|
|
20
|
+
export declare const CANVAS_CHROME_ACCENT_SOFT = "rgba(91, 91, 214, 0.10)";
|
|
8
21
|
/**
|
|
9
22
|
* World-unit distance below which a snap candidate is preferred over
|
|
10
23
|
* the raw cursor position. Smaller → snap feels less "grabby", larger
|
|
@@ -126,11 +139,11 @@ export declare const ANCHOR_DOT_HOVER_MAX_RADIUS = 8;
|
|
|
126
139
|
/** Ring stroke width for anchor dots (screen px). Range: 1–2.5. */
|
|
127
140
|
export declare const ANCHOR_DOT_STROKE_WIDTH = 1.5;
|
|
128
141
|
/** link-start dot: filled brand centre, neutral (white) ring. */
|
|
129
|
-
export declare const LINK_START_ANCHOR_FILL
|
|
142
|
+
export declare const LINK_START_ANCHOR_FILL: string;
|
|
130
143
|
export declare const LINK_START_ANCHOR_STROKE = "#fff";
|
|
131
144
|
/** link-attach dot: neutral (white) centre, brand ring — inverse of start. */
|
|
132
145
|
export declare const LINK_ATTACH_ANCHOR_FILL = "#fff";
|
|
133
|
-
export declare const LINK_ATTACH_ANCHOR_STROKE
|
|
146
|
+
export declare const LINK_ATTACH_ANCHOR_STROKE: string;
|
|
134
147
|
/**
|
|
135
148
|
* Screen-px distance each anchor dot is pushed OUTWARD from the element
|
|
136
149
|
* edge along its outward normal ("floating" ports). Two independent knobs
|
|
@@ -463,6 +476,85 @@ export declare const DEFAULT_BRUSH_OPACITY = 1;
|
|
|
463
476
|
* vertices per stroke. Range: 2–8.
|
|
464
477
|
*/
|
|
465
478
|
export declare const BRUSH_SMOOTH_SEGMENTS = 4;
|
|
479
|
+
/**
|
|
480
|
+
* Input-time low-pass (streamline) strength for brush capture, 0-0.9. Each
|
|
481
|
+
* pointer-move stores a point pulled only `1 - BRUSH_STREAMLINE` of the way
|
|
482
|
+
* from the previous stored point toward the raw sample, filtering hand jitter
|
|
483
|
+
* and sensor noise into a steady line. 0 = raw input (off); higher = steadier
|
|
484
|
+
* but laggier (the commit-time catch-up point hides the lag at the stroke
|
|
485
|
+
* end). Range: 0.3-0.7.
|
|
486
|
+
*/
|
|
487
|
+
export declare const BRUSH_STREAMLINE = 0.5;
|
|
488
|
+
/**
|
|
489
|
+
* Per-sample lerp rate (0-1) toward the target pressure while capturing a
|
|
490
|
+
* brush stroke — rate-limits pressure changes so a single outlier sample (pen
|
|
491
|
+
* lift-off spike, sudden speed jump on mouse) can't kink the width profile.
|
|
492
|
+
* 1 = follow instantly (off); lower = smoother but slower to adapt. 0.3 keeps
|
|
493
|
+
* the width felt-tip steady. Range: 0.2-0.7.
|
|
494
|
+
*/
|
|
495
|
+
export declare const BRUSH_PRESSURE_SMOOTHING = 0.3;
|
|
496
|
+
/**
|
|
497
|
+
* Screen-pixel distance per pointer sample at which SIMULATED pressure (mouse /
|
|
498
|
+
* touch — no real pressure channel) bottoms out. Standing still targets full
|
|
499
|
+
* pressure (thick); moving this fast per sample targets the minimum (thin) —
|
|
500
|
+
* the "slower = thicker" response. Measured in screen px so the feel is
|
|
501
|
+
* zoom-independent. 32 keeps the speed response gentle (marker-like); halve it
|
|
502
|
+
* for a livelier calligraphic feel. Range: 8-48.
|
|
503
|
+
*/
|
|
504
|
+
export declare const BRUSH_SIM_THIN_DIST_PX = 32;
|
|
505
|
+
/**
|
|
506
|
+
* Floor for simulated brush pressure (0-1) — the width multiplier a fast
|
|
507
|
+
* mouse / touch stroke converges to (`× base width`). Together with
|
|
508
|
+
* BRUSH_SIM_PRESSURE_MAX it sets the width band of a simulated stroke: a
|
|
509
|
+
* narrow band (0.55-0.7, the default) reads as a felt-tip marker; widen it
|
|
510
|
+
* (e.g. 0.25-0.8) for a pen-like thin-thick response. Range: 0.15-0.7.
|
|
511
|
+
*/
|
|
512
|
+
export declare const BRUSH_SIM_PRESSURE_MIN = 0.55;
|
|
513
|
+
/**
|
|
514
|
+
* Ceiling for simulated brush pressure (0-1) — the width multiplier a slow /
|
|
515
|
+
* stationary mouse or touch stroke converges to (`× base width`). Without a
|
|
516
|
+
* ceiling a slow stroke fattens all the way to the full base width, which
|
|
517
|
+
* reads too thick next to the medium-speed line. See BRUSH_SIM_PRESSURE_MIN
|
|
518
|
+
* for the band the two clamps form. Real pen pressure is not clamped.
|
|
519
|
+
* Range: 0.6-1.
|
|
520
|
+
*/
|
|
521
|
+
export declare const BRUSH_SIM_PRESSURE_MAX = 0.7;
|
|
522
|
+
/**
|
|
523
|
+
* Initial simulated pressure (0-1) for the first sample of a mouse / touch
|
|
524
|
+
* stroke. A felt-tip touches the paper at full width, so it starts at the
|
|
525
|
+
* BRUSH_SIM_PRESSURE_MAX ceiling and thins as the stroke speeds up. Keep
|
|
526
|
+
* within the [MIN, MAX] clamp band. Range: 0.4-0.7.
|
|
527
|
+
*/
|
|
528
|
+
export declare const BRUSH_SIM_PRESSURE_START = 0.7;
|
|
529
|
+
/**
|
|
530
|
+
* Minimum SCREEN-pixel displacement of the raw input before a new brush point
|
|
531
|
+
* is stored — decimation of near-duplicate pointer samples (120 Hz devices
|
|
532
|
+
* emit far more moves than a stroke needs). Skipped samples still update the
|
|
533
|
+
* commit catch-up point. Smaller = denser capture; larger = coarser but
|
|
534
|
+
* cheaper strokes. Range: 1-4.
|
|
535
|
+
*/
|
|
536
|
+
export declare const BRUSH_MIN_POINT_DIST_PX = 1.5;
|
|
537
|
+
/**
|
|
538
|
+
* Soft cap on captured brush points per stroke. When capture exceeds it, the
|
|
539
|
+
* stroke's interior points are halved (endpoints kept), bounding memory and
|
|
540
|
+
* render cost on very long strokes — each halving doubles the remaining
|
|
541
|
+
* capacity instead of stopping the stroke. Range: 1024-8192.
|
|
542
|
+
*/
|
|
543
|
+
export declare const MAX_BRUSH_POINTS = 2048;
|
|
544
|
+
/**
|
|
545
|
+
* Length of the end taper of a brush stroke, as a multiple of the base
|
|
546
|
+
* half-width — arc length from each tip over which the width eases down.
|
|
547
|
+
* Capped at half the stroke length so short strokes stay symmetric. 0 (the
|
|
548
|
+
* default) disables tapering: blunt round caps, the felt-tip marker look.
|
|
549
|
+
* Set 2-5 for pen-like ends that trail off to a point. Range: 0-5.
|
|
550
|
+
*/
|
|
551
|
+
export declare const BRUSH_TAPER_LENGTH_FACTOR = 0;
|
|
552
|
+
/**
|
|
553
|
+
* Width factor at the very tip of a tapered brush stroke (0-1 of the captured
|
|
554
|
+
* width) — the tip converges to this instead of a full-width round cap,
|
|
555
|
+
* mimicking a pen lifting off. Range: 0.05-0.3.
|
|
556
|
+
*/
|
|
557
|
+
export declare const BRUSH_TAPER_MIN = 0.1;
|
|
466
558
|
/**
|
|
467
559
|
* World-pixel distance under which a brush stroke's last point is treated as
|
|
468
560
|
* meeting its first — the trigger for auto-closing (and filling) a stroke on
|
|
@@ -561,6 +653,13 @@ export declare const LASER_SMOOTH_SEGMENTS = 8;
|
|
|
561
653
|
* register their own.
|
|
562
654
|
*/
|
|
563
655
|
export declare const DEFAULT_IMAGE_MAX_EDGE_PX = 480;
|
|
656
|
+
/**
|
|
657
|
+
* Placeholder size (world px, 16:9) for a dropped video whose metadata never
|
|
658
|
+
* loads (`videoWidth`/`videoHeight` = 0 — unsupported codec, aborted load).
|
|
659
|
+
* Only affects the created element's initial box. Range: 160×90 – 960×540.
|
|
660
|
+
*/
|
|
661
|
+
export declare const VIDEO_FALLBACK_WIDTH_PX = 480;
|
|
662
|
+
export declare const VIDEO_FALLBACK_HEIGHT_PX = 270;
|
|
564
663
|
/**
|
|
565
664
|
* Adaptive animation-tick throttling (GIF / video playback). The tick
|
|
566
665
|
* drives a full re-render every frame while an animated shape is
|
|
@@ -629,7 +728,7 @@ export declare const SEQUENCE_HOTKEY_WINDOW_MS = 1000;
|
|
|
629
728
|
export declare const NUDGE_STEP_PX = 1;
|
|
630
729
|
export declare const NUDGE_STEP_SHIFT_PX = 10;
|
|
631
730
|
export declare const CARET_BLINK_INTERVAL_MS = 530;
|
|
632
|
-
export declare const TEXT_SELECTION_FILL
|
|
731
|
+
export declare const TEXT_SELECTION_FILL: string;
|
|
633
732
|
export declare const TEXT_SELECTION_OPACITY = 0.25;
|
|
634
733
|
export declare const TEXT_CARET_WIDTH_PX = 1.5;
|
|
635
734
|
export declare const TEXT_RESIZE_MIN_FONT_SIZE = 4;
|
|
@@ -682,7 +781,7 @@ export declare const GIF_BADGE_BG_COLOR = "rgba(0,0,0,0.65)";
|
|
|
682
781
|
* a contrasting fill.
|
|
683
782
|
*/
|
|
684
783
|
export declare const LOCK_BADGE_SIZE = 16;
|
|
685
|
-
export declare const LOCK_BADGE_COLOR
|
|
784
|
+
export declare const LOCK_BADGE_COLOR: string;
|
|
686
785
|
export declare const LOCK_BADGE_KEYHOLE_COLOR = "#fff";
|
|
687
786
|
/**
|
|
688
787
|
* Image-crop UX (Excalidraw-style handle cropping).
|
|
@@ -708,4 +807,11 @@ export declare const CROP_HANDLE_HIT_RADIUS = 11;
|
|
|
708
807
|
export declare const CROP_GHOST_OPACITY = 0.12;
|
|
709
808
|
export declare const CROP_BRACKET_LEN = 14;
|
|
710
809
|
export declare const CROP_BRACKET_WIDTH = 3;
|
|
810
|
+
/**
|
|
811
|
+
* Snap radius (screen px) of the caption drag: while the pill's arc-length
|
|
812
|
+
* position is within this distance of the path middle, the explicit
|
|
813
|
+
* `label.position` is dropped and the label returns to its default placement
|
|
814
|
+
* (midpoint / elbow longest-segment). Range: 4–16.
|
|
815
|
+
*/
|
|
816
|
+
export declare const LINK_LABEL_DRAG_SNAP_PX = 8;
|
|
711
817
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|