@flighthq/scene3d-wgpu 0.3.0-next.906.07cea63 → 0.3.1-next.209.43ef1bc
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/blinnPhongWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/blinnPhongWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/blinnPhongWgpuMeshMaterialRenderer.js +5 -3
- package/dist/blinnPhongWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/contract.d.ts +2 -8
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +2 -8
- package/dist/contract.js.map +1 -1
- package/dist/customShaderWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/customShaderWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/customShaderWgpuMeshMaterialRenderer.js +13 -6
- package/dist/customShaderWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/depthWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/depthWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/depthWgpuMeshMaterialRenderer.js +3 -3
- package/dist/depthWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/drawWgpuScene3D.d.ts.map +1 -1
- package/dist/drawWgpuScene3D.js +13 -2
- package/dist/drawWgpuScene3D.js.map +1 -1
- package/dist/emissiveWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/emissiveWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/emissiveWgpuMeshMaterialRenderer.js +5 -3
- package/dist/emissiveWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/explainWgpuScene3DCoverage.d.ts +4 -0
- package/dist/explainWgpuScene3DCoverage.d.ts.map +1 -0
- package/dist/explainWgpuScene3DCoverage.js +81 -0
- package/dist/explainWgpuScene3DCoverage.js.map +1 -0
- 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/lambertWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/lambertWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/lambertWgpuMeshMaterialRenderer.js +5 -3
- package/dist/lambertWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/matcapWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/matcapWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/matcapWgpuMeshMaterialRenderer.js +5 -3
- package/dist/matcapWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/normalWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/normalWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/normalWgpuMeshMaterialRenderer.js +6 -4
- package/dist/normalWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/phongWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/phongWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/phongWgpuMeshMaterialRenderer.js +5 -3
- package/dist/phongWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/registerWgpuStandardPbrMaterial.d.ts +3 -0
- package/dist/registerWgpuStandardPbrMaterial.d.ts.map +1 -0
- package/dist/{registerStandardPbrWgpuMaterial.js → registerWgpuStandardPbrMaterial.js} +5 -2
- package/dist/registerWgpuStandardPbrMaterial.js.map +1 -0
- package/dist/shadedWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/shadedWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/shadedWgpuMeshMaterialRenderer.js +4 -2
- package/dist/shadedWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/specularGlossinessPbrWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/specularGlossinessPbrWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/specularGlossinessPbrWgpuMeshMaterialRenderer.js +5 -3
- package/dist/specularGlossinessPbrWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/standardPbrWgpuMeshMaterialRenderer.js +1 -1
- package/dist/toonWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/toonWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/toonWgpuMeshMaterialRenderer.js +5 -3
- package/dist/toonWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/unlitWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/unlitWgpuMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/unlitWgpuMeshMaterialRenderer.js +9 -19
- package/dist/unlitWgpuMeshMaterialRenderer.js.map +1 -1
- package/dist/vertexColorWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/vertexColorWgpuMeshMaterialRenderer.js +2 -2
- package/dist/wgpuClassicPrelude.d.ts.map +1 -1
- package/dist/wgpuClassicPrelude.js +15 -48
- package/dist/wgpuClassicPrelude.js.map +1 -1
- package/dist/wgpuDebugPrelude.d.ts +2 -2
- package/dist/wgpuDebugPrelude.d.ts.map +1 -1
- package/dist/wgpuDebugPrelude.js +12 -13
- package/dist/wgpuDebugPrelude.js.map +1 -1
- package/dist/wgpuEnvironmentCube.d.ts +2 -2
- package/dist/wgpuEnvironmentCube.d.ts.map +1 -1
- package/dist/wgpuEnvironmentCube.js +28 -17
- package/dist/wgpuEnvironmentCube.js.map +1 -1
- package/dist/wgpuEnvironmentIblBake.js +5 -11
- package/dist/wgpuEnvironmentIblBake.js.map +1 -1
- package/dist/wgpuEnvironmentSkybox.d.ts.map +1 -1
- package/dist/wgpuEnvironmentSkybox.js +5 -12
- package/dist/wgpuEnvironmentSkybox.js.map +1 -1
- package/dist/wgpuMatcapPrelude.d.ts.map +1 -1
- package/dist/wgpuMatcapPrelude.js +9 -5
- package/dist/wgpuMatcapPrelude.js.map +1 -1
- package/dist/wgpuMeshFragmentTail.d.ts +2 -0
- package/dist/wgpuMeshFragmentTail.d.ts.map +1 -0
- package/dist/wgpuMeshFragmentTail.js +27 -0
- package/dist/wgpuMeshFragmentTail.js.map +1 -0
- package/dist/wgpuMeshMaterialRegistry.js +1 -1
- package/dist/wgpuMeshPipeline.d.ts +2 -1
- package/dist/wgpuMeshPipeline.d.ts.map +1 -1
- package/dist/wgpuMeshPipeline.js +124 -86
- package/dist/wgpuMeshPipeline.js.map +1 -1
- package/dist/wgpuParticleEmitter3D.d.ts.map +1 -1
- package/dist/wgpuParticleEmitter3D.js +26 -30
- package/dist/wgpuParticleEmitter3D.js.map +1 -1
- package/dist/wgpuPbrPrelude.d.ts.map +1 -1
- package/dist/wgpuPbrPrelude.js +14 -55
- package/dist/wgpuPbrPrelude.js.map +1 -1
- package/dist/wgpuScene3DRuntime.d.ts.map +1 -1
- package/dist/wgpuScene3DRuntime.js +3 -1
- package/dist/wgpuScene3DRuntime.js.map +1 -1
- package/dist/wgpuScene3DTestHelper.d.ts.map +1 -1
- package/dist/wgpuScene3DTestHelper.js +5 -2
- package/dist/wgpuScene3DTestHelper.js.map +1 -1
- package/dist/wgpuShadedPrelude.js +6 -6
- package/dist/wgpuShadedPrelude.js.map +1 -1
- package/dist/wgpuShadowMap.d.ts +2 -2
- package/dist/wgpuShadowMap.d.ts.map +1 -1
- package/dist/wgpuShadowMap.js +81 -22
- package/dist/wgpuShadowMap.js.map +1 -1
- package/dist/wgpuSkinPalette.d.ts.map +1 -1
- package/dist/wgpuSkinPalette.js +36 -13
- package/dist/wgpuSkinPalette.js.map +1 -1
- package/dist/wgpuToonPrelude.d.ts.map +1 -1
- package/dist/wgpuToonPrelude.js +11 -42
- package/dist/wgpuToonPrelude.js.map +1 -1
- package/dist/wgpuUnlitPrelude.d.ts.map +1 -1
- package/dist/wgpuUnlitPrelude.js +11 -16
- package/dist/wgpuUnlitPrelude.js.map +1 -1
- package/dist/wgpuWireframePrelude.d.ts +4 -4
- package/dist/wgpuWireframePrelude.d.ts.map +1 -1
- package/dist/wgpuWireframePrelude.js +23 -14
- package/dist/wgpuWireframePrelude.js.map +1 -1
- package/dist/wireframeWgpuMeshMaterialRenderer.d.ts +1 -1
- package/dist/wireframeWgpuMeshMaterialRenderer.js +4 -4
- package/dist/wireframeWgpuMeshMaterialRenderer.js.map +1 -1
- package/package.json +17 -15
- package/src/blinnPhongWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/customShaderWgpuMeshMaterialRenderer.test.ts +24 -20
- package/src/depthWgpuMeshMaterialRenderer.test.ts +10 -3
- package/src/drawWgpuScene3D.test.ts +43 -12
- package/src/emissiveWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/explainWgpuScene3DCoverage.test.ts +138 -0
- package/src/lambertWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/matcapWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/normalWgpuMeshMaterialRenderer.test.ts +10 -3
- package/src/phongWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/{registerStandardPbrWgpuMaterial.test.ts → registerWgpuStandardPbrMaterial.test.ts} +3 -3
- package/src/shadedWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/specularGlossinessPbrWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/standardPbrWgpuMeshMaterialRenderer.test.ts +5 -1
- package/src/toonWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/unlitWgpuMeshMaterialRenderer.test.ts +13 -4
- package/src/vertexColorWgpuMeshMaterialRenderer.test.ts +3 -3
- package/src/wgpuClassicPrelude.test.ts +6 -4
- package/src/wgpuDebugPrelude.test.ts +20 -2
- package/src/wgpuEnvironmentCube.test.ts +38 -9
- package/src/wgpuEnvironmentIblBake.test.ts +14 -4
- package/src/wgpuEnvironmentSkybox.test.ts +18 -5
- package/src/wgpuMeshFragmentTail.test.ts +13 -0
- package/src/wgpuMeshPipeline.test.ts +201 -29
- package/src/wgpuMeshUpload.test.ts +3 -2
- package/src/wgpuParticleEmitter3D.test.ts +24 -9
- package/src/wgpuPbrPrelude.test.ts +2 -1
- package/src/wgpuScene3DRuntime.test.ts +1 -0
- package/src/wgpuShadedPrelude.test.ts +33 -19
- package/src/wgpuShadowMap.test.ts +208 -16
- package/src/wgpuToonPrelude.test.ts +3 -2
- package/src/wgpuUnlitPrelude.test.ts +10 -1
- package/src/wgpuWireframePrelude.test.ts +17 -0
- package/src/wireframeWgpuMeshMaterialRenderer.test.ts +11 -3
- package/dist/anisotropyPbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/anisotropyPbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/anisotropyPbrWgpuMeshMaterialRenderer.js +0 -52
- package/dist/anisotropyPbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/clearcoatPbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/clearcoatPbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/clearcoatPbrWgpuMeshMaterialRenderer.js +0 -52
- package/dist/clearcoatPbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/iridescencePbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/iridescencePbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/iridescencePbrWgpuMeshMaterialRenderer.js +0 -60
- package/dist/iridescencePbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/registerStandardPbrWgpuMaterial.d.ts +0 -3
- package/dist/registerStandardPbrWgpuMaterial.d.ts.map +0 -1
- package/dist/registerStandardPbrWgpuMaterial.js.map +0 -1
- package/dist/sheenPbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/sheenPbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/sheenPbrWgpuMeshMaterialRenderer.js +0 -58
- package/dist/sheenPbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/specularPbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/specularPbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/specularPbrWgpuMeshMaterialRenderer.js +0 -65
- package/dist/specularPbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/subsurfacePbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/subsurfacePbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/subsurfacePbrWgpuMeshMaterialRenderer.js +0 -68
- package/dist/subsurfacePbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/dist/transmissionVolumePbrWgpuMeshMaterialRenderer.d.ts +0 -4
- package/dist/transmissionVolumePbrWgpuMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/transmissionVolumePbrWgpuMeshMaterialRenderer.js +0 -74
- package/dist/transmissionVolumePbrWgpuMeshMaterialRenderer.js.map +0 -1
- package/src/anisotropyPbrWgpuMeshMaterialRenderer.test.ts +0 -90
- package/src/clearcoatPbrWgpuMeshMaterialRenderer.test.ts +0 -90
- package/src/iridescencePbrWgpuMeshMaterialRenderer.test.ts +0 -90
- package/src/sheenPbrWgpuMeshMaterialRenderer.test.ts +0 -87
- package/src/specularPbrWgpuMeshMaterialRenderer.test.ts +0 -90
- package/src/subsurfacePbrWgpuMeshMaterialRenderer.test.ts +0 -90
- package/src/transmissionVolumePbrWgpuMeshMaterialRenderer.test.ts +0 -97
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { WgpuMeshMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare const blinnPhongWgpuMeshMaterialRenderer: WgpuMeshMaterialRenderer;
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function registerWgpuBlinnPhongMaterial(state: WgpuRenderState): void;
|
|
4
4
|
//# sourceMappingURL=blinnPhongWgpuMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blinnPhongWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/blinnPhongWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blinnPhongWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/blinnPhongWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAQV,wBAAwB,EACxB,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAelC,eAAO,MAAM,kCAAkC,EAAE,wBA4ChD,CAAC;AAKF,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAI3E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { unpackColorToLinear } from '@flighthq/color/contract';
|
|
2
|
-
import { getWgpuRenderStateRuntime } from '@flighthq/render-wgpu/contract';
|
|
2
|
+
import { getWgpuRenderStateRuntime, registerWgpuBitmapTextureResolver, registerWgpuImageTextureResolver, } from '@flighthq/render-wgpu/contract';
|
|
3
3
|
import { BlinnPhongMaterialKind } from '@flighthq/types/contract';
|
|
4
4
|
import { bindWgpuClassicSurface, ensureWgpuClassicPipeline } from './wgpuClassicPrelude';
|
|
5
5
|
import { registerWgpuMeshMaterialRenderer } from './wgpuMeshMaterialRegistry';
|
|
@@ -11,7 +11,7 @@ import { beginWgpuMeshDraw, drawWgpuMeshSubset, isWgpuTextureReady, writeWgpuFra
|
|
|
11
11
|
// the shared Frame uniform (camera position AND view-projection, since the specular term is view-
|
|
12
12
|
// dependent, plus the packed light block), binds the pipeline + Frame group (beginWgpuMeshDraw), then
|
|
13
13
|
// binds the material's linear diffuse + specular colors and shininess at group(2). draw issues the
|
|
14
|
-
// indexed draw. See
|
|
14
|
+
// indexed draw. See registerWgpuBlinnPhongMaterial to install it.
|
|
15
15
|
export const blinnPhongWgpuMeshMaterialRenderer = {
|
|
16
16
|
bind(state, material, lights, camera) {
|
|
17
17
|
const stateRuntime = getWgpuRenderStateRuntime(state);
|
|
@@ -41,7 +41,9 @@ export const blinnPhongWgpuMeshMaterialRenderer = {
|
|
|
41
41
|
// Registers the built-in BlinnPhong renderer for BlinnPhongMaterialKind on this state. Opt-in (no
|
|
42
42
|
// top-level side effect); call once per WgpuRenderState before drawWgpuScene3D so meshes with BlinnPhong
|
|
43
43
|
// materials draw.
|
|
44
|
-
export function
|
|
44
|
+
export function registerWgpuBlinnPhongMaterial(state) {
|
|
45
|
+
registerWgpuBitmapTextureResolver(state);
|
|
46
|
+
registerWgpuImageTextureResolver(state);
|
|
45
47
|
registerWgpuMeshMaterialRenderer(state, BlinnPhongMaterialKind, blinnPhongWgpuMeshMaterialRenderer);
|
|
46
48
|
}
|
|
47
49
|
// The feature define key for a BlinnPhong material: the fixed `blinnphong` lighting model plus the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blinnPhongWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/blinnPhongWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"blinnPhongWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/blinnPhongWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"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"}
|
package/dist/contract.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './explainWgpuScene3DCoverage';
|
|
2
2
|
export * from './blinnPhongWgpuMeshMaterialRenderer';
|
|
3
|
-
export * from './clearcoatPbrWgpuMeshMaterialRenderer';
|
|
4
3
|
export * from './customShaderWgpuMeshMaterialRenderer';
|
|
5
4
|
export * from './depthWgpuMeshMaterialRenderer';
|
|
6
5
|
export * from './drawWgpuScene3D';
|
|
@@ -11,21 +10,16 @@ export * from './emissiveWgpuMeshMaterialRenderer';
|
|
|
11
10
|
export * from './wgpuEnvironmentCube';
|
|
12
11
|
export * from './wgpuEnvironmentIblBake';
|
|
13
12
|
export * from './wgpuEnvironmentSkybox';
|
|
14
|
-
export * from './iridescencePbrWgpuMeshMaterialRenderer';
|
|
15
13
|
export * from './lambertWgpuMeshMaterialRenderer';
|
|
16
14
|
export * from './matcapWgpuMeshMaterialRenderer';
|
|
17
15
|
export * from './normalWgpuMeshMaterialRenderer';
|
|
18
16
|
export * from './phongWgpuMeshMaterialRenderer';
|
|
19
17
|
export * from './prepareWgpuScene3DForwardLights';
|
|
20
|
-
export * from './
|
|
21
|
-
export * from './sheenPbrWgpuMeshMaterialRenderer';
|
|
18
|
+
export * from './registerWgpuStandardPbrMaterial';
|
|
22
19
|
export * from './shadedWgpuMeshMaterialRenderer';
|
|
23
20
|
export * from './specularGlossinessPbrWgpuMeshMaterialRenderer';
|
|
24
|
-
export * from './specularPbrWgpuMeshMaterialRenderer';
|
|
25
21
|
export * from './standardPbrWgpuMeshMaterialRenderer';
|
|
26
|
-
export * from './subsurfacePbrWgpuMeshMaterialRenderer';
|
|
27
22
|
export * from './toonWgpuMeshMaterialRenderer';
|
|
28
|
-
export * from './transmissionVolumePbrWgpuMeshMaterialRenderer';
|
|
29
23
|
export * from './unlitWgpuMeshMaterialRenderer';
|
|
30
24
|
export * from './vertexColorWgpuMeshMaterialRenderer';
|
|
31
25
|
export * from './wgpuClassicPrelude';
|
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,
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iDAAiD,CAAC;AAChE,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC"}
|
package/dist/contract.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './explainWgpuScene3DCoverage';
|
|
2
2
|
export * from './blinnPhongWgpuMeshMaterialRenderer';
|
|
3
|
-
export * from './clearcoatPbrWgpuMeshMaterialRenderer';
|
|
4
3
|
export * from './customShaderWgpuMeshMaterialRenderer';
|
|
5
4
|
export * from './depthWgpuMeshMaterialRenderer';
|
|
6
5
|
export * from './drawWgpuScene3D';
|
|
@@ -11,21 +10,16 @@ export * from './emissiveWgpuMeshMaterialRenderer';
|
|
|
11
10
|
export * from './wgpuEnvironmentCube';
|
|
12
11
|
export * from './wgpuEnvironmentIblBake';
|
|
13
12
|
export * from './wgpuEnvironmentSkybox';
|
|
14
|
-
export * from './iridescencePbrWgpuMeshMaterialRenderer';
|
|
15
13
|
export * from './lambertWgpuMeshMaterialRenderer';
|
|
16
14
|
export * from './matcapWgpuMeshMaterialRenderer';
|
|
17
15
|
export * from './normalWgpuMeshMaterialRenderer';
|
|
18
16
|
export * from './phongWgpuMeshMaterialRenderer';
|
|
19
17
|
export * from './prepareWgpuScene3DForwardLights';
|
|
20
|
-
export * from './
|
|
21
|
-
export * from './sheenPbrWgpuMeshMaterialRenderer';
|
|
18
|
+
export * from './registerWgpuStandardPbrMaterial';
|
|
22
19
|
export * from './shadedWgpuMeshMaterialRenderer';
|
|
23
20
|
export * from './specularGlossinessPbrWgpuMeshMaterialRenderer';
|
|
24
|
-
export * from './specularPbrWgpuMeshMaterialRenderer';
|
|
25
21
|
export * from './standardPbrWgpuMeshMaterialRenderer';
|
|
26
|
-
export * from './subsurfacePbrWgpuMeshMaterialRenderer';
|
|
27
22
|
export * from './toonWgpuMeshMaterialRenderer';
|
|
28
|
-
export * from './transmissionVolumePbrWgpuMeshMaterialRenderer';
|
|
29
23
|
export * from './unlitWgpuMeshMaterialRenderer';
|
|
30
24
|
export * from './vertexColorWgpuMeshMaterialRenderer';
|
|
31
25
|
export * from './wgpuClassicPrelude';
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iDAAiD,CAAC;AAChE,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC"}
|
|
@@ -2,6 +2,6 @@ import type { WgpuCustomMaterialShaderSource, WgpuMeshMaterialRenderer, WgpuRend
|
|
|
2
2
|
export { WGPU_CUSTOM_SHADER_TEXTURE_CAPACITY, WGPU_CUSTOM_SHADER_USER_VEC4_CAPACITY } from './wgpuCustomMaterialAbi';
|
|
3
3
|
export declare const customShaderWgpuMeshMaterialRenderer: WgpuMeshMaterialRenderer;
|
|
4
4
|
export declare function getWgpuCustomMaterialShaderSource(state: WgpuRenderState, shaderKey: string): WgpuCustomMaterialShaderSource | null;
|
|
5
|
-
export declare function registerCustomShaderWgpuMaterial(state: WgpuRenderState): void;
|
|
6
5
|
export declare function registerWgpuCustomMaterialShader(state: WgpuRenderState, shaderKey: string, wgslSource: WgpuCustomMaterialShaderSource): void;
|
|
6
|
+
export declare function registerWgpuCustomShaderMaterial(state: WgpuRenderState): void;
|
|
7
7
|
//# sourceMappingURL=customShaderWgpuMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customShaderWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/customShaderWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"customShaderWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/customShaderWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAOV,8BAA8B,EAC9B,wBAAwB,EAExB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAmBlC,OAAO,EAAE,mCAAmC,EAAE,qCAAqC,EAAE,MAAM,yBAAyB,CAAC;AAmBrH,eAAO,MAAM,oCAAoC,EAAE,wBAuDlD,CAAC;AAGF,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,MAAM,GAChB,8BAA8B,GAAG,IAAI,CAEvC;AAqBD,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,8BAA8B,GACzC,IAAI,CAON;AAGD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAI7E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getWgpuRenderStateRuntime } from '@flighthq/render-wgpu/contract';
|
|
1
|
+
import { getWgpuRenderStateRuntime, registerWgpuBitmapTextureResolver, registerWgpuImageTextureResolver, } from '@flighthq/render-wgpu/contract';
|
|
2
2
|
import { CustomShaderMaterialKind } from '@flighthq/types/contract';
|
|
3
3
|
import { WGPU_CUSTOM_SHADER_TEXTURE_CAPACITY, WGPU_CUSTOM_SHADER_USER_VEC4_CAPACITY } from './wgpuCustomMaterialAbi';
|
|
4
4
|
import { registerWgpuMeshMaterialRenderer } from './wgpuMeshMaterialRegistry';
|
|
@@ -52,10 +52,6 @@ export const customShaderWgpuMeshMaterialRenderer = {
|
|
|
52
52
|
export function getWgpuCustomMaterialShaderSource(state, shaderKey) {
|
|
53
53
|
return _customMaterialShaders.get(state)?.get(shaderKey) ?? null;
|
|
54
54
|
}
|
|
55
|
-
// Installs CustomShaderMaterialKind in this state's WGPU mesh-material registry.
|
|
56
|
-
export function registerCustomShaderWgpuMaterial(state) {
|
|
57
|
-
registerWgpuMeshMaterialRenderer(state, CustomShaderMaterialKind, customShaderWgpuMeshMaterialRenderer);
|
|
58
|
-
}
|
|
59
55
|
// Registers a complete WGSL module for a CustomShaderMaterial shaderKey.
|
|
60
56
|
//
|
|
61
57
|
// Fixed ABI:
|
|
@@ -67,7 +63,12 @@ export function registerCustomShaderWgpuMaterial(state) {
|
|
|
67
63
|
// binding 2*N and texture_2d<f32> at binding 2*N+1.
|
|
68
64
|
//
|
|
69
65
|
// Entry points are `vs_main` and `fs_main`; attributes use locations 0 position, 1 normal, 2 tangent,
|
|
70
|
-
// and 3 uv.
|
|
66
|
+
// and 3 uv. Fragment outputs are linear scene color; alpha-blended materials must return PREMULTIPLIED
|
|
67
|
+
// color (rgb already scaled by the coverage returned in a) — every blend state is premultiplied, and
|
|
68
|
+
// Flight compiles caller-authored WGSL verbatim, so it cannot append the fixup the built-in tails get
|
|
69
|
+
// from WGPU_MESH_FRAGMENT_TAIL. Return `vec4f(rgb * a, a)`. Texture slots sample according to each Texture.colorSpace GPU realization;
|
|
70
|
+
// caller WGSL must not decode an sRGB texture again. For alphaMode 'mask', the complete native module owns the cutoff discard
|
|
71
|
+
// (pass alphaCutoff through the custom uniforms bag when needed); the fixed ABI cannot inject it. The
|
|
71
72
|
// registry follows the GL lifetime rule: last source write wins before compilation, while an already
|
|
72
73
|
// compiled shaderKey remains cached; use a new key to compile edited WGSL.
|
|
73
74
|
export function registerWgpuCustomMaterialShader(state, shaderKey, wgslSource) {
|
|
@@ -78,6 +79,12 @@ export function registerWgpuCustomMaterialShader(state, shaderKey, wgslSource) {
|
|
|
78
79
|
}
|
|
79
80
|
registry.set(shaderKey, wgslSource);
|
|
80
81
|
}
|
|
82
|
+
// Installs CustomShaderMaterialKind in this state's WGPU mesh-material registry.
|
|
83
|
+
export function registerWgpuCustomShaderMaterial(state) {
|
|
84
|
+
registerWgpuBitmapTextureResolver(state);
|
|
85
|
+
registerWgpuImageTextureResolver(state);
|
|
86
|
+
registerWgpuMeshMaterialRenderer(state, CustomShaderMaterialKind, customShaderWgpuMeshMaterialRenderer);
|
|
87
|
+
}
|
|
81
88
|
function compileCustomMaterialPipeline(state, source, format, doubleSided, blended, skinned, layouts) {
|
|
82
89
|
return createWgpuMeshPipeline(state, {
|
|
83
90
|
blended,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customShaderWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/customShaderWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"customShaderWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/customShaderWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { WgpuMeshMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare const depthWgpuMeshMaterialRenderer: WgpuMeshMaterialRenderer;
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function registerWgpuDepthMaterial(state: WgpuRenderState): void;
|
|
4
4
|
//# sourceMappingURL=depthWgpuMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depthWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/depthWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAOV,wBAAwB,EACxB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAalC,eAAO,MAAM,6BAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"depthWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/depthWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAOV,wBAAwB,EACxB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAalC,eAAO,MAAM,6BAA6B,EAAE,wBAmC3C,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAEtE"}
|
|
@@ -8,7 +8,7 @@ import { beginWgpuMeshDraw, drawWgpuMeshSubset, writeWgpuFrameUniform } from './
|
|
|
8
8
|
// debug pipeline in depth mode for the color format, writes the shared Frame uniform (lights ignored),
|
|
9
9
|
// and binds the material's [near, far] linearization range; draw issues the indexed draw. The fragment
|
|
10
10
|
// scene2d linearizes window-space depth into eye space and writes it as grayscale LINEAR color. See
|
|
11
|
-
//
|
|
11
|
+
// registerWgpuDepthMaterial to install it.
|
|
12
12
|
export const depthWgpuMeshMaterialRenderer = {
|
|
13
13
|
bind(state, material, _lights, camera) {
|
|
14
14
|
const stateRuntime = getWgpuRenderStateRuntime(state);
|
|
@@ -17,7 +17,7 @@ export const depthWgpuMeshMaterialRenderer = {
|
|
|
17
17
|
return;
|
|
18
18
|
const depth = material;
|
|
19
19
|
const format = stateRuntime.currentColorFormat ?? state.format;
|
|
20
|
-
const pipeline = ensureWgpuDebugPipeline(state, { hasNormalMap: false, mode: 'depth' }, format);
|
|
20
|
+
const pipeline = ensureWgpuDebugPipeline(state, { hasNormalMap: false, mode: 'depth' }, format, depth?.doubleSided ?? false);
|
|
21
21
|
writeWgpuFrameUniform(state, camera, _lights);
|
|
22
22
|
let group;
|
|
23
23
|
if (depth === null) {
|
|
@@ -35,7 +35,7 @@ export const depthWgpuMeshMaterialRenderer = {
|
|
|
35
35
|
};
|
|
36
36
|
// Registers the built-in Depth renderer for DepthMaterialKind on this state. Opt-in (no top-level side
|
|
37
37
|
// effect); call once per WgpuRenderState before drawWgpuScene3D so meshes with DepthMaterials draw.
|
|
38
|
-
export function
|
|
38
|
+
export function registerWgpuDepthMaterial(state) {
|
|
39
39
|
registerWgpuMeshMaterialRenderer(state, DepthMaterialKind, depthWgpuMeshMaterialRenderer);
|
|
40
40
|
}
|
|
41
41
|
const FALLBACK_MATERIAL = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depthWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/depthWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAW3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElG,yGAAyG;AACzG,uGAAuG;AACvG,uGAAuG;AACvG,uGAAuG;AACvG,oGAAoG;AACpG,2CAA2C;AAC3C,MAAM,CAAC,MAAM,6BAA6B,GAA6B;IACrE,IAAI,CACF,KAAsB,EACtB,QAAmC,EACnC,OAAoC,EACpC,MAA0B;QAE1B,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAE1B,MAAM,KAAK,GAAG,QAA0C,CAAC;QACzD,MAAM,MAAM,GAAG,YAAY,CAAC,kBAAkB,IAAI,KAAK,CAAC,MAAM,CAAC;QAC/D,MAAM,QAAQ,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"depthWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/depthWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAW3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElG,yGAAyG;AACzG,uGAAuG;AACvG,uGAAuG;AACvG,uGAAuG;AACvG,oGAAoG;AACpG,2CAA2C;AAC3C,MAAM,CAAC,MAAM,6BAA6B,GAA6B;IACrE,IAAI,CACF,KAAsB,EACtB,QAAmC,EACnC,OAAoC,EACpC,MAA0B;QAE1B,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAE1B,MAAM,KAAK,GAAG,QAA0C,CAAC;QACzD,MAAM,MAAM,GAAG,YAAY,CAAC,kBAAkB,IAAI,KAAK,CAAC,MAAM,CAAC;QAC/D,MAAM,QAAQ,GAAG,uBAAuB,CACtC,KAAK,EACL,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EACtC,MAAM,EACN,KAAK,EAAE,WAAW,IAAI,KAAK,CAC5B,CAAC;QACF,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE9C,IAAI,KAAmB,CAAC;QACxB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,KAAsB,EAAE,KAAmC,EAAE,QAAgC;QAChG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC;AAEF,uGAAuG;AACvG,oGAAoG;AACpG,MAAM,UAAU,yBAAyB,CAAC,KAAsB;IAC9D,gCAAgC,CAAC,KAAK,EAAE,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,iBAAiB,GAAG,EAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawWgpuScene3D.d.ts","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,QAAQ,EAKR,IAAI,EAGJ,iBAAiB,EACjB,MAAM,EAIN,eAAe,EAEf,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"drawWgpuScene3D.d.ts","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,QAAQ,EAKR,IAAI,EAGJ,iBAAiB,EACjB,MAAM,EAIN,eAAe,EAEf,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AA0BlC,wBAAgB,eAAe,CAC7B,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACnC,aAAa,CAAC,EAAE,QAAQ,CAAC,2BAA2B,CAAC,GACpD,IAAI,CAoEN;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAG1F"}
|
package/dist/drawWgpuScene3D.js
CHANGED
|
@@ -3,7 +3,7 @@ import { getNodeWorldMatrix4 } from '@flighthq/node/contract';
|
|
|
3
3
|
import { declareWgpuRenderTargetColorSpace, getWgpuRenderStateRuntime } from '@flighthq/render-wgpu/contract';
|
|
4
4
|
import { prepareScene3DRender } from '@flighthq/render/contract';
|
|
5
5
|
import { getNode3DRuntime, getNode3DWorldAlpha } from '@flighthq/scene3d/contract';
|
|
6
|
-
import { StandardMaterialKind, MAX_FORWARD_LIGHTS } from '@flighthq/types/contract';
|
|
6
|
+
import { BlendMode, StandardMaterialKind, MAX_FORWARD_LIGHTS } from '@flighthq/types/contract';
|
|
7
7
|
import { resolveWgpuMeshMaterialRenderer } from './wgpuMeshMaterialRegistry';
|
|
8
8
|
import { drawWgpuScene3DParticleEmitter3Ds } from './wgpuParticleEmitter3D';
|
|
9
9
|
import { getWgpuScene3DRuntime } from './wgpuScene3DRuntime';
|
|
@@ -16,7 +16,8 @@ import { getWgpuScene3DRuntime } from './wgpuScene3DRuntime';
|
|
|
16
16
|
//
|
|
17
17
|
// The draw is two-phased for correct alpha compositing: opaque/masked subsets first in scene order,
|
|
18
18
|
// then blended-material or faded-object subsets back-to-front. The second pass selects immutable
|
|
19
|
-
//
|
|
19
|
+
// blend-mode pipeline variants (material equation, depth test on, depth writes off); a faded opaque
|
|
20
|
+
// material uses the ordinary Normal equation.
|
|
20
21
|
//
|
|
21
22
|
// Subsets sharing the same resolved renderer + material are drawn under a single bind (the seam's
|
|
22
23
|
// "contiguous run" contract): bind uploads the shared camera + light + material state once, then draw
|
|
@@ -84,6 +85,7 @@ export function drawWgpuScene3D(state, scene, camera, lights, forwardLights) {
|
|
|
84
85
|
// it early-returns when the scene has no emitters, so the mesh-only path is unaffected. Runs inside
|
|
85
86
|
// this still-open render pass (it reads the pass off the render-state runtime).
|
|
86
87
|
drawWgpuScene3DParticleEmitter3Ds(state, scene, camera, lights);
|
|
88
|
+
runtime.activeBlendMode = null;
|
|
87
89
|
runtime.activeBlendedRun = false;
|
|
88
90
|
runtime.activeColorAdjustmentRun = false;
|
|
89
91
|
runtime.activeColorMatrixRun = false;
|
|
@@ -105,6 +107,7 @@ function drawEntries(state, entries, camera, blended) {
|
|
|
105
107
|
const colorAdjustmentFeatureEnabled = getWgpuRenderStateRuntime(state).wgpuColorAdjustmentMaterialFeature != null;
|
|
106
108
|
for (let i = 0; i < entries.length; i++) {
|
|
107
109
|
const entry = entries[i];
|
|
110
|
+
runtime.activeBlendMode = blended ? getMaterialBlendMode(entry.material) : null;
|
|
108
111
|
const worldMatrix = entry.worldMatrix;
|
|
109
112
|
setMatrix3NormalFromMatrix4(scratchNormalMatrix, worldMatrix);
|
|
110
113
|
const skinned = isWgpuMeshGpuSkinned(state, entry.mesh);
|
|
@@ -141,6 +144,14 @@ function drawEntries(state, entries, camera, blended) {
|
|
|
141
144
|
function isBlendedMaterial(material) {
|
|
142
145
|
return material.alphaMode === 'blend';
|
|
143
146
|
}
|
|
147
|
+
// A material-authored blend equation applies only when alphaMode itself requests blending. A node fade
|
|
148
|
+
// still enters the transparent pass for an opaque/masked material, but retains ordinary Normal over.
|
|
149
|
+
// Unknown material kinds routed through a registered renderer also degrade to Normal rather than
|
|
150
|
+
// leaking an undefined string into WebGPU's immutable pipeline cache.
|
|
151
|
+
function getMaterialBlendMode(material) {
|
|
152
|
+
const surface = material;
|
|
153
|
+
return surface.alphaMode === 'blend' && typeof surface.blendMode === 'string' ? surface.blendMode : BlendMode.Normal;
|
|
154
|
+
}
|
|
144
155
|
function hasExcessForwardLights(lights) {
|
|
145
156
|
return (lights.point?.length ?? 0) > MAX_FORWARD_LIGHTS || (lights.spot?.length ?? 0) > MAX_FORWARD_LIGHTS;
|
|
146
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawWgpuScene3D.js","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iCAAiC,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAmBnF,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"drawWgpuScene3D.js","sourceRoot":"","sources":["../src/drawWgpuScene3D.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { WgpuMeshMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare const emissiveWgpuMeshMaterialRenderer: WgpuMeshMaterialRenderer;
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function registerWgpuEmissiveMaterial(state: WgpuRenderState): void;
|
|
4
4
|
//# sourceMappingURL=emissiveWgpuMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emissiveWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/emissiveWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"emissiveWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/emissiveWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAQV,wBAAwB,EACxB,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAWlC,eAAO,MAAM,gCAAgC,EAAE,wBAuC9C,CAAC;AAIF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAIzE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { unpackColorToLinear } from '@flighthq/color/contract';
|
|
2
|
-
import { getWgpuRenderStateRuntime } from '@flighthq/render-wgpu/contract';
|
|
2
|
+
import { getWgpuRenderStateRuntime, registerWgpuBitmapTextureResolver, registerWgpuImageTextureResolver, } from '@flighthq/render-wgpu/contract';
|
|
3
3
|
import { EmissiveMaterialKind } from '@flighthq/types/contract';
|
|
4
4
|
import { registerWgpuMeshMaterialRenderer } from './wgpuMeshMaterialRegistry';
|
|
5
5
|
import { beginWgpuMeshDraw, drawWgpuMeshSubset, isWgpuTextureReady, writeWgpuFrameUniform } from './wgpuMeshPipeline';
|
|
@@ -7,7 +7,7 @@ import { bindWgpuUnlitSurface, ensureWgpuUnlitPipeline } from './wgpuUnlitPrelud
|
|
|
7
7
|
// The built-in Emissive forward renderer (WgpuMeshMaterialRenderer for EmissiveMaterialKind) — the WGSL
|
|
8
8
|
// mirror of emissiveGlMeshMaterialRenderer. Self-illuminating, lighting-independent: binds the linear
|
|
9
9
|
// emissive color scaled by emissiveStrength through the shared unlit pipeline (values > 1 drive bloom
|
|
10
|
-
// over the rgba16float scene target). See
|
|
10
|
+
// over the rgba16float scene target). See registerWgpuEmissiveMaterial.
|
|
11
11
|
export const emissiveWgpuMeshMaterialRenderer = {
|
|
12
12
|
bind(state, material, _lights, camera) {
|
|
13
13
|
const stateRuntime = getWgpuRenderStateRuntime(state);
|
|
@@ -35,7 +35,9 @@ export const emissiveWgpuMeshMaterialRenderer = {
|
|
|
35
35
|
};
|
|
36
36
|
// Registers the built-in Emissive renderer for EmissiveMaterialKind on this state. Opt-in (no top-level
|
|
37
37
|
// side effect); call once per WgpuRenderState before drawWgpuScene3D so meshes with EmissiveMaterials draw.
|
|
38
|
-
export function
|
|
38
|
+
export function registerWgpuEmissiveMaterial(state) {
|
|
39
|
+
registerWgpuBitmapTextureResolver(state);
|
|
40
|
+
registerWgpuImageTextureResolver(state);
|
|
39
41
|
registerWgpuMeshMaterialRenderer(state, EmissiveMaterialKind, emissiveWgpuMeshMaterialRenderer);
|
|
40
42
|
}
|
|
41
43
|
function defineKeyForMaterial(material) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emissiveWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/emissiveWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"emissiveWgpuMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/emissiveWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Scene3DKindUsage, SceneCoverageEntry, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
|
+
export declare function explainWgpuScene3DCoverage(out: SceneCoverageEntry[], state: WgpuRenderState, usage: Readonly<Scene3DKindUsage>): void;
|
|
3
|
+
export declare function hasWgpuScene3DCoverage(state: WgpuRenderState, usage: Readonly<Scene3DKindUsage>): boolean;
|
|
4
|
+
//# sourceMappingURL=explainWgpuScene3DCoverage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainWgpuScene3DCoverage.d.ts","sourceRoot":"","sources":["../src/explainWgpuScene3DCoverage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAYtG,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,kBAAkB,EAAE,EACzB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAChC,IAAI,CAGN;AAID,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAEzG"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { getWgpuRenderStateRuntime } from '@flighthq/render-wgpu/contract';
|
|
2
|
+
import { resolveModifier } from '@flighthq/shading/contract';
|
|
3
|
+
import { RenderRegistry, SceneCoverage, StandardMaterialKind } from '@flighthq/types/contract';
|
|
4
|
+
import { getWgpuScene3DRuntime } from './wgpuScene3DRuntime';
|
|
5
|
+
// Clears `out`, then reports every kind in `usage` with how well this state is wired for it — satisfied
|
|
6
|
+
// ones included, so one call is a complete manifest. The WebGPU twin of explainGlScene3DCoverage, and
|
|
7
|
+
// the answering half of the scene↔render seam: @flighthq/scene3d says what a document uses, and this —
|
|
8
|
+
// the package that owns the WebGPU registries — says which of those it can serve.
|
|
9
|
+
//
|
|
10
|
+
// Proactive, unlike explainRenderRegistryMisses, which reports what already missed during a frame. Ask
|
|
11
|
+
// this after loading a document and before the first draw, while the answer is still actionable.
|
|
12
|
+
export function explainWgpuScene3DCoverage(out, state, usage) {
|
|
13
|
+
out.length = 0;
|
|
14
|
+
collectWgpuScene3DCoverageGaps(out, state, usage, false);
|
|
15
|
+
}
|
|
16
|
+
// Whether this state can draw every kind `usage` names, counting a fallback as a shortfall — the
|
|
17
|
+
// authored material is not what would appear. Stops at the first shortfall and never allocates.
|
|
18
|
+
export function hasWgpuScene3DCoverage(state, usage) {
|
|
19
|
+
return !collectWgpuScene3DCoverageGaps(null, state, usage, true);
|
|
20
|
+
}
|
|
21
|
+
// The single implementation both tiers read, so the boolean can never disagree with the explanation.
|
|
22
|
+
// `found` counts only real shortfalls, so appending satisfied entries never flips the predicate.
|
|
23
|
+
function collectWgpuScene3DCoverageGaps(out, state, usage, stopAtFirst) {
|
|
24
|
+
let found = false;
|
|
25
|
+
// drawScene3D resolves a subset's material by kind, then falls back to whatever is registered for
|
|
26
|
+
// StandardMaterialKind, then skips the subset. So an unregistered kind may still draw — as the
|
|
27
|
+
// standard material — which is a downgrade worth naming rather than a silence.
|
|
28
|
+
const materials = getWgpuScene3DRuntime(state).materialRegistry;
|
|
29
|
+
const hasStandard = materials.has(StandardMaterialKind);
|
|
30
|
+
for (let i = 0; i < usage.materialKinds.length; i++) {
|
|
31
|
+
const kind = usage.materialKinds[i];
|
|
32
|
+
if (materials.has(kind)) {
|
|
33
|
+
out?.push({ coverage: SceneCoverage.Satisfied, kind, registry: RenderRegistry.MaterialRenderer });
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
found = true;
|
|
37
|
+
if (stopAtFirst)
|
|
38
|
+
return true;
|
|
39
|
+
out?.push({
|
|
40
|
+
coverage: hasStandard ? SceneCoverage.Fallback : SceneCoverage.Missing,
|
|
41
|
+
kind,
|
|
42
|
+
registry: RenderRegistry.MaterialRenderer,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
// A texture whose source kind has no resolver samples nothing, so the map is simply absent from the
|
|
46
|
+
// draw — the untextured-model failure this seam exists to surface before it reaches a frame.
|
|
47
|
+
const resolvers = getWgpuRenderStateRuntime(state).wgpuTextureResolverRegistry;
|
|
48
|
+
for (let i = 0; i < usage.textureSourceKinds.length; i++) {
|
|
49
|
+
const kind = usage.textureSourceKinds[i];
|
|
50
|
+
if (resolvers?.has(kind) === true) {
|
|
51
|
+
out?.push({ coverage: SceneCoverage.Satisfied, kind, registry: RenderRegistry.TextureResolver });
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
found = true;
|
|
55
|
+
if (stopAtFirst)
|
|
56
|
+
return true;
|
|
57
|
+
out?.push({ coverage: SceneCoverage.Missing, kind, registry: RenderRegistry.TextureResolver });
|
|
58
|
+
}
|
|
59
|
+
// The shaded compiler assembles base + ordered modifiers into ONE program, so an unregistered snippet
|
|
60
|
+
// does not fail a single lookup — it fails the whole material. A modifier kind is therefore always
|
|
61
|
+
// Missing, never a fallback.
|
|
62
|
+
const snippets = getWgpuScene3DRuntime(state).modifierSnippetRegistry;
|
|
63
|
+
for (let i = 0; i < usage.modifierKinds.length; i++) {
|
|
64
|
+
const kind = usage.modifierKinds[i];
|
|
65
|
+
if (snippets !== null && resolveModifier(snippets, kind) !== null) {
|
|
66
|
+
out?.push({ coverage: SceneCoverage.Satisfied, kind, registry: RenderRegistry.ModifierSnippet });
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
found = true;
|
|
70
|
+
if (stopAtFirst)
|
|
71
|
+
return true;
|
|
72
|
+
out?.push({ coverage: SceneCoverage.Missing, kind, registry: RenderRegistry.ModifierSnippet });
|
|
73
|
+
}
|
|
74
|
+
// usage.nodeKinds is deliberately NOT checked. The 3D pipeline collects meshes structurally
|
|
75
|
+
// (`geometry != null` in collectVisibleMeshes) rather than through the node-renderer registry, so no
|
|
76
|
+
// 3D node kind is registered against anything and reporting one would send a caller looking for a
|
|
77
|
+
// registrar that does not exist. That the scene reports node kinds anyway is correct — deciding they
|
|
78
|
+
// need nothing is this layer's call, not the scene's.
|
|
79
|
+
return found;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=explainWgpuScene3DCoverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainWgpuScene3DCoverage.js","sourceRoot":"","sources":["../src/explainWgpuScene3DCoverage.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { bakeWgpuEnvironmentIbl, beginWgpuMeshDraw, drawWgpuEnvironmentSkybox, drawWgpuScene3D, drawWgpuScene3DShadowMap, ensureWgpuShadowSampleLayout, prepareWgpuScene3DForwardLights,
|
|
1
|
+
export { bakeWgpuEnvironmentIbl, beginWgpuMeshDraw, drawWgpuEnvironmentSkybox, drawWgpuScene3D, drawWgpuScene3DShadowMap, ensureWgpuShadowSampleLayout, prepareWgpuScene3DForwardLights, registerWgpuBlinnPhongMaterial, registerBuiltInWgpuModifierSnippets, registerWgpuCustomShaderMaterial, registerWgpuDepthMaterial, registerWgpuEmissiveMaterial, registerWgpuLambertMaterial, registerWgpuMatcapMaterial, registerWgpuNormalMaterial, registerWgpuPhongMaterial, registerWgpuShadedMaterial, registerWgpuSpecularGlossinessPbrMaterial, registerWgpuStandardPbrMaterial, registerWgpuToonMaterial, registerWgpuUnlitMaterial, registerWgpuVertexColorMaterial, registerWgpuCustomMaterialShader, registerWgpuGpuSkinning, registerWgpuWireframeMaterial, setWgpuScene3DTime, standardPbrWgpuMeshMaterialRenderer, unlitWgpuMeshMaterialRenderer, writeWgpuDrawUniform, } from './contract';
|
|
2
2
|
//# 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,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,EACnC,gCAAgC,EAChC,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,yCAAyC,EACzC,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,gCAAgC,EAChC,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,mCAAmC,EACnC,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { bakeWgpuEnvironmentIbl, beginWgpuMeshDraw, drawWgpuEnvironmentSkybox, drawWgpuScene3D, drawWgpuScene3DShadowMap, ensureWgpuShadowSampleLayout, prepareWgpuScene3DForwardLights,
|
|
1
|
+
export { bakeWgpuEnvironmentIbl, beginWgpuMeshDraw, drawWgpuEnvironmentSkybox, drawWgpuScene3D, drawWgpuScene3DShadowMap, ensureWgpuShadowSampleLayout, prepareWgpuScene3DForwardLights, registerWgpuBlinnPhongMaterial, registerBuiltInWgpuModifierSnippets, registerWgpuCustomShaderMaterial, registerWgpuDepthMaterial, registerWgpuEmissiveMaterial, registerWgpuLambertMaterial, registerWgpuMatcapMaterial, registerWgpuNormalMaterial, registerWgpuPhongMaterial, registerWgpuShadedMaterial, registerWgpuSpecularGlossinessPbrMaterial, registerWgpuStandardPbrMaterial, registerWgpuToonMaterial, registerWgpuUnlitMaterial, registerWgpuVertexColorMaterial, registerWgpuCustomMaterialShader, registerWgpuGpuSkinning, registerWgpuWireframeMaterial, setWgpuScene3DTime, standardPbrWgpuMeshMaterialRenderer, unlitWgpuMeshMaterialRenderer, writeWgpuDrawUniform, } from './contract';
|
|
2
2
|
//# 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,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,EACnC,gCAAgC,EAChC,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,yCAAyC,EACzC,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,gCAAgC,EAChC,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,mCAAmC,EACnC,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { WgpuMeshMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare const lambertWgpuMeshMaterialRenderer: WgpuMeshMaterialRenderer;
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function registerWgpuLambertMaterial(state: WgpuRenderState): void;
|
|
4
4
|
//# sourceMappingURL=lambertWgpuMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambertWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/lambertWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lambertWgpuMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/lambertWgpuMeshMaterialRenderer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAQV,wBAAwB,EACxB,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAclC,eAAO,MAAM,+BAA+B,EAAE,wBA2C7C,CAAC;AAIF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAIxE"}
|