@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,11 +1,183 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Scene, type Element, type Link, type SpatialGrid } from "@oh-just-another/scene";
|
|
2
|
+
import { type AnimationClock, type RenderTarget, type ElementCache } from "@oh-just-another/renderer-core";
|
|
3
|
+
import { type PeerCursor, type PeerSelection } from "../overlay.js";
|
|
4
|
+
import type { Bounds, ElementId, LinkId, LayerId, AnnotationId, Vec2 } from "@oh-just-another/types";
|
|
5
|
+
import type { Mode } from "../modes.js";
|
|
6
|
+
import type { ContainerHover, EdgePreview, HoveredLinkTarget, LinkDragFromAnchor, PanGesture } from "./interaction-state.js";
|
|
7
|
+
import type { BrushStrokeState } from "./public/brush.js";
|
|
8
|
+
import type { LaserStroke } from "./public/laser.js";
|
|
9
|
+
import type { TileComposeFn } from "../editor.js";
|
|
10
|
+
/**
|
|
11
|
+
* Live brush-stroke preview: the in-progress stroke's smoothed geometry plus the
|
|
12
|
+
* paint colour and opacity it will commit with, so the overlay preview matches
|
|
13
|
+
* the committed stroke exactly (no colour / opacity snap on release).
|
|
14
|
+
*/
|
|
15
|
+
export interface BrushPreview extends BrushStrokeState {
|
|
16
|
+
readonly fill: string;
|
|
17
|
+
readonly opacity: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Flat, self-contained data bag the {@link renderEditor} orchestrator paints
|
|
21
|
+
* from — every field the render pass reads, precomputed by the Editor. Breaks
|
|
22
|
+
* the Editor ↔ orchestrator import cycle: the orchestrator no longer imports
|
|
23
|
+
* (nor reaches into) the `Editor` class, it just consumes this snapshot.
|
|
24
|
+
*
|
|
25
|
+
* All derived viewport/dirty/dim/hide inputs and the shared spatial index are
|
|
26
|
+
* resolved up front (same call order as before) so painting is side-effect
|
|
27
|
+
* free. The two runtime-parameterised lookups the overlay path still needs —
|
|
28
|
+
* click-create preview and GIF playback state — come in as narrow callbacks.
|
|
29
|
+
*/
|
|
30
|
+
export interface RenderSnapshot {
|
|
31
|
+
readonly mainTarget: RenderTarget;
|
|
32
|
+
readonly overlayTarget: RenderTarget;
|
|
33
|
+
readonly backgroundTarget: RenderTarget | null;
|
|
34
|
+
readonly scene: Scene;
|
|
35
|
+
readonly selection: ReadonlySet<ElementId>;
|
|
36
|
+
readonly selectedLinks: ReadonlySet<LinkId>;
|
|
37
|
+
/** Sole selected link (handles shown) or `null` for multi/mixed/none. */
|
|
38
|
+
readonly selectedLink: LinkId | null;
|
|
39
|
+
readonly selectedAnnotation: AnnotationId | null;
|
|
40
|
+
readonly enteredGroup: ElementId | null;
|
|
41
|
+
readonly gridEnabled: boolean;
|
|
42
|
+
readonly viewportWorld: Bounds | null;
|
|
43
|
+
readonly dirtyWorld: Bounds | null;
|
|
44
|
+
readonly dimElements: ReadonlySet<ElementId> | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* `true` while an eraser sweep has marked shapes for deletion — the dim set
|
|
47
|
+
* then fades at {@link ERASE_DIM_OPACITY} (strong "about to delete") instead
|
|
48
|
+
* of the gentler group-isolation {@link ISOLATION_DIM_OPACITY}.
|
|
49
|
+
*/
|
|
50
|
+
readonly eraseActive: boolean;
|
|
51
|
+
readonly hideElements: ReadonlySet<ElementId> | undefined;
|
|
52
|
+
readonly sharedIndex: SpatialGrid | null;
|
|
53
|
+
readonly boundsCache: ElementCache<Bounds>;
|
|
54
|
+
/**
|
|
55
|
+
* Per-instance animated-content playback clock. Threaded into `renderScene`
|
|
56
|
+
* via {@link RenderSceneOptions.clock} so this editor's per-shape GIF
|
|
57
|
+
* playback (pause / offset) doesn't leak through the process-global
|
|
58
|
+
* `setAnimationClock`. The tile path can't carry a render context, so it
|
|
59
|
+
* bridges this onto the module fallback right before compositing.
|
|
60
|
+
*/
|
|
61
|
+
readonly animationClock: AnimationClock;
|
|
62
|
+
readonly tileComposeFn: TileComposeFn | null;
|
|
63
|
+
readonly tileDirtyElements: Map<ElementId, {
|
|
64
|
+
before: Bounds | null;
|
|
65
|
+
after: Bounds | null;
|
|
66
|
+
}>;
|
|
67
|
+
readonly mode: Mode;
|
|
68
|
+
readonly activeLayerId: LayerId;
|
|
69
|
+
/** World-space corners of the pending image-crop frame, or null. */
|
|
70
|
+
readonly cropFrame: readonly Vec2[] | null;
|
|
71
|
+
/**
|
|
72
|
+
* Crop-mode ghost: the original image element (transform + live bitmap
|
|
73
|
+
* handle via `metadata.image`) and the virtual full-image LOCAL rect. The
|
|
74
|
+
* overlay paints the full bitmap faintly over this rect so hidden parts stay
|
|
75
|
+
* visible while cropping. `null` when not cropping.
|
|
76
|
+
*/
|
|
77
|
+
readonly cropGhost: {
|
|
78
|
+
readonly element: Element;
|
|
79
|
+
readonly fullRect: Bounds;
|
|
80
|
+
} | null;
|
|
81
|
+
/**
|
|
82
|
+
* Pending flowchart-create preview: the not-yet-committed nodes + links drawn
|
|
83
|
+
* faintly on the overlay while a `Cmd/Ctrl+Arrow` grow session is open.
|
|
84
|
+
* `null` when no session is active.
|
|
85
|
+
*/
|
|
86
|
+
readonly flowchartPreview: {
|
|
87
|
+
readonly elements: readonly Element[];
|
|
88
|
+
readonly links: readonly Link[];
|
|
89
|
+
} | null;
|
|
90
|
+
/**
|
|
91
|
+
* Pending stroke-erase preview: the fragments each touched brush would be cut
|
|
92
|
+
* into while a Shift-held eraser gesture drags. Drawn on the overlay; the
|
|
93
|
+
* touched originals are already in `hideElements`. `null` when no such
|
|
94
|
+
* gesture is active. Fragment ids are ephemeral (never enter history).
|
|
95
|
+
*/
|
|
96
|
+
readonly strokeErasePreview: {
|
|
97
|
+
readonly elements: readonly Element[];
|
|
98
|
+
readonly hidden: ReadonlySet<ElementId>;
|
|
99
|
+
} | null;
|
|
100
|
+
readonly lassoPreview: Bounds | null;
|
|
101
|
+
readonly drawingPreview: Bounds | null;
|
|
102
|
+
readonly edgePreview: EdgePreview | null;
|
|
103
|
+
readonly linkDragFromAnchor: LinkDragFromAnchor | null;
|
|
104
|
+
readonly hoveredLinkTarget: HoveredLinkTarget | null;
|
|
105
|
+
readonly panGesture: PanGesture | null;
|
|
106
|
+
readonly pinchActive: boolean;
|
|
107
|
+
readonly gestureActive: boolean;
|
|
108
|
+
readonly linkEndpointDrag: {
|
|
109
|
+
linkId: LinkId;
|
|
110
|
+
side: "from" | "to";
|
|
111
|
+
toPoint: Vec2;
|
|
112
|
+
} | null;
|
|
113
|
+
readonly linkSegmentDrag: {
|
|
114
|
+
linkId: LinkId;
|
|
115
|
+
axis: "h" | "v";
|
|
116
|
+
at: number;
|
|
117
|
+
} | null;
|
|
118
|
+
readonly linkWaypointDrag: {
|
|
119
|
+
linkId: LinkId;
|
|
120
|
+
index: number;
|
|
121
|
+
pendingInsert: boolean;
|
|
122
|
+
} | null;
|
|
123
|
+
readonly hoverCursorWorld: Vec2 | null;
|
|
124
|
+
readonly anchorStartHitSlop: number;
|
|
125
|
+
readonly anchorClickRadius: number;
|
|
126
|
+
readonly containerHover: ContainerHover | null;
|
|
127
|
+
readonly brushStroke: BrushPreview | null;
|
|
128
|
+
readonly laserStrokes: readonly LaserStroke[];
|
|
129
|
+
/** Fading eraser drag trail (laser-style), painted in neutral grey. */
|
|
130
|
+
readonly eraserTrail: readonly LaserStroke[];
|
|
131
|
+
/**
|
|
132
|
+
* Eraser cursor ring: the world-space hover centre and its SCREEN-px radius
|
|
133
|
+
* (the panel's eraser width). `null` unless the erase tool is active with a
|
|
134
|
+
* live hover point and the editor is editable. The overlay hides the OS
|
|
135
|
+
* cursor in erase mode and paints this ring in its place.
|
|
136
|
+
*/
|
|
137
|
+
readonly eraserCursor: {
|
|
138
|
+
readonly center: Vec2;
|
|
139
|
+
readonly radius: number;
|
|
140
|
+
} | null;
|
|
141
|
+
readonly peerCursors: readonly PeerCursor[];
|
|
142
|
+
readonly peerSelections: readonly PeerSelection[];
|
|
143
|
+
readonly debugHitZones: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Read-only / view mode. When true the overlay paints selection outlines
|
|
146
|
+
* (halo) but suppresses every interactive handle — resize / rotate grips,
|
|
147
|
+
* group-bounds handles and link endpoint/bend handles — so a viewer can't
|
|
148
|
+
* grab an affordance that would mutate the scene.
|
|
149
|
+
*/
|
|
150
|
+
readonly readOnly: boolean;
|
|
151
|
+
readonly groupMoveOrigin: ReadonlyMap<ElementId, Vec2> | null;
|
|
152
|
+
readonly aspectLocked: boolean;
|
|
153
|
+
readonly combinedSelectionBounds: Bounds | null;
|
|
154
|
+
readonly editingText: {
|
|
155
|
+
caret: {
|
|
156
|
+
x: number;
|
|
157
|
+
y: number;
|
|
158
|
+
height: number;
|
|
159
|
+
} | null;
|
|
160
|
+
caretColor: string;
|
|
161
|
+
selectionRects: readonly Bounds[];
|
|
162
|
+
} | null;
|
|
163
|
+
readonly previewClickCreate: (fromElement: ElementId, anchorName: string) => {
|
|
164
|
+
bounds: Bounds;
|
|
165
|
+
path: readonly Vec2[];
|
|
166
|
+
element: Element;
|
|
167
|
+
ghostScene: Scene;
|
|
168
|
+
ghostLinkId: LinkId;
|
|
169
|
+
} | null;
|
|
170
|
+
readonly isPlaybackPaused: (id: ElementId) => boolean;
|
|
171
|
+
}
|
|
2
172
|
/**
|
|
3
173
|
* Render orchestrator: background grid pass, tile-cache vs full renderScene
|
|
4
174
|
* path, and the overlay options builder (drawing / lasso preview, edge
|
|
5
175
|
* preview, hovered ports, group handles, container drop zone, brush stroke,
|
|
6
|
-
* edge endpoint drag, peer cursors, annotations).
|
|
7
|
-
*
|
|
8
|
-
* site is editor.ts's own private `render()`
|
|
176
|
+
* edge endpoint drag, peer cursors, annotations). Consumes a flat
|
|
177
|
+
* {@link RenderSnapshot} the Editor builds each frame — no coupling to the
|
|
178
|
+
* `Editor` class. The single call site is editor.ts's own private `render()`
|
|
179
|
+
* wrapper. Side-effect free apart from the paint itself: the caller owns the
|
|
180
|
+
* `lastRendered*` bookkeeping and the tile-dirty reset.
|
|
9
181
|
*/
|
|
10
|
-
export declare const renderEditor: (editor:
|
|
182
|
+
export declare const renderEditor: (editor: RenderSnapshot) => void;
|
|
11
183
|
//# sourceMappingURL=render-orchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-orchestrator.d.ts","sourceRoot":"","sources":["../../src/editor/render-orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render-orchestrator.d.ts","sourceRoot":"","sources":["../../src/editor/render-orchestrator.ts"],"names":[],"mappings":"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"}
|