@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
|
@@ -39,7 +39,7 @@ const resolveCursor = (editor, role, fallbackKeyword) => {
|
|
|
39
39
|
* exactly where a press would begin a link.
|
|
40
40
|
*/
|
|
41
41
|
const isOverLinkStartDot = (editor, p) => {
|
|
42
|
-
if (editor.
|
|
42
|
+
if (editor.activeTool.type !== "select" || editor._selection.size !== 1)
|
|
43
43
|
return false;
|
|
44
44
|
const id = [...editor._selection][0];
|
|
45
45
|
if (id === undefined)
|
|
@@ -74,7 +74,7 @@ export const computeCursor = (editor, p) => {
|
|
|
74
74
|
return r("pan-active", "grabbing");
|
|
75
75
|
if (editor.linkDragFromAnchor?.moved === true)
|
|
76
76
|
return r("draw", "crosshair");
|
|
77
|
-
if (editor.isDraggingWaypoint || editor.isDraggingSegment)
|
|
77
|
+
if (editor.isDraggingWaypoint || editor.isDraggingSegment || editor.isDraggingLabel)
|
|
78
78
|
return r("move", "grabbing");
|
|
79
79
|
if (editor.annotationDrag?.moved === true)
|
|
80
80
|
return r("move", "grabbing");
|
|
@@ -99,17 +99,16 @@ export const computeCursor = (editor, p) => {
|
|
|
99
99
|
if (editor.editingTextElement !== null)
|
|
100
100
|
return r("text", "text");
|
|
101
101
|
// 3. Pan affordance (idle): Space held or hand tool.
|
|
102
|
-
if (editor.spaceHeld || editor.
|
|
102
|
+
if (editor.spaceHeld || editor.activeTool.type === "hand")
|
|
103
103
|
return r("pan-ready", "grab");
|
|
104
104
|
// 4. Draw tools (idle, before a gesture starts).
|
|
105
|
-
switch (editor.
|
|
105
|
+
switch (editor.activeTool.type) {
|
|
106
106
|
case "draw-rect":
|
|
107
107
|
case "draw-ellipse":
|
|
108
108
|
case "draw-frame":
|
|
109
109
|
case "draw-edge":
|
|
110
110
|
case "brush":
|
|
111
111
|
case "laser":
|
|
112
|
-
case "eyedropper":
|
|
113
112
|
case "crop":
|
|
114
113
|
return r("draw", "crosshair");
|
|
115
114
|
// Erase hides the OS cursor: the overlay paints a size-matched ring (and a
|
|
@@ -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;AA0C1D,4CAA4C;AAC5C,MAAM,WAAW,GAAiC;IAChD,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,aAAa;IACjB,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;CACf,CAAC;AAEF,4DAA4D;AAC5D,MAAM,SAAS,GAAG,CAAC,IAAgB,EAAE,eAAuB,EAAU,EAAE;IACtE,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,GAAG,GACP,IAAI,CAAC,KAAK,KAAK,SAAS;QACtB,CAAC,CAAC,kBAAkB,IAAI,CAAC,GAAG,eAAe,IAAI,CAAC,KAAK,QAAQ;QAC7D,CAAC,CAAC,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3B,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC;AACnF,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,IAAgB,EAAE,eAAuB,EAAU,EAAE;IAC1F,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,CAAO,EAAW,EAAE;IAC9D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/editor/public/cursor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import { type Scene, type Element, type Link, type SpatialGrid } from "@oh-just-another/scene";
|
|
1
|
+
import { type BrushPoint, type Scene, type Element, type Link, type SpatialGrid } from "@oh-just-another/scene";
|
|
2
2
|
import { type AnimationClock, type RenderTarget, type ElementCache } from "@oh-just-another/renderer-core";
|
|
3
3
|
import { type PeerCursor, type PeerSelection } from "../overlay.js";
|
|
4
4
|
import type { Bounds, ElementId, LinkId, LayerId, AnnotationId, Vec2 } from "@oh-just-another/types";
|
|
5
5
|
import type { Mode } from "../modes.js";
|
|
6
6
|
import type { ContainerHover, EdgePreview, HoveredLinkTarget, LinkDragFromAnchor, PanGesture } from "./interaction-state.js";
|
|
7
|
-
import type { BrushStrokeState } from "./public/brush.js";
|
|
8
7
|
import type { LaserStroke } from "./public/laser.js";
|
|
9
8
|
import type { TileComposeFn } from "../editor.js";
|
|
10
9
|
/**
|
|
11
|
-
* Live brush-stroke preview: the in-progress stroke
|
|
12
|
-
* paint colour and opacity it will
|
|
13
|
-
*
|
|
10
|
+
* Live brush-stroke preview: the in-progress stroke run through the commit
|
|
11
|
+
* pipeline (catch-up + smoothing) plus the paint colour and opacity it will
|
|
12
|
+
* commit with, so the overlay preview matches the committed stroke exactly
|
|
13
|
+
* (no geometry / colour / opacity snap on release). A derived snapshot — it
|
|
14
|
+
* deliberately does NOT extend the mutable `BrushStrokeState` capture bag.
|
|
14
15
|
*/
|
|
15
|
-
export interface BrushPreview
|
|
16
|
+
export interface BrushPreview {
|
|
17
|
+
readonly origin: Vec2;
|
|
18
|
+
readonly points: readonly BrushPoint[];
|
|
16
19
|
readonly fill: string;
|
|
17
20
|
readonly opacity: number;
|
|
18
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-orchestrator.d.ts","sourceRoot":"","sources":["../../src/editor/render-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,KAAK,KAAK,EAEV,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"render-orchestrator.d.ts","sourceRoot":"","sources":["../../src/editor/render-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,KAAK,UAAU,EACf,KAAK,KAAK,EAEV,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAML,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAiBvB,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EACT,MAAM,EACN,OAAO,EACP,YAAY,EACZ,IAAI,EACL,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAE7B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAC;IAE/C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC;IAExC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACzD;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3C;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAE5F,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpF;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE;QACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;QACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;KACjC,GAAG,IAAI,CAAC;IACT;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;QACtC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;KACzC,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACzF,QAAQ,CAAC,eAAe,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,QAAQ,CAAC,gBAAgB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5F,QAAQ,CAAC,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,SAAS,WAAW,EAAE,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE;QACpB,KAAK,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACvD,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;KACnC,GAAG,IAAI,CAAC;IAET,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,WAAW,EAAE,SAAS,EACtB,UAAU,EAAE,MAAM,KACf;QACH,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,KAAK,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC;CACvD;AA2FD;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,cAAc,KAAG,IAwiBrD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getLink, getLinkPath, getLinkCurvePoints, getLinkWaypointMidpoints, getElement, getElementWorldBounds, getElementOutline, getWorldToScreen, getDropZonesWorld, strokeOutsideExtent, isFrame, isImage, } from "@oh-just-another/scene";
|
|
1
|
+
import { getLink, getLinkPath, getLinkCurvePoints, getLinkWaypointMidpoints, getElement, getElementWorldBounds, getElementOutline, getWorldToScreen, getDropZonesWorld, strokeOutsideExtent, isFrame, isImage, getElbowSegmentHandles, } from "@oh-just-another/scene";
|
|
2
2
|
import { DEFAULT_LOD, renderLinks, renderGrid, renderScene, setAnimationClock, } from "@oh-just-another/renderer-core";
|
|
3
3
|
import { renderOverlay, paintElementSelectionHalo, } from "../overlay.js";
|
|
4
4
|
import { anchorOverlayPoints } from "./anchor-points.js";
|
|
@@ -125,17 +125,17 @@ export const renderEditor = (editor) => {
|
|
|
125
125
|
const dirtyWorld = editor.dirtyWorld;
|
|
126
126
|
const dimElements = editor.dimElements;
|
|
127
127
|
const hideElements = editor.hideElements;
|
|
128
|
-
// Group isolation (dim)
|
|
129
|
-
//
|
|
130
|
-
//
|
|
131
|
-
//
|
|
132
|
-
//
|
|
133
|
-
//
|
|
134
|
-
//
|
|
135
|
-
//
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
if (editor.tileComposeFn && viewportWorld && !
|
|
128
|
+
// Group isolation (dim) can't be honoured by the tile cache: tiles bake
|
|
129
|
+
// every shape at full opacity, and neither a scrim nor an overlay can
|
|
130
|
+
// reproduce `renderScene`'s per-element dim without re-rasterising most
|
|
131
|
+
// tiles (isolation dims almost everything), which would defeat the cache.
|
|
132
|
+
// While the dim set is non-empty we take the full `renderScene` path.
|
|
133
|
+
// Per-element HIDE stays on the tile path: the sets are small (stroke-eraser
|
|
134
|
+
// preview, visibility), so the compositor honours them directly — it bakes
|
|
135
|
+
// tiles with the set applied and re-rasterises only the tiles a shape
|
|
136
|
+
// touches when it enters/leaves the set.
|
|
137
|
+
const dimActive = dimElements !== undefined && dimElements.size > 0;
|
|
138
|
+
if (editor.tileComposeFn && viewportWorld && !dimActive) {
|
|
139
139
|
// Tile-cache path: clear main once, then composite cached tiles.
|
|
140
140
|
// The compositor rasterises tiles through its own `renderScene` calls,
|
|
141
141
|
// which we can't hand a render context — bridge this editor's per-instance
|
|
@@ -151,6 +151,7 @@ export const renderEditor = (editor) => {
|
|
|
151
151
|
viewport: viewportWorld,
|
|
152
152
|
changedElements: editor.tileDirtyElements,
|
|
153
153
|
zoomBucket: editor.scene.viewport.zoom > 0 ? 2 ** Math.round(Math.log2(editor.scene.viewport.zoom)) : 1,
|
|
154
|
+
...(hideElements && hideElements.size > 0 ? { hideElements } : {}),
|
|
154
155
|
...(editor.sharedIndex ? { index: editor.sharedIndex } : {}),
|
|
155
156
|
});
|
|
156
157
|
renderLinks(editor.scene, editor.mainTarget, { viewportWorld });
|
|
@@ -193,6 +194,11 @@ export const renderEditor = (editor) => {
|
|
|
193
194
|
// Read-only: keep selection outlines but drop every interactive handle.
|
|
194
195
|
if (editor.readOnly)
|
|
195
196
|
overlayOpts.readOnly = true;
|
|
197
|
+
// Non-select tool active: same handle suppression — the chrome is not
|
|
198
|
+
// pressable (pickPressTarget gates it), so don't advertise it. `hand` is
|
|
199
|
+
// navigation-only and keeps the chrome visible for context.
|
|
200
|
+
if (editor.mode !== "select" && editor.mode !== "hand")
|
|
201
|
+
overlayOpts.suppressHandles = true;
|
|
196
202
|
// Image-crop chrome (crop mode) — dashed accent quad over the pending
|
|
197
203
|
// window, 8 grab handles, and the faint full-image ghost behind them.
|
|
198
204
|
if (editor.cropFrame)
|
|
@@ -475,22 +481,13 @@ export const renderEditor = (editor) => {
|
|
|
475
481
|
// a separate mechanic). Only straight / bezier show free waypoints.
|
|
476
482
|
const isElbow = (edge.routing ?? "straight") === "orthogonal";
|
|
477
483
|
if (isElbow) {
|
|
478
|
-
// Segment handles on
|
|
479
|
-
//
|
|
480
|
-
//
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
const segs = path.length === 2
|
|
486
|
-
? [0]
|
|
487
|
-
: Array.from({ length: Math.max(0, path.length - 3) }, (_, i) => i + 1);
|
|
488
|
-
for (const k of segs) {
|
|
489
|
-
const a = req(path[k]);
|
|
490
|
-
const b = req(path[k + 1]);
|
|
491
|
-
midpoints.push({ x: (a.x + b.x) / 2, y: (a.y + b.y) / 2 });
|
|
492
|
-
}
|
|
493
|
-
}
|
|
484
|
+
// Segment handles on the slidable segments of the routed chain —
|
|
485
|
+
// positions shared with the pointer hit-test (and slid out from
|
|
486
|
+
// under the caption pill). Hidden during an active segment /
|
|
487
|
+
// endpoint drag.
|
|
488
|
+
const midpoints = editor.linkSegmentDrag || editor.linkEndpointDrag
|
|
489
|
+
? []
|
|
490
|
+
: getElbowSegmentHandles(editor.scene, edge, path).map((h) => h.point);
|
|
494
491
|
overlayOpts.edgeSelection = { from, to, midpoints };
|
|
495
492
|
}
|
|
496
493
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-orchestrator.js","sourceRoot":"","sources":["../../src/editor/render-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render-orchestrator.js","sourceRoot":"","sources":["../../src/editor/render-orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/editor-events.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Scene } from "@oh-just-another/scene";
|
|
2
2
|
import type * as Selection from "./selection.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { ActiveTool } from "./modes.js";
|
|
4
4
|
/**
|
|
5
5
|
* Typed event surface for `Editor`. Each event has a focused payload so
|
|
6
|
-
* subscribers listen only to what they care about — `
|
|
7
|
-
* on `
|
|
6
|
+
* subscribers listen only to what they care about — `useActiveTool` re-renders
|
|
7
|
+
* on `tool` only, `useHistory` on `history`, etc. The umbrella `change`
|
|
8
8
|
* event keeps the `editor.subscribe(fn)` contract: anything that fires a
|
|
9
9
|
* specific event also fires `change` so coarse-grained listeners still
|
|
10
10
|
* wake up exactly once per logical update.
|
|
@@ -16,8 +16,8 @@ export interface EditorEvents {
|
|
|
16
16
|
* subscribe to several slices and don't want a per-slice fan-out.
|
|
17
17
|
*/
|
|
18
18
|
change: () => void;
|
|
19
|
-
/** Active
|
|
20
|
-
|
|
19
|
+
/** Active tool changed — type switch, lock flip or revert-target update. */
|
|
20
|
+
tool: (tool: ActiveTool) => void;
|
|
21
21
|
/** Selection set changed (added, removed, replaced). */
|
|
22
22
|
selection: (selection: Selection.Selection) => void;
|
|
23
23
|
/** Scene identity changed (any patch applied through the model). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-events.d.ts","sourceRoot":"","sources":["../src/editor-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"editor-events.d.ts","sourceRoot":"","sources":["../src/editor-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,4EAA4E;IAC5E,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACjC,wDAAwD;IACxD,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC;IACpD,oEAAoE;IACpE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,gEAAgE;IAChE,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,sEAAsE;IACtE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC"}
|
package/dist/editor.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { ElementCache, type RenderTarget, type TextShaper, type Rasterizer } fro
|
|
|
7
7
|
import { type HistoryOptions, type HistoryProvider, type TransactionHandle } from "@oh-just-another/history";
|
|
8
8
|
import { type FileDropHandler } from "./file-drop.js";
|
|
9
9
|
import { interactionMachine, type InteractionContext, type InteractionEmit, type PressTarget } from "./machine.js";
|
|
10
|
-
import type { Mode } from "./modes.js";
|
|
10
|
+
import type { ActiveTool, Mode } from "./modes.js";
|
|
11
11
|
import type { EditorEvents } from "./editor-events.js";
|
|
12
12
|
import { GifPlaybackController } from "./editor/gif-playback.js";
|
|
13
13
|
import { LongPressController } from "./editor/long-press.js";
|
|
@@ -56,7 +56,7 @@ export interface EditorOptions {
|
|
|
56
56
|
*/
|
|
57
57
|
readonly onAfterRender?: () => void;
|
|
58
58
|
readonly initialScene: Scene;
|
|
59
|
-
readonly
|
|
59
|
+
readonly initialTool?: Mode;
|
|
60
60
|
/**
|
|
61
61
|
* Start the editor in read-only / view mode. Pointer edits (create /
|
|
62
62
|
* move / resize / rotate / delete) and non-`viewMode` actions are gated;
|
|
@@ -138,6 +138,12 @@ export type TileComposeFn = (scene: Scene, mainTarget: RenderTarget, options: {
|
|
|
138
138
|
after: Bounds | null;
|
|
139
139
|
}>;
|
|
140
140
|
readonly zoomBucket: number;
|
|
141
|
+
/**
|
|
142
|
+
* Elements omitted from tile rasterisation (stroke-eraser preview and
|
|
143
|
+
* per-element hide). The compositor invalidates the tiles an element
|
|
144
|
+
* touches when it enters/leaves the set.
|
|
145
|
+
*/
|
|
146
|
+
readonly hideElements?: ReadonlySet<ElementId>;
|
|
141
147
|
/**
|
|
142
148
|
* Persistent spatial index over the scene's current element world-AABBs,
|
|
143
149
|
* when the editor maintains one (large scenes, shared with the hit-test
|
|
@@ -353,11 +359,11 @@ export declare class Editor {
|
|
|
353
359
|
get brushStroke(): BrushStrokeState | null;
|
|
354
360
|
set brushStroke(v: BrushStrokeState | null);
|
|
355
361
|
/**
|
|
356
|
-
* The in-progress brush stroke
|
|
357
|
-
*
|
|
358
|
-
*
|
|
359
|
-
*
|
|
360
|
-
*
|
|
362
|
+
* The in-progress brush stroke run through the SAME commit pipeline
|
|
363
|
+
* `commitBrushStroke` applies on release (see {@link brushCommitPoints}:
|
|
364
|
+
* raw catch-up point + Catmull-Rom resample), so the stroke reads exactly
|
|
365
|
+
* as it will land in the scene instead of snapping on release. A fresh
|
|
366
|
+
* object each call (points diverge from `brushStroke.points`), so the
|
|
361
367
|
* overlay memo repaints every move that grows the stroke.
|
|
362
368
|
*/
|
|
363
369
|
private get brushPreviewStroke();
|
|
@@ -518,6 +524,10 @@ export declare class Editor {
|
|
|
518
524
|
* toolbar as a lock affordance next to the active tool.
|
|
519
525
|
*/
|
|
520
526
|
private _toolLocked;
|
|
527
|
+
/** The tool active before the current one — `activeTool.lastActiveTool`. */
|
|
528
|
+
private _lastActiveTool;
|
|
529
|
+
/** Cached `activeTool` value object; rebuilt only when a component changes. */
|
|
530
|
+
private _activeToolCache;
|
|
521
531
|
/**
|
|
522
532
|
* Host-extensible file-drop dispatch. Built-ins (image / scene
|
|
523
533
|
* JSON) register themselves at editor construction; hosts add
|
|
@@ -650,7 +660,12 @@ export declare class Editor {
|
|
|
650
660
|
private observableSnapshot;
|
|
651
661
|
get scene(): Scene;
|
|
652
662
|
get selection(): Selection.Selection;
|
|
653
|
-
|
|
663
|
+
/**
|
|
664
|
+
* The active tool as a single value object (`{ type, locked,
|
|
665
|
+
* lastActiveTool }`) — the one source of truth for the current tool.
|
|
666
|
+
* The reference is stable between changes (safe for React deps).
|
|
667
|
+
*/
|
|
668
|
+
get activeTool(): ActiveTool;
|
|
654
669
|
get history(): HistoryProvider;
|
|
655
670
|
get canUndo(): boolean;
|
|
656
671
|
get canRedo(): boolean;
|
|
@@ -757,8 +772,6 @@ export declare class Editor {
|
|
|
757
772
|
setGridVisible(on: boolean): void;
|
|
758
773
|
/** Toggle the background grid on/off. */
|
|
759
774
|
toggleGrid(): void;
|
|
760
|
-
/** Whether the active draw-mode sticks after a create (toolbar lock). */
|
|
761
|
-
get toolLocked(): boolean;
|
|
762
775
|
/** All currently-selected link (connector) ids. */
|
|
763
776
|
get selectedLinks(): LinkSelection.LinkSelection;
|
|
764
777
|
/**
|
|
@@ -794,14 +807,19 @@ export declare class Editor {
|
|
|
794
807
|
*/
|
|
795
808
|
dispatchFileDrop(file: File, worldPoint: Vec2): Promise<boolean>;
|
|
796
809
|
/**
|
|
797
|
-
* Toggle the tool
|
|
798
|
-
* after each successful shape create — the user keeps drawing
|
|
810
|
+
* Toggle the tool lock (`activeTool.locked`). With `true`, draw tools
|
|
811
|
+
* persist after each successful shape create — the user keeps drawing
|
|
799
812
|
* rectangles without re-pressing R. With `false` (default), the
|
|
800
813
|
* editor reverts to `select` after each create.
|
|
801
814
|
*/
|
|
802
815
|
setToolLocked(locked: boolean): void;
|
|
803
|
-
private
|
|
804
|
-
|
|
816
|
+
private maybeRevertToolAfterCreate;
|
|
817
|
+
/**
|
|
818
|
+
* Switch the active tool. The single entry point for tool changes —
|
|
819
|
+
* toolbar buttons and hotkeys reach it through the action registry.
|
|
820
|
+
* Records the outgoing tool in `activeTool.lastActiveTool`.
|
|
821
|
+
*/
|
|
822
|
+
setActiveTool(mode: Mode): void;
|
|
805
823
|
/** Undo the latest record. No-op if there is nothing to undo. */
|
|
806
824
|
undo(): boolean;
|
|
807
825
|
/** Redo the undone record. */
|
|
@@ -950,7 +968,11 @@ export declare class Editor {
|
|
|
950
968
|
commitLinkCaptionEdit(text: string): void;
|
|
951
969
|
/** Cancel link caption editing without changing the label. */
|
|
952
970
|
cancelLinkCaptionEdit(): void;
|
|
953
|
-
/**
|
|
971
|
+
/**
|
|
972
|
+
* World-space anchor point for a link's caption — the same shared geometry
|
|
973
|
+
* the renderer places the pill at (`linkLabelAnchor` over the drawn
|
|
974
|
+
* polyline), so the inline editor opens exactly over the label.
|
|
975
|
+
*/
|
|
954
976
|
linkLabelWorld(id: LinkId): Vec2 | null;
|
|
955
977
|
beginTextEdit(id: ElementId): void;
|
|
956
978
|
/**
|
|
@@ -1051,7 +1073,13 @@ export declare class Editor {
|
|
|
1051
1073
|
* the eraser radius. Merges over the current settings.
|
|
1052
1074
|
*/
|
|
1053
1075
|
setBrushSettings(patch: Partial<BrushSettings>): void;
|
|
1054
|
-
|
|
1076
|
+
/**
|
|
1077
|
+
* Start a brush stroke. `pointerType` (a `PointerEvent.pointerType`) decides
|
|
1078
|
+
* the pressure source: a pen has a real pressure channel and is honoured
|
|
1079
|
+
* verbatim (the default, which also keeps programmatic callers exact); mouse
|
|
1080
|
+
* and touch have none, so pressure is simulated from pointer speed.
|
|
1081
|
+
*/
|
|
1082
|
+
beginBrushStroke(world: Vec2, pressure?: number, pointerType?: string): void;
|
|
1055
1083
|
extendBrushStroke(world: Vec2, pressure?: number): void;
|
|
1056
1084
|
commitBrushStroke(): ElementId | null;
|
|
1057
1085
|
cancelBrushStroke(): void;
|
|
@@ -1059,6 +1087,11 @@ export declare class Editor {
|
|
|
1059
1087
|
get pendingBrushStroke(): {
|
|
1060
1088
|
readonly origin: Vec2;
|
|
1061
1089
|
readonly points: readonly BrushPoint[];
|
|
1090
|
+
readonly pressures: readonly number[];
|
|
1091
|
+
readonly baseWidth: number;
|
|
1092
|
+
readonly lastRaw: BrushPoint & {
|
|
1093
|
+
readonly pressure: number;
|
|
1094
|
+
};
|
|
1062
1095
|
} | null;
|
|
1063
1096
|
/**
|
|
1064
1097
|
* Start an eraser stroke at `world`, seeding it with the shape under it so a
|
|
@@ -1187,6 +1220,13 @@ export declare class Editor {
|
|
|
1187
1220
|
/** Whether a style has been copied and can be pasted. */
|
|
1188
1221
|
get hasStyleClipboard(): boolean;
|
|
1189
1222
|
updateStyle(ids: Iterable<ElementId>, partial: Partial<TextStyle>): void;
|
|
1223
|
+
/**
|
|
1224
|
+
* Re-base the width of committed brush strokes (`style.strokeWidth` has no
|
|
1225
|
+
* effect on brushes — their widths are baked per point). Scales every baked
|
|
1226
|
+
* point width proportionally and records the new `baseWidth`, keeping the
|
|
1227
|
+
* stroke's pressure profile. One undo step. Read-only editors ignore it.
|
|
1228
|
+
*/
|
|
1229
|
+
setBrushWidth(ids: Iterable<ElementId>, width: number): void;
|
|
1190
1230
|
/**
|
|
1191
1231
|
* Apply a partial text style (bold / italic / colour / decoration) to the
|
|
1192
1232
|
* character range `[from, to)` of a single text element, producing styled
|
|
@@ -1215,9 +1255,9 @@ export declare class Editor {
|
|
|
1215
1255
|
/**
|
|
1216
1256
|
* Sample the colour under `worldPoint`. When a pipette pick is armed (see
|
|
1217
1257
|
* {@link beginEyedropperPick}), route the colour to that callback and disarm.
|
|
1218
|
-
* Otherwise
|
|
1219
|
-
*
|
|
1220
|
-
*
|
|
1258
|
+
* Otherwise apply it as the current selection's fill (programmatic path).
|
|
1259
|
+
* Returns the sampled colour, or `null` on empty canvas. Read-only editors
|
|
1260
|
+
* sample but don't mutate.
|
|
1221
1261
|
*/
|
|
1222
1262
|
applyEyedropperAt(worldPoint: Vec2): Color | null;
|
|
1223
1263
|
/**
|
|
@@ -1908,6 +1948,11 @@ export declare class Editor {
|
|
|
1908
1948
|
* transaction so the whole drag is one undo step.
|
|
1909
1949
|
*/
|
|
1910
1950
|
beginWaypointDrag(linkId: LinkId, index: number, insert: boolean): void;
|
|
1951
|
+
/** Caption (label pill) drag along the selected link's path. */
|
|
1952
|
+
get isDraggingLabel(): boolean;
|
|
1953
|
+
beginLabelDrag(linkId: LinkId): void;
|
|
1954
|
+
updateLabelDrag(world: Vec2): void;
|
|
1955
|
+
endLabelDrag(): void;
|
|
1911
1956
|
/** Live update of the dragged waypoint to `world`. */
|
|
1912
1957
|
updateWaypointDrag(world: Vec2): void;
|
|
1913
1958
|
/**
|