@oh-just-another/renderer-core 0.60.1 → 0.61.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 (154) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/caches/edge-cache-bitmap.d.ts.map +1 -0
  4. package/dist/caches/edge-cache-bitmap.js.map +1 -0
  5. package/dist/caches/edge-cache.d.ts.map +1 -0
  6. package/dist/caches/edge-cache.js.map +1 -0
  7. package/dist/caches/layer-cache-composite.d.ts.map +1 -0
  8. package/dist/caches/layer-cache-composite.js.map +1 -0
  9. package/dist/caches/lru-cache.d.ts.map +1 -0
  10. package/dist/caches/lru-cache.js.map +1 -0
  11. package/dist/caches/shape-cache-bitmap.d.ts.map +1 -0
  12. package/dist/caches/shape-cache-bitmap.js.map +1 -0
  13. package/dist/caches/shape-cache.d.ts.map +1 -0
  14. package/dist/caches/shape-cache.js.map +1 -0
  15. package/dist/caches/tile-renderer.d.ts.map +1 -0
  16. package/dist/caches/tile-renderer.js.map +1 -0
  17. package/dist/constants.d.ts +95 -9
  18. package/dist/constants.d.ts.map +1 -1
  19. package/dist/constants.js +98 -11
  20. package/dist/constants.js.map +1 -1
  21. package/dist/index.d.ts +40 -37
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +24 -21
  24. package/dist/index.js.map +1 -1
  25. package/dist/raster/animation-adapter.d.ts.map +1 -0
  26. package/dist/raster/animation-adapter.js.map +1 -0
  27. package/dist/raster/image-source-guard.d.ts +2 -0
  28. package/dist/raster/image-source-guard.d.ts.map +1 -0
  29. package/dist/raster/image-source-guard.js +44 -0
  30. package/dist/raster/image-source-guard.js.map +1 -0
  31. package/dist/raster/js-rasterizer.d.ts.map +1 -0
  32. package/dist/raster/js-rasterizer.js.map +1 -0
  33. package/dist/raster/rasterizer.d.ts.map +1 -0
  34. package/dist/raster/rasterizer.js.map +1 -0
  35. package/dist/raster/wasm-bytes.d.ts.map +1 -0
  36. package/dist/raster/wasm-bytes.js.map +1 -0
  37. package/dist/rendering/built-in-renderers.d.ts +85 -0
  38. package/dist/rendering/built-in-renderers.d.ts.map +1 -0
  39. package/dist/rendering/built-in-renderers.js +1087 -0
  40. package/dist/rendering/built-in-renderers.js.map +1 -0
  41. package/dist/{edge-renderer.d.ts → rendering/edge-renderer.d.ts} +3 -3
  42. package/dist/rendering/edge-renderer.d.ts.map +1 -0
  43. package/dist/{edge-renderer.js → rendering/edge-renderer.js} +4 -4
  44. package/dist/rendering/edge-renderer.js.map +1 -0
  45. package/dist/{grid-renderer.d.ts → rendering/grid-renderer.d.ts} +1 -1
  46. package/dist/rendering/grid-renderer.d.ts.map +1 -0
  47. package/dist/{grid-renderer.js → rendering/grid-renderer.js} +1 -1
  48. package/dist/rendering/grid-renderer.js.map +1 -0
  49. package/dist/rendering/lod.d.ts +26 -0
  50. package/dist/rendering/lod.d.ts.map +1 -0
  51. package/dist/rendering/lod.js +5 -0
  52. package/dist/rendering/lod.js.map +1 -0
  53. package/dist/{scene-renderer.d.ts → rendering/scene-renderer.d.ts} +21 -21
  54. package/dist/rendering/scene-renderer.d.ts.map +1 -0
  55. package/dist/{scene-renderer.js → rendering/scene-renderer.js} +26 -9
  56. package/dist/rendering/scene-renderer.js.map +1 -0
  57. package/dist/{shape-renderer.d.ts → rendering/shape-renderer.d.ts} +32 -2
  58. package/dist/rendering/shape-renderer.d.ts.map +1 -0
  59. package/dist/rendering/shape-renderer.js.map +1 -0
  60. package/dist/targets/dim-target.d.ts.map +1 -0
  61. package/dist/targets/dim-target.js.map +1 -0
  62. package/dist/targets/layers.d.ts.map +1 -0
  63. package/dist/targets/layers.js.map +1 -0
  64. package/dist/{render-target.d.ts → targets/render-target.d.ts} +8 -0
  65. package/dist/targets/render-target.d.ts.map +1 -0
  66. package/dist/targets/render-target.js.map +1 -0
  67. package/dist/{text-editing.d.ts → text/text-editing.d.ts} +22 -1
  68. package/dist/text/text-editing.d.ts.map +1 -0
  69. package/dist/{text-editing.js → text/text-editing.js} +53 -12
  70. package/dist/text/text-editing.js.map +1 -0
  71. package/dist/{text-layout.d.ts → text/text-layout.d.ts} +1 -1
  72. package/dist/text/text-layout.d.ts.map +1 -0
  73. package/dist/text/text-layout.js.map +1 -0
  74. package/dist/{text-shaper.d.ts → text/text-shaper.d.ts} +9 -1
  75. package/dist/text/text-shaper.d.ts.map +1 -0
  76. package/dist/text/text-shaper.js +32 -0
  77. package/dist/text/text-shaper.js.map +1 -0
  78. package/package.json +3 -3
  79. package/dist/animation-adapter.d.ts.map +0 -1
  80. package/dist/animation-adapter.js.map +0 -1
  81. package/dist/built-in-renderers.d.ts +0 -25
  82. package/dist/built-in-renderers.d.ts.map +0 -1
  83. package/dist/built-in-renderers.js +0 -601
  84. package/dist/built-in-renderers.js.map +0 -1
  85. package/dist/dim-target.d.ts.map +0 -1
  86. package/dist/dim-target.js.map +0 -1
  87. package/dist/edge-cache-bitmap.d.ts.map +0 -1
  88. package/dist/edge-cache-bitmap.js.map +0 -1
  89. package/dist/edge-cache.d.ts.map +0 -1
  90. package/dist/edge-cache.js.map +0 -1
  91. package/dist/edge-renderer.d.ts.map +0 -1
  92. package/dist/edge-renderer.js.map +0 -1
  93. package/dist/grid-renderer.d.ts.map +0 -1
  94. package/dist/grid-renderer.js.map +0 -1
  95. package/dist/js-rasterizer.d.ts.map +0 -1
  96. package/dist/js-rasterizer.js.map +0 -1
  97. package/dist/layer-cache-composite.d.ts.map +0 -1
  98. package/dist/layer-cache-composite.js.map +0 -1
  99. package/dist/layers.d.ts.map +0 -1
  100. package/dist/layers.js.map +0 -1
  101. package/dist/lru-cache.d.ts.map +0 -1
  102. package/dist/lru-cache.js.map +0 -1
  103. package/dist/rasterizer.d.ts.map +0 -1
  104. package/dist/rasterizer.js.map +0 -1
  105. package/dist/render-target.d.ts.map +0 -1
  106. package/dist/render-target.js.map +0 -1
  107. package/dist/scene-renderer.d.ts.map +0 -1
  108. package/dist/scene-renderer.js.map +0 -1
  109. package/dist/shape-cache-bitmap.d.ts.map +0 -1
  110. package/dist/shape-cache-bitmap.js.map +0 -1
  111. package/dist/shape-cache.d.ts.map +0 -1
  112. package/dist/shape-cache.js.map +0 -1
  113. package/dist/shape-renderer.d.ts.map +0 -1
  114. package/dist/shape-renderer.js.map +0 -1
  115. package/dist/text-editing.d.ts.map +0 -1
  116. package/dist/text-editing.js.map +0 -1
  117. package/dist/text-layout.d.ts.map +0 -1
  118. package/dist/text-layout.js.map +0 -1
  119. package/dist/text-shaper.d.ts.map +0 -1
  120. package/dist/text-shaper.js +0 -16
  121. package/dist/text-shaper.js.map +0 -1
  122. package/dist/tile-renderer.d.ts.map +0 -1
  123. package/dist/tile-renderer.js.map +0 -1
  124. package/dist/wasm-bytes.d.ts.map +0 -1
  125. package/dist/wasm-bytes.js.map +0 -1
  126. /package/dist/{edge-cache-bitmap.d.ts → caches/edge-cache-bitmap.d.ts} +0 -0
  127. /package/dist/{edge-cache-bitmap.js → caches/edge-cache-bitmap.js} +0 -0
  128. /package/dist/{edge-cache.d.ts → caches/edge-cache.d.ts} +0 -0
  129. /package/dist/{edge-cache.js → caches/edge-cache.js} +0 -0
  130. /package/dist/{layer-cache-composite.d.ts → caches/layer-cache-composite.d.ts} +0 -0
  131. /package/dist/{layer-cache-composite.js → caches/layer-cache-composite.js} +0 -0
  132. /package/dist/{lru-cache.d.ts → caches/lru-cache.d.ts} +0 -0
  133. /package/dist/{lru-cache.js → caches/lru-cache.js} +0 -0
  134. /package/dist/{shape-cache-bitmap.d.ts → caches/shape-cache-bitmap.d.ts} +0 -0
  135. /package/dist/{shape-cache-bitmap.js → caches/shape-cache-bitmap.js} +0 -0
  136. /package/dist/{shape-cache.d.ts → caches/shape-cache.d.ts} +0 -0
  137. /package/dist/{shape-cache.js → caches/shape-cache.js} +0 -0
  138. /package/dist/{tile-renderer.d.ts → caches/tile-renderer.d.ts} +0 -0
  139. /package/dist/{tile-renderer.js → caches/tile-renderer.js} +0 -0
  140. /package/dist/{animation-adapter.d.ts → raster/animation-adapter.d.ts} +0 -0
  141. /package/dist/{animation-adapter.js → raster/animation-adapter.js} +0 -0
  142. /package/dist/{js-rasterizer.d.ts → raster/js-rasterizer.d.ts} +0 -0
  143. /package/dist/{js-rasterizer.js → raster/js-rasterizer.js} +0 -0
  144. /package/dist/{rasterizer.d.ts → raster/rasterizer.d.ts} +0 -0
  145. /package/dist/{rasterizer.js → raster/rasterizer.js} +0 -0
  146. /package/dist/{wasm-bytes.d.ts → raster/wasm-bytes.d.ts} +0 -0
  147. /package/dist/{wasm-bytes.js → raster/wasm-bytes.js} +0 -0
  148. /package/dist/{shape-renderer.js → rendering/shape-renderer.js} +0 -0
  149. /package/dist/{dim-target.d.ts → targets/dim-target.d.ts} +0 -0
  150. /package/dist/{dim-target.js → targets/dim-target.js} +0 -0
  151. /package/dist/{layers.d.ts → targets/layers.d.ts} +0 -0
  152. /package/dist/{layers.js → targets/layers.js} +0 -0
  153. /package/dist/{render-target.js → targets/render-target.js} +0 -0
  154. /package/dist/{text-layout.js → text/text-layout.js} +0 -0
@@ -3,21 +3,30 @@
3
3
  * `renderScene` / `renderLinks` / `renderGrid` live here so there is one
4
4
  * place to tweak performance / visual behaviour.
5
5
  */
6
- import type { LodOptions } from "./scene-renderer.js";
6
+ import type { LodOptions } from "./rendering/scene-renderer.js";
7
7
  /**
8
- * Default zoom thresholds for the level-of-detail pipeline. Tuned for
9
- * a typical 1920×1080 viewport viewing a 10k-shape scene.
8
+ * Level-of-detail floors, in ON-SCREEN pixels decided per element from
9
+ * what actually lands on screen, so the zoom level alone never degrades a
10
+ * shape that is still large or a heading that is still readable.
10
11
  *
11
- * - `placeholder: 0.15` — below 15% zoom (one screen 6.7× world),
12
- * shapes degrade to flat AABB fills. Saves ~10× renderer cost per
13
- * shape.
14
- * - `hideText: 0.4` — below 40% zoom text glyphs are too small to read
15
- * anyway; skipping the `wrapText` + `measureText` calls saves the
16
- * bulk of text rendering cost.
12
+ * - `LOD_PLACEHOLDER_MAX_SCREEN_PX` — a shape whose longer side is below
13
+ * this on screen is a flat AABB fill (no detail is visible at that size
14
+ * anyway; saves ~10× renderer cost per shape). Range: 4–16.
15
+ * - `LOD_MIN_TEXT_SCREEN_PX` — text whose font size on screen is below this
16
+ * is skipped (glyphs are unreadable below ~6 px; skipping the
17
+ * wrap + measure is the bulk of text cost). Range: 4–8.
17
18
  *
18
19
  * Hosts override per-render by passing `RenderSceneOptions.lod`.
19
20
  */
21
+ export declare const LOD_PLACEHOLDER_MAX_SCREEN_PX = 8;
22
+ export declare const LOD_MIN_TEXT_SCREEN_PX = 6;
20
23
  export declare const DEFAULT_LOD: LodOptions;
24
+ /**
25
+ * Neutral grey for the empty-text placeholder prompt (`TEXT_PLACEHOLDERS`
26
+ * in `@oh-just-another/scene`) — the muted text tone of the light UI (the
27
+ * canvas is always light).
28
+ */
29
+ export declare const TEXT_PLACEHOLDER_COLOR: "#6b6b6b";
21
30
  /**
22
31
  * Grey colour used for placeholder fills when LOD switches to the
23
32
  * cheapest path. A mid-tone neutral that blends with most scene
@@ -43,6 +52,83 @@ export declare const VIEWPORT_CULL_PADDING_RATIO = 0.05;
43
52
  * - `TEXT_STRIKETHROUGH_OFFSET` — strikethrough centre, ~50% (x-height).
44
53
  */
45
54
  export declare const TEXT_DECORATION_THICKNESS = 0.06;
55
+ /**
56
+ * List layout metrics, in em (× font size):
57
+ * - `LIST_INDENT_EM` — horizontal shift per nesting level; list paragraphs
58
+ * get one extra level for the marker slot. Reasonable range 1.2–1.8.
59
+ * - `LIST_MARKER_GAP_EM` — gap between the marker's right edge and the
60
+ * item text. Reasonable range 0.3–0.6.
61
+ */
62
+ export declare const LIST_INDENT_EM = 1.4;
63
+ export declare const LIST_MARKER_GAP_EM = 0.4;
64
+ /**
65
+ * Inset between a shape's bounds and its embedded label text, in em
66
+ * (× label font size). Reasonable range 0.3–1.0.
67
+ */
68
+ export declare const LABEL_PADDING_EM = 0.5;
69
+ /**
70
+ * Auto-fit font-size bounds (world px) for `ShapeLabel.autoFit` — the
71
+ * binary search picks the largest size in this range whose layout fits
72
+ * the shape body. Reasonable ranges: min 8–14, max 48–96.
73
+ */
74
+ export declare const LABEL_AUTOFIT_MIN_PX = 10;
75
+ export declare const LABEL_AUTOFIT_MAX_PX = 64;
76
+ /**
77
+ * Sticky-note chrome:
78
+ * - `STICKY_DEFAULT_FILL` — card colour when `style.fill` is omitted.
79
+ * - `STICKY_CORNER_RADIUS` — corner rounding in world units.
80
+ * - `STICKY_AUTHOR_FONT_SIZE` — author-name strip font size.
81
+ * - `STICKY_AUTHOR_COLOR` — author-name text colour.
82
+ */
83
+ export declare const STICKY_DEFAULT_FILL = "#fff9b1";
84
+ export declare const STICKY_CORNER_RADIUS = 4;
85
+ export declare const STICKY_AUTHOR_FONT_SIZE = 10;
86
+ export declare const STICKY_AUTHOR_COLOR = "#8a8a6f";
87
+ /**
88
+ * Sticky skeuomorphism (paper look):
89
+ * - `STICKY_SHADOW_COLOR` / `STICKY_SHADOW_OFFSET_Y` — soft drop shadow
90
+ * under the card (offset in world units, 2–6 reasonable).
91
+ * - `STICKY_TAG_*` — tag pill metrics along the bottom edge.
92
+ */
93
+ export declare const STICKY_SHADOW_COLOR = "rgba(0, 0, 0, 0.18)";
94
+ export declare const STICKY_SHADOW_OFFSET_Y = 4;
95
+ export declare const STICKY_TAG_FONT_SIZE = 9;
96
+ export declare const STICKY_TAG_PAD_X = 5;
97
+ export declare const STICKY_TAG_HEIGHT = 14;
98
+ export declare const STICKY_TAG_GAP = 4;
99
+ export declare const STICKY_TAG_BG = "rgba(0, 0, 0, 0.08)";
100
+ export declare const STICKY_TAG_COLOR = "#555";
101
+ /**
102
+ * Sticky reaction pills (bottom-left row, drawn by the renderer so they
103
+ * reach PNG / SVG exports; the DOM layer only provides click zones).
104
+ */
105
+ export declare const STICKY_REACTION_FONT_SIZE = 10;
106
+ export declare const STICKY_REACTION_HEIGHT = 16;
107
+ export declare const STICKY_REACTION_PAD_X = 6;
108
+ export declare const STICKY_REACTION_GAP = 4;
109
+ export declare const STICKY_REACTION_BG = "rgba(255, 255, 255, 0.85)";
110
+ export declare const STICKY_REACTION_COLOR = "#333";
111
+ /** Accent for the canvas-drawn "+" add-reaction button (iris 9). */
112
+ export declare const STICKY_REACTION_ADD_COLOR = "#5b5bd6";
113
+ /**
114
+ * Reaction pills keep a CONSTANT on-screen size: their world size is
115
+ * `base / zoom`. Below this zoom the reaction chrome (pills AND the "+"
116
+ * button) is HIDDEN entirely — on a zoomed-out board constant-size
117
+ * pills would swallow the cards. Also bounds the worst-case world size
118
+ * for render-overflow estimates. Range 0.25–1.
119
+ */
120
+ export declare const STICKY_REACTION_MIN_ZOOM = 0.5;
121
+ /**
122
+ * What static exports (PNG / SVG) include by default. The export UI can
123
+ * override per run; interactive rendering ignores these and draws
124
+ * everything.
125
+ */
126
+ export declare const EXPORT_CONTENT_DEFAULTS: {
127
+ readonly stickyReactions: true;
128
+ readonly stickyTags: true;
129
+ readonly stickyAuthor: true;
130
+ readonly stickyAddButton: false;
131
+ };
46
132
  export declare const TEXT_UNDERLINE_OFFSET = 0.92;
47
133
  export declare const TEXT_STRIKETHROUGH_OFFSET = 0.5;
48
134
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,EAAE,UAGzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AASrC,yEAAyE;AACzE,eAAO,MAAM,eAAe,QAAa,CAAC;AAE1C,iHAAiH;AACjH,eAAO,MAAM,aAAa,QAAiB,CAAC;AAE5C,mIAAmI;AACnI,eAAO,MAAM,kBAAkB,IAAM,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAY5C,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAIxC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAIvC,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAEzC,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAE5C,0FAA0F;AAC1F,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAI9C;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,0GAA0G;AAC1G,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAE7C,yFAAyF;AACzF,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,iGAAiG;AACjG,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC,qGAAqG;AACrG,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/constants.js CHANGED
@@ -3,24 +3,33 @@
3
3
  * `renderScene` / `renderLinks` / `renderGrid` live here so there is one
4
4
  * place to tweak performance / visual behaviour.
5
5
  */
6
- import { GRID_COLOR, GRID_DOT_COLOR } from "@oh-just-another/tokens";
6
+ import { GRID_COLOR, GRID_DOT_COLOR, UI_SURFACE } from "@oh-just-another/tokens";
7
7
  /**
8
- * Default zoom thresholds for the level-of-detail pipeline. Tuned for
9
- * a typical 1920×1080 viewport viewing a 10k-shape scene.
8
+ * Level-of-detail floors, in ON-SCREEN pixels decided per element from
9
+ * what actually lands on screen, so the zoom level alone never degrades a
10
+ * shape that is still large or a heading that is still readable.
10
11
  *
11
- * - `placeholder: 0.15` — below 15% zoom (one screen 6.7× world),
12
- * shapes degrade to flat AABB fills. Saves ~10× renderer cost per
13
- * shape.
14
- * - `hideText: 0.4` — below 40% zoom text glyphs are too small to read
15
- * anyway; skipping the `wrapText` + `measureText` calls saves the
16
- * bulk of text rendering cost.
12
+ * - `LOD_PLACEHOLDER_MAX_SCREEN_PX` — a shape whose longer side is below
13
+ * this on screen is a flat AABB fill (no detail is visible at that size
14
+ * anyway; saves ~10× renderer cost per shape). Range: 4–16.
15
+ * - `LOD_MIN_TEXT_SCREEN_PX` — text whose font size on screen is below this
16
+ * is skipped (glyphs are unreadable below ~6 px; skipping the
17
+ * wrap + measure is the bulk of text cost). Range: 4–8.
17
18
  *
18
19
  * Hosts override per-render by passing `RenderSceneOptions.lod`.
19
20
  */
21
+ export const LOD_PLACEHOLDER_MAX_SCREEN_PX = 8;
22
+ export const LOD_MIN_TEXT_SCREEN_PX = 6;
20
23
  export const DEFAULT_LOD = {
21
- placeholder: 0.15,
22
- hideText: 0.4,
24
+ placeholderMaxScreenPx: LOD_PLACEHOLDER_MAX_SCREEN_PX,
25
+ minTextScreenPx: LOD_MIN_TEXT_SCREEN_PX,
23
26
  };
27
+ /**
28
+ * Neutral grey for the empty-text placeholder prompt (`TEXT_PLACEHOLDERS`
29
+ * in `@oh-just-another/scene`) — the muted text tone of the light UI (the
30
+ * canvas is always light).
31
+ */
32
+ export const TEXT_PLACEHOLDER_COLOR = UI_SURFACE.light.textMuted;
24
33
  /**
25
34
  * Grey colour used for placeholder fills when LOD switches to the
26
35
  * cheapest path. A mid-tone neutral that blends with most scene
@@ -46,6 +55,84 @@ export const VIEWPORT_CULL_PADDING_RATIO = 0.05;
46
55
  * - `TEXT_STRIKETHROUGH_OFFSET` — strikethrough centre, ~50% (x-height).
47
56
  */
48
57
  export const TEXT_DECORATION_THICKNESS = 0.06;
58
+ /**
59
+ * List layout metrics, in em (× font size):
60
+ * - `LIST_INDENT_EM` — horizontal shift per nesting level; list paragraphs
61
+ * get one extra level for the marker slot. Reasonable range 1.2–1.8.
62
+ * - `LIST_MARKER_GAP_EM` — gap between the marker's right edge and the
63
+ * item text. Reasonable range 0.3–0.6.
64
+ */
65
+ export const LIST_INDENT_EM = 1.4;
66
+ export const LIST_MARKER_GAP_EM = 0.4;
67
+ /**
68
+ * Inset between a shape's bounds and its embedded label text, in em
69
+ * (× label font size). Reasonable range 0.3–1.0.
70
+ */
71
+ export const LABEL_PADDING_EM = 0.5;
72
+ /**
73
+ * Auto-fit font-size bounds (world px) for `ShapeLabel.autoFit` — the
74
+ * binary search picks the largest size in this range whose layout fits
75
+ * the shape body. Reasonable ranges: min 8–14, max 48–96.
76
+ */
77
+ export const LABEL_AUTOFIT_MIN_PX = 10;
78
+ export const LABEL_AUTOFIT_MAX_PX = 64;
79
+ /**
80
+ * Sticky-note chrome:
81
+ * - `STICKY_DEFAULT_FILL` — card colour when `style.fill` is omitted.
82
+ * - `STICKY_CORNER_RADIUS` — corner rounding in world units.
83
+ * - `STICKY_AUTHOR_FONT_SIZE` — author-name strip font size.
84
+ * - `STICKY_AUTHOR_COLOR` — author-name text colour.
85
+ */
86
+ export const STICKY_DEFAULT_FILL = "#fff9b1";
87
+ export const STICKY_CORNER_RADIUS = 4;
88
+ export const STICKY_AUTHOR_FONT_SIZE = 10;
89
+ export const STICKY_AUTHOR_COLOR = "#8a8a6f";
90
+ /**
91
+ * Sticky skeuomorphism (paper look):
92
+ * - `STICKY_SHADOW_COLOR` / `STICKY_SHADOW_OFFSET_Y` — soft drop shadow
93
+ * under the card (offset in world units, 2–6 reasonable).
94
+ * - `STICKY_TAG_*` — tag pill metrics along the bottom edge.
95
+ */
96
+ export const STICKY_SHADOW_COLOR = "rgba(0, 0, 0, 0.18)";
97
+ export const STICKY_SHADOW_OFFSET_Y = 4;
98
+ export const STICKY_TAG_FONT_SIZE = 9;
99
+ export const STICKY_TAG_PAD_X = 5;
100
+ export const STICKY_TAG_HEIGHT = 14;
101
+ export const STICKY_TAG_GAP = 4;
102
+ export const STICKY_TAG_BG = "rgba(0, 0, 0, 0.08)";
103
+ export const STICKY_TAG_COLOR = "#555";
104
+ /**
105
+ * Sticky reaction pills (bottom-left row, drawn by the renderer so they
106
+ * reach PNG / SVG exports; the DOM layer only provides click zones).
107
+ */
108
+ export const STICKY_REACTION_FONT_SIZE = 10;
109
+ export const STICKY_REACTION_HEIGHT = 16;
110
+ export const STICKY_REACTION_PAD_X = 6;
111
+ export const STICKY_REACTION_GAP = 4;
112
+ export const STICKY_REACTION_BG = "rgba(255, 255, 255, 0.85)";
113
+ export const STICKY_REACTION_COLOR = "#333";
114
+ /** Accent for the canvas-drawn "+" add-reaction button (iris 9). */
115
+ export const STICKY_REACTION_ADD_COLOR = "#5b5bd6";
116
+ /**
117
+ * Reaction pills keep a CONSTANT on-screen size: their world size is
118
+ * `base / zoom`. Below this zoom the reaction chrome (pills AND the "+"
119
+ * button) is HIDDEN entirely — on a zoomed-out board constant-size
120
+ * pills would swallow the cards. Also bounds the worst-case world size
121
+ * for render-overflow estimates. Range 0.25–1.
122
+ */
123
+ export const STICKY_REACTION_MIN_ZOOM = 0.5;
124
+ /**
125
+ * What static exports (PNG / SVG) include by default. The export UI can
126
+ * override per run; interactive rendering ignores these and draws
127
+ * everything.
128
+ */
129
+ export const EXPORT_CONTENT_DEFAULTS = {
130
+ stickyReactions: true,
131
+ stickyTags: true,
132
+ stickyAuthor: true,
133
+ // UI chrome, not content — never wanted in a static image.
134
+ stickyAddButton: false,
135
+ };
49
136
  export const TEXT_UNDERLINE_OFFSET = 0.92;
50
137
  export const TEXT_STRIKETHROUGH_OFFSET = 0.5;
51
138
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,40 +1,43 @@
1
- export type { RenderTarget, LineCap, LineJoin, TextAlign, TextBaseline, FillRule, FontStyleOptions, DrawPoint, } from "./render-target.js";
2
- export type { ElementRenderer, ElementRenderContext } from "./shape-renderer.js";
3
- export type { LayerName } from "./layers.js";
4
- export type { RenderSceneOptions, LodOptions } from "./scene-renderer.js";
5
- export type { RenderLinksOptions } from "./edge-renderer.js";
6
- export type { RenderGridOptions, GridLevel, GridRung } from "./grid-renderer.js";
7
- export { registerElementRenderer, getElementRenderer, hasElementRenderer, } from "./shape-renderer.js";
8
- export { LAYER_ORDER } from "./layers.js";
9
- export { renderScene } from "./scene-renderer.js";
10
- export { renderLinks, strokeRoundedPolyline } from "./edge-renderer.js";
11
- export { renderGrid, computeGridRungs } from "./grid-renderer.js";
12
- export { installBuiltinRenderers } from "./built-in-renderers.js";
13
- export { fetchModuleBytes, allocBytes, instantiateWasm } from "./wasm-bytes.js";
14
- export type { WasmArena } from "./wasm-bytes.js";
15
- export { LruCache } from "./lru-cache.js";
16
- export type { WrapOptions, WrappedLine } from "./text-layout.js";
17
- export { wrapText } from "./text-layout.js";
18
- export type { LaidOutLine, EditableTextLayout, MeasureText, LayoutTextOptions, CaretGeometry, SelectionRect, } from "./text-editing.js";
19
- export { layoutText, caretGeometry, pointToCaretIndex, selectionRects, DEFAULT_LINE_HEIGHT_FACTOR, } from "./text-editing.js";
20
- export { ElementCache, sharedBoundsCache, cachedWorldBounds } from "./shape-cache.js";
21
- export type { ElementBitmapCache } from "./shape-cache-bitmap.js";
22
- export { InMemoryElementBitmapCache, zoomBucket } from "./shape-cache-bitmap.js";
23
- export type { LinkBitmapCache } from "./edge-cache-bitmap.js";
24
- export { InMemoryLinkBitmapCache } from "./edge-cache-bitmap.js";
25
- export type { LayerCompositeCache } from "./layer-cache-composite.js";
26
- export { InMemoryLayerCompositeCache } from "./layer-cache-composite.js";
27
- export type { AnimatedSourceAdapter, AnimationClock } from "./animation-adapter.js";
28
- export { registerAnimationAdapter, unregisterAnimationAdapter, getAnimationAdapter, listAnimationKinds, resolveImageSource, setAnimationClock, resetAnimationClock, onAnimationContentReady, notifyAnimationContentReady, } from "./animation-adapter.js";
29
- export type { TextShaper, ShaperFont, ShapedGlyph } from "./text-shaper.js";
30
- export { setActiveTextShaper, getActiveTextShaper } from "./text-shaper.js";
31
- export type { Rasterizer } from "./rasterizer.js";
32
- export { setActiveRasterizer, getActiveRasterizer } from "./rasterizer.js";
33
- export { jsRasterizer } from "./js-rasterizer.js";
1
+ export type { RenderTarget, LineCap, LineJoin, TextAlign, TextBaseline, FillRule, FontStyleOptions, DrawPoint, } from "./targets/render-target.js";
2
+ export type { ElementRenderer, ElementRenderContext } from "./rendering/shape-renderer.js";
3
+ export type { LayerName } from "./targets/layers.js";
4
+ export type { RenderSceneOptions } from "./rendering/scene-renderer.js";
5
+ export { isTextBelowLod, screenSizeOf, type LodOptions } from "./rendering/lod.js";
6
+ export type { RenderLinksOptions } from "./rendering/edge-renderer.js";
7
+ export type { RenderGridOptions, GridLevel, GridRung } from "./rendering/grid-renderer.js";
8
+ export { registerElementRenderer, getElementRenderer, hasElementRenderer, } from "./rendering/shape-renderer.js";
9
+ export { LAYER_ORDER } from "./targets/layers.js";
10
+ export { renderScene } from "./rendering/scene-renderer.js";
11
+ export { renderLinks, strokeRoundedPolyline } from "./rendering/edge-renderer.js";
12
+ export { buildRoundedRectPath } from "./rendering/built-in-renderers.js";
13
+ export { renderGrid, computeGridRungs } from "./rendering/grid-renderer.js";
14
+ export { installBuiltinRenderers, drawShapeLabel, shapeLabelLayout, buildImageMaskPath, stickyReactionLayout, stickyReactionPillRects, stickyReactionAddRect, } from "./rendering/built-in-renderers.js";
15
+ export { isDrawableImageSource } from "./raster/image-source-guard.js";
16
+ export { fetchModuleBytes, allocBytes, instantiateWasm } from "./raster/wasm-bytes.js";
17
+ export type { WasmArena } from "./raster/wasm-bytes.js";
18
+ export { LruCache } from "./caches/lru-cache.js";
19
+ export type { WrapOptions, WrappedLine } from "./text/text-layout.js";
20
+ export { wrapText } from "./text/text-layout.js";
21
+ export type { LaidOutLine, EditableTextLayout, MeasureText, LayoutTextOptions, CaretGeometry, SelectionRect, } from "./text/text-editing.js";
22
+ export { layoutText, caretGeometry, pointToCaretIndex, selectionRects, DEFAULT_LINE_HEIGHT_FACTOR, } from "./text/text-editing.js";
23
+ export { ElementCache, sharedBoundsCache, cachedWorldBounds } from "./caches/shape-cache.js";
24
+ export type { ElementBitmapCache } from "./caches/shape-cache-bitmap.js";
25
+ export { InMemoryElementBitmapCache, zoomBucket } from "./caches/shape-cache-bitmap.js";
26
+ export type { LinkBitmapCache } from "./caches/edge-cache-bitmap.js";
27
+ export { InMemoryLinkBitmapCache } from "./caches/edge-cache-bitmap.js";
28
+ export type { LayerCompositeCache } from "./caches/layer-cache-composite.js";
29
+ export { InMemoryLayerCompositeCache } from "./caches/layer-cache-composite.js";
30
+ export type { AnimatedSourceAdapter, AnimationClock } from "./raster/animation-adapter.js";
31
+ export { registerAnimationAdapter, unregisterAnimationAdapter, getAnimationAdapter, listAnimationKinds, resolveImageSource, setAnimationClock, resetAnimationClock, onAnimationContentReady, notifyAnimationContentReady, } from "./raster/animation-adapter.js";
32
+ export type { TextShaper, ShaperFont, ShapedGlyph } from "./text/text-shaper.js";
33
+ export { setActiveTextShaper, onTextShaperChange, getActiveTextShaper, } from "./text/text-shaper.js";
34
+ export type { Rasterizer } from "./raster/rasterizer.js";
35
+ export { setActiveRasterizer, getActiveRasterizer } from "./raster/rasterizer.js";
36
+ export { jsRasterizer } from "./raster/js-rasterizer.js";
34
37
  export type { WorkerRenderMessage, WorkerRenderResponse } from "./worker-render.js";
35
38
  export { WORKER_AUTO_THRESHOLD } from "./worker-render.js";
36
- export type { TileKey, TileCache, TileCacheEntry } from "./tile-renderer.js";
37
- export { TILE_SIZE, MAX_TILE_CACHE_BYTES, LOD_THRESHOLD, InMemoryTileCache, } from "./tile-renderer.js";
38
- export { LinkBoundsCache, computeLinkWorldBounds, sharedLinkBoundsCache } from "./edge-cache.js";
39
- export { DEFAULT_LOD, DEFAULT_PLACEHOLDER_FILL, VIEWPORT_CULL_PADDING_RATIO, LINK_CORNER_RADIUS, GRID_LINE_COLOR, GRID_DOT_FILL, GRID_LINE_WIDTH_PX, GRID_DOT_RADIUS_PX, GRID_MIN_SCREEN_SPACING_PX, GRID_LEVEL_SUBDIV, GRID_LEVEL_RUNGS, GRID_LINE_FADE_FROM_PX, GRID_LINE_FADE_FULL_PX, GRID_DOT_FADE_FROM_PX, GRID_DOT_FADE_FULL_PX, } from "./constants.js";
39
+ export type { TileKey, TileCache, TileCacheEntry } from "./caches/tile-renderer.js";
40
+ export { TILE_SIZE, MAX_TILE_CACHE_BYTES, LOD_THRESHOLD, InMemoryTileCache, } from "./caches/tile-renderer.js";
41
+ export { LinkBoundsCache, computeLinkWorldBounds, sharedLinkBoundsCache, } from "./caches/edge-cache.js";
42
+ export { DEFAULT_LOD, LOD_PLACEHOLDER_MAX_SCREEN_PX, LOD_MIN_TEXT_SCREEN_PX, TEXT_PLACEHOLDER_COLOR, DEFAULT_PLACEHOLDER_FILL, VIEWPORT_CULL_PADDING_RATIO, LINK_CORNER_RADIUS, GRID_LINE_COLOR, GRID_DOT_FILL, GRID_LINE_WIDTH_PX, GRID_DOT_RADIUS_PX, GRID_MIN_SCREEN_SPACING_PX, GRID_LEVEL_SUBDIV, GRID_LEVEL_RUNGS, GRID_LINE_FADE_FROM_PX, GRID_LINE_FADE_FULL_PX, GRID_DOT_FADE_FROM_PX, GRID_DOT_FADE_FULL_PX, STICKY_REACTION_FONT_SIZE, STICKY_REACTION_HEIGHT, STICKY_REACTION_GAP, STICKY_REACTION_MIN_ZOOM, EXPORT_CONTENT_DEFAULTS, } from "./constants.js";
40
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,26 +1,29 @@
1
- export { registerElementRenderer, getElementRenderer, hasElementRenderer, } from "./shape-renderer.js";
2
- export { LAYER_ORDER } from "./layers.js";
3
- export { renderScene } from "./scene-renderer.js";
4
- export { renderLinks, strokeRoundedPolyline } from "./edge-renderer.js";
5
- export { renderGrid, computeGridRungs } from "./grid-renderer.js";
1
+ export { isTextBelowLod, screenSizeOf } from "./rendering/lod.js";
2
+ export { registerElementRenderer, getElementRenderer, hasElementRenderer, } from "./rendering/shape-renderer.js";
3
+ export { LAYER_ORDER } from "./targets/layers.js";
4
+ export { renderScene } from "./rendering/scene-renderer.js";
5
+ export { renderLinks, strokeRoundedPolyline } from "./rendering/edge-renderer.js";
6
+ export { buildRoundedRectPath } from "./rendering/built-in-renderers.js";
7
+ export { renderGrid, computeGridRungs } from "./rendering/grid-renderer.js";
6
8
  // Backend-agnostic shape renderers for the built-in `BuiltinElement` types.
7
9
  // `installBuiltinRenderers()` registers them via `registerElementRenderer` and
8
10
  // is safe to call multiple times.
9
- export { installBuiltinRenderers } from "./built-in-renderers.js";
10
- export { fetchModuleBytes, allocBytes, instantiateWasm } from "./wasm-bytes.js";
11
- export { LruCache } from "./lru-cache.js";
12
- export { wrapText } from "./text-layout.js";
13
- export { layoutText, caretGeometry, pointToCaretIndex, selectionRects, DEFAULT_LINE_HEIGHT_FACTOR, } from "./text-editing.js";
14
- export { ElementCache, sharedBoundsCache, cachedWorldBounds } from "./shape-cache.js";
15
- export { InMemoryElementBitmapCache, zoomBucket } from "./shape-cache-bitmap.js";
16
- export { InMemoryLinkBitmapCache } from "./edge-cache-bitmap.js";
17
- export { InMemoryLayerCompositeCache } from "./layer-cache-composite.js";
18
- export { registerAnimationAdapter, unregisterAnimationAdapter, getAnimationAdapter, listAnimationKinds, resolveImageSource, setAnimationClock, resetAnimationClock, onAnimationContentReady, notifyAnimationContentReady, } from "./animation-adapter.js";
19
- export { setActiveTextShaper, getActiveTextShaper } from "./text-shaper.js";
20
- export { setActiveRasterizer, getActiveRasterizer } from "./rasterizer.js";
21
- export { jsRasterizer } from "./js-rasterizer.js";
11
+ export { installBuiltinRenderers, drawShapeLabel, shapeLabelLayout, buildImageMaskPath, stickyReactionLayout, stickyReactionPillRects, stickyReactionAddRect, } from "./rendering/built-in-renderers.js";
12
+ export { isDrawableImageSource } from "./raster/image-source-guard.js";
13
+ export { fetchModuleBytes, allocBytes, instantiateWasm } from "./raster/wasm-bytes.js";
14
+ export { LruCache } from "./caches/lru-cache.js";
15
+ export { wrapText } from "./text/text-layout.js";
16
+ export { layoutText, caretGeometry, pointToCaretIndex, selectionRects, DEFAULT_LINE_HEIGHT_FACTOR, } from "./text/text-editing.js";
17
+ export { ElementCache, sharedBoundsCache, cachedWorldBounds } from "./caches/shape-cache.js";
18
+ export { InMemoryElementBitmapCache, zoomBucket } from "./caches/shape-cache-bitmap.js";
19
+ export { InMemoryLinkBitmapCache } from "./caches/edge-cache-bitmap.js";
20
+ export { InMemoryLayerCompositeCache } from "./caches/layer-cache-composite.js";
21
+ export { registerAnimationAdapter, unregisterAnimationAdapter, getAnimationAdapter, listAnimationKinds, resolveImageSource, setAnimationClock, resetAnimationClock, onAnimationContentReady, notifyAnimationContentReady, } from "./raster/animation-adapter.js";
22
+ export { setActiveTextShaper, onTextShaperChange, getActiveTextShaper, } from "./text/text-shaper.js";
23
+ export { setActiveRasterizer, getActiveRasterizer } from "./raster/rasterizer.js";
24
+ export { jsRasterizer } from "./raster/js-rasterizer.js";
22
25
  export { WORKER_AUTO_THRESHOLD } from "./worker-render.js";
23
- export { TILE_SIZE, MAX_TILE_CACHE_BYTES, LOD_THRESHOLD, InMemoryTileCache, } from "./tile-renderer.js";
24
- export { LinkBoundsCache, computeLinkWorldBounds, sharedLinkBoundsCache } from "./edge-cache.js";
25
- export { DEFAULT_LOD, DEFAULT_PLACEHOLDER_FILL, VIEWPORT_CULL_PADDING_RATIO, LINK_CORNER_RADIUS, GRID_LINE_COLOR, GRID_DOT_FILL, GRID_LINE_WIDTH_PX, GRID_DOT_RADIUS_PX, GRID_MIN_SCREEN_SPACING_PX, GRID_LEVEL_SUBDIV, GRID_LEVEL_RUNGS, GRID_LINE_FADE_FROM_PX, GRID_LINE_FADE_FULL_PX, GRID_DOT_FADE_FROM_PX, GRID_DOT_FADE_FULL_PX, } from "./constants.js";
26
+ export { TILE_SIZE, MAX_TILE_CACHE_BYTES, LOD_THRESHOLD, InMemoryTileCache, } from "./caches/tile-renderer.js";
27
+ export { LinkBoundsCache, computeLinkWorldBounds, sharedLinkBoundsCache, } from "./caches/edge-cache.js";
28
+ export { DEFAULT_LOD, LOD_PLACEHOLDER_MAX_SCREEN_PX, LOD_MIN_TEXT_SCREEN_PX, TEXT_PLACEHOLDER_COLOR, DEFAULT_PLACEHOLDER_FILL, VIEWPORT_CULL_PADDING_RATIO, LINK_CORNER_RADIUS, GRID_LINE_COLOR, GRID_DOT_FILL, GRID_LINE_WIDTH_PX, GRID_DOT_RADIUS_PX, GRID_MIN_SCREEN_SPACING_PX, GRID_LEVEL_SUBDIV, GRID_LEVEL_RUNGS, GRID_LINE_FADE_FROM_PX, GRID_LINE_FADE_FULL_PX, GRID_DOT_FADE_FROM_PX, GRID_DOT_FADE_FULL_PX, STICKY_REACTION_FONT_SIZE, STICKY_REACTION_HEIGHT, STICKY_REACTION_GAP, STICKY_REACTION_MIN_ZOOM, EXPORT_CONTENT_DEFAULTS, } from "./constants.js";
26
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAElE,4EAA4E;AAC5E,+EAA+E;AAC/E,kCAAkC;AAClC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAS5C,OAAO,EACL,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAIzE,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEjG,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAmB,MAAM,oBAAoB,CAAC;AAInF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE5E,4EAA4E;AAC5E,+EAA+E;AAC/E,kCAAkC;AAClC,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEvF,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AASjD,OAAO,EACL,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAExF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAIhF,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,WAAW,EACX,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-adapter.d.ts","sourceRoot":"","sources":["../../src/raster/animation-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,qBAAqB,CAAC,IAAI,GAAG,OAAO;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IACrD;;;;OAIG;IACH,eAAe,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;CACtC;AAID,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,SAAS,qBAAqB,CAAC,CAAC,CAAC,KAAG,IAE/E,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,MAAM,MAAM,KAAG,IAEzD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,qBAAqB,GAAG,SACvD,CAAC;AAErB,eAAO,MAAM,kBAAkB,QAAO,SAAS,MAAM,EAA0B,CAAC;AAgBhF,eAAO,MAAM,uBAAuB,GAAI,IAAI,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAGnE,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAO,IAQ9C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,MAAM,CAAC;AAK1E;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,cAAc,KAAG,IAEzD,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,QAAO,IAEtC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO;IACL,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC,EACD,cAAa,MAA8B,KAC1C,OASF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-adapter.js","sourceRoot":"","sources":["../../src/raster/animation-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA0BH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;AAE1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAI,OAAiC,EAAQ,EAAE;IACrF,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAQ,EAAE;IAC/D,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAqC,EAAE,CACrF,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAErB,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAsB,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAc,CAAC;AAE/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAc,EAAgB,EAAE;IACtE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzB,OAAO,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAS,EAAE;IACpD,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,EAAE,EAAE,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAwBF,IAAI,cAAc,GAAmB,GAAG,EAAE,CACxC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAqB,EAAQ,EAAE;IAC/D,cAAc,GAAG,KAAK,CAAC;AACzB,CAAC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAS,EAAE;IAC5C,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAKC,EACD,cAAsB,cAAc,CAAC,KAAK,CAAC,EAClC,EAAE;IACX,IAAI,CAAC,KAAK,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC,GAAG,CAAC;IACnB,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const isDrawableImageSource: (value: unknown) => value is CanvasImageSource;
2
+ //# sourceMappingURL=image-source-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-source-guard.d.ts","sourceRoot":"","sources":["../../src/raster/image-source-guard.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,qBAAqB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,iBAa/D,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Runtime guard: is `value` an actual drawable image source that
3
+ * `ctx.drawImage` / `gl.texImage2D` will accept?
4
+ *
5
+ * Needed because a deserialized scene can carry a **garbage**
6
+ * `metadata.image`: a live `<img>` DOM element serialises to `{}`
7
+ * via `JSON.stringify`, so a scene restored from localStorage has
8
+ * `metadata.image === {}` — a truthy object that passes a naive
9
+ * `typeof === "object"` check but throws inside `drawImage`
10
+ * ("provided value is not of type …") / `texImage2D` ("overload
11
+ * resolution failed").
12
+ *
13
+ * The check is environment-safe: each constructor is probed for
14
+ * existence first (workers / SSR / older browsers may lack some),
15
+ * so it never throws on a missing global. A bare `{}` matches none
16
+ * of them and is rejected.
17
+ *
18
+ * Single implementation for the whole repo — element renderers
19
+ * (renderer-core), backends (renderer-canvas) and scene rehydration
20
+ * (state) all import it from here.
21
+ */
22
+ const DRAWABLE_CTOR_NAMES = [
23
+ "HTMLImageElement",
24
+ "HTMLCanvasElement",
25
+ "HTMLVideoElement",
26
+ "ImageBitmap",
27
+ "OffscreenCanvas",
28
+ "SVGImageElement",
29
+ "VideoFrame",
30
+ ];
31
+ export const isDrawableImageSource = (value) => {
32
+ if (typeof value !== "object" || value === null)
33
+ return false;
34
+ const g = globalThis;
35
+ for (const name of DRAWABLE_CTOR_NAMES) {
36
+ const ctor = g[name];
37
+ if (typeof ctor === "function" &&
38
+ value instanceof ctor) {
39
+ return true;
40
+ }
41
+ }
42
+ return false;
43
+ };
44
+ //# sourceMappingURL=image-source-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-source-guard.js","sourceRoot":"","sources":["../../src/raster/image-source-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,mBAAmB,GAAG;IAC1B,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,YAAY;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAA8B,EAAE;IAClF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,CAAC,GAAG,UAAqC,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,IACE,OAAO,IAAI,KAAK,UAAU;YAC1B,KAAK,YAAa,IAA0C,EAC5D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-rasterizer.d.ts","sourceRoot":"","sources":["../../src/raster/js-rasterizer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,UA8E1B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-rasterizer.js","sourceRoot":"","sources":["../../src/raster/js-rasterizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rasterizer.d.ts","sourceRoot":"","sources":["../../src/raster/rasterizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,eAAO,MAAM,mBAAmB,GAAI,GAAG,UAAU,GAAG,IAAI,KAAG,IAE1D,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,UAAU,GAAG,IAAwB,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC;IAE9E;;;OAGG;IACH,YAAY,CACV,QAAQ,EAAE,SAAS,IAAI,EAAE,EACzB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;KAC7C,GACA,SAAS,IAAI,EAAE,CAAC;CACpB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rasterizer.js","sourceRoot":"","sources":["../../src/raster/rasterizer.ts"],"names":[],"mappings":"AAGA,sEAAsE;AACtE,wEAAwE;AACxE,WAAW;AAEX,IAAI,gBAAgB,GAAsB,IAAI,CAAC;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAoB,EAAQ,EAAE;IAChE,gBAAgB,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAsB,EAAE,CAAC,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm-bytes.d.ts","sourceRoot":"","sources":["../../src/raster/wasm-bytes.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,GAAG,GAAG,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,EAC1D,SAAS,MAAM,KACd,OAAO,CAAC,WAAW,CAuBrB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,GAAG,GAAG,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,EAC1D,SAAS,MAAM,KACd,OAAO,CAAC,WAAW,CAAC,QAAQ,CAsB9B,CAAC;AAEF,oEAAoE;AACpE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAC;CACvD;AAED,6FAA6F;AAC7F,eAAO,MAAM,UAAU,GACrB,MAAM,SAAS,EACf,OAAO,UAAU,KAChB;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAWzE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm-bytes.js","sourceRoot":"","sources":["../../src/raster/wasm-bytes.ts"],"names":[],"mappings":"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"}