@oh-just-another/state 0.59.0 → 0.60.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 +91 -0
- package/README.md +2 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/actions/actionArrange.js +4 -4
- package/dist/actions/actionArrange.js.map +1 -1
- package/dist/actions/actionClipboard.d.ts.map +1 -1
- package/dist/actions/actionClipboard.js +5 -0
- package/dist/actions/actionClipboard.js.map +1 -1
- package/dist/actions/actionKeyboard.d.ts.map +1 -1
- package/dist/actions/actionKeyboard.js +77 -9
- package/dist/actions/actionKeyboard.js.map +1 -1
- package/dist/actions/actionMode.d.ts +4 -0
- package/dist/actions/actionMode.d.ts.map +1 -1
- package/dist/actions/actionMode.js +54 -0
- package/dist/actions/actionMode.js.map +1 -1
- package/dist/actions/actionSelection.d.ts.map +1 -1
- package/dist/actions/actionSelection.js +1 -0
- package/dist/actions/actionSelection.js.map +1 -1
- package/dist/actions/actionView.d.ts +6 -0
- package/dist/actions/actionView.d.ts.map +1 -1
- package/dist/actions/actionView.js +19 -1
- package/dist/actions/actionView.js.map +1 -1
- package/dist/actions/actionZoom.d.ts.map +1 -1
- package/dist/actions/actionZoom.js +5 -0
- package/dist/actions/actionZoom.js.map +1 -1
- package/dist/actions/index.d.ts +3 -3
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +3 -3
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/registry.d.ts.map +1 -1
- package/dist/actions/registry.js +13 -0
- package/dist/actions/registry.js.map +1 -1
- package/dist/actions/types.d.ts +9 -0
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/actions/types.js.map +1 -1
- package/dist/clipboard.d.ts +0 -14
- package/dist/clipboard.d.ts.map +1 -1
- package/dist/clipboard.js +1 -1
- package/dist/clipboard.js.map +1 -1
- package/dist/constants.d.ts +160 -18
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +162 -2
- package/dist/constants.js.map +1 -1
- package/dist/dom-events.d.ts +1 -2
- package/dist/dom-events.d.ts.map +1 -1
- package/dist/dom-events.js.map +1 -1
- package/dist/editor/animation-scene.d.ts +15 -0
- package/dist/editor/animation-scene.d.ts.map +1 -1
- package/dist/editor/animation-scene.js +123 -0
- package/dist/editor/animation-scene.js.map +1 -1
- package/dist/editor/applies/create.d.ts +0 -6
- package/dist/editor/applies/create.d.ts.map +1 -1
- package/dist/editor/applies/create.js +1 -1
- package/dist/editor/applies/create.js.map +1 -1
- package/dist/editor/applies/link-move.d.ts +0 -8
- package/dist/editor/applies/link-move.d.ts.map +1 -1
- package/dist/editor/applies/link-move.js +1 -1
- package/dist/editor/applies/link-move.js.map +1 -1
- package/dist/editor/interaction-state.d.ts +184 -0
- package/dist/editor/interaction-state.d.ts.map +1 -0
- package/dist/editor/interaction-state.js +139 -0
- package/dist/editor/interaction-state.js.map +1 -0
- package/dist/editor/link-handle-drag.d.ts +152 -0
- package/dist/editor/link-handle-drag.d.ts.map +1 -0
- package/dist/editor/link-handle-drag.js +300 -0
- package/dist/editor/link-handle-drag.js.map +1 -0
- package/dist/editor/pointer-binding.d.ts +9 -11
- package/dist/editor/pointer-binding.d.ts.map +1 -1
- package/dist/editor/pointer-binding.js +1185 -901
- package/dist/editor/pointer-binding.js.map +1 -1
- package/dist/editor/public/brush.d.ts +31 -12
- package/dist/editor/public/brush.d.ts.map +1 -1
- package/dist/editor/public/brush.js +66 -17
- package/dist/editor/public/brush.js.map +1 -1
- package/dist/editor/public/cursor.d.ts +1 -15
- package/dist/editor/public/cursor.d.ts.map +1 -1
- package/dist/editor/public/cursor.js +14 -3
- package/dist/editor/public/cursor.js.map +1 -1
- package/dist/editor/public/eraser.d.ts +55 -0
- package/dist/editor/public/eraser.d.ts.map +1 -0
- package/dist/editor/public/eraser.js +65 -0
- package/dist/editor/public/eraser.js.map +1 -0
- package/dist/editor/public/laser.d.ts +38 -0
- package/dist/editor/public/laser.d.ts.map +1 -0
- package/dist/editor/public/laser.js +42 -0
- package/dist/editor/public/laser.js.map +1 -0
- package/dist/editor/public/placement.d.ts.map +1 -1
- package/dist/editor/public/placement.js +9 -1
- package/dist/editor/public/placement.js.map +1 -1
- package/dist/editor/public/selection-ops.d.ts +12 -0
- package/dist/editor/public/selection-ops.d.ts.map +1 -1
- package/dist/editor/public/selection-ops.js +19 -1
- package/dist/editor/public/selection-ops.js.map +1 -1
- package/dist/editor/public/stroke-eraser-coverage.d.ts +37 -0
- package/dist/editor/public/stroke-eraser-coverage.d.ts.map +1 -0
- package/dist/editor/public/stroke-eraser-coverage.js +168 -0
- package/dist/editor/public/stroke-eraser-coverage.js.map +1 -0
- package/dist/editor/public/stroke-eraser.d.ts +50 -0
- package/dist/editor/public/stroke-eraser.d.ts.map +1 -0
- package/dist/editor/public/stroke-eraser.js +176 -0
- package/dist/editor/public/stroke-eraser.js.map +1 -0
- package/dist/editor/public/stroke-smoothing.d.ts +21 -0
- package/dist/editor/public/stroke-smoothing.d.ts.map +1 -0
- package/dist/editor/public/stroke-smoothing.js +37 -0
- package/dist/editor/public/stroke-smoothing.js.map +1 -0
- package/dist/editor/public/tool-ops.d.ts +130 -0
- package/dist/editor/public/tool-ops.d.ts.map +1 -0
- package/dist/editor/public/tool-ops.js +392 -0
- package/dist/editor/public/tool-ops.js.map +1 -0
- package/dist/editor/public/z-order.d.ts +1 -12
- package/dist/editor/public/z-order.d.ts.map +1 -1
- package/dist/editor/public/z-order.js +1 -1
- package/dist/editor/public/z-order.js.map +1 -1
- package/dist/editor/public/zoom-pan.d.ts +9 -0
- package/dist/editor/public/zoom-pan.d.ts.map +1 -1
- package/dist/editor/public/zoom-pan.js +31 -0
- package/dist/editor/public/zoom-pan.js.map +1 -1
- package/dist/editor/render-orchestrator.d.ts +177 -5
- package/dist/editor/render-orchestrator.d.ts.map +1 -1
- package/dist/editor/render-orchestrator.js +517 -351
- package/dist/editor/render-orchestrator.js.map +1 -1
- package/dist/editor/text-edit.d.ts +136 -0
- package/dist/editor/text-edit.d.ts.map +1 -0
- package/dist/editor/text-edit.js +328 -0
- package/dist/editor/text-edit.js.map +1 -0
- package/dist/editor.d.ts +504 -239
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +1557 -706
- package/dist/editor.js.map +1 -1
- package/dist/handle.d.ts +0 -2
- package/dist/handle.d.ts.map +1 -1
- package/dist/handle.js +0 -6
- package/dist/handle.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/modes.d.ts +15 -1
- package/dist/modes.d.ts.map +1 -1
- package/dist/modes.js.map +1 -1
- package/dist/overlay.d.ts +91 -2
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +450 -93
- package/dist/overlay.js.map +1 -1
- package/dist/search.d.ts +37 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +45 -0
- package/dist/search.js.map +1 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointer-binding.js","sourceRoot":"","sources":["../../src/editor/pointer-binding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pointer-binding.js","sourceRoot":"","sources":["../../src/editor/pointer-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
import { type BrushPoint, type Scene, type Patch } from "@oh-just-another/scene";
|
|
1
|
+
import { type BrushPoint, type Scene, type Patch, type Style } from "@oh-just-another/scene";
|
|
2
2
|
import type { LayerId, ElementId, Vec2 } from "@oh-just-another/types";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Host-tunable brush paint settings — what the drawing panel edits and what
|
|
5
|
+
* {@link commitBrushStroke} bakes into a new stroke. `stroke` is the line
|
|
6
|
+
* colour; `fill` is the colour of the enclosed area of a CLOSED stroke (null =
|
|
7
|
+
* no fill, and unused until stroke-closing lands); `opacity` scales both; `width`
|
|
8
|
+
* is the base half-width the pressure curve scales toward.
|
|
8
9
|
*/
|
|
9
|
-
export
|
|
10
|
+
export interface BrushSettings {
|
|
11
|
+
readonly stroke: string;
|
|
12
|
+
readonly fill: string | null;
|
|
13
|
+
readonly opacity: number;
|
|
14
|
+
readonly width: number;
|
|
15
|
+
}
|
|
16
|
+
/** Defaults matching the pre-settings hard-coded brush (a dark line at full alpha). */
|
|
17
|
+
export declare const DEFAULT_BRUSH_SETTINGS: BrushSettings;
|
|
18
|
+
/** Build the `Style` a committed brush stroke carries from its paint settings. */
|
|
19
|
+
export declare const brushStyleFromSettings: (settings: BrushSettings) => Style;
|
|
10
20
|
/**
|
|
11
21
|
* Mutable in-progress stroke state. Editor owns one instance and
|
|
12
22
|
* delegates all four lifecycle calls (begin / extend / commit /
|
|
@@ -16,14 +26,23 @@ export interface BrushStrokeState {
|
|
|
16
26
|
origin: Vec2;
|
|
17
27
|
points: BrushPoint[];
|
|
18
28
|
}
|
|
19
|
-
export declare const beginBrushStroke: (world: Vec2, pressure: number) => BrushStrokeState;
|
|
20
|
-
export declare const extendBrushStroke: (stroke: BrushStrokeState, world: Vec2, pressure: number) => void;
|
|
29
|
+
export declare const beginBrushStroke: (world: Vec2, pressure: number, maxWidth?: number) => BrushStrokeState;
|
|
30
|
+
export declare const extendBrushStroke: (stroke: BrushStrokeState, world: Vec2, pressure: number, maxWidth?: number) => void;
|
|
31
|
+
/**
|
|
32
|
+
* Resample a captured brush polyline into a smooth, dense point list by fitting
|
|
33
|
+
* a Catmull-Rom spline through the vertices (shared {@link smoothStrokePoints}
|
|
34
|
+
* resampler), interpolating each point's `width` across its span. Strokes with
|
|
35
|
+
* fewer than three points pass through unchanged.
|
|
36
|
+
*/
|
|
37
|
+
export declare const smoothBrushPoints: (points: readonly BrushPoint[], perSegment?: number) => BrushPoint[];
|
|
21
38
|
/**
|
|
22
|
-
* Produce the shape + scene patch for committing a brush stroke.
|
|
23
|
-
*
|
|
24
|
-
*
|
|
39
|
+
* Produce the shape + scene patch for committing a brush stroke. The captured
|
|
40
|
+
* polyline is smoothed (Catmull-Rom) before it enters the scene so the stored
|
|
41
|
+
* stroke reads as a fluid line, not a chain of angular segments. Caller pushes
|
|
42
|
+
* the patch into history and clears the stroke state. Returns `null` for empty
|
|
43
|
+
* strokes (zero points or no stroke at all).
|
|
25
44
|
*/
|
|
26
|
-
export declare const commitBrushStroke: (scene: Scene, stroke: BrushStrokeState | null, activeLayerId: LayerId, newElementId: ElementId) => {
|
|
45
|
+
export declare const commitBrushStroke: (scene: Scene, stroke: BrushStrokeState | null, activeLayerId: LayerId, newElementId: ElementId, style?: Style) => {
|
|
27
46
|
readonly scene: Scene;
|
|
28
47
|
readonly patch: Patch;
|
|
29
48
|
readonly elementId: ElementId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brush.d.ts","sourceRoot":"","sources":["../../../src/editor/public/brush.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,KAAK,EAEV,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"brush.d.ts","sourceRoot":"","sources":["../../../src/editor/public/brush.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,KAAK,EAEV,KAAK,KAAK,EACV,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAYvE;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,uFAAuF;AACvF,eAAO,MAAM,sBAAsB,EAAE,aAKpC,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,GAAI,UAAU,aAAa,KAAG,KAI/D,CAAC;AAaH;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,GAC3B,OAAO,IAAI,EACX,UAAU,MAAM,EAChB,WAAU,MAAwB,KACjC,gBAGD,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,gBAAgB,EACxB,OAAO,IAAI,EACX,UAAU,MAAM,EAChB,WAAU,MAAwB,KACjC,IAOF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,UAAU,EAAE,EAC7B,aAAY,MAA8B,KACzC,UAAU,EAKR,CAAC;AAkBN;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,KAAK,EACZ,QAAQ,gBAAgB,GAAG,IAAI,EAC/B,eAAe,OAAO,EACtB,cAAc,SAAS,EACvB,QAAO,KAAsD,KAC5D;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAAE,GAAG,IAuBpF,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,SACiB,CAAC"}
|
|
@@ -1,38 +1,83 @@
|
|
|
1
1
|
import { addElement, orderForTop, } from "@oh-just-another/scene";
|
|
2
2
|
import { elementId as castElementId } from "@oh-just-another/types";
|
|
3
|
-
import { DEFAULT_BRUSH_WIDTH, MAX_BRUSH_WIDTH } from "../../constants.js";
|
|
3
|
+
import { BRUSH_CLOSE_DISTANCE, BRUSH_SMOOTH_SEGMENTS, DEFAULT_BRUSH_COLOR, DEFAULT_BRUSH_OPACITY, DEFAULT_BRUSH_WIDTH, MAX_BRUSH_WIDTH, } from "../../constants.js";
|
|
4
|
+
import { smoothStrokePoints } from "./stroke-smoothing.js";
|
|
5
|
+
/** Defaults matching the pre-settings hard-coded brush (a dark line at full alpha). */
|
|
6
|
+
export const DEFAULT_BRUSH_SETTINGS = {
|
|
7
|
+
stroke: DEFAULT_BRUSH_COLOR,
|
|
8
|
+
fill: null,
|
|
9
|
+
opacity: DEFAULT_BRUSH_OPACITY,
|
|
10
|
+
width: MAX_BRUSH_WIDTH,
|
|
11
|
+
};
|
|
12
|
+
/** Build the `Style` a committed brush stroke carries from its paint settings. */
|
|
13
|
+
export const brushStyleFromSettings = (settings) => ({
|
|
14
|
+
stroke: settings.stroke,
|
|
15
|
+
...(settings.fill !== null ? { fill: settings.fill } : {}),
|
|
16
|
+
...(settings.opacity !== 1 ? { opacity: settings.opacity } : {}),
|
|
17
|
+
});
|
|
4
18
|
/**
|
|
5
|
-
* Convert `PointerEvent.pressure` (0–1) to a brush half-width in local
|
|
6
|
-
*
|
|
7
|
-
* by spec; zero pressure (some Windows touch)
|
|
8
|
-
* so a stroke is still visible.
|
|
19
|
+
* Convert `PointerEvent.pressure` (0–1) to a brush half-width in local pixels,
|
|
20
|
+
* scaling toward `maxWidth` (the current brush width). Devices without pressure
|
|
21
|
+
* (most mice on Chromium) report 0.5 by spec; zero pressure (some Windows touch)
|
|
22
|
+
* falls back to a minimum so a stroke is still visible.
|
|
9
23
|
*/
|
|
10
|
-
|
|
24
|
+
const pressureToWidth = (pressure, maxWidth) => {
|
|
11
25
|
if (pressure <= 0)
|
|
12
26
|
return DEFAULT_BRUSH_WIDTH;
|
|
13
|
-
return Math.max(0.5, pressure *
|
|
27
|
+
return Math.max(0.5, pressure * maxWidth);
|
|
14
28
|
};
|
|
15
|
-
export const beginBrushStroke = (world, pressure) => ({
|
|
16
|
-
points: [{ x: 0, y: 0, width: pressureToWidth(pressure) }],
|
|
29
|
+
export const beginBrushStroke = (world, pressure, maxWidth = MAX_BRUSH_WIDTH) => ({
|
|
30
|
+
points: [{ x: 0, y: 0, width: pressureToWidth(pressure, maxWidth) }],
|
|
17
31
|
origin: world,
|
|
18
32
|
});
|
|
19
|
-
export const extendBrushStroke = (stroke, world, pressure) => {
|
|
33
|
+
export const extendBrushStroke = (stroke, world, pressure, maxWidth = MAX_BRUSH_WIDTH) => {
|
|
20
34
|
const o = stroke.origin;
|
|
21
35
|
stroke.points.push({
|
|
22
36
|
x: world.x - o.x,
|
|
23
37
|
y: world.y - o.y,
|
|
24
|
-
width: pressureToWidth(pressure),
|
|
38
|
+
width: pressureToWidth(pressure, maxWidth),
|
|
25
39
|
});
|
|
26
40
|
};
|
|
27
41
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
42
|
+
* Resample a captured brush polyline into a smooth, dense point list by fitting
|
|
43
|
+
* a Catmull-Rom spline through the vertices (shared {@link smoothStrokePoints}
|
|
44
|
+
* resampler), interpolating each point's `width` across its span. Strokes with
|
|
45
|
+
* fewer than three points pass through unchanged.
|
|
46
|
+
*/
|
|
47
|
+
export const smoothBrushPoints = (points, perSegment = BRUSH_SMOOTH_SEGMENTS) => smoothStrokePoints(points, perSegment, (a, b, pos, u) => ({
|
|
48
|
+
x: pos.x,
|
|
49
|
+
y: pos.y,
|
|
50
|
+
width: a.width + (b.width - a.width) * u,
|
|
51
|
+
}));
|
|
52
|
+
/**
|
|
53
|
+
* Decide whether a committed stroke should auto-close (and thus be filled).
|
|
54
|
+
* True only when a fill colour is set AND there are at least three points AND
|
|
55
|
+
* the first and last smoothed points are within {@link BRUSH_CLOSE_DISTANCE}.
|
|
56
|
+
* Uses squared distance to avoid a `sqrt`.
|
|
57
|
+
*/
|
|
58
|
+
const isClosedStroke = (points, style) => {
|
|
59
|
+
if (style.fill === undefined || points.length < 3)
|
|
60
|
+
return false;
|
|
61
|
+
const first = points[0];
|
|
62
|
+
const last = points[points.length - 1];
|
|
63
|
+
if (!first || !last)
|
|
64
|
+
return false;
|
|
65
|
+
const dx = last.x - first.x;
|
|
66
|
+
const dy = last.y - first.y;
|
|
67
|
+
return dx * dx + dy * dy <= BRUSH_CLOSE_DISTANCE * BRUSH_CLOSE_DISTANCE;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Produce the shape + scene patch for committing a brush stroke. The captured
|
|
71
|
+
* polyline is smoothed (Catmull-Rom) before it enters the scene so the stored
|
|
72
|
+
* stroke reads as a fluid line, not a chain of angular segments. Caller pushes
|
|
73
|
+
* the patch into history and clears the stroke state. Returns `null` for empty
|
|
74
|
+
* strokes (zero points or no stroke at all).
|
|
31
75
|
*/
|
|
32
|
-
export const commitBrushStroke = (scene, stroke, activeLayerId, newElementId) => {
|
|
76
|
+
export const commitBrushStroke = (scene, stroke, activeLayerId, newElementId, style = brushStyleFromSettings(DEFAULT_BRUSH_SETTINGS)) => {
|
|
33
77
|
if (!stroke || stroke.points.length === 0)
|
|
34
78
|
return null;
|
|
35
79
|
const order = orderForTop([...scene.elements.values()].filter((s) => s.layerId === activeLayerId).map((s) => s.order));
|
|
80
|
+
const points = smoothBrushPoints(stroke.points);
|
|
36
81
|
const shape = {
|
|
37
82
|
id: newElementId,
|
|
38
83
|
layerId: activeLayerId,
|
|
@@ -41,8 +86,12 @@ export const commitBrushStroke = (scene, stroke, activeLayerId, newElementId) =>
|
|
|
41
86
|
rotation: 0,
|
|
42
87
|
scale: { x: 1, y: 1 },
|
|
43
88
|
order,
|
|
44
|
-
style
|
|
45
|
-
points
|
|
89
|
+
style,
|
|
90
|
+
points,
|
|
91
|
+
// Auto-close only when a fill colour is chosen and the stroke loops back on
|
|
92
|
+
// itself — the enclosed area is filled with `style.fill` by the renderer.
|
|
93
|
+
// Omit the field for open strokes to keep serialized scenes clean.
|
|
94
|
+
...(isClosedStroke(points, style) ? { closed: true } : {}),
|
|
46
95
|
};
|
|
47
96
|
const r = addElement(scene, shape);
|
|
48
97
|
return { scene: r.scene, patch: r.patch, elementId: newElementId };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brush.js","sourceRoot":"","sources":["../../../src/editor/public/brush.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"brush.js","sourceRoot":"","sources":["../../../src/editor/public/brush.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,GAMZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAgB3D,uFAAuF;AACvF,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,MAAM,EAAE,mBAAmB;IAC3B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,qBAAqB;IAC9B,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAuB,EAAS,EAAE,CAAC,CAAC;IACzE,MAAM,EAAE,QAAQ,CAAC,MAAM;IACvB,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACjE,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAU,EAAE;IACrE,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAC5C,CAAC,CAAC;AAYF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAW,EACX,QAAgB,EAChB,WAAmB,eAAe,EAChB,EAAE,CAAC,CAAC;IACtB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IACpE,MAAM,EAAE,KAAK;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,MAAwB,EACxB,KAAW,EACX,QAAgB,EAChB,WAAmB,eAAe,EAC5B,EAAE;IACR,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACjB,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChB,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChB,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC3C,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,MAA6B,EAC7B,aAAqB,qBAAqB,EAC5B,EAAE,CAChB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC,EAAE,GAAG,CAAC,CAAC;IACR,CAAC,EAAE,GAAG,CAAC,CAAC;IACR,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;CACzC,CAAC,CAAC,CAAC;AAEN;;;;;GAKG;AACH,MAAM,cAAc,GAAG,CAAC,MAA6B,EAAE,KAAY,EAAW,EAAE;IAC9E,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,oBAAoB,GAAG,oBAAoB,CAAC;AAC1E,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAY,EACZ,MAA+B,EAC/B,aAAsB,EACtB,YAAuB,EACvB,QAAe,sBAAsB,CAAC,sBAAsB,CAAC,EAC2B,EAAE;IAC1F,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,KAAK,GAAG,WAAW,CACvB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAC5F,CAAC;IACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,KAAK,GAAY;QACrB,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,MAAM,CAAC,MAAM;QACvB,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACrB,KAAK;QACL,KAAK;QACL,MAAM;QACN,4EAA4E;QAC5E,0EAA0E;QAC1E,mEAAmE;QACnE,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAC;IACF,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AACrE,CAAC,CAAC;AAEF,wEAAwE;AACxE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAa,EAAE,CACpD,aAAa,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -4,7 +4,7 @@ import type { Editor } from "../../editor.js";
|
|
|
4
4
|
* Stable keys for cursor states a host can override with a custom image via
|
|
5
5
|
* {@link Editor.setCursorOverride}. Each maps to one outcome of `computeCursor`.
|
|
6
6
|
*/
|
|
7
|
-
export type CursorRole = "default" | "pan-ready" | "pan-active" | "move" | "draw" | "text" | "link-start" | "link-handle" | "rotate" | "annotation" | "resize-nwse" | "resize-nesw" | "resize-ns" | "resize-ew";
|
|
7
|
+
export type CursorRole = "default" | "pan-ready" | "pan-active" | "move" | "draw" | "erase" | "text" | "link-start" | "link-handle" | "rotate" | "annotation" | "resize-nwse" | "resize-nesw" | "resize-ns" | "resize-ew";
|
|
8
8
|
/**
|
|
9
9
|
* A custom cursor: either a raw CSS `cursor` value, or an image with an
|
|
10
10
|
* optional `@2x` variant (DPR-aware via `image-set`), hotspot, and keyword
|
|
@@ -20,20 +20,6 @@ export type CursorSpec = string | {
|
|
|
20
20
|
/** Keyword shown if the image can't load / is too large. */
|
|
21
21
|
readonly fallback?: string;
|
|
22
22
|
};
|
|
23
|
-
/** Build a CSS `cursor` value from a {@link CursorSpec}. */
|
|
24
|
-
export declare const cssCursor: (spec: CursorSpec, fallbackKeyword: string) => string;
|
|
25
|
-
/**
|
|
26
|
-
* Resolve a cursor role to a CSS `cursor` value: a host-registered custom image
|
|
27
|
-
* (via {@link Editor.setCursorOverride}) if present, else `fallbackKeyword`.
|
|
28
|
-
*/
|
|
29
|
-
export declare const resolveCursor: (editor: Editor, role: CursorRole, fallbackKeyword: string) => string;
|
|
30
|
-
/**
|
|
31
|
-
* True when `p` is within the grab radius of one of the single selected
|
|
32
|
-
* element's link-start dots — used to show a `crosshair` (start a link).
|
|
33
|
-
* Mirrors the anchor-drag hit-test in pointer-binding so the cursor matches
|
|
34
|
-
* exactly where a press would begin a link.
|
|
35
|
-
*/
|
|
36
|
-
export declare const isOverLinkStartDot: (editor: Editor, p: Vec2) => boolean;
|
|
37
23
|
/**
|
|
38
24
|
* The CSS cursor for the current interaction state. Priority: active gesture →
|
|
39
25
|
* text edit → pan affordance → draw tool → idle hover hit-test. Pure read of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/editor/public/cursor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAInD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,WAAW,GACX,YAAY,GACZ,MAAM,GACN,MAAM,GACN,MAAM,GACN,YAAY,GACZ,aAAa,GACb,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,aAAa,GACb,WAAW,GACX,WAAW,CAAC;AAEhB;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN;IACE,gCAAgC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/editor/public/cursor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAInD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,WAAW,GACX,YAAY,GACZ,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,YAAY,GACZ,aAAa,GACb,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,aAAa,GACb,WAAW,GACX,WAAW,CAAC;AAEhB;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN;IACE,gCAAgC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AA2DN;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,KAAG,MAmE9D,CAAC"}
|
|
@@ -14,7 +14,7 @@ const RESIZE_ROLE = {
|
|
|
14
14
|
w: "resize-ew",
|
|
15
15
|
};
|
|
16
16
|
/** Build a CSS `cursor` value from a {@link CursorSpec}. */
|
|
17
|
-
|
|
17
|
+
const cssCursor = (spec, fallbackKeyword) => {
|
|
18
18
|
if (typeof spec === "string")
|
|
19
19
|
return spec;
|
|
20
20
|
const hx = spec.hotspot?.x ?? 0;
|
|
@@ -28,7 +28,7 @@ export const cssCursor = (spec, fallbackKeyword) => {
|
|
|
28
28
|
* Resolve a cursor role to a CSS `cursor` value: a host-registered custom image
|
|
29
29
|
* (via {@link Editor.setCursorOverride}) if present, else `fallbackKeyword`.
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
const resolveCursor = (editor, role, fallbackKeyword) => {
|
|
32
32
|
const spec = editor.getCursorOverride(role);
|
|
33
33
|
return spec === undefined ? fallbackKeyword : cssCursor(spec, fallbackKeyword);
|
|
34
34
|
};
|
|
@@ -38,7 +38,7 @@ export const resolveCursor = (editor, role, fallbackKeyword) => {
|
|
|
38
38
|
* Mirrors the anchor-drag hit-test in pointer-binding so the cursor matches
|
|
39
39
|
* exactly where a press would begin a link.
|
|
40
40
|
*/
|
|
41
|
-
|
|
41
|
+
const isOverLinkStartDot = (editor, p) => {
|
|
42
42
|
if (editor.mode !== "select" || editor._selection.size !== 1)
|
|
43
43
|
return false;
|
|
44
44
|
const id = [...editor._selection][0];
|
|
@@ -92,6 +92,9 @@ export const computeCursor = (editor, p) => {
|
|
|
92
92
|
return r("move", "grabbing");
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
+
// 1b. Armed colour-picker pipette → crosshair, waiting for the pick click.
|
|
96
|
+
if (editor.isEyedropperArmed)
|
|
97
|
+
return r("draw", "crosshair");
|
|
95
98
|
// 2. In-canvas text editing → I-beam.
|
|
96
99
|
if (editor.editingTextElement !== null)
|
|
97
100
|
return r("text", "text");
|
|
@@ -105,7 +108,15 @@ export const computeCursor = (editor, p) => {
|
|
|
105
108
|
case "draw-frame":
|
|
106
109
|
case "draw-edge":
|
|
107
110
|
case "brush":
|
|
111
|
+
case "laser":
|
|
112
|
+
case "eyedropper":
|
|
113
|
+
case "crop":
|
|
108
114
|
return r("draw", "crosshair");
|
|
115
|
+
// Erase hides the OS cursor: the overlay paints a size-matched ring (and a
|
|
116
|
+
// fading trail while dragging) in its place, so `none` lets that composite
|
|
117
|
+
// cleanly at any radius.
|
|
118
|
+
case "erase":
|
|
119
|
+
return r("erase", "none");
|
|
109
120
|
case "draw-text":
|
|
110
121
|
return r("text", "text");
|
|
111
122
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/editor/public/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAiB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/editor/public/cursor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Element, Scene, Patch } from "@oh-just-another/scene";
|
|
2
|
+
import type { ElementId, Vec2 } from "@oh-just-another/types";
|
|
3
|
+
import type { Interval } from "./stroke-eraser-coverage.js";
|
|
4
|
+
/**
|
|
5
|
+
* Mutable state of an in-progress eraser stroke. The editor owns one instance
|
|
6
|
+
* and delegates the four lifecycle calls (begin / extend / commit / cancel)
|
|
7
|
+
* through it. `pending` is the set of element ids swept so far (previewed
|
|
8
|
+
* dimmed, deleted on release); `last` is the previous sampled world point so
|
|
9
|
+
* the next extend can sample the segment between them.
|
|
10
|
+
*
|
|
11
|
+
* `strokeMode` (Shift held at press) switches the gesture to STROKE-ERASE:
|
|
12
|
+
* brush strokes are cut into fragments instead of deleted whole; non-brush
|
|
13
|
+
* shapes still object-erase. `erased` maps each touched brush id to the covered
|
|
14
|
+
* arc-length spans erased so far — the editor grows it INCREMENTALLY (each move
|
|
15
|
+
* accumulates only the new segment via `markErasedIntervals`), so the cost per
|
|
16
|
+
* move is O(points) instead of O(points × path length) per frame. The eraser cuts
|
|
17
|
+
* the stroke's GEOMETRY by arc length, not by vertex, so a big disc grazing a
|
|
18
|
+
* sparse line still removes the covered span. Unused in object mode.
|
|
19
|
+
*/
|
|
20
|
+
export interface EraseStrokeState {
|
|
21
|
+
readonly pending: Set<ElementId>;
|
|
22
|
+
last: Vec2;
|
|
23
|
+
/** Per-brush covered arc-length spans, grown incrementally in stroke mode. */
|
|
24
|
+
readonly erased: Map<ElementId, Interval[]>;
|
|
25
|
+
/** Shift held at press: cut brush strokes instead of deleting them. */
|
|
26
|
+
readonly strokeMode: boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare const beginEraseStroke: (world: Vec2, strokeMode?: boolean) => EraseStrokeState;
|
|
29
|
+
/**
|
|
30
|
+
* Sample points along the segment `from → to` at {@link ERASER_SAMPLE_STEP}
|
|
31
|
+
* spacing, hit-test each through `hitAt`, and mark every hit element in
|
|
32
|
+
* `pending`. Sampling (rather than testing only the endpoint) stops a fast
|
|
33
|
+
* swipe from skipping small shapes between two pointer-move events.
|
|
34
|
+
*
|
|
35
|
+
* `restore` flips the direction: normally hits are ADDED to `pending`
|
|
36
|
+
* (marked-for-erase); with `restore` (Alt held) a hit already in `pending` is
|
|
37
|
+
* REMOVED (un-marked), so dragging back over a marked shape with Alt rescues it
|
|
38
|
+
* — matching the Excalidraw eraser. Returns `true` when `pending` changed (so
|
|
39
|
+
* the caller can skip a redundant re-render). Mutates `pending` in place.
|
|
40
|
+
*
|
|
41
|
+
* In `strokeMode` (Shift), brush hits are skipped here — brushes are cut by the
|
|
42
|
+
* path-based stroke-erase on commit, not added to the object-delete `pending`.
|
|
43
|
+
*/
|
|
44
|
+
export declare const sampleErase: (from: Vec2, to: Vec2, hitAt: (p: Vec2) => Element | undefined, pending: Set<ElementId>, restore?: boolean, strokeMode?: boolean) => boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Produce the scene + patches that delete every id in `pending` (dropping any
|
|
47
|
+
* attached links first, exactly like a Delete-key delete). Returns `null` when
|
|
48
|
+
* nothing valid remains to erase. Reuses {@link computeDeleteSelection} so the
|
|
49
|
+
* eraser and the selection-delete share one implementation.
|
|
50
|
+
*/
|
|
51
|
+
export declare const computeEraseCommit: (scene: Scene, pending: ReadonlySet<ElementId>) => {
|
|
52
|
+
readonly scene: Scene;
|
|
53
|
+
readonly patches: Patch[];
|
|
54
|
+
} | null;
|
|
55
|
+
//# sourceMappingURL=eraser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eraser.d.ts","sourceRoot":"","sources":["../../../src/editor/public/eraser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,EAAE,IAAI,CAAC;IACX,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5C,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,gBAAgB,GAAI,OAAO,IAAI,EAAE,oBAAkB,KAAG,gBAKjE,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,IAAI,EACV,IAAI,IAAI,EACR,OAAO,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,GAAG,SAAS,EACvC,SAAS,GAAG,CAAC,SAAS,CAAC,EACvB,iBAAe,EACf,oBAAkB,KACjB,OAmBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,KAAK,EACZ,SAAS,WAAW,CAAC,SAAS,CAAC,KAC9B;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;CAAE,GAAG,IAOzD,CAAC"}
|