@flighthq/render-wgpu 0.5.1-next.1545.a3a19e0 → 0.5.1-next.1556.ff9e615
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/README.md +2 -2
- package/dist/contract.d.ts +1 -1
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +1 -1
- package/dist/contract.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/wgpuPipeline.js +2 -2
- package/dist/wgpuPipeline.js.map +1 -1
- package/dist/wgpuQuadMaterialRegistry.d.ts +5 -0
- package/dist/wgpuQuadMaterialRegistry.d.ts.map +1 -0
- package/dist/{wgpuMaterialRegistry.js → wgpuQuadMaterialRegistry.js} +4 -4
- package/dist/wgpuQuadMaterialRegistry.js.map +1 -0
- package/package.json +11 -11
- package/src/wgpuPipeline.test.ts +1 -1
- package/src/{wgpuMaterialRegistry.test.ts → wgpuQuadMaterialRegistry.test.ts} +32 -26
- package/src/wgpuRenderState.test.ts +16 -14
- package/dist/wgpuMaterialRegistry.d.ts +0 -5
- package/dist/wgpuMaterialRegistry.d.ts.map +0 -1
- package/dist/wgpuMaterialRegistry.js.map +0 -1
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/render-wgpu`. The `@
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/render-wgpu@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/render-wgpu@0.5.1-next.1556.ff9e615](https://github.com/flighthq/flight/tree/ff9e615c3b9df79b718bc750dc04e1cb5f39e5cd/packages/render-wgpu)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/ff9e615c3b9df79b718bc750dc04e1cb5f39e5cd/LICENSE.md)
|
package/dist/contract.d.ts
CHANGED
|
@@ -9,9 +9,9 @@ export * from './wgpuExternalTexture';
|
|
|
9
9
|
export * from './wgpuFrame';
|
|
10
10
|
export * from './wgpuFullscreenPass';
|
|
11
11
|
export * from './wgpuHost';
|
|
12
|
-
export * from './wgpuMaterialRegistry';
|
|
13
12
|
export * from './wgpuMipmap';
|
|
14
13
|
export * from './wgpuPipeline';
|
|
14
|
+
export * from './wgpuQuadMaterialRegistry';
|
|
15
15
|
export * from './wgpuRenderPass';
|
|
16
16
|
export * from './wgpuRenderState';
|
|
17
17
|
export * from './wgpuRenderTarget';
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
|
package/dist/contract.js
CHANGED
|
@@ -9,9 +9,9 @@ export * from './wgpuExternalTexture';
|
|
|
9
9
|
export * from './wgpuFrame';
|
|
10
10
|
export * from './wgpuFullscreenPass';
|
|
11
11
|
export * from './wgpuHost';
|
|
12
|
-
export * from './wgpuMaterialRegistry';
|
|
13
12
|
export * from './wgpuMipmap';
|
|
14
13
|
export * from './wgpuPipeline';
|
|
14
|
+
export * from './wgpuQuadMaterialRegistry';
|
|
15
15
|
export * from './wgpuRenderPass';
|
|
16
16
|
export * from './wgpuRenderState';
|
|
17
17
|
export * from './wgpuRenderTarget';
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export { enableWgpuBlendModeSupport } from './wgpuDraw';
|
|
|
6
6
|
export { createExternalWgpuTexture, disposeExternalWgpuTexture } from './wgpuExternalTexture';
|
|
7
7
|
export { beginWgpuFrame, submitWgpuFrame, withWgpuFrameBorrow } from './wgpuFrame';
|
|
8
8
|
export { registerWgpuMipmapGeneration } from './wgpuMipmap';
|
|
9
|
+
export * from './wgpuQuadMaterialRegistry';
|
|
9
10
|
export { beginWgpuRenderPass, endWgpuRenderPass } from './wgpuRenderPass';
|
|
10
11
|
export { createWgpuAcquisition, createWgpuDeviceState, createWgpuOffscreenRenderState, createWgpuRenderState, destroyWgpuRenderState, releaseWgpuAcquisition, } from './wgpuRenderState';
|
|
11
12
|
export { destroyWgpuRenderTexture, explainWgpuRenderTexture, isWgpuRenderTextureReady, renderIntoWgpuRenderTexture, } from './wgpuRenderTexture';
|
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,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,oCAAoC,EAAE,mCAAmC,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,sCAAsC,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC1G,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,oCAAoC,EAAE,mCAAmC,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,sCAAsC,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC1G,cAAc,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export { enableWgpuBlendModeSupport } from './wgpuDraw';
|
|
|
6
6
|
export { createExternalWgpuTexture, disposeExternalWgpuTexture } from './wgpuExternalTexture';
|
|
7
7
|
export { beginWgpuFrame, submitWgpuFrame, withWgpuFrameBorrow } from './wgpuFrame';
|
|
8
8
|
export { registerWgpuMipmapGeneration } from './wgpuMipmap';
|
|
9
|
+
export * from './wgpuQuadMaterialRegistry';
|
|
9
10
|
export { beginWgpuRenderPass, endWgpuRenderPass } from './wgpuRenderPass';
|
|
10
11
|
export { createWgpuAcquisition, createWgpuDeviceState, createWgpuOffscreenRenderState, createWgpuRenderState, destroyWgpuRenderState, releaseWgpuAcquisition, } from './wgpuRenderState';
|
|
11
12
|
export { destroyWgpuRenderTexture, explainWgpuRenderTexture, isWgpuRenderTextureReady, renderIntoWgpuRenderTexture, } from './wgpuRenderTexture';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,oCAAoC,EAAE,mCAAmC,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,sCAAsC,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC1G,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,oCAAoC,EAAE,mCAAmC,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,sCAAsC,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC1G,cAAc,uBAAuB,CAAC"}
|
package/dist/wgpuPipeline.js
CHANGED
|
@@ -14,12 +14,12 @@ export function initializeEmptyWgpuRenderRegistries(out) {
|
|
|
14
14
|
out.shapeRasterizer = null;
|
|
15
15
|
out.strokeTessellator = null;
|
|
16
16
|
out.customMaterialShaders = createKeyedTable('WgpuCustomMaterialShader', 'Unregistered');
|
|
17
|
-
out.materialRenderers = createKeyedTable('
|
|
17
|
+
out.materialRenderers = createKeyedTable('WgpuQuadMaterialRenderer', 'StandardMaterial');
|
|
18
18
|
out.meshMaterialRenderers = createKeyedTable('WgpuMeshMaterialRenderer', 'StandardMaterial');
|
|
19
19
|
out.modifierSnippets = createKeyedTable('WgpuModifierSnippet', 'Unregistered');
|
|
20
20
|
out.modifierSnippetRevision = 0;
|
|
21
21
|
out.effects = createKeyedTable('WgpuEffect', 'Unregistered');
|
|
22
|
-
out.
|
|
22
|
+
out.nodeRenderers = createKeyedTable('NodeRenderer', 'Unregistered');
|
|
23
23
|
out.textureResolvers = createKeyedTable('WgpuTextureResolver', 'Unregistered');
|
|
24
24
|
out.velocityWriters = createKeyedTable('WgpuVelocityWriter', 'Unregistered');
|
|
25
25
|
}
|
package/dist/wgpuPipeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuPipeline.js","sourceRoot":"","sources":["../src/wgpuPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,MAAM,UAAU,iCAAiC;IAC/C,MAAM,GAAG,GAAG,EAA0B,CAAC;IACvC,mCAAmC,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,GAAyB;IAC3E,kGAAkG;IAClG,mGAAmG;IACnG,mEAAmE;IACnE,GAAG,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACpC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACnC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAE7B,GAAG,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;IACzF,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"wgpuPipeline.js","sourceRoot":"","sources":["../src/wgpuPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,MAAM,UAAU,iCAAiC;IAC/C,MAAM,GAAG,GAAG,EAA0B,CAAC;IACvC,mCAAmC,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,GAAyB;IAC3E,kGAAkG;IAClG,mGAAmG;IACnG,mEAAmE;IACnE,GAAG,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACpC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACnC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAE7B,GAAG,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;IACzF,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAC;IACzF,GAAG,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAC;IAC7F,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;IAC/E,GAAG,CAAC,uBAAuB,GAAG,CAAC,CAAC;IAChC,GAAG,CAAC,OAAO,GAAG,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAC7D,GAAG,CAAC,aAAa,GAAG,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACrE,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;IAC/E,GAAG,CAAC,eAAe,GAAG,gBAAgB,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Kind, Material, WgpuQuadMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
|
+
export declare function getWgpuQuadMaterialRenderer(state: WgpuRenderState, kind: Kind): WgpuQuadMaterialRenderer | null;
|
|
3
|
+
export declare function registerWgpuQuadMaterialRenderer(state: WgpuRenderState, kind: Kind, renderer: WgpuQuadMaterialRenderer): void;
|
|
4
|
+
export declare function resolveWgpuQuadMaterialRenderer(state: WgpuRenderState, material: Material | null): WgpuQuadMaterialRenderer | null;
|
|
5
|
+
//# sourceMappingURL=wgpuQuadMaterialRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wgpuQuadMaterialRegistry.d.ts","sourceRoot":"","sources":["../src/wgpuQuadMaterialRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAK1G,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,wBAAwB,GAAG,IAAI,CAG/G;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,wBAAwB,GACjC,IAAI,CAGN;AAMD,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,wBAAwB,GAAG,IAAI,CAcjC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { withRegistryTableEntry } from '@flighthq/registry/contract';
|
|
2
2
|
import { RegistryEntryState, RenderRegistryTable, StandardMaterialKind } from '@flighthq/types/contract';
|
|
3
3
|
import { getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
4
|
-
export function
|
|
4
|
+
export function getWgpuQuadMaterialRenderer(state, kind) {
|
|
5
5
|
const entry = getWgpuRenderStateRuntime(state).registries.materialRenderers.entries.get(kind);
|
|
6
6
|
return entry?.state === RegistryEntryState.Bound ? entry.value : null;
|
|
7
7
|
}
|
|
8
|
-
export function
|
|
8
|
+
export function registerWgpuQuadMaterialRenderer(state, kind, renderer) {
|
|
9
9
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
10
10
|
runtime.registries.materialRenderers = withRegistryTableEntry(runtime.registries.materialRenderers, kind, renderer);
|
|
11
11
|
}
|
|
@@ -13,7 +13,7 @@ export function registerWgpuMaterialRenderer(state, kind, renderer) {
|
|
|
13
13
|
// registered for StandardMaterialKind, else null. The render path knows nothing about which materials
|
|
14
14
|
// exist — every material (including the default) enters only through user registration, and an
|
|
15
15
|
// unresolved material is a no-op (the node does not render), never a built-in fallback.
|
|
16
|
-
export function
|
|
16
|
+
export function resolveWgpuQuadMaterialRenderer(state, material) {
|
|
17
17
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
18
18
|
const entries = runtime.registries.materialRenderers.entries;
|
|
19
19
|
const kind = material?.kind ?? StandardMaterialKind;
|
|
@@ -29,4 +29,4 @@ export function resolveWgpuMaterialRenderer(state, material) {
|
|
|
29
29
|
const fallback = entries.get(StandardMaterialKind);
|
|
30
30
|
return fallback?.state === RegistryEntryState.Bound ? fallback.value : null;
|
|
31
31
|
}
|
|
32
|
-
//# sourceMappingURL=
|
|
32
|
+
//# sourceMappingURL=wgpuQuadMaterialRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wgpuQuadMaterialRegistry.js","sourceRoot":"","sources":["../src/wgpuQuadMaterialRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEzG,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,UAAU,2BAA2B,CAAC,KAAsB,EAAE,IAAU;IAC5E,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9F,OAAO,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAAsB,EACtB,IAAU,EACV,QAAkC;IAElC,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,UAAU,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtH,CAAC;AAED,mGAAmG;AACnG,sGAAsG;AACtG,+FAA+F;AAC/F,wFAAwF;AACxF,MAAM,UAAU,+BAA+B,CAC7C,KAAsB,EACtB,QAAyB;IAEzB,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC;IAC7D,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,oBAAoB,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAElE,qGAAqG;IACrG,oGAAoG;IACpG,oFAAoF;IACpF,OAAO,CAAC,YAAY,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACnE,IAAI,IAAI,KAAK,oBAAoB;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACnD,OAAO,QAAQ,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/render-wgpu",
|
|
3
|
-
"version": "0.5.1-next.
|
|
3
|
+
"version": "0.5.1-next.1556.ff9e615",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,16 +38,16 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/color": "0.5.1-next.
|
|
42
|
-
"@flighthq/entity": "0.5.1-next.
|
|
43
|
-
"@flighthq/geometry": "0.5.1-next.
|
|
44
|
-
"@flighthq/log": "0.5.1-next.
|
|
45
|
-
"@flighthq/render": "0.5.1-next.
|
|
46
|
-
"@flighthq/registry": "0.5.1-next.
|
|
47
|
-
"@flighthq/signals": "0.5.1-next.
|
|
48
|
-
"@flighthq/bitmap": "0.5.1-next.
|
|
49
|
-
"@flighthq/texture": "0.5.1-next.
|
|
50
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/color": "0.5.1-next.1556.ff9e615",
|
|
42
|
+
"@flighthq/entity": "0.5.1-next.1556.ff9e615",
|
|
43
|
+
"@flighthq/geometry": "0.5.1-next.1556.ff9e615",
|
|
44
|
+
"@flighthq/log": "0.5.1-next.1556.ff9e615",
|
|
45
|
+
"@flighthq/render": "0.5.1-next.1556.ff9e615",
|
|
46
|
+
"@flighthq/registry": "0.5.1-next.1556.ff9e615",
|
|
47
|
+
"@flighthq/signals": "0.5.1-next.1556.ff9e615",
|
|
48
|
+
"@flighthq/bitmap": "0.5.1-next.1556.ff9e615",
|
|
49
|
+
"@flighthq/texture": "0.5.1-next.1556.ff9e615",
|
|
50
|
+
"@flighthq/types": "0.5.1-next.1556.ff9e615"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
53
|
"@webgpu/types": "^0.1.70"
|
package/src/wgpuPipeline.test.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { allocateEmptyWgpuRenderRegistries, initializeEmptyWgpuRenderRegistries
|
|
|
3
3
|
describe('allocateEmptyWgpuRenderRegistries', () => {
|
|
4
4
|
it('creates empty tables for every required WGPU policy seam', () => {
|
|
5
5
|
const registries = allocateEmptyWgpuRenderRegistries();
|
|
6
|
-
expect(registries.
|
|
6
|
+
expect(registries.nodeRenderers.shape).toBe('keyed');
|
|
7
7
|
expect(registries.compressedTextureDecoder).toBeNull();
|
|
8
8
|
expect(registries.compressedTextureUpload).toBeNull();
|
|
9
9
|
expect(registries.customMaterialShaders.shape).toBe('keyed');
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { addLogSink, createMemoryLogSink, getMemoryLogSinkEntries, removeLogSink } from '@flighthq/log/contract';
|
|
2
2
|
import { enableRenderRegistriesGuards, explainRenderRegistriesMisses } from '@flighthq/render/contract';
|
|
3
|
-
import type { Material,
|
|
3
|
+
import type { Material, WgpuQuadMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
4
4
|
import { StandardMaterialKind, EntityRuntimeKey, RenderRegistryTable } from '@flighthq/types/contract';
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
getWgpuMaterialRenderer,
|
|
8
|
-
registerWgpuMaterialRenderer,
|
|
9
|
-
resolveWgpuMaterialRenderer,
|
|
10
|
-
} from './wgpuMaterialRegistry';
|
|
11
6
|
import { allocateEmptyWgpuRenderRegistries } from './wgpuPipeline';
|
|
7
|
+
import {
|
|
8
|
+
getWgpuQuadMaterialRenderer,
|
|
9
|
+
registerWgpuQuadMaterialRenderer,
|
|
10
|
+
resolveWgpuQuadMaterialRenderer,
|
|
11
|
+
} from './wgpuQuadMaterialRegistry';
|
|
12
12
|
import { createWgpuDeviceState, createWgpuRenderStateRuntime, getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
13
13
|
|
|
14
14
|
const TestKind = 'TestMaterial';
|
|
15
|
-
const testRenderer:
|
|
15
|
+
const testRenderer: WgpuQuadMaterialRenderer = {
|
|
16
|
+
instanceFloatCount: 0,
|
|
17
|
+
getShaderModule: () => ({}) as GPUShaderModule,
|
|
18
|
+
};
|
|
16
19
|
const _pipeline = allocateEmptyWgpuRenderRegistries();
|
|
17
20
|
|
|
18
21
|
function makeState(): WgpuRenderState {
|
|
@@ -27,52 +30,55 @@ function makeMaterial(kind: string): Material {
|
|
|
27
30
|
return { kind } as Material;
|
|
28
31
|
}
|
|
29
32
|
|
|
30
|
-
describe('
|
|
33
|
+
describe('getWgpuQuadMaterialRenderer', () => {
|
|
31
34
|
it('returns null when nothing is registered for the kind', () => {
|
|
32
|
-
expect(
|
|
35
|
+
expect(getWgpuQuadMaterialRenderer(makeState(), TestKind)).toBeNull();
|
|
33
36
|
});
|
|
34
37
|
});
|
|
35
38
|
|
|
36
|
-
describe('
|
|
39
|
+
describe('registerWgpuQuadMaterialRenderer', () => {
|
|
37
40
|
it('registers a renderer retrievable by kind', () => {
|
|
38
41
|
const state = makeState();
|
|
39
42
|
const before = getWgpuRenderStateRuntime(state).registries.materialRenderers;
|
|
40
|
-
|
|
41
|
-
expect(
|
|
43
|
+
registerWgpuQuadMaterialRenderer(state, TestKind, testRenderer);
|
|
44
|
+
expect(getWgpuQuadMaterialRenderer(state, TestKind)).toBe(testRenderer);
|
|
42
45
|
expect(getWgpuRenderStateRuntime(state).registries.materialRenderers).not.toBe(before);
|
|
43
46
|
expect(before.entries.size).toBe(0);
|
|
44
47
|
});
|
|
45
48
|
|
|
46
49
|
it('is last-write-wins without mutating the earlier snapshot', () => {
|
|
47
50
|
const state = makeState();
|
|
48
|
-
const replacement:
|
|
49
|
-
|
|
51
|
+
const replacement: WgpuQuadMaterialRenderer = {
|
|
52
|
+
instanceFloatCount: 0,
|
|
53
|
+
getShaderModule: () => ({}) as GPUShaderModule,
|
|
54
|
+
};
|
|
55
|
+
registerWgpuQuadMaterialRenderer(state, TestKind, testRenderer);
|
|
50
56
|
const before = getWgpuRenderStateRuntime(state).registries.materialRenderers;
|
|
51
57
|
|
|
52
|
-
|
|
58
|
+
registerWgpuQuadMaterialRenderer(state, TestKind, replacement);
|
|
53
59
|
|
|
54
|
-
expect(
|
|
60
|
+
expect(getWgpuQuadMaterialRenderer(state, TestKind)).toBe(replacement);
|
|
55
61
|
expect(before.entries.get(TestKind)).toEqual({ state: 'bound', value: testRenderer });
|
|
56
62
|
});
|
|
57
63
|
});
|
|
58
64
|
|
|
59
|
-
describe('
|
|
65
|
+
describe('resolveWgpuQuadMaterialRenderer', () => {
|
|
60
66
|
it('returns null when nothing is registered — no built-in fallback', () => {
|
|
61
|
-
expect(
|
|
62
|
-
expect(
|
|
67
|
+
expect(resolveWgpuQuadMaterialRenderer(makeState(), null)).toBeNull();
|
|
68
|
+
expect(resolveWgpuQuadMaterialRenderer(makeState(), makeMaterial(TestKind))).toBeNull();
|
|
63
69
|
});
|
|
64
70
|
|
|
65
71
|
it('returns the registered renderer for a material kind', () => {
|
|
66
72
|
const state = makeState();
|
|
67
|
-
|
|
68
|
-
expect(
|
|
73
|
+
registerWgpuQuadMaterialRenderer(state, TestKind, testRenderer);
|
|
74
|
+
expect(resolveWgpuQuadMaterialRenderer(state, makeMaterial(TestKind))).toBe(testRenderer);
|
|
69
75
|
});
|
|
70
76
|
|
|
71
77
|
it('falls back to the renderer registered for StandardMaterialKind', () => {
|
|
72
78
|
const state = makeState();
|
|
73
|
-
|
|
74
|
-
expect(
|
|
75
|
-
expect(
|
|
79
|
+
registerWgpuQuadMaterialRenderer(state, StandardMaterialKind, testRenderer);
|
|
80
|
+
expect(resolveWgpuQuadMaterialRenderer(state, makeMaterial('Other'))).toBe(testRenderer);
|
|
81
|
+
expect(resolveWgpuQuadMaterialRenderer(state, null)).toBe(testRenderer);
|
|
76
82
|
});
|
|
77
83
|
|
|
78
84
|
it('reports the missing kind against the wgpu registrar, not the gl one', () => {
|
|
@@ -82,7 +88,7 @@ describe('resolveWgpuMaterialRenderer', () => {
|
|
|
82
88
|
addLogSink(sink.sink);
|
|
83
89
|
|
|
84
90
|
try {
|
|
85
|
-
|
|
91
|
+
resolveWgpuQuadMaterialRenderer(state, makeMaterial(TestKind));
|
|
86
92
|
|
|
87
93
|
expect(explainRenderRegistriesMisses(state).misses).toEqual([
|
|
88
94
|
{ kind: TestKind, registry: RenderRegistryTable.MaterialRenderer },
|
|
@@ -90,7 +96,7 @@ describe('resolveWgpuMaterialRenderer', () => {
|
|
|
90
96
|
expect(getMemoryLogSinkEntries(sink)[0]?.data).toMatchObject({
|
|
91
97
|
kind: TestKind,
|
|
92
98
|
message:
|
|
93
|
-
'
|
|
99
|
+
'resolveWgpuQuadMaterialRenderer: material kind has no registered renderer, so nodes using it do not draw — call registerWgpuQuadMaterialRenderer(state, kind, renderer)',
|
|
94
100
|
registry: RenderRegistryTable.MaterialRenderer,
|
|
95
101
|
});
|
|
96
102
|
} finally {
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
getColorAdjustmentUnsupportedGuard,
|
|
12
12
|
getRenderStateRuntime,
|
|
13
13
|
prepareScene2DRender,
|
|
14
|
-
|
|
14
|
+
registerNodeRenderer,
|
|
15
15
|
} from '@flighthq/render/contract';
|
|
16
16
|
import { createDisplayObject } from '@flighthq/scene2d/contract';
|
|
17
17
|
import type {
|
|
@@ -32,8 +32,8 @@ import { EntityRuntimeKey, RegistryEntryState } from '@flighthq/types/contract';
|
|
|
32
32
|
import { registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload } from './wgpuCompressedTexture';
|
|
33
33
|
import { beginWgpuFrame, withWgpuFrameBorrow } from './wgpuFrame';
|
|
34
34
|
import { createTestWgpuSurface, testWgpuHost } from './wgpuHost';
|
|
35
|
-
import { registerWgpuMaterialRenderer } from './wgpuMaterialRegistry';
|
|
36
35
|
import { allocateEmptyWgpuRenderRegistries } from './wgpuPipeline';
|
|
36
|
+
import { registerWgpuQuadMaterialRenderer } from './wgpuQuadMaterialRegistry';
|
|
37
37
|
import {
|
|
38
38
|
createWgpuAcquisition,
|
|
39
39
|
createWgpuDeviceState,
|
|
@@ -230,8 +230,8 @@ describe('createWgpuOffscreenRenderState', () => {
|
|
|
230
230
|
};
|
|
231
231
|
const colorAdjustmentFeatureGuard: WgpuColorAdjustmentMaterialFeatureGuard = vi.fn();
|
|
232
232
|
const renderRootGuard: RenderRootGuard = vi.fn();
|
|
233
|
-
|
|
234
|
-
|
|
233
|
+
registerNodeRenderer(screen, 'acme.Node', renderer);
|
|
234
|
+
registerWgpuQuadMaterialRenderer(screen, 'acme.Material', materialRenderer);
|
|
235
235
|
registerWgpuTextureResolver(screen, 'acme.Texture', textureResolver);
|
|
236
236
|
enableColorAdjustments(screen);
|
|
237
237
|
enableColorAdjustmentGuards(screen);
|
|
@@ -269,7 +269,7 @@ describe('createWgpuOffscreenRenderState', () => {
|
|
|
269
269
|
expect('surface' in offscreen).toBe(false);
|
|
270
270
|
expect(offscreenRuntime.context).toBe(screenRuntime.context);
|
|
271
271
|
expect(offscreenRuntime.uniformBuffer).not.toBe(screenRuntime.uniformBuffer);
|
|
272
|
-
expect(offscreenRuntime.registries.
|
|
272
|
+
expect(offscreenRuntime.registries.nodeRenderers).toBe(screenRuntime.registries.nodeRenderers);
|
|
273
273
|
expect(offscreenRuntime.registries).not.toBe(screenRuntime.registries);
|
|
274
274
|
expect(offscreenRuntime.registries.colorAdjustmentFeature).toBe(screenRuntime.registries.colorAdjustmentFeature);
|
|
275
275
|
expect(getWgpuColorAdjustmentMaterialFeature(offscreen)).toBe(colorAdjustmentFeature);
|
|
@@ -327,7 +327,7 @@ describe('createWgpuOffscreenRenderState', () => {
|
|
|
327
327
|
expect(offscreenRuntime.registries.textureResolvers).toBe(screenRuntime.registries.textureResolvers);
|
|
328
328
|
expect(offscreenRuntime.registries.velocityWriters).toBe(screenRuntime.registries.velocityWriters);
|
|
329
329
|
expect(offscreenRuntime.registries.effectPaddingResolvers).toBe(screenRuntime.registries.effectPaddingResolvers);
|
|
330
|
-
expect(getRegistryTableEntry(offscreenRuntime.registries.
|
|
330
|
+
expect(getRegistryTableEntry(offscreenRuntime.registries.nodeRenderers, 'acme.Node')).toBe(renderer);
|
|
331
331
|
expect(getRegistryTableEntry(offscreenRuntime.registries.materialRenderers, 'acme.Material')).toBe(
|
|
332
332
|
materialRenderer,
|
|
333
333
|
);
|
|
@@ -342,7 +342,7 @@ describe('createWgpuOffscreenRenderState', () => {
|
|
|
342
342
|
const screen = await createWgpuRenderStateForTest();
|
|
343
343
|
const offscreen = createWgpuOffscreenRenderState(screen);
|
|
344
344
|
const root = createDisplayObject();
|
|
345
|
-
|
|
345
|
+
registerNodeRenderer(offscreen, root.kind, { createData: () => finishEntity(allocateEntity()), submit: vi.fn() });
|
|
346
346
|
prepareScene2DRender(offscreen, root);
|
|
347
347
|
beginWgpuFrame(screen);
|
|
348
348
|
|
|
@@ -419,7 +419,7 @@ describe('createWgpuOffscreenRenderState', () => {
|
|
|
419
419
|
const screen = await createWgpuRenderStateForTest();
|
|
420
420
|
const root = createDisplayObject();
|
|
421
421
|
const destroyData = vi.fn();
|
|
422
|
-
|
|
422
|
+
registerNodeRenderer(screen, root.kind, {
|
|
423
423
|
createData: () => finishEntity(allocateEntity()),
|
|
424
424
|
destroyData,
|
|
425
425
|
submit: vi.fn(),
|
|
@@ -441,14 +441,16 @@ describe('createWgpuOffscreenRenderState', () => {
|
|
|
441
441
|
const offscreen = createWgpuOffscreenRenderState(screen);
|
|
442
442
|
const renderer = { createData: () => null, submit: vi.fn() };
|
|
443
443
|
const paddingResolver = vi.fn(() => ({ bottom: 2, left: 2, right: 2, top: 2 }));
|
|
444
|
-
|
|
444
|
+
registerNodeRenderer(screen, 'acme.LateNode', renderer);
|
|
445
445
|
registerPaddingResolver(screen, 'acme.LateEffect', paddingResolver);
|
|
446
446
|
|
|
447
|
-
expect(hasRegistryTableEntry(getRenderStateRuntime(offscreen).registries.
|
|
447
|
+
expect(hasRegistryTableEntry(getRenderStateRuntime(offscreen).registries.nodeRenderers, 'acme.LateNode')).toBe(
|
|
448
|
+
false,
|
|
449
|
+
);
|
|
448
450
|
expect(getPaddingResolver(offscreen, 'acme.LateEffect')).toBeNull();
|
|
449
451
|
|
|
450
452
|
const refreshed = createWgpuOffscreenRenderState(screen);
|
|
451
|
-
expect(getRegistryTableEntry(getRenderStateRuntime(refreshed).registries.
|
|
453
|
+
expect(getRegistryTableEntry(getRenderStateRuntime(refreshed).registries.nodeRenderers, 'acme.LateNode')).toBe(
|
|
452
454
|
renderer,
|
|
453
455
|
);
|
|
454
456
|
expect(getPaddingResolver(refreshed, 'acme.LateEffect')).toBe(paddingResolver);
|
|
@@ -510,7 +512,7 @@ describe('createWgpuRenderStateRuntime', () => {
|
|
|
510
512
|
expect(runtime.registries.customMaterialShaders.entries.size).toBe(0);
|
|
511
513
|
expect(runtime.registries.materialRenderers).toMatchObject({
|
|
512
514
|
onMiss: 'StandardMaterial',
|
|
513
|
-
registry: '
|
|
515
|
+
registry: 'WgpuQuadMaterialRenderer',
|
|
514
516
|
shape: 'keyed',
|
|
515
517
|
});
|
|
516
518
|
expect(runtime.registries.materialRenderers.entries.size).toBe(0);
|
|
@@ -908,7 +910,7 @@ describe('WgpuRenderRegistries snapshots', () => {
|
|
|
908
910
|
const resolver = vi.fn(() => null);
|
|
909
911
|
registerWgpuCompressedTextureDecoder(screen, decoder);
|
|
910
912
|
registerWgpuCompressedTextureUpload(screen);
|
|
911
|
-
|
|
913
|
+
registerWgpuQuadMaterialRenderer(screen, 'acme.LateMaterial', materialRenderer);
|
|
912
914
|
registerWgpuTextureResolver(screen, 'acme.LateTexture', resolver);
|
|
913
915
|
const offscreen = createWgpuOffscreenRenderState(screen);
|
|
914
916
|
|
|
@@ -928,7 +930,7 @@ describe('WgpuRenderRegistries snapshots', () => {
|
|
|
928
930
|
expect(getWgpuRenderStateRuntime(offscreen).registries.compressedTextureUpload).toBe(
|
|
929
931
|
getWgpuRenderStateRuntime(screen).registries.compressedTextureUpload,
|
|
930
932
|
);
|
|
931
|
-
|
|
933
|
+
registerWgpuQuadMaterialRenderer(offscreen, 'acme.LateMaterial', offscreenMaterialRenderer);
|
|
932
934
|
registerWgpuCompressedTextureDecoder(offscreen, null);
|
|
933
935
|
registerWgpuCompressedTextureUpload(offscreen, null);
|
|
934
936
|
registerWgpuTextureResolver(offscreen, 'acme.LateTexture', null);
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Kind, Material, WgpuMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
|
-
export declare function getWgpuMaterialRenderer(state: WgpuRenderState, kind: Kind): WgpuMaterialRenderer | null;
|
|
3
|
-
export declare function registerWgpuMaterialRenderer(state: WgpuRenderState, kind: Kind, renderer: WgpuMaterialRenderer): void;
|
|
4
|
-
export declare function resolveWgpuMaterialRenderer(state: WgpuRenderState, material: Material | null): WgpuMaterialRenderer | null;
|
|
5
|
-
//# sourceMappingURL=wgpuMaterialRegistry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuMaterialRegistry.d.ts","sourceRoot":"","sources":["../src/wgpuMaterialRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAKtG,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,oBAAoB,GAAG,IAAI,CAGvG;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAGrH;AAMD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,oBAAoB,GAAG,IAAI,CAc7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuMaterialRegistry.js","sourceRoot":"","sources":["../src/wgpuMaterialRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEzG,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,UAAU,uBAAuB,CAAC,KAAsB,EAAE,IAAU;IACxE,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9F,OAAO,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAsB,EAAE,IAAU,EAAE,QAA8B;IAC7G,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,UAAU,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtH,CAAC;AAED,mGAAmG;AACnG,sGAAsG;AACtG,+FAA+F;AAC/F,wFAAwF;AACxF,MAAM,UAAU,2BAA2B,CACzC,KAAsB,EACtB,QAAyB;IAEzB,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC;IAC7D,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,oBAAoB,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAElE,qGAAqG;IACrG,oGAAoG;IACpG,oFAAoF;IACpF,OAAO,CAAC,YAAY,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACnE,IAAI,IAAI,KAAK,oBAAoB;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACnD,OAAO,QAAQ,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC"}
|