edododraw 0.1.0 → 0.1.1

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.
@@ -94,6 +94,9 @@ export interface NodeDecl {
94
94
  attrs: AttrBlock;
95
95
  anchors: AnchorDecl[];
96
96
  span: Span;
97
+ /** Source offsets of the attribute block braces (for surgical patching). */
98
+ attrOpen?: number;
99
+ attrClose?: number;
97
100
  }
98
101
  export interface EdgeOpInfo {
99
102
  glyph: string;
@@ -246,6 +249,21 @@ export interface SceneDecl {
246
249
  name?: string;
247
250
  statements: SceneStmt[];
248
251
  span: Span;
252
+ /** Source offsets of the scene block braces (for appending nodes/edges). */
253
+ braceOpen?: number;
254
+ braceClose?: number;
255
+ }
256
+ export interface OverrideEntry {
257
+ id: string;
258
+ x: number;
259
+ y: number;
260
+ w?: number;
261
+ h?: number;
262
+ }
263
+ export interface OverridesDecl {
264
+ type: "overrides";
265
+ entries: OverrideEntry[];
266
+ span: Span;
249
267
  }
250
268
  export interface VersionDecl {
251
269
  type: "version";
@@ -258,7 +276,7 @@ export interface ImportDecl {
258
276
  as?: string;
259
277
  span: Span;
260
278
  }
261
- export type TopStmt = VersionDecl | MetaDecl | ImportDecl | ThemeDecl | StyleDecl | DefaultsDecl | SceneDecl | TimelineDecl | AnnotateDecl | MermaidDecl;
279
+ export type TopStmt = VersionDecl | MetaDecl | ImportDecl | ThemeDecl | StyleDecl | DefaultsDecl | SceneDecl | TimelineDecl | AnnotateDecl | MermaidDecl | OverridesDecl;
262
280
  export interface Program {
263
281
  type: "program";
264
282
  statements: TopStmt[];
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/engine/dsl/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/engine/dsl/ast.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/engine/dsl/compile.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EACV,UAAU,EAOV,KAAK,EAGN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,aAAa,EAOb,OAAO,EAEP,KAAK,EACN,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAgBjD,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,aAAa,CAAC;CAC5B;AAUD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CAmRzF;AA0UD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CA0B9H"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/engine/dsl/compile.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EACV,UAAU,EAOV,KAAK,EAGN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,aAAa,EAOb,OAAO,EAEP,KAAK,EACN,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAgBjD,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,aAAa,CAAC;CAC5B;AAUD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CA6RzF;AA0UD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CA0B9H"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/engine/dsl/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,EAmBV,OAAO,EAcR,MAAM,UAAU,CAAC;AAiBlB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,aAAa,CAAC;CAC5B;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAIjD"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/engine/dsl/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,EAoBV,OAAO,EAcR,MAAM,UAAU,CAAC;AAiBlB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,aAAa,CAAC;CAC5B;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAIjD"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Source patcher — turns direct canvas edits into surgical edits of the `.edd`
3
+ * source, so the code stays the single source of truth (you drag a node and
4
+ * watch the code update). Uses the parser's AST spans to edit precisely and
5
+ * leave the rest of the source untouched.
6
+ *
7
+ * - move / resize -> a machine-managed `overrides { … }` block (works for
8
+ * every node: declared, auto-created from an edge, or Mermaid-imported)
9
+ * - rename -> replace the node's label (or add a `label:` attr)
10
+ * - restyle -> upsert `fill` / `stroke` / `shape` attrs on the decl
11
+ * - add node/edge -> append a declaration to the scene block
12
+ * - delete -> remove the node's decl, its edges, and its override
13
+ */
14
+ export interface OverrideEntry {
15
+ id: string;
16
+ x: number;
17
+ y: number;
18
+ w?: number;
19
+ h?: number;
20
+ }
21
+ /** Regenerate the `overrides { … }` block (replace, append, or remove). */
22
+ export declare function writeOverrides(source: string, entries: OverrideEntry[]): string;
23
+ /** Rename a node (replace its label string, or add a `label:` attr / decl). */
24
+ export declare function renameNode(source: string, id: string, label: string): string;
25
+ /** Set fill / stroke / shape on a node (upsert attrs, or create a decl). */
26
+ export declare function styleNode(source: string, id: string, style: {
27
+ fill?: string;
28
+ stroke?: string;
29
+ shape?: string;
30
+ }): string;
31
+ /** Insert a new node declaration into the (first) scene block. */
32
+ export declare function addNode(source: string, node: {
33
+ id: string;
34
+ shape: string;
35
+ label: string;
36
+ }): string;
37
+ /** Append an edge to the (first) scene block. */
38
+ export declare function addEdge(source: string, edge: {
39
+ from: string;
40
+ to: string;
41
+ glyph?: string;
42
+ label?: string;
43
+ }): string;
44
+ /** Delete a node: remove its decl, any edges mentioning it, and its override. */
45
+ export declare function deleteElements(source: string, ids: string[]): string;
46
+ //# sourceMappingURL=patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/engine/dsl/patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAuDD,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAY/E;AA6CD,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAa5E;AAED,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAUvH;AAED,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAIlG;AAED,iDAAiD;AACjD,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAKlH;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CA4BpE"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * EditController — direct manipulation of the rendered diagram (Excalidraw-like)
3
+ * with every edit rounding back to the `.edd` source, so code stays the single
4
+ * source of truth. Driven by the EdodoDraw facade, which routes pointer events
5
+ * here when an edit tool is active.
6
+ *
7
+ * Tools: select (move/resize/rename/delete), hand (pan), rect/ellipse/diamond/
8
+ * text (add nodes), arrow (connect nodes). Move/resize write an `overrides`
9
+ * block; rename/style/add/delete surgically patch the source.
10
+ */
11
+ import type { Point } from "../geometry.js";
12
+ import type { Scene, SceneNode } from "../scene/types.js";
13
+ import type { SvgRenderer } from "../render/svgRenderer.js";
14
+ export type EditTool = "select" | "hand" | "rect" | "ellipse" | "diamond" | "text" | "arrow";
15
+ export interface EditState {
16
+ tool: EditTool;
17
+ selected: string | null;
18
+ }
19
+ interface Callbacks {
20
+ getScene: () => Scene;
21
+ getSource: () => string;
22
+ onSource: (next: string) => void;
23
+ onState: (s: EditState) => void;
24
+ onRequestRename: (id: string, current: string, screen: Point) => void;
25
+ }
26
+ export declare class EditController {
27
+ private r;
28
+ private cb;
29
+ private overlay;
30
+ private tool;
31
+ private selected;
32
+ private drag;
33
+ constructor(renderer: SvgRenderer, cb: Callbacks);
34
+ setTool(t: EditTool): void;
35
+ getTool(): EditTool;
36
+ getSelected(): string | null;
37
+ getSelectedNode(): SceneNode | null;
38
+ clearSelection(): void;
39
+ private emit;
40
+ render(): void;
41
+ private handlePoints;
42
+ private rect;
43
+ private drawCreatePreview;
44
+ private drawConnectPreview;
45
+ private hitHandle;
46
+ /** returns true if handled (facade should not pan). */
47
+ pointerDown(world: Point, screen: Point): boolean;
48
+ pointerMove(world: Point): void;
49
+ pointerUp(world: Point): void;
50
+ private applyResize;
51
+ /**
52
+ * Commit a move/resize. Freezes EVERY node's current position into overrides
53
+ * (the Excalidraw-like "you've taken manual control" model), so pinning one
54
+ * node never reshuffles the auto-layout of the others. Existing size overrides
55
+ * are preserved; the edited node gets its new geometry.
56
+ */
57
+ private commitGeometry;
58
+ private finishCreate;
59
+ private uniqueId;
60
+ requestRenameSelected(): void;
61
+ dblclick(world: Point): boolean;
62
+ applyRename(id: string, label: string): void;
63
+ applyStyle(id: string, style: {
64
+ fill?: string;
65
+ stroke?: string;
66
+ shape?: string;
67
+ }): void;
68
+ deleteSelected(): void;
69
+ handleKey(e: KeyboardEvent): boolean;
70
+ dispose(): void;
71
+ }
72
+ export {};
73
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/engine/edit/controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAI5C,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAM5D,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAID,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAChC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;CACvE;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,CAAC,CAAc;IACvB,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,QAAQ,CAAuB;IAEvC,OAAO,CAAC,IAAI,CAK6C;gBAE7C,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS;IAQhD,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI;IAM1B,OAAO,IAAI,QAAQ;IAGnB,WAAW,IAAI,MAAM,GAAG,IAAI;IAG5B,eAAe,IAAI,SAAS,GAAG,IAAI;IAInC,cAAc,IAAI,IAAI;IAMtB,OAAO,CAAC,IAAI;IAKZ,MAAM,IAAI,IAAI;IAoBd,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,IAAI;IAaZ,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,SAAS;IAgBjB,uDAAuD;IACvD,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO;IAuCjD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAyB/B,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAyB7B,OAAO,CAAC,WAAW;IAoBnB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,QAAQ;IAQhB,qBAAqB,IAAI,IAAI;IAM7B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAU/B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAG5C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAGvF,cAAc,IAAI,IAAI;IAOtB,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO;IAYpC,OAAO,IAAI,IAAI;CAGhB"}
@@ -8,6 +8,7 @@ export * from "./scene/palette.js";
8
8
  export * from "./scene/defaults.js";
9
9
  export * from "./scene/anchors.js";
10
10
  export * from "./scene/query.js";
11
+ export { applyOverrides } from "./scene/overrides.js";
11
12
  export { SvgRenderer } from "./render/svgRenderer.js";
12
13
  export type { CameraTransform } from "./render/svgRenderer.js";
13
14
  export { ensureEngineStyles, FONT_FAMILY } from "./render/theme.css.js";
@@ -18,12 +19,16 @@ export { EASINGS, easingByName } from "./camera/easing.js";
18
19
  export { AnnotationLayer } from "./annotate/layer.js";
19
20
  export { LiveAnnotationController } from "./annotate/interact.js";
20
21
  export type { Tool, LiveState } from "./annotate/interact.js";
22
+ export { EditController } from "./edit/controller.js";
23
+ export type { EditTool, EditState } from "./edit/controller.js";
21
24
  export { hitTestNode } from "./scene/query.js";
22
25
  export { TimelinePlayer } from "./timeline/player.js";
23
26
  export type { PlayerState } from "./timeline/player.js";
24
27
  export { applyLayout } from "./layout/index.js";
25
28
  export { compileEdd } from "./dsl/index.js";
26
29
  export type { CompileEddResult } from "./dsl/index.js";
30
+ export { writeOverrides, renameNode, styleNode, addNode, addEdge, deleteElements } from "./dsl/patch.js";
31
+ export type { OverrideEntry } from "./dsl/patch.js";
27
32
  export { DiagnosticBag, formatDiagnostic } from "./dsl/diagnostics.js";
28
33
  export type { Diagnostic } from "./dsl/diagnostics.js";
29
34
  export { downloadSVG, downloadPNG, downloadJSON, exportSVGString, exportPNGBlob } from "./export.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,uBAAuB,CAAC;AAE/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxF,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,uBAAuB,CAAC;AAE/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACzG,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxF,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Apply position/size overrides to a scene. Overrides come from the DSL
3
+ * `overrides { … }` block (what direct canvas edits write back to). Applied
4
+ * before layout so overridden nodes are pinned at their coordinates and the
5
+ * auto-layout arranges everything else around them. Idempotent — safe to call
6
+ * again after Mermaid injection so imported nodes can be overridden too.
7
+ */
8
+ import type { Scene } from "./types.js";
9
+ export declare function applyOverrides(scene: Scene): void;
10
+ //# sourceMappingURL=overrides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overrides.d.ts","sourceRoot":"","sources":["../../../src/engine/scene/overrides.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAYjD"}
@@ -189,6 +189,16 @@ export interface SceneMeta {
189
189
  /** Author-declared canvas hints. */
190
190
  background?: string;
191
191
  }
192
+ /** A machine-managed position/size override (from the `overrides { … }` block).
193
+ * Applied before layout so the node is pinned at these coords — this is what
194
+ * direct canvas edits (drag/resize) write back to code. */
195
+ export interface NodeOverride {
196
+ id: string;
197
+ x: number;
198
+ y: number;
199
+ w?: number;
200
+ h?: number;
201
+ }
192
202
  export interface Scene {
193
203
  id: string;
194
204
  theme: Theme;
@@ -199,5 +209,7 @@ export interface Scene {
199
209
  /** Baseline annotations always present (step annotations layer on top). */
200
210
  annotations: Annotation[];
201
211
  steps: Step[];
212
+ /** Position/size overrides applied before layout (direct-edit round-trip). */
213
+ overrides?: NodeOverride[];
202
214
  }
203
215
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engine/scene/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engine/scene/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAM5C,gFAAgF;AAChF,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,iBAAiB,GACjB,SAAS,GACT,QAAQ,GACR,SAAS,GACT,UAAU,GACV,SAAS,GACT,eAAe,GACf,WAAW,GACX,UAAU,GACV,OAAO,GACP,UAAU,GACV,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,aAAa,GACb,OAAO,GACP,QAAQ,GACR,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AACpD,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExD,mDAAmD;AACnD,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,OAAO,GACP,UAAU,GACV,kBAAkB,GAClB,KAAK,GACL,KAAK,GACL,QAAQ,GACR,gBAAgB,GAChB,SAAS,GACT,iBAAiB,GACjB,MAAM,GACN,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,8DAA8D;AAC9D,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,MAAM,GACN,YAAY,GACZ,SAAS,GACT,OAAO,GACP,OAAO,GACP,eAAe,GACf,UAAU,GACV,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;AAEzE,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AAMb,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,QAAQ,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,aAAa,CAAC;IAC9B,YAAY,EAAE,aAAa,CAAC;IAC5B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAMD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB,GAAG,GACH,QAAQ,GACR,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,sEAAsE;IACtE,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,iDAAiD;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAMD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,gEAAgE;IAChE,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,WAAW,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,kEAAkE;IAClE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1B,uDAAuD;IACvD,KAAK,EAAE,OAAO,CAAC;CAChB;AAMD,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,WAAW,GACX,UAAU,GACV,WAAW,GACX,YAAY,GACZ,eAAe,GACf,QAAQ,GACR,WAAW,GACX,SAAS,GACT,KAAK,GACL,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,kEAAkE;IAClE,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,8EAA8E;IAC9E,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC3B;AAMD,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,aAAa,GACb,UAAU,GACV,YAAY,GACZ,QAAQ,CAAC;AAEb,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,EAAE,EAAE,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IAC5E,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;oDACgD;IAChD,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;4DAE4D;AAC5D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,2EAA2E;IAC3E,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,8EAA8E;IAC9E,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;CAC5B"}
package/dist-lib/index.js CHANGED
@@ -1,76 +1,84 @@
1
- import { A, C, D, a, E, b, F, c, L, d, M, S, e, T, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, B, G, H, I, J, K, N, O, P, Q, R, U, V, W, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah } from "./chunks/EdodoDraw-CUf224RG.js";
1
+ import { A, C, D, a, E, b, c, F, d, L, e, M, S, f, T, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, B, G, H, I, J, K, N, O, P, Q, R, U, V, W, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap } from "./chunks/EdodoDraw-DGkcHuA6.js";
2
2
  export {
3
3
  A as AnnotationLayer,
4
4
  C as CameraController,
5
5
  D as DARK_THEME,
6
6
  a as DiagnosticBag,
7
7
  E as EASINGS,
8
- b as EdodoDraw,
8
+ b as EditController,
9
+ c as EdodoDraw,
9
10
  F as FILL_PALETTE,
10
- c as FONT_FAMILY,
11
+ d as FONT_FAMILY,
11
12
  L as LIGHT_THEME,
12
- d as LiveAnnotationController,
13
+ e as LiveAnnotationController,
13
14
  M as MARKER_PALETTE,
14
15
  S as STROKE_PALETTE,
15
- e as SvgRenderer,
16
+ f as SvgRenderer,
16
17
  T as TimelinePlayer,
17
- f as applyLayout,
18
- g as bboxCenter,
19
- h as bboxOfPoints,
20
- i as bboxSize,
21
- j as bboxToRect,
22
- k as bboxUnion,
23
- l as borderPointToward,
24
- m as cameraForBBox,
25
- n as cameraForCenter,
26
- o as clamp,
27
- p as compileEdd,
28
- q as convertMermaid,
29
- r as defaultEdgeStyle,
30
- s as defaultNodeSize,
31
- t as defaultNodeStyle,
32
- u as dist,
33
- v as downloadJSON,
34
- w as downloadPNG,
35
- x as downloadSVG,
36
- y as easingByName,
37
- z as edgeBBox,
38
- B as elementBBox,
39
- G as elementsBBox,
40
- H as ellipseBorderToward,
41
- I as emptyBBox,
42
- J as emptyScene,
43
- K as ensureEngineStyles,
44
- N as expandBBox,
45
- O as exportPNGBlob,
46
- P as exportSVGString,
47
- Q as extractMermaidBlocks,
48
- R as formatDiagnostic,
49
- U as getEdge,
50
- V as getGroup,
51
- W as getNode,
52
- X as getShapePlugin,
53
- Y as groupBBox,
54
- Z as hashString,
55
- _ as hitTestNode,
56
- $ as injectMermaid,
57
- a0 as isEmptyBBox,
58
- a1 as lerp,
59
- a2 as listShapePlugins,
60
- a3 as makeEdge,
61
- a4 as makeNode,
62
- a5 as nodeBBox,
63
- a6 as nodeRect,
64
- a7 as nodeRectOf,
65
- a8 as pairedStrokeForFill,
66
- a9 as pointInRect,
67
- aa as rectCenter,
68
- ab as rectToBBox,
69
- ac as registerShape,
70
- ad as resolveAnchor,
71
- ae as resolveFill,
72
- af as resolveMarker,
73
- ag as resolveStroke,
74
- ah as sceneBBox
18
+ g as addEdge,
19
+ h as addNode,
20
+ i as applyLayout,
21
+ j as applyOverrides,
22
+ k as bboxCenter,
23
+ l as bboxOfPoints,
24
+ m as bboxSize,
25
+ n as bboxToRect,
26
+ o as bboxUnion,
27
+ p as borderPointToward,
28
+ q as cameraForBBox,
29
+ r as cameraForCenter,
30
+ s as clamp,
31
+ t as compileEdd,
32
+ u as convertMermaid,
33
+ v as defaultEdgeStyle,
34
+ w as defaultNodeSize,
35
+ x as defaultNodeStyle,
36
+ y as deleteElements,
37
+ z as dist,
38
+ B as downloadJSON,
39
+ G as downloadPNG,
40
+ H as downloadSVG,
41
+ I as easingByName,
42
+ J as edgeBBox,
43
+ K as elementBBox,
44
+ N as elementsBBox,
45
+ O as ellipseBorderToward,
46
+ P as emptyBBox,
47
+ Q as emptyScene,
48
+ R as ensureEngineStyles,
49
+ U as expandBBox,
50
+ V as exportPNGBlob,
51
+ W as exportSVGString,
52
+ X as extractMermaidBlocks,
53
+ Y as formatDiagnostic,
54
+ Z as getEdge,
55
+ _ as getGroup,
56
+ $ as getNode,
57
+ a0 as getShapePlugin,
58
+ a1 as groupBBox,
59
+ a2 as hashString,
60
+ a3 as hitTestNode,
61
+ a4 as injectMermaid,
62
+ a5 as isEmptyBBox,
63
+ a6 as lerp,
64
+ a7 as listShapePlugins,
65
+ a8 as makeEdge,
66
+ a9 as makeNode,
67
+ aa as nodeBBox,
68
+ ab as nodeRect,
69
+ ac as nodeRectOf,
70
+ ad as pairedStrokeForFill,
71
+ ae as pointInRect,
72
+ af as rectCenter,
73
+ ag as rectToBBox,
74
+ ah as registerShape,
75
+ ai as renameNode,
76
+ aj as resolveAnchor,
77
+ ak as resolveFill,
78
+ al as resolveMarker,
79
+ am as resolveStroke,
80
+ an as sceneBBox,
81
+ ao as styleNode,
82
+ ap as writeOverrides
75
83
  };
76
84
  //# sourceMappingURL=index.js.map
@@ -10,7 +10,8 @@
10
10
  * await edd.render(`scene { a[Hello] --> b[World] }`);
11
11
  * edd.play();
12
12
  */
13
- import { LiveAnnotationController, type LiveState, type Tool } from "../engine/annotate/interact.js";
13
+ import { LiveAnnotationController, type LiveState } from "../engine/annotate/interact.js";
14
+ import { EditController, type EditState } from "../engine/edit/controller.js";
14
15
  import { CameraController } from "../engine/camera/controller.js";
15
16
  import type { Diagnostic } from "../engine/dsl/diagnostics.js";
16
17
  import type { Scene } from "../engine/scene/types.js";
@@ -25,7 +26,7 @@ export interface EdodoDrawOptions {
25
26
  /** Padding (screen px) used when fitting. */
26
27
  padding?: number;
27
28
  }
28
- export type EdodoEvent = "render" | "state" | "live" | "diagnostics";
29
+ export type EdodoEvent = "render" | "state" | "live" | "diagnostics" | "edit" | "editstate";
29
30
  export interface RenderResult {
30
31
  scene: Scene;
31
32
  diagnostics: Diagnostic[];
@@ -38,17 +39,28 @@ export declare class EdodoDraw {
38
39
  private annotations;
39
40
  private player;
40
41
  private live;
42
+ private edit;
43
+ private mode;
41
44
  private scene;
42
45
  private source;
43
46
  private renderSeq;
47
+ private hasFitted;
48
+ private fitOnce;
44
49
  private listeners;
45
50
  private textInput;
51
+ private closeInput;
46
52
  private cleanup;
47
53
  constructor(container: HTMLElement, options?: EdodoDrawOptions);
54
+ private onCameraFrame;
55
+ /** Apply a source edit from direct manipulation. Keeps `source` fresh for
56
+ * chained edits and notifies the host, which re-renders (single render). */
57
+ private applyEdit;
48
58
  on(event: "state", cb: (s: PlayerState) => void): () => void;
49
59
  on(event: "live", cb: (s: LiveState) => void): () => void;
50
60
  on(event: "diagnostics", cb: (d: Diagnostic[]) => void): () => void;
51
61
  on(event: "render", cb: (r: RenderResult) => void): () => void;
62
+ on(event: "edit", cb: (source: string) => void): () => void;
63
+ on(event: "editstate", cb: (s: EditState) => void): () => void;
52
64
  private emit;
53
65
  /**
54
66
  * Compile + render EDodoDraw source. Async because a `mermaid` block may need
@@ -73,7 +85,20 @@ export declare class EdodoDraw {
73
85
  goto(i: number): void;
74
86
  restart(): void;
75
87
  get timeline(): TimelinePlayer;
76
- setTool(tool: Tool): void;
88
+ /** Select the active tool. Edit tools (select/hand/rect/ellipse/diamond/
89
+ * text/arrow) manipulate the diagram; annotation tools (highlight/underline/
90
+ * mark-box/mark-circle/point/note) overlay annotations. */
91
+ setTool(tool: string): void;
92
+ /** Fit the whole diagram on the next render (used when loading an example). */
93
+ fitNext(): void;
94
+ get editor(): EditController;
95
+ applyStyle(id: string, style: {
96
+ fill?: string;
97
+ stroke?: string;
98
+ shape?: string;
99
+ }): void;
100
+ deleteSelected(): void;
101
+ renameSelected(): void;
77
102
  undo(): void;
78
103
  redo(): void;
79
104
  clearAnnotations(): void;
@@ -91,6 +116,15 @@ export declare class EdodoDraw {
91
116
  private updateGrid;
92
117
  private localPoint;
93
118
  private bindInteraction;
119
+ /** Inline text editor for renaming a node (double-click / new node). */
120
+ private showRenameInput;
94
121
  private showTextInput;
122
+ /**
123
+ * Shared inline text-entry field (used for rename + sticky notes). One code
124
+ * path so the create/focus/commit/teardown lifecycle is race-free: the blur
125
+ * listener is detached before removal and every settle is idempotent, so
126
+ * dismissing one input to open another can't double-remove a DOM node.
127
+ */
128
+ private openInlineInput;
95
129
  }
96
130
  //# sourceMappingURL=EdodoDraw.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EdodoDraw.d.ts","sourceRoot":"","sources":["../../src/lib/EdodoDraw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EdodoDraw.d.ts","sourceRoot":"","sources":["../../src/lib/EdodoDraw.ts"],"names":[],"mappings":"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"}