@ifc-lite/viewer 1.21.0 → 1.22.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 (87) hide show
  1. package/.turbo/turbo-build.log +57 -50
  2. package/.turbo/turbo-typecheck.log +1 -1
  3. package/CHANGELOG.md +10 -0
  4. package/dist/assets/arrow-fie-E7fe.js +20 -0
  5. package/dist/assets/ascii-points-source-bTjLVmUX.js +1 -0
  6. package/dist/assets/{basketViewActivator-Bzw51jhm.js → basketViewActivator-EHAhHlwN.js} +12 -13
  7. package/dist/assets/bcf-Bhx-K17f.js +281 -0
  8. package/dist/assets/{browser-C5TFR7sH.js → browser-CVf8ATeW.js} +6 -6
  9. package/dist/assets/cesium-B4ZIU9jS.js +17742 -0
  10. package/dist/assets/decode-worker-CYqSjk1n.js +172 -0
  11. package/dist/assets/e57-source-CQHxE8n3.js +1 -0
  12. package/dist/assets/emscripten-module.browser-DcFZLAUx.js +1 -0
  13. package/dist/assets/exporters-KTio0Tdm.js +5723 -0
  14. package/dist/assets/geometry-controller.worker-Cm2P_EJr.js +7 -0
  15. package/dist/assets/geometry.worker-DchLBqZ8.js +1 -0
  16. package/dist/assets/{ids-B7AXEv7h.js → ids-CS7VCFin.js} +5 -5
  17. package/dist/assets/ifc-lite-C6wEhXa6.js +7 -0
  18. package/dist/assets/{ifc-lite_bg-DlKs5-yM.wasm → ifc-lite_bg-CSeT3fNI.wasm} +0 -0
  19. package/dist/assets/{ifc-lite_bg-PqmRe3Ph.wasm → ifc-lite_bg-ns4cSnX2.wasm} +0 -0
  20. package/dist/assets/{index-DVNSvEMh.js → index-8k9h-ANq.js} +60997 -59926
  21. package/dist/assets/index-BZC2YaOP.css +1 -0
  22. package/dist/assets/index-HqAIQkr6.js +22 -0
  23. package/dist/assets/inline-worker-BpBzlmd6.js +1 -0
  24. package/dist/assets/las-BW6LIc_j.js +1 -0
  25. package/dist/assets/las-source-C_IGrgRq.js +1 -0
  26. package/dist/assets/laz-source-jj3xI5Y4.js +125 -0
  27. package/dist/assets/maplibre-gl-C4LXKM6c.js +808 -0
  28. package/dist/assets/{native-bridge-BiD01jI9.js → native-bridge-DNrEhx2R.js} +5 -8
  29. package/dist/assets/{parser.worker-Bnbrl6gy.js → parser.worker-BcjkIo89.js} +2 -2
  30. package/dist/assets/pcd-source-Ck0UnVDn.js +3 -0
  31. package/dist/assets/ply-source-C8jjyzxE.js +4 -0
  32. package/dist/assets/{exporters-u0sz2Upj.js → sandbox-BSn5MyEJ.js} +11745 -7412
  33. package/dist/assets/{server-client-DP8fMPY9.js → server-client-D-kU2XAF.js} +4 -4
  34. package/dist/assets/{three-CDRZThFA.js → three-DwNDHx9-.js} +163 -171
  35. package/dist/assets/wasm-bridge-Cha08LdC.js +1 -0
  36. package/dist/assets/{workerHelpers-CBbWSJmd.js → workerHelpers-pUUnk9Wc.js} +1 -1
  37. package/dist/assets/zip-BJqVbRkU.js +2 -0
  38. package/dist/index.html +10 -12
  39. package/package.json +11 -11
  40. package/src/components/mcp/PlaygroundChat.tsx +90 -52
  41. package/src/components/viewer/CesiumOverlay.tsx +150 -91
  42. package/src/components/viewer/CesiumPlacementEditor.tsx +1009 -0
  43. package/src/components/viewer/ChatPanel.tsx +76 -93
  44. package/src/components/viewer/EntityContextMenu.tsx +68 -10
  45. package/src/components/viewer/MainToolbar.tsx +33 -3
  46. package/src/components/viewer/ViewportContainer.tsx +70 -16
  47. package/src/components/viewer/ViewportOverlays.tsx +2 -98
  48. package/src/components/viewer/chat/ByokKeyModal.tsx +338 -0
  49. package/src/components/viewer/chat/ByokStreamingPill.tsx +62 -0
  50. package/src/components/viewer/chat/ByokTrustDiagram.tsx +192 -0
  51. package/src/components/viewer/properties/GeoreferencingPanel.tsx +49 -52
  52. package/src/components/viewer/properties/ModelMetadataPanel.tsx +55 -44
  53. package/src/components/viewer/selectionHandlers.ts +7 -1
  54. package/src/lib/geo/cesium-bridge.ts +86 -50
  55. package/src/lib/geo/cesium-placement.test.ts +244 -0
  56. package/src/lib/geo/cesium-placement.ts +231 -0
  57. package/src/lib/geo/effective-georef.test.ts +74 -1
  58. package/src/lib/geo/effective-georef.ts +40 -93
  59. package/src/lib/geo/geo-scale.ts +104 -0
  60. package/src/lib/geo/reproject.test.ts +130 -0
  61. package/src/lib/geo/reproject.ts +37 -12
  62. package/src/lib/geo/terrain-elevation.ts +198 -89
  63. package/src/lib/lens/adapter.ts +52 -6
  64. package/src/lib/llm/clipboard-detect.test.ts +150 -0
  65. package/src/lib/llm/clipboard-detect.ts +90 -0
  66. package/src/lib/llm/models.ts +28 -0
  67. package/src/lib/llm/stream-direct.ts +16 -4
  68. package/src/lib/llm/types.ts +8 -0
  69. package/src/services/playground-model.ts +55 -0
  70. package/src/store/index.ts +4 -5
  71. package/src/store/slices/cesiumSlice.ts +100 -19
  72. package/src/store.ts +3 -0
  73. package/dist/assets/arrow-CZ5kQ26f.js +0 -20
  74. package/dist/assets/bcf-4K724hw0.js +0 -281
  75. package/dist/assets/cesium-DUOzBlqv.js +0 -17817
  76. package/dist/assets/decode-worker-t2EGKAxO.js +0 -1708
  77. package/dist/assets/emscripten-module.browser-CY5t0Vfq.js +0 -1
  78. package/dist/assets/geometry-controller.worker-NH8pZmrU.js +0 -7
  79. package/dist/assets/geometry.worker-Bp4rW_R1.js +0 -1
  80. package/dist/assets/ifc-lite-DfZHk36-.js +0 -7
  81. package/dist/assets/index-CSWgTe1s.css +0 -1
  82. package/dist/assets/index-XwKzDuw6.js +0 -22
  83. package/dist/assets/maplibre-gl-CGLcoNXc.js +0 -811
  84. package/dist/assets/sandbox-DPD1ROr0.js +0 -9700
  85. package/dist/assets/wasm-bridge-CErti6zX.js +0 -1
  86. package/dist/assets/zip-DBEtpeu6.js +0 -12
  87. package/src/components/viewer/CesiumSettingsDialog.tsx +0 -100
@@ -1,74 +1,81 @@
1
1
 
2
- > @ifc-lite/viewer@1.21.0 build /home/runner/work/ifc-lite/ifc-lite/apps/viewer
2
+ > @ifc-lite/viewer@1.22.0 build /home/runner/work/ifc-lite/ifc-lite/apps/viewer
3
3
  > vite build
4
4
 
5
- vite v5.4.21 building for production...
5
+ vite v7.3.3 building client environment for production...
6
6
  transforming...
7
- ✓ 4517 modules transformed.
8
- ../../node_modules/.pnpm/protobufjs@8.0.0/node_modules/protobufjs/dist/minimal/protobuf.js (662:18): Use of eval in "../../node_modules/.pnpm/protobufjs@8.0.0/node_modules/protobufjs/dist/minimal/protobuf.js" is strongly discouraged as it poses security risks and may cause issues with minification.
7
+ ✓ 4530 modules transformed.
9
8
  rendering chunks...
10
- [plugin:vite:reporter] [plugin vite:reporter]
9
+ [plugin vite:reporter]
11
10
  (!) /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/utils/ifcConfig.ts is dynamically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/utils/acquireFileBuffer.ts but also statically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcFederation.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcLoader.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcServer.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/services/cacheService.ts, dynamic import will not move module into another chunk.
12
11
  
13
- [plugin:vite:reporter] [plugin vite:reporter]
12
+ [plugin vite:reporter]
14
13
  (!) /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/services/desktop-cache.ts is dynamically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcLoader.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcLoader.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcLoader.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcLoader.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcLoader.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcLoader.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/services/cacheService.ts but also statically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/services/desktop-native-metadata.ts, dynamic import will not move module into another chunk.
15
14
  
16
- [plugin:vite:reporter] [plugin vite:reporter]
15
+ [plugin vite:reporter]
17
16
  (!) /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/selectionHandlers.ts is dynamically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useKeyboardShortcuts.ts but also statically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/useMouseControls.ts, dynamic import will not move module into another chunk.
18
17
  
19
18
  computing gzip size...
20
- 
19
+ [vite-plugin-static-copy] Copied 4 items.
21
20
  dist/assets/laz-perf-Cvr_Lepg.js  0.06 kB
22
- (!) Some chunks are larger than 6000 kB after minification. Consider:
23
- dist/assets/workerHelpers-CBbWSJmd.js  1.21 kB
24
- - Using dynamic import() to code-split the application
25
- dist/index.html  3.79 kB │ gzip: 1.26 kB
26
- - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
27
- dist/assets/ifc-lite-DfZHk36-.js  20.18 kB
28
- - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
29
- dist/assets/geometry.worker-Bp4rW_R1.js  47.29 kB
30
- dist/assets/geometry-controller.worker-NH8pZmrU.js  52.16 kB
31
- dist/assets/index-XwKzDuw6.js  54.12 kB
32
- dist/assets/decode-worker-t2EGKAxO.js  69.76 kB
33
- dist/assets/laz-perf-DnSyzVYH.wasm  214.62 kB
34
- dist/assets/emscripten-module-NWak2PoB.wasm  518.88 kB
35
- dist/assets/parser.worker-Bnbrl6gy.js  937.91 kB
36
- dist/assets/emscripten-module-CGIn_cMh.wasm  1,070.86 kB
37
- dist/assets/ifc-lite_bg-DlKs5-yM.wasm  1,149.83 kB
38
- dist/assets/ifc-lite_bg-PqmRe3Ph.wasm  1,210.81 kB
39
- dist/assets/emscripten-module-DYvzWiHh.wasm  1,561.30 kB
40
- dist/assets/arrow2_bg-4Y7xYo54.wasm  5,000.39 kB
41
- dist/assets/arrow2_bg-BoXCojjR.wasm  5,001.30 kB
42
- dist/assets/emscripten-module-BTRCZGcB.wasm  6,623.52 kB
43
- dist/assets/esbuild-Cpd5nU_H.wasm 13,524.82 kB
21
+ dist/assets/workerHelpers-pUUnk9Wc.js  1.21 kB
22
+ dist/assets/las-source-C_IGrgRq.js  2.40 kB
23
+ dist/assets/las-BW6LIc_j.js  3.08 kB
24
+ dist/index.html  3.65 kB │ gzip: 1.24 kB
25
+ dist/assets/ascii-points-source-bTjLVmUX.js  3.98 kB
26
+ dist/assets/decode-worker-CYqSjk1n.js  5.03 kB
27
+ dist/assets/laz-source-jj3xI5Y4.js  5.35 kB
28
+ dist/assets/ply-source-C8jjyzxE.js  6.77 kB
29
+ dist/assets/pcd-source-Ck0UnVDn.js  7.31 kB
30
+ dist/assets/e57-source-CQHxE8n3.js  13.46 kB
31
+ dist/assets/ifc-lite-C6wEhXa6.js  46.74 kB
32
+ dist/assets/geometry.worker-DchLBqZ8.js  47.17 kB
33
+ dist/assets/geometry-controller.worker-Cm2P_EJr.js  52.43 kB
34
+ dist/assets/index-HqAIQkr6.js  54.10 kB
35
+ dist/assets/laz-perf-DnSyzVYH.wasm  214.62 kB │ gzip: 73.87 kB
36
+ dist/assets/emscripten-module-NWak2PoB.wasm  518.88 kB │ gzip: 242.69 kB
37
+ dist/assets/parser.worker-BcjkIo89.js  937.84 kB
38
+ dist/assets/emscripten-module-CGIn_cMh.wasm  1,070.86 kB │ gzip: 380.15 kB
39
+ dist/assets/ifc-lite_bg-CSeT3fNI.wasm  1,157.01 kB │ gzip: 422.85 kB
40
+ dist/assets/ifc-lite_bg-ns4cSnX2.wasm  1,218.00 kB │ gzip: 443.92 kB
41
+ dist/assets/emscripten-module-DYvzWiHh.wasm  1,561.30 kB │ gzip: 510.09 kB
42
+ dist/assets/arrow2_bg-4Y7xYo54.wasm  5,000.39 kB │ gzip: 1,544.22 kB
43
+ dist/assets/arrow2_bg-BoXCojjR.wasm  5,001.30 kB │ gzip: 1,544.26 kB
44
+ dist/assets/emscripten-module-BTRCZGcB.wasm  6,623.52 kB │ gzip: 859.33 kB
45
+ dist/assets/esbuild-Cpd5nU_H.wasm 13,524.82 kB │ gzip: 3,669.52 kB
44
46
  dist/assets/cesium-ADbP7waU.css  24.30 kB │ gzip: 5.49 kB
45
- dist/assets/index-CSWgTe1s.css  245.71 kB │ gzip: 35.88 kB
47
+ dist/assets/index-BZC2YaOP.css  248.99 kB │ gzip: 36.33 kB
48
+ dist/assets/inline-worker-BpBzlmd6.js  0.05 kB │ gzip: 0.07 kB
46
49
  dist/assets/tauri-dialog-stub-r7Wksg7o.js  0.05 kB │ gzip: 0.07 kB
47
50
  dist/assets/esbuild-COv63sf-.js  0.06 kB │ gzip: 0.08 kB
48
51
  dist/assets/tauri-core-stub-D8Fa-u43.js  0.11 kB │ gzip: 0.12 kB
49
52
  dist/assets/tauri-fs-stub-BdeRC7aK.js  0.13 kB │ gzip: 0.13 kB
50
53
  dist/assets/event-DIOks52T.js  1.42 kB │ gzip: 0.66 kB
51
- dist/assets/wasm-bridge-CErti6zX.js  1.66 kB │ gzip: 0.80 kB
52
- dist/assets/basketViewActivator-Bzw51jhm.js  2.31 kB │ gzip: 0.81 kB
54
+ dist/assets/wasm-bridge-Cha08LdC.js  1.61 kB │ gzip: 0.77 kB
55
+ dist/assets/basketViewActivator-EHAhHlwN.js  2.28 kB │ gzip: 0.79 kB
53
56
  dist/assets/ifc-cache-BAN4vcd4.js  2.77 kB │ gzip: 0.94 kB
54
57
  dist/assets/ffi-DlhRHxHv.js  6.14 kB │ gzip: 0.98 kB
55
58
  dist/assets/lens-CSASnhAL.js  9.07 kB │ gzip: 2.81 kB
56
- dist/assets/emscripten-module.browser-CY5t0Vfq.js  12.70 kB │ gzip: 5.09 kB
57
- dist/assets/native-bridge-BiD01jI9.js  18.70 kB │ gzip: 3.80 kB
59
+ dist/assets/emscripten-module.browser-DcFZLAUx.js  12.71 kB │ gzip: 5.10 kB
60
+ dist/assets/native-bridge-DNrEhx2R.js  18.61 kB │ gzip: 3.76 kB
58
61
  dist/assets/parquet-CEXmQNRO.js  29.67 kB │ gzip: 6.89 kB
59
- dist/assets/server-client-DP8fMPY9.js  31.43 kB │ gzip: 7.05 kB
60
- dist/assets/bcf-4K724hw0.js  41.08 kB │ gzip: 12.74 kB
61
- dist/assets/browser-C5TFR7sH.js  67.65 kB │ gzip: 18.94 kB
62
+ dist/assets/server-client-D-kU2XAF.js  31.43 kB │ gzip: 7.05 kB
63
+ dist/assets/bcf-Bhx-K17f.js  37.74 kB │ gzip: 11.37 kB
64
+ dist/assets/browser-CVf8ATeW.js  67.68 kB │ gzip: 18.96 kB
62
65
  dist/assets/drawing-2d-Bjy8YPrg.js  71.89 kB │ gzip: 21.08 kB
63
- dist/assets/zip-DBEtpeu6.js  97.03 kB │ gzip: 30.09 kB
64
- dist/assets/ids-B7AXEv7h.js  164.04 kB │ gzip: 29.28 kB
65
- dist/assets/arrow-CZ5kQ26f.js  208.84 kB │ gzip: 50.09 kB
66
- dist/assets/sandbox-DPD1ROr0.js  386.03 kB │ gzip: 62.78 kB
67
- dist/assets/three-CDRZThFA.js  527.54 kB │ gzip: 132.19 kB
68
- dist/assets/maplibre-gl-CGLcoNXc.js  1,046.19 kB │ gzip: 282.97 kB
69
- dist/assets/epsg-index.generated-BjJrt_0S.js  4,284.21 kB │ gzip: 440.44 kB
70
- dist/assets/cesium-DUOzBlqv.js  5,543.11 kB │ gzip: 1,373.81 kB
71
- dist/assets/index-DVNSvEMh.js  6,171.81 kB │ gzip: 1,119.61 kB
72
- dist/assets/exporters-u0sz2Upj.js  8,313.73 kB │ gzip: 486.31 kB
73
- [vite-plugin-static-copy] Copied 4 items.
74
- ✓ built in 1m 15s
66
+ dist/assets/zip-BJqVbRkU.js  96.95 kB │ gzip: 29.94 kB
67
+ dist/assets/ids-CS7VCFin.js  164.16 kB │ gzip: 29.22 kB
68
+ dist/assets/arrow-fie-E7fe.js  208.86 kB │ gzip: 50.09 kB
69
+ dist/assets/exporters-KTio0Tdm.js  232.69 kB │ gzip: 40.83 kB
70
+ dist/assets/three-DwNDHx9-.js  527.35 kB │ gzip: 132.06 kB
71
+ dist/assets/maplibre-gl-C4LXKM6c.js  1,047.78 kB │ gzip: 283.24 kB
72
+ dist/assets/epsg-index.generated-BjJrt_0S.js  4,295.95 kB │ gzip: 440.44 kB
73
+ dist/assets/cesium-B4ZIU9jS.js  4,774.39 kB │ gzip: 1,316.18 kB
74
+ dist/assets/index-8k9h-ANq.js  6,288.84 kB │ gzip: 1,136.17 kB
75
+ dist/assets/sandbox-BSn5MyEJ.js  8,479.88 kB │ gzip: 511.56 kB
76
+ 
77
+ (!) Some chunks are larger than 6000 kB after minification. Consider:
78
+ - Using dynamic import() to code-split the application
79
+ - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
80
+ - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
81
+ ✓ built in 1m 26s
@@ -1,4 +1,4 @@
1
1
 
2
- > @ifc-lite/viewer@1.21.0 typecheck /home/runner/work/ifc-lite/ifc-lite/apps/viewer
2
+ > @ifc-lite/viewer@1.22.0 typecheck /home/runner/work/ifc-lite/ifc-lite/apps/viewer
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @ifc-lite/viewer
2
2
 
3
+ ## 1.22.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#686](https://github.com/louistrue/ifc-lite/pull/686) [`b19865c`](https://github.com/louistrue/ifc-lite/commit/b19865cecc1f9c0dc05747d576604578f5af0408) Thanks [@louistrue](https://github.com/louistrue)! - BYOK key entry moves from an inline strip into a trust-focused modal with one tab per provider. Each tab shows an SVG that contrasts the direct browser → provider request path against the "via our server" path we never use, DevTools-verifiable trust claims, a clipboard-detect shortcut (so users who just created a key on the provider console don't have to paste), and a 60-second walkthrough. A small key icon in the chat header reopens the modal for management, and a "🔒 → api.provider.com" pill next to the model name names the actual API host whenever a BYOK route is active.
8
+
9
+ Adds two new BYOK model IDs: `claude-opus-4-7` (Anthropic) and `gpt-5.5` (OpenAI). Note that Claude Opus 4.7 and the GPT-5 reasoning family reject classic sampling parameters (`temperature`/`top_p`/`top_k`); a new `acceptsSamplingParams` flag on `LLMModel` lets the direct stream client omit them for affected models.
10
+
11
+ Web build: this is the first time API-key entry has a real surface outside the cramped inline strip, since `/settings` is desktop-only.
12
+
3
13
  ## 1.21.0
4
14
 
5
15
  ### Minor Changes