@flighthq/scene2d-wgpu 0.3.0-next.1566.dcdf1d3 → 0.3.0-next.1584.a68fe91
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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/wgpuScale9Shape.d.ts.map +1 -1
- package/dist/wgpuScale9Shape.js +19 -11
- package/dist/wgpuScale9Shape.js.map +1 -1
- package/dist/wgpuShape.d.ts +1 -0
- package/dist/wgpuShape.d.ts.map +1 -1
- package/dist/wgpuShape.js +21 -9
- package/dist/wgpuShape.js.map +1 -1
- package/package.json +18 -18
- package/src/wgpuShape.test.ts +6 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { createWgpuCacheState, createWgpuVelocityTarget, defaultWgpuBitmapTextRenderer, defaultWgpuNode2DVelocityWriter, defaultWgpuParticleEmitter2DRenderer, defaultWgpuParticleEmitter2DVelocityWriter, defaultWgpuQuadBatchRenderer, defaultWgpuRichTextRenderer, defaultWgpuScale9ShapeRenderer, defaultWgpuScene2DRenderer, defaultWgpuShapeCommands, defaultWgpuShapeRenderer, defaultWgpuSpriteRenderer, defaultWgpuTextLabelRenderer, defaultWgpuTextureShapeCommands, defaultWgpuTilemapRenderer, drawWgpuSprite, enableWgpuStrokePathTessellation, enableWgpuClipSupport, enableWgpuRenderCache, enableWgpuTextInput, refreshWgpuRenderCache, registerWgpuStandardMaterial, registerWgpuColorAdjustmentMaterialFeature, registerWgpuShapeCommands, registerWgpuVelocityWriter, renderWgpuScene2D, renderWgpuVelocity, } from './contract';
|
|
1
|
+
export { createWgpuCacheState, createWgpuVelocityTarget, defaultWgpuBitmapTextRenderer, defaultWgpuMorphShapeRenderer, defaultWgpuNode2DVelocityWriter, defaultWgpuParticleEmitter2DRenderer, defaultWgpuParticleEmitter2DVelocityWriter, defaultWgpuQuadBatchRenderer, defaultWgpuRichTextRenderer, defaultWgpuScale9ShapeRenderer, defaultWgpuScene2DRenderer, defaultWgpuShapeCommands, defaultWgpuShapeRenderer, defaultWgpuSpriteRenderer, defaultWgpuTextLabelRenderer, defaultWgpuTextureShapeCommands, defaultWgpuTilemapRenderer, drawWgpuSprite, enableWgpuStrokePathTessellation, enableWgpuClipSupport, enableWgpuRenderCache, enableWgpuTextInput, refreshWgpuRenderCache, registerWgpuStandardMaterial, registerWgpuColorAdjustmentMaterialFeature, registerWgpuShapeCommands, registerWgpuVelocityWriter, renderWgpuScene2D, renderWgpuVelocity, } from './contract';
|
|
2
2
|
export { getWgpuShapeRasterizer, registerWgpuShapeRasterizer } from './wgpuShapeRasterizer';
|
|
3
3
|
//# 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,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,oCAAoC,EACpC,0CAA0C,EAC1C,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,+BAA+B,EAC/B,0BAA0B,EAC1B,cAAc,EACd,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,0CAA0C,EAC1C,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,+BAA+B,EAC/B,oCAAoC,EACpC,0CAA0C,EAC1C,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,+BAA+B,EAC/B,0BAA0B,EAC1B,cAAc,EACd,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,0CAA0C,EAC1C,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { createWgpuCacheState, createWgpuVelocityTarget, defaultWgpuBitmapTextRenderer, defaultWgpuNode2DVelocityWriter, defaultWgpuParticleEmitter2DRenderer, defaultWgpuParticleEmitter2DVelocityWriter, defaultWgpuQuadBatchRenderer, defaultWgpuRichTextRenderer, defaultWgpuScale9ShapeRenderer, defaultWgpuScene2DRenderer, defaultWgpuShapeCommands, defaultWgpuShapeRenderer, defaultWgpuSpriteRenderer, defaultWgpuTextLabelRenderer, defaultWgpuTextureShapeCommands, defaultWgpuTilemapRenderer, drawWgpuSprite, enableWgpuStrokePathTessellation, enableWgpuClipSupport, enableWgpuRenderCache, enableWgpuTextInput, refreshWgpuRenderCache, registerWgpuStandardMaterial, registerWgpuColorAdjustmentMaterialFeature, registerWgpuShapeCommands, registerWgpuVelocityWriter, renderWgpuScene2D, renderWgpuVelocity, } from './contract';
|
|
1
|
+
export { createWgpuCacheState, createWgpuVelocityTarget, defaultWgpuBitmapTextRenderer, defaultWgpuMorphShapeRenderer, defaultWgpuNode2DVelocityWriter, defaultWgpuParticleEmitter2DRenderer, defaultWgpuParticleEmitter2DVelocityWriter, defaultWgpuQuadBatchRenderer, defaultWgpuRichTextRenderer, defaultWgpuScale9ShapeRenderer, defaultWgpuScene2DRenderer, defaultWgpuShapeCommands, defaultWgpuShapeRenderer, defaultWgpuSpriteRenderer, defaultWgpuTextLabelRenderer, defaultWgpuTextureShapeCommands, defaultWgpuTilemapRenderer, drawWgpuSprite, enableWgpuStrokePathTessellation, enableWgpuClipSupport, enableWgpuRenderCache, enableWgpuTextInput, refreshWgpuRenderCache, registerWgpuStandardMaterial, registerWgpuColorAdjustmentMaterialFeature, registerWgpuShapeCommands, registerWgpuVelocityWriter, renderWgpuScene2D, renderWgpuVelocity, } from './contract';
|
|
2
2
|
export { getWgpuShapeRasterizer, registerWgpuShapeRasterizer } from './wgpuShapeRasterizer';
|
|
3
3
|
//# 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":"AAAA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,oCAAoC,EACpC,0CAA0C,EAC1C,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,+BAA+B,EAC/B,0BAA0B,EAC1B,cAAc,EACd,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,0CAA0C,EAC1C,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,+BAA+B,EAC/B,oCAAoC,EACpC,0CAA0C,EAC1C,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,+BAA+B,EAC/B,0BAA0B,EAC1B,cAAc,EACd,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,0CAA0C,EAC1C,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuScale9Shape.d.ts","sourceRoot":"","sources":["../src/wgpuScale9Shape.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EAEZ,eAAe,EAEf,eAAe,EAEhB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"wgpuScale9Shape.d.ts","sourceRoot":"","sources":["../src/wgpuScale9Shape.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EAEZ,eAAe,EAEf,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAyBlC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,YAAY,CAgBhG;AAGD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAIxF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,GAAG,IAAI,CAmG5F;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAEzF;AAED,eAAO,MAAM,8BAA8B,EAAE,eAI5C,CAAC"}
|
package/dist/wgpuScale9Shape.js
CHANGED
|
@@ -20,6 +20,7 @@ export function createWgpuScale9ShapeData(_state, _source) {
|
|
|
20
20
|
lastScaleX: -1,
|
|
21
21
|
lastScaleY: -1,
|
|
22
22
|
lastContentId: -1,
|
|
23
|
+
lastPixelRatio: 0,
|
|
23
24
|
lastW: 0,
|
|
24
25
|
entry: null,
|
|
25
26
|
});
|
|
@@ -57,6 +58,7 @@ export function drawWgpuScale9Shape(state, renderProxy) {
|
|
|
57
58
|
return;
|
|
58
59
|
}
|
|
59
60
|
const shapeData = getWgpuRendererData(renderProxy.rendererData);
|
|
61
|
+
const pixelRatio = state.pixelRatio;
|
|
60
62
|
if (shapeData === null)
|
|
61
63
|
return;
|
|
62
64
|
const w = Math.ceil(bounds.width * source.scaleX);
|
|
@@ -67,20 +69,25 @@ export function drawWgpuScale9Shape(state, renderProxy) {
|
|
|
67
69
|
w !== shapeData.lastW ||
|
|
68
70
|
h !== shapeData.lastH ||
|
|
69
71
|
source.scaleX !== shapeData.lastScaleX ||
|
|
70
|
-
source.scaleY !== shapeData.lastScaleY
|
|
71
|
-
shapeData.
|
|
72
|
-
|
|
72
|
+
source.scaleY !== shapeData.lastScaleY ||
|
|
73
|
+
pixelRatio !== shapeData.lastPixelRatio) {
|
|
74
|
+
const pw = Math.ceil(w * pixelRatio);
|
|
75
|
+
const ph = Math.ceil(h * pixelRatio);
|
|
76
|
+
shapeData.canvas.width = pw;
|
|
77
|
+
shapeData.canvas.height = ph;
|
|
73
78
|
const ctx = shapeData.ctx;
|
|
74
|
-
ctx.
|
|
75
|
-
ctx.
|
|
79
|
+
ctx.setTransform(pixelRatio, 0, 0, pixelRatio, -bounds.x * pixelRatio, -bounds.y * pixelRatio);
|
|
80
|
+
ctx.clearRect(bounds.x, bounds.y, w, h);
|
|
76
81
|
mapScale9ShapeCommands(_remappedCommands, commands, mapper);
|
|
77
|
-
ctx.translate(-bounds.x, -bounds.y);
|
|
78
82
|
rasterizer(ctx, _remappedCommands, state);
|
|
79
|
-
ctx.
|
|
80
|
-
// GPU textures are fixed-size: recreate the entry when the
|
|
81
|
-
//
|
|
82
|
-
if (shapeData.entry === null ||
|
|
83
|
-
|
|
83
|
+
ctx.setTransform(1, 0, 0, 1, 0, 0);
|
|
84
|
+
// GPU textures are fixed-size: recreate the entry when the device-pixel size changes — which a
|
|
85
|
+
// pixelRatio change does even at a fixed field size — otherwise reupload into the existing entry.
|
|
86
|
+
if (shapeData.entry === null ||
|
|
87
|
+
shapeData.lastW !== w ||
|
|
88
|
+
shapeData.lastH !== h ||
|
|
89
|
+
shapeData.lastPixelRatio !== pixelRatio) {
|
|
90
|
+
const nextEntry = createWgpuTextureEntry(state, pw, ph, shapeData.canvas);
|
|
84
91
|
if (nextEntry === null)
|
|
85
92
|
return;
|
|
86
93
|
shapeData.entry?.texture.destroy();
|
|
@@ -93,6 +100,7 @@ export function drawWgpuScale9Shape(state, renderProxy) {
|
|
|
93
100
|
shapeData.lastScaleX = source.scaleX;
|
|
94
101
|
shapeData.lastScaleY = source.scaleY;
|
|
95
102
|
shapeData.lastContentId = version;
|
|
103
|
+
shapeData.lastPixelRatio = pixelRatio;
|
|
96
104
|
shapeData.lastW = w;
|
|
97
105
|
}
|
|
98
106
|
if (shapeData.entry === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuScale9Shape.js","sourceRoot":"","sources":["../src/wgpuScale9Shape.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAYlE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"wgpuScale9Shape.js","sourceRoot":"","sources":["../src/wgpuScale9Shape.ts"],"names":[],"mappings":"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"}
|
package/dist/wgpuShape.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Scene2DRenderer, RenderProxy2D, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare function drawWgpuShape(state: WgpuRenderState, renderProxy: RenderProxy2D): void;
|
|
3
3
|
export declare const defaultWgpuShapeRenderer: Scene2DRenderer;
|
|
4
|
+
export declare const defaultWgpuMorphShapeRenderer: Scene2DRenderer;
|
|
4
5
|
//# sourceMappingURL=wgpuShape.d.ts.map
|
package/dist/wgpuShape.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuShape.d.ts","sourceRoot":"","sources":["../src/wgpuShape.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EAIf,aAAa,EAMb,eAAe,EAEhB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"wgpuShape.d.ts","sourceRoot":"","sources":["../src/wgpuShape.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EAIf,aAAa,EAMb,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAmGlC,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,GAAG,IAAI,CAmItF;AAMD,eAAO,MAAM,wBAAwB,EAAE,eAKtC,CAAC;AAGF,eAAO,MAAM,6BAA6B,EAAE,eAA0C,CAAC"}
|
package/dist/wgpuShape.js
CHANGED
|
@@ -19,6 +19,7 @@ function createWgpuShapeData(_state, _source) {
|
|
|
19
19
|
ctx,
|
|
20
20
|
image: createImageResource(canvas),
|
|
21
21
|
lastContentId: -1,
|
|
22
|
+
lastPixelRatio: 0,
|
|
22
23
|
lastW: 0,
|
|
23
24
|
lastH: 0,
|
|
24
25
|
meshVersion: -1,
|
|
@@ -140,23 +141,32 @@ export function drawWgpuShape(state, renderProxy) {
|
|
|
140
141
|
const h = Math.ceil(bounds.height);
|
|
141
142
|
if (w <= 0 || h <= 0)
|
|
142
143
|
return;
|
|
143
|
-
|
|
144
|
+
// Sized in device pixels with the replay pre-scaled to match, exactly as the text renderers treat
|
|
145
|
+
// their offscreen canvases. The quad stays in local units and samples the whole texture, so a denser
|
|
146
|
+
// raster is only sharper — no geometry moves with it.
|
|
147
|
+
const pixelRatio = state.pixelRatio;
|
|
148
|
+
if (version !== shapeData.lastContentId ||
|
|
149
|
+
w !== shapeData.lastW ||
|
|
150
|
+
h !== shapeData.lastH ||
|
|
151
|
+
pixelRatio !== shapeData.lastPixelRatio) {
|
|
144
152
|
// Reassigning either canvas dimension resets its 2D context even when the value is unchanged.
|
|
145
153
|
// Animated shapes invalidate their commands every frame, so resize only when their bounds change.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
if (shapeData.canvas.
|
|
149
|
-
shapeData.canvas.
|
|
154
|
+
const pw = Math.ceil(w * pixelRatio);
|
|
155
|
+
const ph = Math.ceil(h * pixelRatio);
|
|
156
|
+
if (shapeData.canvas.width !== pw)
|
|
157
|
+
shapeData.canvas.width = pw;
|
|
158
|
+
if (shapeData.canvas.height !== ph)
|
|
159
|
+
shapeData.canvas.height = ph;
|
|
150
160
|
const ctx = shapeData.ctx;
|
|
151
|
-
ctx.
|
|
152
|
-
ctx.
|
|
153
|
-
ctx.translate(-bounds.x, -bounds.y);
|
|
161
|
+
ctx.setTransform(pixelRatio, 0, 0, pixelRatio, -bounds.x * pixelRatio, -bounds.y * pixelRatio);
|
|
162
|
+
ctx.clearRect(bounds.x, bounds.y, w, h);
|
|
154
163
|
rasterizer(ctx, commands, state);
|
|
155
|
-
ctx.
|
|
164
|
+
ctx.setTransform(1, 0, 0, 1, 0, 0);
|
|
156
165
|
// Re-read the canvas dimensions and bump the resource version so the batch's version-aware cache
|
|
157
166
|
// re-uploads (recreating the GPU texture, which covers a size change too).
|
|
158
167
|
invalidateImageResource(shapeData.image);
|
|
159
168
|
shapeData.lastContentId = version;
|
|
169
|
+
shapeData.lastPixelRatio = pixelRatio;
|
|
160
170
|
shapeData.lastW = w;
|
|
161
171
|
shapeData.lastH = h;
|
|
162
172
|
}
|
|
@@ -196,4 +206,6 @@ export const defaultWgpuShapeRenderer = {
|
|
|
196
206
|
destroyData: destroyWgpuShapeData,
|
|
197
207
|
submit: drawWgpuShape,
|
|
198
208
|
};
|
|
209
|
+
// MorphShape owns a distinct kind while sharing Shape's mesh/raster renderer and cache lifecycle.
|
|
210
|
+
export const defaultWgpuMorphShapeRenderer = defaultWgpuShapeRenderer;
|
|
199
211
|
//# sourceMappingURL=wgpuShape.js.map
|
package/dist/wgpuShape.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuShape.js","sourceRoot":"","sources":["../src/wgpuShape.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAepH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGlF,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,yBAAyB,EACzB,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"wgpuShape.js","sourceRoot":"","sources":["../src/wgpuShape.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/scene2d-wgpu",
|
|
3
|
-
"version": "0.3.0-next.
|
|
3
|
+
"version": "0.3.0-next.1584.a68fe91",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/flighthq/flight.git",
|
|
@@ -36,23 +36,23 @@
|
|
|
36
36
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@flighthq/color": "0.3.0-next.
|
|
40
|
-
"@flighthq/scene2d": "0.3.0-next.
|
|
41
|
-
"@flighthq/scene2d-canvas": "0.3.0-next.
|
|
42
|
-
"@flighthq/geometry": "0.3.0-next.
|
|
43
|
-
"@flighthq/image": "0.3.0-next.
|
|
44
|
-
"@flighthq/log": "0.3.0-next.
|
|
45
|
-
"@flighthq/node": "0.3.0-next.
|
|
46
|
-
"@flighthq/path": "0.3.0-next.
|
|
47
|
-
"@flighthq/render": "0.3.0-next.
|
|
48
|
-
"@flighthq/render-wgpu": "0.3.0-next.
|
|
49
|
-
"@flighthq/shape": "0.3.0-next.
|
|
50
|
-
"@flighthq/text": "0.3.0-next.
|
|
51
|
-
"@flighthq/textinput": "0.3.0-next.
|
|
52
|
-
"@flighthq/textlayout": "0.3.0-next.
|
|
53
|
-
"@flighthq/texture": "0.3.0-next.
|
|
54
|
-
"@flighthq/types": "0.3.0-next.
|
|
55
|
-
"@flighthq/velocity": "0.3.0-next.
|
|
39
|
+
"@flighthq/color": "0.3.0-next.1584.a68fe91",
|
|
40
|
+
"@flighthq/scene2d": "0.3.0-next.1584.a68fe91",
|
|
41
|
+
"@flighthq/scene2d-canvas": "0.3.0-next.1584.a68fe91",
|
|
42
|
+
"@flighthq/geometry": "0.3.0-next.1584.a68fe91",
|
|
43
|
+
"@flighthq/image": "0.3.0-next.1584.a68fe91",
|
|
44
|
+
"@flighthq/log": "0.3.0-next.1584.a68fe91",
|
|
45
|
+
"@flighthq/node": "0.3.0-next.1584.a68fe91",
|
|
46
|
+
"@flighthq/path": "0.3.0-next.1584.a68fe91",
|
|
47
|
+
"@flighthq/render": "0.3.0-next.1584.a68fe91",
|
|
48
|
+
"@flighthq/render-wgpu": "0.3.0-next.1584.a68fe91",
|
|
49
|
+
"@flighthq/shape": "0.3.0-next.1584.a68fe91",
|
|
50
|
+
"@flighthq/text": "0.3.0-next.1584.a68fe91",
|
|
51
|
+
"@flighthq/textinput": "0.3.0-next.1584.a68fe91",
|
|
52
|
+
"@flighthq/textlayout": "0.3.0-next.1584.a68fe91",
|
|
53
|
+
"@flighthq/texture": "0.3.0-next.1584.a68fe91",
|
|
54
|
+
"@flighthq/types": "0.3.0-next.1584.a68fe91",
|
|
55
|
+
"@flighthq/velocity": "0.3.0-next.1584.a68fe91"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@flighthq/bitmaptext": "*",
|
package/src/wgpuShape.test.ts
CHANGED
|
@@ -29,6 +29,7 @@ const noopRasterizer = (): void => {};
|
|
|
29
29
|
// this file (registry reset before the mock applies, unmock + reset after), so under a shared
|
|
30
30
|
// (isolate:false) worker it never leaks into the many real consumers of these functions (node,
|
|
31
31
|
// interaction, shape, text) — and a sibling that pre-evaluated ./wgpuShape still picks up the stub.
|
|
32
|
+
let defaultWgpuMorphShapeRenderer: typeof WgpuShapeModule.defaultWgpuMorphShapeRenderer;
|
|
32
33
|
let defaultWgpuShapeRenderer: typeof WgpuShapeModule.defaultWgpuShapeRenderer;
|
|
33
34
|
let drawWgpuShape: typeof WgpuShapeModule.drawWgpuShape;
|
|
34
35
|
|
|
@@ -40,7 +41,7 @@ beforeAll(async () => {
|
|
|
40
41
|
getNodeLocalBoundsRectangle: () => ({ x: 0, y: 0, width: 64, height: 48 }),
|
|
41
42
|
getNodeLocalContentRevision: (source: any) => source?.data?.version ?? 0,
|
|
42
43
|
}));
|
|
43
|
-
({ defaultWgpuShapeRenderer, drawWgpuShape } = await import('./wgpuShape'));
|
|
44
|
+
({ defaultWgpuMorphShapeRenderer, defaultWgpuShapeRenderer, drawWgpuShape } = await import('./wgpuShape'));
|
|
44
45
|
installWgpuMock();
|
|
45
46
|
});
|
|
46
47
|
|
|
@@ -78,6 +79,10 @@ function makeMeshPassSpy(): GPURenderPassEncoder {
|
|
|
78
79
|
}
|
|
79
80
|
|
|
80
81
|
describe('defaultWgpuShapeRenderer', () => {
|
|
82
|
+
it('provides the MorphShape renderer alias', () => {
|
|
83
|
+
expect(defaultWgpuMorphShapeRenderer).toBe(defaultWgpuShapeRenderer);
|
|
84
|
+
});
|
|
85
|
+
|
|
81
86
|
it('declares BatchFormat.Quad', () => {
|
|
82
87
|
expect(defaultWgpuShapeRenderer.format).toBe(BatchFormat.Quad);
|
|
83
88
|
});
|