@oh-just-another/scene 0.58.0 → 0.59.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.
Files changed (77) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +34 -21
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/anchors.d.ts.map +1 -1
  5. package/dist/anchors.js +2 -1
  6. package/dist/anchors.js.map +1 -1
  7. package/dist/constants.d.ts +45 -8
  8. package/dist/constants.d.ts.map +1 -1
  9. package/dist/constants.js +45 -8
  10. package/dist/constants.js.map +1 -1
  11. package/dist/edge-curve.d.ts +1 -3
  12. package/dist/edge-curve.d.ts.map +1 -1
  13. package/dist/edge-curve.js +3 -18
  14. package/dist/edge-curve.js.map +1 -1
  15. package/dist/edge-geometry.d.ts +3 -3
  16. package/dist/edge-geometry.d.ts.map +1 -1
  17. package/dist/edge-geometry.js +9 -38
  18. package/dist/edge-geometry.js.map +1 -1
  19. package/dist/edge.d.ts +7 -8
  20. package/dist/edge.d.ts.map +1 -1
  21. package/dist/elbow-link.d.ts +2 -2
  22. package/dist/elbow-link.d.ts.map +1 -1
  23. package/dist/elbow-link.js +4 -8
  24. package/dist/elbow-link.js.map +1 -1
  25. package/dist/elbow-router.d.ts +1 -1
  26. package/dist/elbow-router.d.ts.map +1 -1
  27. package/dist/elbow-router.js +1 -5
  28. package/dist/elbow-router.js.map +1 -1
  29. package/dist/ellipse.d.ts +8 -0
  30. package/dist/ellipse.d.ts.map +1 -0
  31. package/dist/ellipse.js +10 -0
  32. package/dist/ellipse.js.map +1 -0
  33. package/dist/heading.d.ts +4 -4
  34. package/dist/heading.js +2 -2
  35. package/dist/hydrate.d.ts +46 -0
  36. package/dist/hydrate.d.ts.map +1 -0
  37. package/dist/hydrate.js +59 -0
  38. package/dist/hydrate.js.map +1 -0
  39. package/dist/index.d.ts +6 -3
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +7 -3
  42. package/dist/index.js.map +1 -1
  43. package/dist/layout.d.ts +1 -6
  44. package/dist/layout.d.ts.map +1 -1
  45. package/dist/layout.js +15 -21
  46. package/dist/layout.js.map +1 -1
  47. package/dist/order.d.ts +10 -0
  48. package/dist/order.d.ts.map +1 -0
  49. package/dist/order.js +5 -0
  50. package/dist/order.js.map +1 -0
  51. package/dist/outline.d.ts +1 -1
  52. package/dist/outline.d.ts.map +1 -1
  53. package/dist/outline.js +11 -24
  54. package/dist/outline.js.map +1 -1
  55. package/dist/queries.d.ts.map +1 -1
  56. package/dist/queries.js +11 -24
  57. package/dist/queries.js.map +1 -1
  58. package/dist/scene.d.ts +7 -1
  59. package/dist/scene.d.ts.map +1 -1
  60. package/dist/scene.js +15 -2
  61. package/dist/scene.js.map +1 -1
  62. package/dist/shape-transform.d.ts +8 -0
  63. package/dist/shape-transform.d.ts.map +1 -0
  64. package/dist/shape-transform.js +15 -0
  65. package/dist/shape-transform.js.map +1 -0
  66. package/dist/shape.d.ts +7 -8
  67. package/dist/shape.d.ts.map +1 -1
  68. package/dist/shape.js.map +1 -1
  69. package/dist/snap.d.ts +2 -2
  70. package/dist/snap.js +5 -5
  71. package/dist/snap.js.map +1 -1
  72. package/dist/style.d.ts +2 -2
  73. package/dist/viewport.d.ts +16 -30
  74. package/dist/viewport.d.ts.map +1 -1
  75. package/dist/viewport.js +6 -13
  76. package/dist/viewport.js.map +1 -1
  77. package/package.json +5 -4
@@ -1,12 +1,10 @@
1
1
  import type { Transform, Vec2 } from "@oh-just-another/types";
2
2
  /**
3
- * Visual style of the background grid (when `gridSize > 0`).
4
- * `"lines"` — classic ruled grid (default; matches a standard grid).
5
- * `"dots"` — a dot at every grid intersection. Looks calmer for
6
- * free-form diagramming (standard style).
3
+ * How the background grid is painted.
4
+ * `"lines"` — ruled grid lines (default).
5
+ * `"dots"` — a dot at every grid intersection.
7
6
  *
8
- * Snap behaviour is identical between styles only the paint
9
- * differs.
7
+ * Snap behaviour is identical between styles; only the paint differs.
10
8
  */
11
9
  export type GridStyle = "lines" | "dots";
12
10
  /**
@@ -26,37 +24,25 @@ export interface Viewport {
26
24
  readonly height: number;
27
25
  };
28
26
  /**
29
- * Grid size in world units. When `undefined` / `0` the background
30
- * grid is hidden. Renderers that paint a background grid use this
31
- * value. Snap-to-grid uses it when present and falls back to
32
- * {@link DEFAULT_GRID_SPACING} when the grid is hidden but snapping
33
- * is still on (see {@link resolveSnapSpacing}).
34
- */
35
- readonly gridSize?: number;
36
- /**
37
- * How the grid is painted. Default `"lines"` for backwards-compat;
38
- * snap math doesn't read this field. Renderers fall back to lines
39
- * when the field is missing.
27
+ * Whether the background grid is drawn for this scene. Spacing is fixed
28
+ * at {@link DEFAULT_GRID_SPACING}; this flag controls only visibility.
40
29
  */
30
+ readonly gridEnabled: boolean;
31
+ /** How the grid is painted. Renderers fall back to lines when unset. */
41
32
  readonly gridStyle?: GridStyle;
42
33
  /**
43
- * Extra programmatic opt-out for snapping. `undefined` is treated as ON
44
- * (see {@link isSnapToGridEnabled}). Snapping additionally requires a
45
- * *displayed* grid: it is active only while a grid is shown
46
- * (`gridVisible && gridSize > 0`) snapping to an invisible grid is
47
- * confusing — so this flag only matters when a grid is on.
34
+ * Programmatic snap opt-out. `undefined` is treated as ON
35
+ * (see {@link isSnapToGridEnabled}). Snapping also requires the grid to be
36
+ * enabled — snapping to a hidden grid is confusing so this flag only
37
+ * matters while `gridEnabled` is true.
48
38
  */
49
39
  readonly snapToGrid?: boolean;
50
40
  }
41
+ /** World-unit spacing snap-to-grid rounds to (the fixed grid spacing). */
42
+ export declare const resolveSnapSpacing: () => number;
51
43
  /**
52
- * Resolve the world-unit spacing snap-to-grid should round to. Uses the
53
- * visible `gridSize` when set, otherwise the {@link DEFAULT_GRID_SPACING}
54
- * fallback — so snapping keeps working when the grid is hidden.
55
- */
56
- export declare const resolveSnapSpacing: (viewport: Viewport) => number;
57
- /**
58
- * Whether snap-to-grid is enabled for this viewport. `undefined`
59
- * (legacy / fresh documents) counts as ON — the product default.
44
+ * Whether snap-to-grid is enabled for this viewport. `undefined` counts as
45
+ * ON the product default.
60
46
  */
61
47
  export declare const isSnapToGridEnabled: (viewport: Viewport) => boolean;
62
48
  export declare const DEFAULT_VIEWPORT: Viewport;
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../src/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAI9D;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,MAC+B,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,QAAQ,KAAG,OAAsC,CAAC;AAEhG,eAAO,MAAM,gBAAgB,EAAE,QAU7B,CAAC;AAEH,gCAAgC;AAChC,eAAO,MAAM,gBAAgB,GAAI,UAAU,QAAQ,KAAG,SAMrD,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,GAAI,UAAU,QAAQ,KAAG,SACV,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,UAAU,QAAQ,EAAE,aAAa,IAAI,KAAG,QAM5D,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,UAAU,QAAQ,EAAE,QAAQ,MAAM,EAAE,aAAa,IAAI,KAAG,QAW9E,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,UAAU,QAAQ,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,QAGzE,CAAC"}
1
+ {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../src/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAI9D;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,QAAO,MAA8B,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,QAAQ,KAAG,OAAsC,CAAC;AAEhG,eAAO,MAAM,gBAAgB,EAAE,QAO7B,CAAC;AAEH,gCAAgC;AAChC,eAAO,MAAM,gBAAgB,GAAI,UAAU,QAAQ,KAAG,SAMrD,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,GAAI,UAAU,QAAQ,KAAG,SACV,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,UAAU,QAAQ,EAAE,aAAa,IAAI,KAAG,QAM5D,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,UAAU,QAAQ,EAAE,QAAQ,MAAM,EAAE,aAAa,IAAI,KAAG,QAW9E,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,UAAU,QAAQ,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,QAGzE,CAAC"}
package/dist/viewport.js CHANGED
@@ -1,14 +1,10 @@
1
1
  import { matrix } from "@oh-just-another/math";
2
2
  import { DEFAULT_GRID_SPACING } from "./constants.js";
3
+ /** World-unit spacing snap-to-grid rounds to (the fixed grid spacing). */
4
+ export const resolveSnapSpacing = () => DEFAULT_GRID_SPACING;
3
5
  /**
4
- * Resolve the world-unit spacing snap-to-grid should round to. Uses the
5
- * visible `gridSize` when set, otherwise the {@link DEFAULT_GRID_SPACING}
6
- * fallback — so snapping keeps working when the grid is hidden.
7
- */
8
- export const resolveSnapSpacing = (viewport) => viewport.gridSize && viewport.gridSize > 0 ? viewport.gridSize : DEFAULT_GRID_SPACING;
9
- /**
10
- * Whether snap-to-grid is enabled for this viewport. `undefined`
11
- * (legacy / fresh documents) counts as ON — the product default.
6
+ * Whether snap-to-grid is enabled for this viewport. `undefined` counts as
7
+ * ON the product default.
12
8
  */
13
9
  export const isSnapToGridEnabled = (viewport) => viewport.snapToGrid ?? true;
14
10
  export const DEFAULT_VIEWPORT = Object.freeze({
@@ -16,11 +12,8 @@ export const DEFAULT_VIEWPORT = Object.freeze({
16
12
  zoom: 1,
17
13
  rotation: 0,
18
14
  size: { width: 0, height: 0 },
19
- // Grid is ON by default a positive `gridSize` is what `renderGrid` paints
20
- // AND what snap-to-grid keys off (snap is active only while a grid is shown).
21
- // Tune the default spacing in `constants.ts` (`DEFAULT_GRID_SPACING`); pass a
22
- // scene with `gridSize: 0` (or omit it) for a gridless, snap-free canvas.
23
- gridSize: DEFAULT_GRID_SPACING,
15
+ // Grid off by default; hosts enable it per scene via `gridEnabled`.
16
+ gridEnabled: false,
24
17
  });
25
18
  /** World → screen transform. */
26
19
  export const getWorldToScreen = (viewport) => {
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../src/viewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../src/viewport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAwCtD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,oBAAoB,CAAC;AAErE;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAkB,EAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC;AAEhG,MAAM,CAAC,MAAM,gBAAgB,GAAa,MAAM,CAAC,MAAM,CAAC;IACtD,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACnB,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;IAC7B,oEAAoE;IACpE,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,gCAAgC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAkB,EAAa,EAAE;IAChE,2DAA2D;IAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAkB,EAAa,EAAE,CAChE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,QAAkB,EAAE,WAAiB,EAAY,EAAE,CAAC,CAAC;IACzE,GAAG,QAAQ;IACX,GAAG,EAAE;QACH,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI;QACjD,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI;KAClD;CACF,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAkB,EAAE,MAAc,EAAE,WAAiB,EAAY,EAAE;IACxF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;IACvC,gEAAgE;IAChE,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE,OAAO;QACb,GAAG,EAAE;YACH,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM;YAC5D,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM;SAC7D;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAkB,EAAE,KAAa,EAAE,MAAc,EAAY,EAAE,CAAC,CAAC;IACtF,GAAG,QAAQ;IACX,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;CACxB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@oh-just-another/scene",
3
- "version": "0.58.0",
4
- "description": "scene package",
3
+ "version": "0.59.0",
4
+ "description": "Immutable diagram scene model: elements, links, layers, patch-based operations, and a fast spatial index.",
5
5
  "license": "MIT",
6
6
  "author": "Rustam Garifulin <rustam@n69.in>",
7
7
  "repository": {
@@ -39,15 +39,16 @@
39
39
  "access": "public"
40
40
  },
41
41
  "dependencies": {
42
- "fractional-keys": "^0.1.1",
42
+ "fractional-keys": "0.1.1",
43
43
  "@oh-just-another/types": "0.57.0",
44
- "@oh-just-another/math": "0.57.0"
44
+ "@oh-just-another/math": "0.58.0"
45
45
  },
46
46
  "scripts": {
47
47
  "build": "tsc -b tsconfig.build.json",
48
48
  "typecheck": "tsc --noEmit",
49
49
  "test": "vitest run",
50
50
  "test:watch": "vitest",
51
+ "bench": "vitest bench --run",
51
52
  "lint": "eslint src tests",
52
53
  "clean": "rm -rf dist *.tsbuildinfo"
53
54
  }