@oh-just-another/renderer-core 0.60.1 → 0.61.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.
- package/CHANGELOG.md +48 -0
- package/README.md +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/caches/edge-cache-bitmap.d.ts.map +1 -0
- package/dist/caches/edge-cache-bitmap.js.map +1 -0
- package/dist/caches/edge-cache.d.ts.map +1 -0
- package/dist/caches/edge-cache.js.map +1 -0
- package/dist/caches/layer-cache-composite.d.ts.map +1 -0
- package/dist/caches/layer-cache-composite.js.map +1 -0
- package/dist/caches/lru-cache.d.ts.map +1 -0
- package/dist/caches/lru-cache.js.map +1 -0
- package/dist/caches/shape-cache-bitmap.d.ts.map +1 -0
- package/dist/caches/shape-cache-bitmap.js.map +1 -0
- package/dist/caches/shape-cache.d.ts.map +1 -0
- package/dist/caches/shape-cache.js.map +1 -0
- package/dist/{tile-renderer.d.ts → caches/tile-renderer.d.ts} +0 -5
- package/dist/caches/tile-renderer.d.ts.map +1 -0
- package/dist/{tile-renderer.js → caches/tile-renderer.js} +0 -5
- package/dist/caches/tile-renderer.js.map +1 -0
- package/dist/constants.d.ts +95 -9
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +98 -11
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +40 -37
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -21
- package/dist/index.js.map +1 -1
- package/dist/raster/animation-adapter.d.ts.map +1 -0
- package/dist/raster/animation-adapter.js.map +1 -0
- package/dist/raster/image-source-guard.d.ts +2 -0
- package/dist/raster/image-source-guard.d.ts.map +1 -0
- package/dist/raster/image-source-guard.js +44 -0
- package/dist/raster/image-source-guard.js.map +1 -0
- package/dist/raster/js-rasterizer.d.ts.map +1 -0
- package/dist/raster/js-rasterizer.js.map +1 -0
- package/dist/raster/rasterizer.d.ts.map +1 -0
- package/dist/raster/rasterizer.js.map +1 -0
- package/dist/raster/wasm-bytes.d.ts.map +1 -0
- package/dist/raster/wasm-bytes.js.map +1 -0
- package/dist/rendering/built-in-renderers.d.ts +85 -0
- package/dist/rendering/built-in-renderers.d.ts.map +1 -0
- package/dist/rendering/built-in-renderers.js +1087 -0
- package/dist/rendering/built-in-renderers.js.map +1 -0
- package/dist/{edge-renderer.d.ts → rendering/edge-renderer.d.ts} +3 -3
- package/dist/rendering/edge-renderer.d.ts.map +1 -0
- package/dist/{edge-renderer.js → rendering/edge-renderer.js} +4 -4
- package/dist/rendering/edge-renderer.js.map +1 -0
- package/dist/{grid-renderer.d.ts → rendering/grid-renderer.d.ts} +1 -1
- package/dist/rendering/grid-renderer.d.ts.map +1 -0
- package/dist/{grid-renderer.js → rendering/grid-renderer.js} +1 -1
- package/dist/rendering/grid-renderer.js.map +1 -0
- package/dist/rendering/lod.d.ts +26 -0
- package/dist/rendering/lod.d.ts.map +1 -0
- package/dist/rendering/lod.js +5 -0
- package/dist/rendering/lod.js.map +1 -0
- package/dist/{scene-renderer.d.ts → rendering/scene-renderer.d.ts} +21 -21
- package/dist/rendering/scene-renderer.d.ts.map +1 -0
- package/dist/{scene-renderer.js → rendering/scene-renderer.js} +26 -9
- package/dist/rendering/scene-renderer.js.map +1 -0
- package/dist/{shape-renderer.d.ts → rendering/shape-renderer.d.ts} +32 -2
- package/dist/rendering/shape-renderer.d.ts.map +1 -0
- package/dist/rendering/shape-renderer.js.map +1 -0
- package/dist/targets/dim-target.d.ts.map +1 -0
- package/dist/targets/dim-target.js.map +1 -0
- package/dist/targets/layers.d.ts.map +1 -0
- package/dist/targets/layers.js.map +1 -0
- package/dist/{render-target.d.ts → targets/render-target.d.ts} +8 -0
- package/dist/targets/render-target.d.ts.map +1 -0
- package/dist/targets/render-target.js.map +1 -0
- package/dist/{text-editing.d.ts → text/text-editing.d.ts} +22 -1
- package/dist/text/text-editing.d.ts.map +1 -0
- package/dist/{text-editing.js → text/text-editing.js} +53 -12
- package/dist/text/text-editing.js.map +1 -0
- package/dist/{text-layout.d.ts → text/text-layout.d.ts} +1 -1
- package/dist/text/text-layout.d.ts.map +1 -0
- package/dist/text/text-layout.js.map +1 -0
- package/dist/{text-shaper.d.ts → text/text-shaper.d.ts} +9 -1
- package/dist/text/text-shaper.d.ts.map +1 -0
- package/dist/text/text-shaper.js +32 -0
- package/dist/text/text-shaper.js.map +1 -0
- package/package.json +3 -3
- package/dist/animation-adapter.d.ts.map +0 -1
- package/dist/animation-adapter.js.map +0 -1
- package/dist/built-in-renderers.d.ts +0 -25
- package/dist/built-in-renderers.d.ts.map +0 -1
- package/dist/built-in-renderers.js +0 -601
- package/dist/built-in-renderers.js.map +0 -1
- package/dist/dim-target.d.ts.map +0 -1
- package/dist/dim-target.js.map +0 -1
- package/dist/edge-cache-bitmap.d.ts.map +0 -1
- package/dist/edge-cache-bitmap.js.map +0 -1
- package/dist/edge-cache.d.ts.map +0 -1
- package/dist/edge-cache.js.map +0 -1
- package/dist/edge-renderer.d.ts.map +0 -1
- package/dist/edge-renderer.js.map +0 -1
- package/dist/grid-renderer.d.ts.map +0 -1
- package/dist/grid-renderer.js.map +0 -1
- package/dist/js-rasterizer.d.ts.map +0 -1
- package/dist/js-rasterizer.js.map +0 -1
- package/dist/layer-cache-composite.d.ts.map +0 -1
- package/dist/layer-cache-composite.js.map +0 -1
- package/dist/layers.d.ts.map +0 -1
- package/dist/layers.js.map +0 -1
- package/dist/lru-cache.d.ts.map +0 -1
- package/dist/lru-cache.js.map +0 -1
- package/dist/rasterizer.d.ts.map +0 -1
- package/dist/rasterizer.js.map +0 -1
- package/dist/render-target.d.ts.map +0 -1
- package/dist/render-target.js.map +0 -1
- package/dist/scene-renderer.d.ts.map +0 -1
- package/dist/scene-renderer.js.map +0 -1
- package/dist/shape-cache-bitmap.d.ts.map +0 -1
- package/dist/shape-cache-bitmap.js.map +0 -1
- package/dist/shape-cache.d.ts.map +0 -1
- package/dist/shape-cache.js.map +0 -1
- package/dist/shape-renderer.d.ts.map +0 -1
- package/dist/shape-renderer.js.map +0 -1
- package/dist/text-editing.d.ts.map +0 -1
- package/dist/text-editing.js.map +0 -1
- package/dist/text-layout.d.ts.map +0 -1
- package/dist/text-layout.js.map +0 -1
- package/dist/text-shaper.d.ts.map +0 -1
- package/dist/text-shaper.js +0 -16
- package/dist/text-shaper.js.map +0 -1
- package/dist/tile-renderer.d.ts.map +0 -1
- package/dist/tile-renderer.js.map +0 -1
- package/dist/wasm-bytes.d.ts.map +0 -1
- package/dist/wasm-bytes.js.map +0 -1
- /package/dist/{edge-cache-bitmap.d.ts → caches/edge-cache-bitmap.d.ts} +0 -0
- /package/dist/{edge-cache-bitmap.js → caches/edge-cache-bitmap.js} +0 -0
- /package/dist/{edge-cache.d.ts → caches/edge-cache.d.ts} +0 -0
- /package/dist/{edge-cache.js → caches/edge-cache.js} +0 -0
- /package/dist/{layer-cache-composite.d.ts → caches/layer-cache-composite.d.ts} +0 -0
- /package/dist/{layer-cache-composite.js → caches/layer-cache-composite.js} +0 -0
- /package/dist/{lru-cache.d.ts → caches/lru-cache.d.ts} +0 -0
- /package/dist/{lru-cache.js → caches/lru-cache.js} +0 -0
- /package/dist/{shape-cache-bitmap.d.ts → caches/shape-cache-bitmap.d.ts} +0 -0
- /package/dist/{shape-cache-bitmap.js → caches/shape-cache-bitmap.js} +0 -0
- /package/dist/{shape-cache.d.ts → caches/shape-cache.d.ts} +0 -0
- /package/dist/{shape-cache.js → caches/shape-cache.js} +0 -0
- /package/dist/{animation-adapter.d.ts → raster/animation-adapter.d.ts} +0 -0
- /package/dist/{animation-adapter.js → raster/animation-adapter.js} +0 -0
- /package/dist/{js-rasterizer.d.ts → raster/js-rasterizer.d.ts} +0 -0
- /package/dist/{js-rasterizer.js → raster/js-rasterizer.js} +0 -0
- /package/dist/{rasterizer.d.ts → raster/rasterizer.d.ts} +0 -0
- /package/dist/{rasterizer.js → raster/rasterizer.js} +0 -0
- /package/dist/{wasm-bytes.d.ts → raster/wasm-bytes.d.ts} +0 -0
- /package/dist/{wasm-bytes.js → raster/wasm-bytes.js} +0 -0
- /package/dist/{shape-renderer.js → rendering/shape-renderer.js} +0 -0
- /package/dist/{dim-target.d.ts → targets/dim-target.d.ts} +0 -0
- /package/dist/{dim-target.js → targets/dim-target.js} +0 -0
- /package/dist/{layers.d.ts → targets/layers.d.ts} +0 -0
- /package/dist/{layers.js → targets/layers.js} +0 -0
- /package/dist/{render-target.js → targets/render-target.js} +0 -0
- /package/dist/{text-layout.js → text/text-layout.js} +0 -0
package/dist/constants.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
9
|
-
*
|
|
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
|
-
* - `
|
|
12
|
-
*
|
|
13
|
-
* shape.
|
|
14
|
-
* - `
|
|
15
|
-
*
|
|
16
|
-
* bulk of text
|
|
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
|
/**
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
-
*
|
|
9
|
-
*
|
|
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
|
-
* - `
|
|
12
|
-
*
|
|
13
|
-
* shape.
|
|
14
|
-
* - `
|
|
15
|
-
*
|
|
16
|
-
* bulk of text
|
|
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
|
-
|
|
22
|
-
|
|
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
|
/**
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
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
|
|
5
|
-
export type
|
|
6
|
-
export type {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export
|
|
15
|
-
export {
|
|
16
|
-
export
|
|
17
|
-
export {
|
|
18
|
-
export
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
21
|
-
export type {
|
|
22
|
-
export {
|
|
23
|
-
export
|
|
24
|
-
export {
|
|
25
|
-
export
|
|
26
|
-
export {
|
|
27
|
-
export
|
|
28
|
-
export {
|
|
29
|
-
export
|
|
30
|
-
export {
|
|
31
|
-
export
|
|
32
|
-
export {
|
|
33
|
-
export {
|
|
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,
|
|
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, 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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,SAAS,GACV,MAAM,
|
|
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 {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
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 {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
18
|
-
export {
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
21
|
-
export {
|
|
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,
|
|
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, 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":"
|
|
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,EAAE,SAAS,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,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 @@
|
|
|
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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"}
|