@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.
Files changed (46) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +70 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/instanced-render.d.ts +73 -0
  5. package/dist/instanced-render.d.ts.map +1 -0
  6. package/dist/instanced-render.js +163 -0
  7. package/dist/instanced-render.js.map +1 -0
  8. package/dist/overlay-routing.d.ts +1 -0
  9. package/dist/overlay-routing.d.ts.map +1 -1
  10. package/dist/overlay-routing.js +1 -1
  11. package/dist/overlay-routing.js.map +1 -1
  12. package/dist/picker.d.ts +5 -2
  13. package/dist/picker.d.ts.map +1 -1
  14. package/dist/picker.js +123 -5
  15. package/dist/picker.js.map +1 -1
  16. package/dist/picking-manager.d.ts.map +1 -1
  17. package/dist/picking-manager.js +2 -2
  18. package/dist/picking-manager.js.map +1 -1
  19. package/dist/pipeline.d.ts +15 -0
  20. package/dist/pipeline.d.ts.map +1 -1
  21. package/dist/pipeline.js +119 -1
  22. package/dist/pipeline.js.map +1 -1
  23. package/dist/point-picker.d.ts +10 -2
  24. package/dist/point-picker.d.ts.map +1 -1
  25. package/dist/point-picker.js +17 -2
  26. package/dist/point-picker.js.map +1 -1
  27. package/dist/raycast-engine.d.ts +3 -0
  28. package/dist/raycast-engine.d.ts.map +1 -1
  29. package/dist/raycast-engine.js +92 -5
  30. package/dist/raycast-engine.js.map +1 -1
  31. package/dist/scene-geometry.d.ts +21 -0
  32. package/dist/scene-geometry.d.ts.map +1 -1
  33. package/dist/scene-geometry.js +38 -1
  34. package/dist/scene-geometry.js.map +1 -1
  35. package/dist/scene.d.ts +116 -0
  36. package/dist/scene.d.ts.map +1 -1
  37. package/dist/scene.js +565 -6
  38. package/dist/scene.js.map +1 -1
  39. package/dist/shaders/main.wgsl.d.ts +1 -1
  40. package/dist/shaders/main.wgsl.d.ts.map +1 -1
  41. package/dist/shaders/main.wgsl.js +102 -16
  42. package/dist/shaders/main.wgsl.js.map +1 -1
  43. package/dist/shaders/textured.wgsl.d.ts.map +1 -1
  44. package/dist/shaders/textured.wgsl.js +17 -6
  45. package/dist/shaders/textured.wgsl.js.map +1 -1
  46. 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8XzB,CAAC"}
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":"AA4FA,eAAO,MAAM,oBAAoB,QAAyB,CAAC"}
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
- s = replaceOnce(s, ' @location(2) entityId: u32,\n }\n\n struct VertexOutput {', ' @location(2) entityId: u32,\n @location(3) uv: vec2<f32>,\n }\n\n struct VertexOutput {', 'VertexInput uv');
41
- // 3. UV interpolant on VertexOutput.
42
- s = replaceOnce(s, ' @location(3) viewPos: vec3<f32>, // For edge detection\n }', ' @location(3) viewPos: vec3<f32>, // For edge detection\n @location(4) uv: vec2<f32>,\n }', 'VertexOutput uv');
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
- s = replaceOnce(s, 'var baseColor = uniforms.baseColor.rgb;', 'let albedoTexel = textureSample(albedoTex, albedoSampler, input.uv);\n' +
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 * uniforms.baseColor.rgb;', 'albedo sample');
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,yCAAyC;IACzC,CAAC,GAAG,WAAW,CACb,CAAC,EACD,mFAAmF,EACnF,0HAA0H,EAC1H,gBAAgB,CACjB,CAAC;IAEF,qCAAqC;IACrC,CAAC,GAAG,WAAW,CACb,CAAC,EACD,8EAA8E,EAC9E,qHAAqH,EACrH,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,CAAC,GAAG,WAAW,CACb,CAAC,EACD,yCAAyC,EACzC,wEAAwE;QACtE,qDAAqD;QACrD,qEAAqE,EACvE,eAAe,CAChB,CAAC;IAEF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,EAAE,CAAC"}
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",
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.7.6",
16
+ "@ifc-lite/geometry": "^2.9.1",
17
17
  "@ifc-lite/spatial": "^1.14.9"
18
18
  },
19
19
  "devDependencies": {