@oh-just-another/renderer-canvas 0.61.0 → 0.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/{canvas-target.d.ts → canvas2d/canvas-target.d.ts} +1 -0
- package/dist/canvas2d/canvas-target.d.ts.map +1 -0
- package/dist/{canvas-target.js → canvas2d/canvas-target.js} +3 -0
- package/dist/canvas2d/canvas-target.js.map +1 -0
- package/dist/canvas2d/canvas-text-shaper.d.ts.map +1 -0
- package/dist/canvas2d/canvas-text-shaper.js.map +1 -0
- package/dist/canvas2d/hi-dpi.d.ts.map +1 -0
- package/dist/{hi-dpi.js → canvas2d/hi-dpi.js} +1 -1
- package/dist/canvas2d/hi-dpi.js.map +1 -0
- package/dist/{image-source.d.ts → canvas2d/image-source.d.ts} +1 -1
- package/dist/canvas2d/image-source.d.ts.map +1 -0
- package/dist/{image-source.js → canvas2d/image-source.js} +7 -42
- package/dist/canvas2d/image-source.js.map +1 -0
- package/dist/canvas2d/layered-canvas.d.ts.map +1 -0
- package/dist/{layered-canvas.js → canvas2d/layered-canvas.js} +1 -1
- package/dist/canvas2d/layered-canvas.js.map +1 -0
- package/dist/constants.d.ts +32 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +32 -0
- package/dist/constants.js.map +1 -1
- package/dist/glyph-bake-worker.d.ts +20 -0
- package/dist/glyph-bake-worker.d.ts.map +1 -0
- package/dist/glyph-bake-worker.js +43 -0
- package/dist/glyph-bake-worker.js.map +1 -0
- package/dist/index.d.ts +11 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/dist/{offscreen.d.ts → offscreen/offscreen.d.ts} +1 -1
- package/dist/offscreen/offscreen.d.ts.map +1 -0
- package/dist/{offscreen.js → offscreen/offscreen.js} +1 -1
- package/dist/offscreen/offscreen.js.map +1 -0
- package/dist/{recording-target.d.ts → offscreen/recording-target.d.ts} +4 -0
- package/dist/offscreen/recording-target.d.ts.map +1 -0
- package/dist/{recording-target.js → offscreen/recording-target.js} +11 -2
- package/dist/offscreen/recording-target.js.map +1 -0
- package/dist/offscreen/replay-codec.d.ts.map +1 -0
- package/dist/{replay-codec.js → offscreen/replay-codec.js} +16 -1
- package/dist/offscreen/replay-codec.js.map +1 -0
- package/dist/offscreen/worker-factory.d.ts +13 -0
- package/dist/offscreen/worker-factory.d.ts.map +1 -0
- package/dist/offscreen/worker-factory.js +13 -0
- package/dist/offscreen/worker-factory.js.map +1 -0
- package/dist/render-worker.js +2 -2
- package/dist/render-worker.js.map +1 -1
- package/dist/surface/layered-surface.d.ts.map +1 -0
- package/dist/{layered-surface.js → surface/layered-surface.js} +6 -6
- package/dist/surface/layered-surface.js.map +1 -0
- package/dist/{tile-compositor.d.ts → surface/tile-compositor.d.ts} +1 -1
- package/dist/surface/tile-compositor.d.ts.map +1 -0
- package/dist/{tile-compositor.js → surface/tile-compositor.js} +1 -1
- package/dist/surface/tile-compositor.js.map +1 -0
- package/dist/webgl2/webgl-helpers.d.ts.map +1 -0
- package/dist/webgl2/webgl-helpers.js.map +1 -0
- package/dist/webgl2/webgl2-color.d.ts.map +1 -0
- package/dist/webgl2/webgl2-color.js.map +1 -0
- package/dist/webgl2/webgl2-curve.d.ts.map +1 -0
- package/dist/{webgl2-curve.js → webgl2/webgl2-curve.js} +1 -1
- package/dist/webgl2/webgl2-curve.js.map +1 -0
- package/dist/webgl2/webgl2-ellipse.d.ts.map +1 -0
- package/dist/webgl2/webgl2-ellipse.js.map +1 -0
- package/dist/webgl2/webgl2-msdf-text.d.ts.map +1 -0
- package/dist/{webgl2-msdf-text.js → webgl2/webgl2-msdf-text.js} +1 -1
- package/dist/webgl2/webgl2-msdf-text.js.map +1 -0
- package/dist/webgl2/webgl2-rect-batch.d.ts.map +1 -0
- package/dist/{webgl2-rect-batch.js → webgl2/webgl2-rect-batch.js} +1 -1
- package/dist/webgl2/webgl2-rect-batch.js.map +1 -0
- package/dist/webgl2/webgl2-stroke.d.ts.map +1 -0
- package/dist/webgl2/webgl2-stroke.js.map +1 -0
- package/dist/{webgl2-target.d.ts → webgl2/webgl2-target.d.ts} +72 -5
- package/dist/webgl2/webgl2-target.d.ts.map +1 -0
- package/dist/{webgl2-target.js → webgl2/webgl2-target.js} +379 -20
- package/dist/webgl2/webgl2-target.js.map +1 -0
- package/dist/webgl2/webgpu-detect.d.ts.map +1 -0
- package/dist/webgl2/webgpu-detect.js.map +1 -0
- package/package.json +11 -6
- package/dist/canvas-target.d.ts.map +0 -1
- package/dist/canvas-target.js.map +0 -1
- package/dist/canvas-text-shaper.d.ts.map +0 -1
- package/dist/canvas-text-shaper.js.map +0 -1
- package/dist/hi-dpi.d.ts.map +0 -1
- package/dist/hi-dpi.js.map +0 -1
- package/dist/image-source.d.ts.map +0 -1
- package/dist/image-source.js.map +0 -1
- package/dist/layered-canvas.d.ts.map +0 -1
- package/dist/layered-canvas.js.map +0 -1
- package/dist/layered-surface.d.ts.map +0 -1
- package/dist/layered-surface.js.map +0 -1
- package/dist/offscreen.d.ts.map +0 -1
- package/dist/offscreen.js.map +0 -1
- package/dist/recording-target.d.ts.map +0 -1
- package/dist/recording-target.js.map +0 -1
- package/dist/replay-codec.d.ts.map +0 -1
- package/dist/replay-codec.js.map +0 -1
- package/dist/tile-compositor.d.ts.map +0 -1
- package/dist/tile-compositor.js.map +0 -1
- package/dist/webgl-helpers.d.ts.map +0 -1
- package/dist/webgl-helpers.js.map +0 -1
- package/dist/webgl2-color.d.ts.map +0 -1
- package/dist/webgl2-color.js.map +0 -1
- package/dist/webgl2-curve.d.ts.map +0 -1
- package/dist/webgl2-curve.js.map +0 -1
- package/dist/webgl2-ellipse.d.ts.map +0 -1
- package/dist/webgl2-ellipse.js.map +0 -1
- package/dist/webgl2-msdf-text.d.ts.map +0 -1
- package/dist/webgl2-msdf-text.js.map +0 -1
- package/dist/webgl2-rect-batch.d.ts.map +0 -1
- package/dist/webgl2-rect-batch.js.map +0 -1
- package/dist/webgl2-stroke.d.ts.map +0 -1
- package/dist/webgl2-stroke.js.map +0 -1
- package/dist/webgl2-target.d.ts.map +0 -1
- package/dist/webgl2-target.js.map +0 -1
- package/dist/webgpu-detect.d.ts.map +0 -1
- package/dist/webgpu-detect.js.map +0 -1
- package/dist/worker-factory.d.ts +0 -12
- package/dist/worker-factory.d.ts.map +0 -1
- package/dist/worker-factory.js +0 -12
- package/dist/worker-factory.js.map +0 -1
- /package/dist/{canvas-text-shaper.d.ts → canvas2d/canvas-text-shaper.d.ts} +0 -0
- /package/dist/{canvas-text-shaper.js → canvas2d/canvas-text-shaper.js} +0 -0
- /package/dist/{hi-dpi.d.ts → canvas2d/hi-dpi.d.ts} +0 -0
- /package/dist/{layered-canvas.d.ts → canvas2d/layered-canvas.d.ts} +0 -0
- /package/dist/{replay-codec.d.ts → offscreen/replay-codec.d.ts} +0 -0
- /package/dist/{layered-surface.d.ts → surface/layered-surface.d.ts} +0 -0
- /package/dist/{webgl-helpers.d.ts → webgl2/webgl-helpers.d.ts} +0 -0
- /package/dist/{webgl-helpers.js → webgl2/webgl-helpers.js} +0 -0
- /package/dist/{webgl2-color.d.ts → webgl2/webgl2-color.d.ts} +0 -0
- /package/dist/{webgl2-color.js → webgl2/webgl2-color.js} +0 -0
- /package/dist/{webgl2-curve.d.ts → webgl2/webgl2-curve.d.ts} +0 -0
- /package/dist/{webgl2-ellipse.d.ts → webgl2/webgl2-ellipse.d.ts} +0 -0
- /package/dist/{webgl2-ellipse.js → webgl2/webgl2-ellipse.js} +0 -0
- /package/dist/{webgl2-msdf-text.d.ts → webgl2/webgl2-msdf-text.d.ts} +0 -0
- /package/dist/{webgl2-rect-batch.d.ts → webgl2/webgl2-rect-batch.d.ts} +0 -0
- /package/dist/{webgl2-stroke.d.ts → webgl2/webgl2-stroke.d.ts} +0 -0
- /package/dist/{webgl2-stroke.js → webgl2/webgl2-stroke.js} +0 -0
- /package/dist/{webgpu-detect.d.ts → webgl2/webgpu-detect.d.ts} +0 -0
- /package/dist/{webgpu-detect.js → webgl2/webgpu-detect.js} +0 -0
package/dist/constants.d.ts
CHANGED
|
@@ -34,6 +34,38 @@ export declare const LARGE_SCENE_WORKER_THRESHOLD = 50000;
|
|
|
34
34
|
* text renders through an atlas, without an OffscreenCanvas round-trip.
|
|
35
35
|
*/
|
|
36
36
|
export declare const WEBGL2_TEXT_BITMAP_CACHE_CAP = 256;
|
|
37
|
+
/**
|
|
38
|
+
* Cap on the supersampling factor for bitmap-path text (emoji, strings
|
|
39
|
+
* with unbaked glyphs, no-MSDF fallback). Bitmaps are rasterised at the
|
|
40
|
+
* current effective screen scale (view zoom × devicePixelRatio),
|
|
41
|
+
* quantised to powers of two so a smooth zoom doesn't re-rasterise every
|
|
42
|
+
* frame, and clamped here so extreme zooms don't allocate huge
|
|
43
|
+
* offscreens. 8 keeps a 10 px label crisp up to ~800 % zoom on 1×
|
|
44
|
+
* displays; range 4–16.
|
|
45
|
+
*/
|
|
46
|
+
export declare const WEBGL2_TEXT_RASTER_MAX_SCALE = 8;
|
|
47
|
+
/**
|
|
48
|
+
* Extra headroom above the em box in bitmap-path text rasters, as a
|
|
49
|
+
* fraction of the font size. Colour emoji glyphs regularly paint above
|
|
50
|
+
* the em top ("top" baseline); without this pad their upper edge is
|
|
51
|
+
* clipped by the offscreen bitmap. Compensated at draw time so glyph
|
|
52
|
+
* positioning is unchanged. Range 0.15–0.4.
|
|
53
|
+
*/
|
|
54
|
+
export declare const WEBGL2_TEXT_RASTER_TOP_PAD = 0.25;
|
|
55
|
+
/**
|
|
56
|
+
* Pause between main-thread fallback bake slices (one glyph each) when
|
|
57
|
+
* Web Workers are unavailable — a WASM MSDF bake costs 15–50 ms per
|
|
58
|
+
* glyph, so the fallback spreads them out (reasonable range 16–100).
|
|
59
|
+
* With workers available (the normal path) baking never touches the
|
|
60
|
+
* main thread at all.
|
|
61
|
+
*/
|
|
62
|
+
export declare const WEBGL2_ATLAS_BAKE_REST_MS = 32;
|
|
63
|
+
/**
|
|
64
|
+
* Delay before freshly-baked glyph tiles are pushed to the GPU. Batches
|
|
65
|
+
* several worker responses into one upload and keeps the (one-time,
|
|
66
|
+
* ~12 MB) full atlas upload out of interaction frames. Range 30–200.
|
|
67
|
+
*/
|
|
68
|
+
export declare const WEBGL2_ATLAS_UPLOAD_IDLE_MS = 60;
|
|
37
69
|
/**
|
|
38
70
|
* LRU cap on the offscreen image cache shared by `RecordingTarget`
|
|
39
71
|
* (main thread, identity → id) and the render worker (id → ImageBitmap).
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oCAAoC,OAAO,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,+BAA+B,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oCAAoC,OAAO,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,+BAA+B,OAAO,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -34,6 +34,38 @@ export const LARGE_SCENE_WORKER_THRESHOLD = 50_000;
|
|
|
34
34
|
* text renders through an atlas, without an OffscreenCanvas round-trip.
|
|
35
35
|
*/
|
|
36
36
|
export const WEBGL2_TEXT_BITMAP_CACHE_CAP = 256;
|
|
37
|
+
/**
|
|
38
|
+
* Cap on the supersampling factor for bitmap-path text (emoji, strings
|
|
39
|
+
* with unbaked glyphs, no-MSDF fallback). Bitmaps are rasterised at the
|
|
40
|
+
* current effective screen scale (view zoom × devicePixelRatio),
|
|
41
|
+
* quantised to powers of two so a smooth zoom doesn't re-rasterise every
|
|
42
|
+
* frame, and clamped here so extreme zooms don't allocate huge
|
|
43
|
+
* offscreens. 8 keeps a 10 px label crisp up to ~800 % zoom on 1×
|
|
44
|
+
* displays; range 4–16.
|
|
45
|
+
*/
|
|
46
|
+
export const WEBGL2_TEXT_RASTER_MAX_SCALE = 8;
|
|
47
|
+
/**
|
|
48
|
+
* Extra headroom above the em box in bitmap-path text rasters, as a
|
|
49
|
+
* fraction of the font size. Colour emoji glyphs regularly paint above
|
|
50
|
+
* the em top ("top" baseline); without this pad their upper edge is
|
|
51
|
+
* clipped by the offscreen bitmap. Compensated at draw time so glyph
|
|
52
|
+
* positioning is unchanged. Range 0.15–0.4.
|
|
53
|
+
*/
|
|
54
|
+
export const WEBGL2_TEXT_RASTER_TOP_PAD = 0.25;
|
|
55
|
+
/**
|
|
56
|
+
* Pause between main-thread fallback bake slices (one glyph each) when
|
|
57
|
+
* Web Workers are unavailable — a WASM MSDF bake costs 15–50 ms per
|
|
58
|
+
* glyph, so the fallback spreads them out (reasonable range 16–100).
|
|
59
|
+
* With workers available (the normal path) baking never touches the
|
|
60
|
+
* main thread at all.
|
|
61
|
+
*/
|
|
62
|
+
export const WEBGL2_ATLAS_BAKE_REST_MS = 32;
|
|
63
|
+
/**
|
|
64
|
+
* Delay before freshly-baked glyph tiles are pushed to the GPU. Batches
|
|
65
|
+
* several worker responses into one upload and keeps the (one-time,
|
|
66
|
+
* ~12 MB) full atlas upload out of interaction frames. Range 30–200.
|
|
67
|
+
*/
|
|
68
|
+
export const WEBGL2_ATLAS_UPLOAD_IDLE_MS = 60;
|
|
37
69
|
/**
|
|
38
70
|
* LRU cap on the offscreen image cache shared by `RecordingTarget`
|
|
39
71
|
* (main thread, identity → id) and the render worker (id → ImageBitmap).
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface GlyphBakeRequest {
|
|
2
|
+
readonly codePoint: number;
|
|
3
|
+
readonly fontId: number;
|
|
4
|
+
readonly tileSize: number;
|
|
5
|
+
readonly range: number;
|
|
6
|
+
}
|
|
7
|
+
export interface GlyphBakeResponse {
|
|
8
|
+
readonly codePoint: number;
|
|
9
|
+
readonly fontId: number;
|
|
10
|
+
readonly metrics: {
|
|
11
|
+
readonly advance: number;
|
|
12
|
+
readonly bboxXMin: number;
|
|
13
|
+
readonly bboxYMin: number;
|
|
14
|
+
readonly bboxW: number;
|
|
15
|
+
readonly bboxH: number;
|
|
16
|
+
readonly unitsPerEm: number;
|
|
17
|
+
} | null;
|
|
18
|
+
readonly tile: Uint8Array | null;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=glyph-bake-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glyph-bake-worker.d.ts","sourceRoot":"","sources":["../src/glyph-bake-worker.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC7B,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CAClC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Glyph-baking worker. WASM MSDF generation costs 15–50 ms PER GLYPH —
|
|
3
|
+
* far over a frame budget — so the WebGL2 backend ships bake requests
|
|
4
|
+
* here and the main thread never runs the rasteriser at all. The worker
|
|
5
|
+
* owns its own `WasmTextShaper` instance (same bundled module → same
|
|
6
|
+
* font ids and metrics as the main thread's shaper).
|
|
7
|
+
*
|
|
8
|
+
* Protocol: `{ codePoint, fontId, tileSize, range }` in,
|
|
9
|
+
* `{ codePoint, fontId, metrics | null, tile | null }` out (tile buffer
|
|
10
|
+
* transferred, not copied).
|
|
11
|
+
*/
|
|
12
|
+
import { WasmTextShaper } from "@oh-just-another/text-wasm";
|
|
13
|
+
const shaperPromise = WasmTextShaper.loadBundled();
|
|
14
|
+
self.onmessage = (ev) => {
|
|
15
|
+
const { codePoint, fontId, tileSize, range } = ev.data;
|
|
16
|
+
void shaperPromise.then((shaper) => {
|
|
17
|
+
const metrics = shaper.glyphMetrics(codePoint, fontId);
|
|
18
|
+
if (!metrics) {
|
|
19
|
+
self.postMessage({
|
|
20
|
+
codePoint,
|
|
21
|
+
fontId,
|
|
22
|
+
metrics: null,
|
|
23
|
+
tile: null,
|
|
24
|
+
});
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
let tile = null;
|
|
28
|
+
if (metrics.bboxW > 0 && metrics.bboxH > 0) {
|
|
29
|
+
const raster = shaper.rasterizeGlyphMSDF(codePoint, tileSize, range, fontId);
|
|
30
|
+
// Copy out of WASM linear memory — the view dies on the next call.
|
|
31
|
+
if (raster)
|
|
32
|
+
tile = raster.data.slice();
|
|
33
|
+
}
|
|
34
|
+
const response = { codePoint, fontId, metrics, tile };
|
|
35
|
+
if (tile) {
|
|
36
|
+
self.postMessage(response, [tile.buffer]);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
self.postMessage(response);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=glyph-bake-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glyph-bake-worker.js","sourceRoot":"","sources":["../src/glyph-bake-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAuB5D,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;AAEnD,IAAI,CAAC,SAAS,GAAG,CAAC,EAAkC,EAAE,EAAE;IACtD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;IACvD,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACZ,IAA0B,CAAC,WAAW,CAAC;gBACtC,SAAS;gBACT,MAAM;gBACN,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,IAAI;aACiB,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,GAAsB,IAAI,CAAC;QACnC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7E,mEAAmE;YACnE,IAAI,MAAM;gBAAE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;QACD,MAAM,QAAQ,GAAsB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzE,IAAI,IAAI,EAAE,CAAC;YACR,IAA0B,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACL,IAA0B,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export { Canvas2DTarget } from "./canvas-target.js";
|
|
2
|
-
export { Canvas2DTextShaper } from "./canvas-text-shaper.js";
|
|
3
|
-
export { WebGL2Target, type WebGL2TargetOptions } from "./webgl2-target.js";
|
|
4
|
-
export { renderViaTiles, type RenderViaTilesOptions } from "./tile-compositor.js";
|
|
5
|
-
export { setupHiDpi, cappedDpr } from "./hi-dpi.js";
|
|
6
|
-
export { LayeredCanvas, type LayeredCanvasOptions } from "./layered-canvas.js";
|
|
7
|
-
export { supportsOffscreenCanvas, createOffscreenCanvas2DTarget, transferCanvasToWorker, } from "./offscreen.js";
|
|
8
|
-
export { createRenderWorker } from "./worker-factory.js";
|
|
1
|
+
export { Canvas2DTarget } from "./canvas2d/canvas-target.js";
|
|
2
|
+
export { Canvas2DTextShaper } from "./canvas2d/canvas-text-shaper.js";
|
|
3
|
+
export { WebGL2Target, type WebGL2TargetOptions } from "./webgl2/webgl2-target.js";
|
|
4
|
+
export { renderViaTiles, type RenderViaTilesOptions } from "./surface/tile-compositor.js";
|
|
5
|
+
export { setupHiDpi, cappedDpr } from "./canvas2d/hi-dpi.js";
|
|
6
|
+
export { LayeredCanvas, type LayeredCanvasOptions } from "./canvas2d/layered-canvas.js";
|
|
7
|
+
export { supportsOffscreenCanvas, createOffscreenCanvas2DTarget, transferCanvasToWorker, } from "./offscreen/offscreen.js";
|
|
8
|
+
export { createRenderWorker } from "./offscreen/worker-factory.js";
|
|
9
9
|
export { WorkerPool, LayerWorkerPool } from "@oh-just-another/renderer-workers";
|
|
10
|
-
export { RecordingTarget, replayCommands, type RenderCommand } from "./recording-target.js";
|
|
11
|
-
export { createLayeredSurface, createLayeredSurfaceWithFallback, type LayeredSurface, type RendererBackend, type CreateLayeredSurfaceOptions, } from "./layered-surface.js";
|
|
12
|
-
export { isWebGPUAvailable, isWebGL2Available, pickAvailableBackend } from "./webgpu-detect.js";
|
|
10
|
+
export { RecordingTarget, replayCommands, type RenderCommand, } from "./offscreen/recording-target.js";
|
|
11
|
+
export { createLayeredSurface, createLayeredSurfaceWithFallback, type LayeredSurface, type RendererBackend, type CreateLayeredSurfaceOptions, } from "./surface/layered-surface.js";
|
|
12
|
+
export { isWebGPUAvailable, isWebGL2Available, pickAvailableBackend, } from "./webgl2/webgpu-detect.js";
|
|
13
13
|
export { LARGE_SCENE_WORKER_THRESHOLD, MAX_DEVICE_PIXEL_RATIO } from "./constants.js";
|
|
14
14
|
export { installBuiltinRenderers, wrapText } from "@oh-just-another/renderer-core";
|
|
15
15
|
export type { WrapOptions, WrappedLine } from "@oh-just-another/renderer-core";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EACL,eAAe,EACf,cAAc,EACd,KAAK,aAAa,GACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,2BAA2B,GACjC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACnF,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export { Canvas2DTarget } from "./canvas-target.js";
|
|
2
|
-
export { Canvas2DTextShaper } from "./canvas-text-shaper.js";
|
|
3
|
-
export { WebGL2Target } from "./webgl2-target.js";
|
|
4
|
-
export { renderViaTiles } from "./tile-compositor.js";
|
|
5
|
-
export { setupHiDpi, cappedDpr } from "./hi-dpi.js";
|
|
6
|
-
export { LayeredCanvas } from "./layered-canvas.js";
|
|
7
|
-
export { supportsOffscreenCanvas, createOffscreenCanvas2DTarget, transferCanvasToWorker, } from "./offscreen.js";
|
|
8
|
-
export { createRenderWorker } from "./worker-factory.js";
|
|
1
|
+
export { Canvas2DTarget } from "./canvas2d/canvas-target.js";
|
|
2
|
+
export { Canvas2DTextShaper } from "./canvas2d/canvas-text-shaper.js";
|
|
3
|
+
export { WebGL2Target } from "./webgl2/webgl2-target.js";
|
|
4
|
+
export { renderViaTiles } from "./surface/tile-compositor.js";
|
|
5
|
+
export { setupHiDpi, cappedDpr } from "./canvas2d/hi-dpi.js";
|
|
6
|
+
export { LayeredCanvas } from "./canvas2d/layered-canvas.js";
|
|
7
|
+
export { supportsOffscreenCanvas, createOffscreenCanvas2DTarget, transferCanvasToWorker, } from "./offscreen/offscreen.js";
|
|
8
|
+
export { createRenderWorker } from "./offscreen/worker-factory.js";
|
|
9
9
|
export { WorkerPool, LayerWorkerPool } from "@oh-just-another/renderer-workers";
|
|
10
|
-
export { RecordingTarget, replayCommands } from "./recording-target.js";
|
|
11
|
-
export { createLayeredSurface, createLayeredSurfaceWithFallback, } from "./layered-surface.js";
|
|
12
|
-
export { isWebGPUAvailable, isWebGL2Available, pickAvailableBackend } from "./webgpu-detect.js";
|
|
10
|
+
export { RecordingTarget, replayCommands, } from "./offscreen/recording-target.js";
|
|
11
|
+
export { createLayeredSurface, createLayeredSurfaceWithFallback, } from "./surface/layered-surface.js";
|
|
12
|
+
export { isWebGPUAvailable, isWebGL2Available, pickAvailableBackend, } from "./webgl2/webgpu-detect.js";
|
|
13
13
|
export { LARGE_SCENE_WORKER_THRESHOLD, MAX_DEVICE_PIXEL_RATIO } from "./constants.js";
|
|
14
14
|
export { installBuiltinRenderers, wrapText } from "@oh-just-another/renderer-core";
|
|
15
15
|
// `installBuiltinRenderers()` must be called once before built-in shapes
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAA4B,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,cAAc,EAA8B,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAA6B,MAAM,8BAA8B,CAAC;AACxF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EACL,eAAe,EACf,cAAc,GAEf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,oBAAoB,EACpB,gCAAgC,GAIjC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGnF,yEAAyE;AACzE,6DAA6D;AAC7D,sEAAsE;AACtE,oBAAoB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offscreen.d.ts","sourceRoot":"","sources":["../../src/offscreen/offscreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,QAAO,OAI1C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,GACxC,OAAO,MAAM,EACb,QAAQ,MAAM,KACb;IAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CASrE,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,iBAAiB,EACzB,QAAQ,MAAM,EACd,cAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,KACxC,eAOF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offscreen.js","sourceRoot":"","sources":["../../src/offscreen/offscreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAY,EAAE;IACnD,IAAI,OAAO,eAAe,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,OAAO,iBAAiB,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,OAAO,iBAAiB,CAAC,SAAS,CAAC,0BAA0B,KAAK,UAAU,CAAC;AACtF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,KAAa,EACb,MAAc,EACyD,EAAE;IACzE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACpE,iEAAiE;IACjE,mEAAmE;IACnE,sCAAsC;IACtC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,GAA0C,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7F,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAyB,EACzB,MAAc,EACd,cAAuC,EAAE,EACxB,EAAE;IACnB,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,0BAA0B,EAAE,CAAC;IACtD,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACrF,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -98,6 +98,9 @@ export type RenderCommand = {
|
|
|
98
98
|
readonly rule?: FillRule;
|
|
99
99
|
} | {
|
|
100
100
|
readonly k: "stroke";
|
|
101
|
+
} | {
|
|
102
|
+
readonly k: "clip";
|
|
103
|
+
readonly rule?: FillRule;
|
|
101
104
|
} | {
|
|
102
105
|
readonly k: "fillText";
|
|
103
106
|
readonly text: string;
|
|
@@ -249,6 +252,7 @@ export declare class RecordingTarget implements RenderTarget {
|
|
|
249
252
|
ellipse(cx: number, cy: number, rx: number, ry: number): void;
|
|
250
253
|
fill(rule?: FillRule): void;
|
|
251
254
|
stroke(): void;
|
|
255
|
+
clip(rule?: FillRule): void;
|
|
252
256
|
fillText(text: string, x: number, y: number, maxWidth?: number): void;
|
|
253
257
|
measureText(text: string): {
|
|
254
258
|
width: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-target.d.ts","sourceRoot":"","sources":["../../src/offscreen/recording-target.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LruCache, } from "@oh-just-another/renderer-core";
|
|
2
2
|
import { resolveBundledFamily } from "@oh-just-another/fonts";
|
|
3
|
-
import { OFFSCREEN_IMAGE_CACHE_CAP } from "
|
|
4
|
-
import { intrinsicImageSize, isDrawableImageSource } from "
|
|
3
|
+
import { OFFSCREEN_IMAGE_CACHE_CAP } from "../constants.js";
|
|
4
|
+
import { intrinsicImageSize, isDrawableImageSource } from "../canvas2d/image-source.js";
|
|
5
5
|
/**
|
|
6
6
|
* Backend-agnostic RenderTarget that captures every method call as a
|
|
7
7
|
* structured command. Powers the "offscreen" pipeline: the main thread
|
|
@@ -278,6 +278,9 @@ export class RecordingTarget {
|
|
|
278
278
|
stroke() {
|
|
279
279
|
this.emit({ k: "stroke" });
|
|
280
280
|
}
|
|
281
|
+
clip(rule) {
|
|
282
|
+
this.emit(rule !== undefined ? { k: "clip", rule } : { k: "clip" });
|
|
283
|
+
}
|
|
281
284
|
fillText(text, x, y, maxWidth) {
|
|
282
285
|
this.emit(maxWidth !== undefined
|
|
283
286
|
? { k: "fillText", text, x, y, maxWidth }
|
|
@@ -480,6 +483,12 @@ export const replayCommands = (target, commands, images = new LruCache(OFFSCREEN
|
|
|
480
483
|
case "stroke":
|
|
481
484
|
target.stroke();
|
|
482
485
|
break;
|
|
486
|
+
case "clip":
|
|
487
|
+
if (cmd.rule !== undefined)
|
|
488
|
+
target.clip(cmd.rule);
|
|
489
|
+
else
|
|
490
|
+
target.clip();
|
|
491
|
+
break;
|
|
483
492
|
case "fillText":
|
|
484
493
|
if (cmd.maxWidth !== undefined)
|
|
485
494
|
target.fillText(cmd.text, cmd.x, cmd.y, cmd.maxWidth);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-target.js","sourceRoot":"","sources":["../../src/offscreen/recording-target.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replay-codec.d.ts","sourceRoot":"","sources":["../../src/offscreen/replay-codec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAIR,KAAK,YAAY,EAGlB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AA2G3D,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAChD;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAChD;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,SAAS,aAAa,EAAE,KAAG,iBAoOpE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,YAAY,EACpB,QAAQ,WAAW,EACnB,SAAS,SAAS,MAAM,EAAE,EAC1B,SAAQ,QAAQ,CAAC,MAAM,EAAE,WAAW,CAA2C,KAC9E,IA8LF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LruCache, } from "@oh-just-another/renderer-core";
|
|
2
|
-
import { OFFSCREEN_IMAGE_CACHE_CAP } from "
|
|
2
|
+
import { OFFSCREEN_IMAGE_CACHE_CAP } from "../constants.js";
|
|
3
3
|
/**
|
|
4
4
|
* Packed-frame codec for the offscreen backend's per-frame worker hop.
|
|
5
5
|
*
|
|
@@ -51,6 +51,7 @@ const OP_CLEAR = 28;
|
|
|
51
51
|
const OP_MARK_DIRTY = 29;
|
|
52
52
|
const OP_RESIZE = 30;
|
|
53
53
|
const OP_DRAW_IMAGE = 31;
|
|
54
|
+
const OP_CLIP = 32;
|
|
54
55
|
/**
|
|
55
56
|
* String-table index sentinel for a `null` color (`setFill` / `setStroke`
|
|
56
57
|
* accept `Color | null`). Real indices are >= 0.
|
|
@@ -270,6 +271,10 @@ export const packReplayFrame = (commands) => {
|
|
|
270
271
|
push(OP_FILL);
|
|
271
272
|
push(cmd.rule === undefined ? ABSENT : FILL_RULE_CODE[cmd.rule]);
|
|
272
273
|
break;
|
|
274
|
+
case "clip":
|
|
275
|
+
push(OP_CLIP);
|
|
276
|
+
push(cmd.rule === undefined ? ABSENT : FILL_RULE_CODE[cmd.rule]);
|
|
277
|
+
break;
|
|
273
278
|
case "stroke":
|
|
274
279
|
push(OP_STROKE);
|
|
275
280
|
break;
|
|
@@ -492,6 +497,16 @@ export const replayPackedFrame = (target, buffer, strings, images = new LruCache
|
|
|
492
497
|
case OP_STROKE:
|
|
493
498
|
target.stroke();
|
|
494
499
|
break;
|
|
500
|
+
case OP_CLIP: {
|
|
501
|
+
const code = next();
|
|
502
|
+
if (code === FILL_RULE_CODE.nonzero)
|
|
503
|
+
target.clip("nonzero");
|
|
504
|
+
else if (code === FILL_RULE_CODE.evenodd)
|
|
505
|
+
target.clip("evenodd");
|
|
506
|
+
else
|
|
507
|
+
target.clip();
|
|
508
|
+
break;
|
|
509
|
+
}
|
|
495
510
|
case OP_FILL_TEXT: {
|
|
496
511
|
const text = str(next());
|
|
497
512
|
const x = next();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replay-codec.js","sourceRoot":"","sources":["../../src/offscreen/replay-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spawn the Canvas2D offscreen render worker.
|
|
3
|
+
*
|
|
4
|
+
* The worker entry (`../render-worker`) lives at the package src root —
|
|
5
|
+
* it is an entry point (subpath export + CDN esbuild entry) and must
|
|
6
|
+
* stay there. It is referenced via `new URL(..., import.meta.url)` so
|
|
7
|
+
* the host bundler emits it as a dedicated worker chunk. Keeping the
|
|
8
|
+
* factory inside `renderer-canvas` means consumers construct the worker
|
|
9
|
+
* through a normal package import — they never reach across package
|
|
10
|
+
* boundaries with a relative path to another package's source.
|
|
11
|
+
*/
|
|
12
|
+
export declare const createRenderWorker: () => Worker;
|
|
13
|
+
//# sourceMappingURL=worker-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-factory.d.ts","sourceRoot":"","sources":["../../src/offscreen/worker-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAC2C,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spawn the Canvas2D offscreen render worker.
|
|
3
|
+
*
|
|
4
|
+
* The worker entry (`../render-worker`) lives at the package src root —
|
|
5
|
+
* it is an entry point (subpath export + CDN esbuild entry) and must
|
|
6
|
+
* stay there. It is referenced via `new URL(..., import.meta.url)` so
|
|
7
|
+
* the host bundler emits it as a dedicated worker chunk. Keeping the
|
|
8
|
+
* factory inside `renderer-canvas` means consumers construct the worker
|
|
9
|
+
* through a normal package import — they never reach across package
|
|
10
|
+
* boundaries with a relative path to another package's source.
|
|
11
|
+
*/
|
|
12
|
+
export const createRenderWorker = () => new Worker(new URL("../render-worker.js", import.meta.url), { type: "module" });
|
|
13
|
+
//# sourceMappingURL=worker-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-factory.js","sourceRoot":"","sources":["../../src/offscreen/worker-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAC7C,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC"}
|
package/dist/render-worker.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference lib="webworker" />
|
|
2
2
|
import { LruCache, installBuiltinRenderers, renderScene } from "@oh-just-another/renderer-core";
|
|
3
3
|
import { registerBundledFonts } from "@oh-just-another/fonts";
|
|
4
|
-
import { Canvas2DTarget } from "./canvas-target.js";
|
|
5
|
-
import { replayPackedFrame } from "./replay-codec.js";
|
|
4
|
+
import { Canvas2DTarget } from "./canvas2d/canvas-target.js";
|
|
5
|
+
import { replayPackedFrame } from "./offscreen/replay-codec.js";
|
|
6
6
|
import { OFFSCREEN_IMAGE_CACHE_CAP } from "./constants.js";
|
|
7
7
|
const state = {
|
|
8
8
|
canvas: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-worker.js","sourceRoot":"","sources":["../src/render-worker.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGhG,OAAO,EAAE,oBAAoB,EAAkB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"render-worker.js","sourceRoot":"","sources":["../src/render-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layered-surface.d.ts","sourceRoot":"","sources":["../../src/surface/layered-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAQhG;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC;IACnC,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,iBAAiB,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,oEAAoE;IACpE,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;IACtC;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,WAAW,EACjB,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,UAAS,2BAAgC,KACxC,cA2BF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gCAAgC,GAC3C,MAAM,WAAW,EACjB,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,UAAS,2BAAgC,EACzC,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,KAC9D;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,gBAAgB,EAAE,eAAe,CAAA;CAe9D,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { LAYER_ORDER } from "@oh-just-another/renderer-core";
|
|
2
|
-
import { LayeredCanvas } from "
|
|
3
|
-
import { WebGL2Target } from "
|
|
4
|
-
import { RecordingTarget } from "
|
|
5
|
-
import { packReplayFrame } from "
|
|
6
|
-
import { cappedDpr, setupHiDpi } from "
|
|
7
|
-
import { MAX_DEVICE_PIXEL_RATIO } from "
|
|
2
|
+
import { LayeredCanvas } from "../canvas2d/layered-canvas.js";
|
|
3
|
+
import { WebGL2Target } from "../webgl2/webgl2-target.js";
|
|
4
|
+
import { RecordingTarget } from "../offscreen/recording-target.js";
|
|
5
|
+
import { packReplayFrame } from "../offscreen/replay-codec.js";
|
|
6
|
+
import { cappedDpr, setupHiDpi } from "../canvas2d/hi-dpi.js";
|
|
7
|
+
import { MAX_DEVICE_PIXEL_RATIO } from "../constants.js";
|
|
8
8
|
/**
|
|
9
9
|
* Factory entry point. Picks the right backend implementation, builds
|
|
10
10
|
* it, and returns the common `LayeredSurface` interface. Canvas2D is
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layered-surface.js","sourceRoot":"","sources":["../../src/surface/layered-surface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type TileCache } from "@oh-just-another/renderer-core";
|
|
2
2
|
import type { Bounds, ElementId } from "@oh-just-another/types";
|
|
3
3
|
import { type SpatialGrid, type Scene, type Element } from "@oh-just-another/scene";
|
|
4
|
-
import type { Canvas2DTarget } from "
|
|
4
|
+
import type { Canvas2DTarget } from "../canvas2d/canvas-target.js";
|
|
5
5
|
/**
|
|
6
6
|
* Main-thread Canvas2D tile compositor.
|
|
7
7
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tile-compositor.d.ts","sourceRoot":"","sources":["../../src/surface/tile-compositor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAGf,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,OAAO,EACb,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oFAAoF;IACpF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3C;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACxE,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAChD;AAiBD;;;;;;;;;GASG;AACH,UAAU,cAAc;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;CAChD;AAED,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,GAAI,OAAO,KAAK,KAAG,cAYlD,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,OAAO,KAAK,EACZ,YAAY,cAAc,EAC1B,SAAS,qBAAqB,KAC7B,IAgEF,CAAC;AAmEF,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,GAAI,OAAO,KAAK,EAAE,YAAY,MAAM,KAAG,SAAS,OAAO,EAU3F,CAAC;AAEF;;;;;;;GAOG;AACH,sEAAsE;AACtE,eAAO,MAAM,+BAA+B,GAC1C,OAAO,WAAW,EAClB,WAAW,cAAc,EACzB,YAAY,MAAM,KACjB,SAAS,OAAO,EAUlB,CAAC"}
|