@ifc-lite/geometry 7.5.2 → 7.6.0

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 (67) hide show
  1. package/dist/analytic-descriptions.d.ts +54 -0
  2. package/dist/analytic-descriptions.d.ts.map +1 -0
  3. package/dist/analytic-descriptions.js +5 -0
  4. package/dist/analytic-descriptions.js.map +1 -0
  5. package/dist/byte-streaming-prepass-result.d.ts +3 -0
  6. package/dist/byte-streaming-prepass-result.d.ts.map +1 -1
  7. package/dist/geometry-coordinate.d.ts.map +1 -1
  8. package/dist/geometry-coordinate.js +3 -0
  9. package/dist/geometry-coordinate.js.map +1 -1
  10. package/dist/geometry-parallel.d.ts.map +1 -1
  11. package/dist/geometry-parallel.js +12 -41
  12. package/dist/geometry-parallel.js.map +1 -1
  13. package/dist/geometry.worker.d.ts +3 -0
  14. package/dist/geometry.worker.d.ts.map +1 -1
  15. package/dist/geometry.worker.js +16 -6
  16. package/dist/geometry.worker.js.map +1 -1
  17. package/dist/ifc-lite-bridge.d.ts +10 -16
  18. package/dist/ifc-lite-bridge.d.ts.map +1 -1
  19. package/dist/ifc-lite-bridge.js +13 -16
  20. package/dist/ifc-lite-bridge.js.map +1 -1
  21. package/dist/index.d.ts +11 -16
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +20 -23
  24. package/dist/index.js.map +1 -1
  25. package/dist/mesh-specular.d.ts +15 -0
  26. package/dist/mesh-specular.d.ts.map +1 -0
  27. package/dist/mesh-specular.js +20 -0
  28. package/dist/mesh-specular.js.map +1 -0
  29. package/dist/packed-instanced-decoder.d.ts +9 -0
  30. package/dist/packed-instanced-decoder.d.ts.map +1 -1
  31. package/dist/packed-instanced-decoder.js +12 -1
  32. package/dist/packed-instanced-decoder.js.map +1 -1
  33. package/dist/remesh/index.d.ts +7 -0
  34. package/dist/remesh/index.d.ts.map +1 -0
  35. package/dist/remesh/index.js +10 -0
  36. package/dist/remesh/index.js.map +1 -0
  37. package/dist/remesh/remesh-client.d.ts +60 -0
  38. package/dist/remesh/remesh-client.d.ts.map +1 -0
  39. package/dist/remesh/remesh-client.js +131 -0
  40. package/dist/remesh/remesh-client.js.map +1 -0
  41. package/dist/remesh/remesh-core.d.ts +96 -0
  42. package/dist/remesh/remesh-core.d.ts.map +1 -0
  43. package/dist/remesh/remesh-core.js +94 -0
  44. package/dist/remesh/remesh-core.js.map +1 -0
  45. package/dist/remesh/remesh-protocol.d.ts +50 -0
  46. package/dist/remesh/remesh-protocol.d.ts.map +1 -0
  47. package/dist/remesh/remesh-protocol.js +32 -0
  48. package/dist/remesh/remesh-protocol.js.map +1 -0
  49. package/dist/remesh/remesh.worker.d.ts +2 -0
  50. package/dist/remesh/remesh.worker.d.ts.map +1 -0
  51. package/dist/remesh/remesh.worker.js +102 -0
  52. package/dist/remesh/remesh.worker.js.map +1 -0
  53. package/dist/shard-style-merge.d.ts +27 -0
  54. package/dist/shard-style-merge.d.ts.map +1 -0
  55. package/dist/shard-style-merge.js +54 -0
  56. package/dist/shard-style-merge.js.map +1 -0
  57. package/dist/style-finishes.d.ts +25 -0
  58. package/dist/style-finishes.d.ts.map +1 -0
  59. package/dist/style-finishes.js +32 -0
  60. package/dist/style-finishes.js.map +1 -0
  61. package/dist/types.d.ts +11 -0
  62. package/dist/types.d.ts.map +1 -1
  63. package/dist/types.js.map +1 -1
  64. package/dist/worker-prepass-source.d.ts +9 -0
  65. package/dist/worker-prepass-source.d.ts.map +1 -1
  66. package/dist/worker-prepass-source.js.map +1 -1
  67. package/package.json +10 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shard-style-merge.js","sourceRoot":"","sources":["../src/shard-style-merge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { ByteStreamingPrePassResult } from './byte-streaming-prepass-result.js';
2
+ /**
3
+ * #5582: how a prepass's `styleFinishes` reaches the batch. The
4
+ * `processGeometryBatch*` signatures carry only `styleIds` + `styleColors`, so
5
+ * the finish goes to the IfcAPI instance separately, via `setStyleFinishes`,
6
+ * before its first batch with that style wire. Optional: an older wasm has
7
+ * neither the method nor the array, and then nothing is sent.
8
+ */
9
+ export interface StyleFinishesApi {
10
+ setStyleFinishes?: (styleIds: Uint32Array, styleFinishes: Float32Array) => void;
11
+ }
12
+ /**
13
+ * Install `styleFinishes` on one IfcAPI instance, once. A repeat with the same
14
+ * array is a no-op: `setStyleFinishes` decodes the whole wire into a map, so
15
+ * re-sending it every batch would redo that decode every batch. A new
16
+ * instance (a recovery re-init) has no entry and gets the call. A missing
17
+ * array is sent as empty only when the instance holds another wire's
18
+ * finishes, so they cannot carry over.
19
+ */
20
+ export declare function applyStyleFinishes(api: object, styleIds: Uint32Array, styleFinishes: Float32Array | undefined): void;
21
+ /** `buildPrePassOnce`, then hand its finishes to the same instance. */
22
+ export declare function buildPrePassWithFinishes(api: {
23
+ buildPrePassOnce(data: Uint8Array): unknown;
24
+ }, buffer: Uint8Array): ByteStreamingPrePassResult;
25
+ //# sourceMappingURL=style-finishes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-finishes.d.ts","sourceRoot":"","sources":["../src/style-finishes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,KAAK,IAAI,CAAC;CACjF;AAOD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,YAAY,GAAG,SAAS,GACtC,IAAI,CAQN;AAED,uEAAuE;AACvE,wBAAgB,wBAAwB,CACtC,GAAG,EAAE;IAAE,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAA;CAAE,EACpD,MAAM,EAAE,UAAU,GACjB,0BAA0B,CAI5B"}
@@ -0,0 +1,32 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ const NO_FINISHES = new Float32Array(0);
5
+ /** The finishes array each IfcAPI instance currently holds. */
6
+ const appliedFinishes = new WeakMap();
7
+ /**
8
+ * Install `styleFinishes` on one IfcAPI instance, once. A repeat with the same
9
+ * array is a no-op: `setStyleFinishes` decodes the whole wire into a map, so
10
+ * re-sending it every batch would redo that decode every batch. A new
11
+ * instance (a recovery re-init) has no entry and gets the call. A missing
12
+ * array is sent as empty only when the instance holds another wire's
13
+ * finishes, so they cannot carry over.
14
+ */
15
+ export function applyStyleFinishes(api, styleIds, styleFinishes) {
16
+ const set = api.setStyleFinishes;
17
+ if (typeof set !== 'function')
18
+ return;
19
+ const next = styleFinishes ?? NO_FINISHES;
20
+ const prev = appliedFinishes.get(api);
21
+ if (prev === next || (prev === undefined && next.length === 0))
22
+ return;
23
+ set.call(api, styleIds, next);
24
+ appliedFinishes.set(api, next);
25
+ }
26
+ /** `buildPrePassOnce`, then hand its finishes to the same instance. */
27
+ export function buildPrePassWithFinishes(api, buffer) {
28
+ const prePass = api.buildPrePassOnce(buffer);
29
+ applyStyleFinishes(api, prePass.styleIds, prePass.styleFinishes);
30
+ return prePass;
31
+ }
32
+ //# sourceMappingURL=style-finishes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-finishes.js","sourceRoot":"","sources":["../src/style-finishes.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAe/D,MAAM,WAAW,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AAExC,+DAA+D;AAC/D,MAAM,eAAe,GAAG,IAAI,OAAO,EAAwB,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAW,EACX,QAAqB,EACrB,aAAuC;IAEvC,MAAM,GAAG,GAAI,GAAwB,CAAC,gBAAgB,CAAC;IACvD,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO;IACtC,MAAM,IAAI,GAAG,aAAa,IAAI,WAAW,CAAC;IAC1C,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO;IACvE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9B,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,wBAAwB,CACtC,GAAoD,EACpD,MAAkB;IAElB,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAA+B,CAAC;IAC3E,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -75,6 +75,17 @@ export interface MeshData {
75
75
  * in `apps/viewer/src/hooks/useIfcLoader.ts`), so a value read off this
76
76
  * field is always safe to resolve the same way as `expressId` (#3525). */
77
77
  materialId?: number;
78
+ /** IFC-authored metallic/roughness (#5582): `IfcSurfaceStyleRendering`'s
79
+ * `SpecularColour` / `SpecularHighlight` / `ReflectanceMethod`, mapped in
80
+ * Rust (`ifc_lite_processing::style::extract_surface_style_specular`).
81
+ * Either field, or the whole object, is absent when the file authored no
82
+ * evidence for it — the renderer's `packMeshMaterial` then keeps its own
83
+ * default (a matte dielectric, or glass roughness when the authored colour
84
+ * is translucent). */
85
+ material?: {
86
+ metallic?: number;
87
+ roughness?: number;
88
+ };
78
89
  /** Per-vertex texture coordinates (u, v pairs, 1:1 with positions), present
79
90
  * only for textured meshes (issue #961). */
80
91
  uvs?: Float32Array;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA2W/D,8EAA8E;AAC9E,gCAAgC;AAChC,2EAA2E;AAC3E,8EAA8E;AAE9E,kFAAkF;AAClF,6EAA6E;AAC7E,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAsX/D,8EAA8E;AAC9E,gCAAgC;AAChC,2EAA2E;AAC3E,8EAA8E;AAE9E,kFAAkF;AAClF,6EAA6E;AAC7E,cAAc,qBAAqB,CAAC"}
@@ -18,6 +18,15 @@ export interface ShardStyles {
18
18
  orphanColors: Float32Array;
19
19
  geomIds: Uint32Array;
20
20
  geomColors: Float32Array;
21
+ /** #5582 `[metallic, roughness]` per geometry id (NaN = unauthored); older wasm omits it. */
22
+ geomFinishes?: Float32Array;
23
+ }
24
+ /** The byte-taking prepass-assist entry points, plus the optional #5582 stash
25
+ * that feeds `finalizePrepassStyles`'s `styleFinishes` (absent on older wasm). */
26
+ export interface BytePrepassApi {
27
+ resolveStyledItemsShard(data: Uint8Array, spans: Uint32Array): ShardStyles;
28
+ finalizePrepassStyles(data: Uint8Array, ...args: FinalizeStyleArgs): Record<string, unknown>;
29
+ setPrepassGeometryFinishes?: (geomIds: Uint32Array, geomFinishes: Float32Array) => void;
21
30
  }
22
31
  export type FinalizeStyleArgs = [
23
32
  orphanIds: Uint32Array,
@@ -1 +1 @@
1
- {"version":3,"file":"worker-prepass-source.d.ts","sourceRoot":"","sources":["../src/worker-prepass-source.ts"],"names":[],"mappings":"AAMA,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC;IAC9E,iCAAiC,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,WAAW,CAAC;IACxE,+BAA+B,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,WAAW,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,WAAW;IAAE,YAAY,EAAE,YAAY;IAClD,OAAO,EAAE,WAAW;IAAE,UAAU,EAAE,YAAY;IAC9C,cAAc,EAAE,WAAW;IAAE,gBAAgB,EAAE,WAAW;IAC1D,gBAAgB,EAAE,WAAW;IAAE,SAAS,EAAE,WAAW;IACrD,UAAU,EAAE,WAAW;IAAE,cAAc,EAAE,WAAW;IACpD,mBAAmB,EAAE,MAAM;CAC5B,CAAC;AAEF;kFACkF;AAClF,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE1G"}
1
+ {"version":3,"file":"worker-prepass-source.d.ts","sourceRoot":"","sources":["../src/worker-prepass-source.ts"],"names":[],"mappings":"AAMA,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC;IAC9E,iCAAiC,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,WAAW,CAAC;IACxE,+BAA+B,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,WAAW,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,YAAY,CAAC;IACzB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;mFACmF;AACnF,MAAM,WAAW,cAAc;IAC7B,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAAC;IAC3E,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7F,0BAA0B,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;CACzF;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,WAAW;IAAE,YAAY,EAAE,YAAY;IAClD,OAAO,EAAE,WAAW;IAAE,UAAU,EAAE,YAAY;IAC9C,cAAc,EAAE,WAAW;IAAE,gBAAgB,EAAE,WAAW;IAC1D,gBAAgB,EAAE,WAAW;IAAE,SAAS,EAAE,WAAW;IACrD,UAAU,EAAE,WAAW;IAAE,cAAc,EAAE,WAAW;IACpD,mBAAmB,EAAE,MAAM;CAC5B,CAAC;AAEF;kFACkF;AAClF,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE1G"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker-prepass-source.js","sourceRoot":"","sources":["../src/worker-prepass-source.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAqC/D;kFACkF;AAClF,MAAM,UAAU,oBAAoB,CAAC,SAA6B,EAAE,SAA6B;IAC/F,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"worker-prepass-source.js","sourceRoot":"","sources":["../src/worker-prepass-source.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA+C/D;kFACkF;AAClF,MAAM,UAAU,oBAAoB,CAAC,SAA6B,EAAE,SAA6B;IAC/F,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC;AAC5D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/geometry",
3
- "version": "7.5.2",
3
+ "version": "7.6.0",
4
4
  "description": "Geometry processing bridge for IFC-Lite - exact-arithmetic CSG, streamed across workers",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,11 +25,16 @@
25
25
  "types": "./dist/rtc-rebase.d.ts",
26
26
  "import": "./dist/rtc-rebase.js",
27
27
  "default": "./dist/rtc-rebase.js"
28
+ },
29
+ "./remesh": {
30
+ "types": "./dist/remesh/index.d.ts",
31
+ "import": "./dist/remesh/index.js",
32
+ "default": "./dist/remesh/index.js"
28
33
  }
29
34
  },
30
35
  "dependencies": {
31
- "@ifc-lite/data": "^6.0.0",
32
- "@ifc-lite/wasm": "^10.1.2",
36
+ "@ifc-lite/data": "^6.1.0",
37
+ "@ifc-lite/wasm": "^10.2.0",
33
38
  "@ifc-lite/wasm-lifecycle": "^0.2.0"
34
39
  },
35
40
  "optionalDependencies": {
@@ -38,7 +43,7 @@
38
43
  "devDependencies": {
39
44
  "@tauri-apps/api": "^2.11.1",
40
45
  "typescript": "^6.0.3",
41
- "vitest": "^5.0.1"
46
+ "vitest": "^5.0.2"
42
47
  },
43
48
  "license": "MPL-2.0",
44
49
  "author": "Louis True",
@@ -64,7 +69,7 @@
64
69
  "README.md"
65
70
  ],
66
71
  "scripts": {
67
- "build": "pnpm exec tsc && node -e \"const fs=require('fs');for(const f of ['dist/index.js','dist/geometry-parallel.js']){if(!fs.existsSync(f))continue;fs.writeFileSync(f,fs.readFileSync(f,'utf8').replace(/geometry\\.worker\\.ts/g,'geometry.worker.js'))}\"",
72
+ "build": "pnpm exec tsc && node -e \"const fs=require('fs');for(const f of ['dist/index.js','dist/geometry-parallel.js','dist/remesh/remesh-client.js']){if(!fs.existsSync(f))continue;fs.writeFileSync(f,fs.readFileSync(f,'utf8').replace(/geometry\\.worker\\.ts/g,'geometry.worker.js').replace(/remesh\\.worker\\.ts/g,'remesh.worker.js'))}\"",
68
73
  "typecheck": "node ../../scripts/typecheck-tests.mjs",
69
74
  "dev": "pnpm exec tsc --watch",
70
75
  "test": "vitest run"