@ifc-lite/renderer 1.28.3 → 1.28.5
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.map +1 -1
- package/dist/index.js +70 -2
- package/dist/index.js.map +1 -1
- package/dist/instanced-render.d.ts +73 -0
- package/dist/instanced-render.d.ts.map +1 -0
- package/dist/instanced-render.js +163 -0
- package/dist/instanced-render.js.map +1 -0
- package/dist/overlay-routing.d.ts +1 -0
- package/dist/overlay-routing.d.ts.map +1 -1
- package/dist/overlay-routing.js +1 -1
- package/dist/overlay-routing.js.map +1 -1
- package/dist/picker.d.ts +5 -2
- package/dist/picker.d.ts.map +1 -1
- package/dist/picker.js +123 -5
- package/dist/picker.js.map +1 -1
- package/dist/picking-manager.d.ts.map +1 -1
- package/dist/picking-manager.js +2 -2
- package/dist/picking-manager.js.map +1 -1
- package/dist/pipeline.d.ts +15 -0
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +119 -1
- package/dist/pipeline.js.map +1 -1
- package/dist/point-picker.d.ts +10 -2
- package/dist/point-picker.d.ts.map +1 -1
- package/dist/point-picker.js +17 -2
- package/dist/point-picker.js.map +1 -1
- package/dist/raycast-engine.d.ts +3 -0
- package/dist/raycast-engine.d.ts.map +1 -1
- package/dist/raycast-engine.js +92 -5
- package/dist/raycast-engine.js.map +1 -1
- package/dist/scene-geometry.d.ts +21 -0
- package/dist/scene-geometry.d.ts.map +1 -1
- package/dist/scene-geometry.js +38 -1
- package/dist/scene-geometry.js.map +1 -1
- package/dist/scene.d.ts +116 -0
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +565 -6
- package/dist/scene.js.map +1 -1
- package/dist/shaders/main.wgsl.d.ts +1 -1
- package/dist/shaders/main.wgsl.d.ts.map +1 -1
- package/dist/shaders/main.wgsl.js +102 -16
- package/dist/shaders/main.wgsl.js.map +1 -1
- package/dist/shaders/textured.wgsl.d.ts.map +1 -1
- package/dist/shaders/textured.wgsl.js +17 -6
- package/dist/shaders/textured.wgsl.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.wgsl.js","sourceRoot":"","sources":["../../src/shaders/main.wgsl.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"main.wgsl.js","sourceRoot":"","sources":["../../src/shaders/main.wgsl.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAodzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textured.wgsl.d.ts","sourceRoot":"","sources":["../../src/shaders/textured.wgsl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"textured.wgsl.d.ts","sourceRoot":"","sources":["../../src/shaders/textured.wgsl.ts"],"names":[],"mappings":"AAuGA,eAAO,MAAM,oBAAoB,QAAyB,CAAC"}
|
|
@@ -36,10 +36,17 @@ function deriveTexturedShader() {
|
|
|
36
36
|
s = replaceOnce(s, '@binding(0) @group(0) var<uniform> uniforms: Uniforms;', '@binding(0) @group(0) var<uniform> uniforms: Uniforms;\n' +
|
|
37
37
|
' @binding(1) @group(0) var albedoTex: texture_2d<f32>;\n' +
|
|
38
38
|
' @binding(2) @group(0) var albedoSampler: sampler;', 'uniform binding');
|
|
39
|
-
// 2. UV vertex attribute on VertexInput.
|
|
40
|
-
|
|
41
|
-
// 3
|
|
42
|
-
|
|
39
|
+
// 2. UV vertex attribute on VertexInput. Placed at @location(10), NOT 3-9:
|
|
40
|
+
// main.wgsl also declares vs_instanced + InstanceInput at vertex-input
|
|
41
|
+
// @location 3..9 (mat4 3-6, entityId 7, colour 8, selected flag 9), which
|
|
42
|
+
// this derived module still contains (unused by the textured pipeline). A uv
|
|
43
|
+
// in 3..9 would collide with InstanceInput in vs_instanced's input interface
|
|
44
|
+
// = a shader-creation error. @10 is clear of both the per-vertex inputs
|
|
45
|
+
// (0..2) and the per-instance inputs (3..9). The textured pipeline's slot-0
|
|
46
|
+
// uv attribute uses shaderLocation 10 to match.
|
|
47
|
+
s = replaceOnce(s, ' @location(2) entityId: u32,\n }\n\n struct VertexOutput {', ' @location(2) entityId: u32,\n @location(10) uv: vec2<f32>,\n }\n\n struct VertexOutput {', 'VertexInput uv');
|
|
48
|
+
// 3. UV interpolant on VertexOutput (after the @location(5) instSelected varying).
|
|
49
|
+
s = replaceOnce(s, ' @location(5) @interpolate(flat) instSelected: u32,\n }', ' @location(5) @interpolate(flat) instSelected: u32,\n @location(6) uv: vec2<f32>,\n }', 'VertexOutput uv');
|
|
43
50
|
// 4. Pass UV through the vertex shader.
|
|
44
51
|
s = replaceOnce(s, ' output.entityId = input.entityId;', ' output.entityId = input.entityId;\n output.uv = input.uv;', 'vs_main uv passthrough');
|
|
45
52
|
// 5. Sample the texture; multiply by the authored tint (white = passthrough).
|
|
@@ -48,9 +55,13 @@ function deriveTexturedShader() {
|
|
|
48
55
|
// so without this RGBA textures with transparent regions would render
|
|
49
56
|
// fully opaque. (Partial translucency would need a transparent textured
|
|
50
57
|
// pipeline — out of scope for the cutout case.)
|
|
51
|
-
|
|
58
|
+
// main.wgsl now reads the per-draw albedo from the `input.color` varying
|
|
59
|
+
// (vs_main writes uniforms.baseColor into it). For textured meshes input.color
|
|
60
|
+
// == uniforms.baseColor (drawn via vs_main, never instanced), so multiplying
|
|
61
|
+
// the texel by input.color keeps the authored-tint semantics.
|
|
62
|
+
s = replaceOnce(s, 'var baseColor = input.color.rgb;', 'let albedoTexel = textureSample(albedoTex, albedoSampler, input.uv);\n' +
|
|
52
63
|
' if (albedoTexel.a < 0.004) { discard; }\n' +
|
|
53
|
-
' var baseColor = albedoTexel.rgb *
|
|
64
|
+
' var baseColor = albedoTexel.rgb * input.color.rgb;', 'albedo sample');
|
|
54
65
|
return s;
|
|
55
66
|
}
|
|
56
67
|
export const texturedShaderSource = deriveTexturedShader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textured.wgsl.js","sourceRoot":"","sources":["../../src/shaders/textured.wgsl.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,SAAS,WAAW,CAAC,GAAW,EAAE,IAAY,EAAE,IAAY,EAAE,KAAa;IACzE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,0BAA0B,KAAK,4EAA4E,CAC5G,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,2CAA2C,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,oBAAoB;IAC3B,IAAI,CAAC,GAAG,gBAAgB,CAAC;IAEzB,uEAAuE;IACvE,CAAC,GAAG,WAAW,CACb,CAAC,EACD,wDAAwD,EACxD,0DAA0D;QACxD,iEAAiE;QACjE,2DAA2D,EAC7D,iBAAiB,CAClB,CAAC;IAEF,
|
|
1
|
+
{"version":3,"file":"textured.wgsl.js","sourceRoot":"","sources":["../../src/shaders/textured.wgsl.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,SAAS,WAAW,CAAC,GAAW,EAAE,IAAY,EAAE,IAAY,EAAE,KAAa;IACzE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,0BAA0B,KAAK,4EAA4E,CAC5G,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,2CAA2C,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,oBAAoB;IAC3B,IAAI,CAAC,GAAG,gBAAgB,CAAC;IAEzB,uEAAuE;IACvE,CAAC,GAAG,WAAW,CACb,CAAC,EACD,wDAAwD,EACxD,0DAA0D;QACxD,iEAAiE;QACjE,2DAA2D,EAC7D,iBAAiB,CAClB,CAAC;IAEF,2EAA2E;IAC3E,0EAA0E;IAC1E,6EAA6E;IAC7E,gFAAgF;IAChF,gFAAgF;IAChF,2EAA2E;IAC3E,+EAA+E;IAC/E,mDAAmD;IACnD,CAAC,GAAG,WAAW,CACb,CAAC,EACD,mFAAmF,EACnF,2HAA2H,EAC3H,gBAAgB,CACjB,CAAC;IAEF,mFAAmF;IACnF,CAAC,GAAG,WAAW,CACb,CAAC,EACD,yEAAyE,EACzE,gHAAgH,EAChH,iBAAiB,CAClB,CAAC;IAEF,wCAAwC;IACxC,CAAC,GAAG,WAAW,CACb,CAAC,EACD,6CAA6C,EAC7C,8EAA8E,EAC9E,wBAAwB,CACzB,CAAC;IAEF,8EAA8E;IAC9E,6EAA6E;IAC7E,+EAA+E;IAC/E,yEAAyE;IACzE,2EAA2E;IAC3E,mDAAmD;IACnD,yEAAyE;IACzE,+EAA+E;IAC/E,6EAA6E;IAC7E,8DAA8D;IAC9D,CAAC,GAAG,WAAW,CACb,CAAC,EACD,kCAAkC,EAClC,wEAAwE;QACtE,qDAAqD;QACrD,8DAA8D,EAChE,eAAe,CAChB,CAAC;IAEF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/renderer",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.5",
|
|
4
4
|
"description": "WebGPU renderer for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@ifc-lite/geometry": "^2.
|
|
16
|
+
"@ifc-lite/geometry": "^2.9.1",
|
|
17
17
|
"@ifc-lite/spatial": "^1.14.9"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|