@ifc-lite/viewer 1.26.0 → 1.28.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 (150) hide show
  1. package/.turbo/turbo-build.log +45 -38
  2. package/CHANGELOG.md +93 -0
  3. package/dist/assets/{basketViewActivator-ZpTYWE3K.js → basketViewActivator-BNRDNuUJ.js} +9 -9
  4. package/dist/assets/{bcf-Ctcu_Sc2.js → bcf-DCwCuP7n.js} +56 -56
  5. package/dist/assets/{browser-DXS29_v9.js → browser-BIoDDfBW.js} +1 -1
  6. package/dist/assets/{cesium-BoVuJvTC.js → cesium-CzZn5yVA.js} +319 -319
  7. package/dist/assets/{decode-worker-CgM1iNSK.js → decode-worker-Cjign7Zh.js} +1 -1
  8. package/dist/assets/deflate-DNGgs8Ur.js +1 -0
  9. package/dist/assets/drawing-2d-D0dDf6Lh.js +257 -0
  10. package/dist/assets/e57-source-2wI9jkCA.js +1 -0
  11. package/dist/assets/exceljs.min-DsuzKYnj.js +29 -0
  12. package/dist/assets/{exporters-DSq76AVM.js → exporters-B9v81gi9.js} +1861 -1524
  13. package/dist/assets/geometry.worker-Bpa3115V.js +1 -0
  14. package/dist/assets/{geotiff-A5UjhI6L.js → geotiff-D-YCLS4g.js} +10 -10
  15. package/dist/assets/html2canvas.esm-Ge7aVWlp.js +5 -0
  16. package/dist/assets/{ids-DiLcGTer.js → ids-CCpq-5d3.js} +952 -945
  17. package/dist/assets/ifc-lite_bg-DbgS5EUA.wasm +0 -0
  18. package/dist/assets/{index-BAH8IJVR.js → index-Bgb3_Pu_.js} +47682 -42474
  19. package/dist/assets/index-BtbXFKsX.css +1 -0
  20. package/dist/assets/index.es-CWfqZyyr.js +6866 -0
  21. package/dist/assets/{jpeg-BzSkwo5D.js → jpeg-DGOAeUqU.js} +1 -1
  22. package/dist/assets/jspdf.es.min-XPLU2Wkq.js +19571 -0
  23. package/dist/assets/jspdf.plugin.autotable-BBLUVd7n.js +2 -0
  24. package/dist/assets/lens-C4p1kQ0p.js +1 -0
  25. package/dist/assets/{lerc-Cg2Rz-D5.js → lerc-1PMSCHwX.js} +1 -1
  26. package/dist/assets/{lzw-BBPPLW-0.js → lzw-C65U9lNM.js} +1 -1
  27. package/dist/assets/{maplibre-gl-Do6O5tDc.js → maplibre-gl-BF3Z0idw.js} +1 -1
  28. package/dist/assets/{native-bridge-CPojOeGE.js → native-bridge-XxXos6yI.js} +2 -2
  29. package/dist/assets/{packbits-yLSpjW-V.js → packbits-BdMWXC3m.js} +1 -1
  30. package/dist/assets/{pako.esm-Cram60i4.js → pako.esm-n3Pgozwg.js} +1 -1
  31. package/dist/assets/parser.worker-Ddwo3_06.js +182 -0
  32. package/dist/assets/pdf-CRwaZf3s.js +135 -0
  33. package/dist/assets/raw-CJgQdyuZ.js +1 -0
  34. package/dist/assets/{sandbox-CsRXlgCO.js → sandbox-0sDo3g3m.js} +3037 -2554
  35. package/dist/assets/server-client-cTCJ-853.js +719 -0
  36. package/dist/assets/{webimage-YafxjjGr.js → webimage-BtakWX7W.js} +1 -1
  37. package/dist/assets/xlsx-B1YOg2QB.js +142 -0
  38. package/dist/assets/{zip-BJqVbRkU.js → zip-DFgP-l20.js} +1 -1
  39. package/dist/assets/{zstd-CkSLOiuu.js → zstd-CmwsbxmM.js} +1 -1
  40. package/dist/index.html +10 -10
  41. package/package.json +27 -23
  42. package/src/components/mcp/PlaygroundChat.tsx +1 -0
  43. package/src/components/mcp/data.ts +6 -0
  44. package/src/components/mcp/playground-dispatcher.ts +280 -0
  45. package/src/components/mcp/playground-files.ts +33 -1
  46. package/src/components/mcp/types.ts +2 -1
  47. package/src/components/ui/combo-input.tsx +163 -0
  48. package/src/components/ui/tabs.tsx +1 -1
  49. package/src/components/viewer/CommandPalette.tsx +6 -1
  50. package/src/components/viewer/ComparePanel.tsx +420 -0
  51. package/src/components/viewer/HierarchyPanel.tsx +46 -7
  52. package/src/components/viewer/MainToolbar.tsx +19 -2
  53. package/src/components/viewer/PropertiesPanel.tsx +84 -8
  54. package/src/components/viewer/SearchInline.tsx +62 -2
  55. package/src/components/viewer/SearchModal.filter.builder.tsx +24 -393
  56. package/src/components/viewer/SearchModal.filter.editors.tsx +503 -0
  57. package/src/components/viewer/SearchModal.filter.tsx +64 -1
  58. package/src/components/viewer/SearchModal.tsx +19 -6
  59. package/src/components/viewer/ViewerLayout.tsx +5 -0
  60. package/src/components/viewer/Viewport.tsx +18 -0
  61. package/src/components/viewer/hierarchy/HierarchyNode.tsx +3 -3
  62. package/src/components/viewer/hierarchy/ifc-icons.ts +9 -0
  63. package/src/components/viewer/hierarchy/treeDataBuilder.ts +87 -0
  64. package/src/components/viewer/hierarchy/types.ts +1 -0
  65. package/src/components/viewer/hierarchy/useHierarchyTree.ts +6 -2
  66. package/src/components/viewer/lists/ColumnHeaderMenu.tsx +84 -0
  67. package/src/components/viewer/lists/ListBuilder.tsx +789 -280
  68. package/src/components/viewer/lists/ListGroupingBar.tsx +72 -0
  69. package/src/components/viewer/lists/ListPanel.tsx +49 -5
  70. package/src/components/viewer/lists/ListResultsTable.tsx +270 -176
  71. package/src/components/viewer/lists/list-table-utils.ts +123 -0
  72. package/src/components/viewer/properties/MaterialTotalsPanel.tsx +283 -0
  73. package/src/generated/mcp-catalog.json +4 -0
  74. package/src/hooks/federationLoadGate.test.ts +12 -2
  75. package/src/hooks/federationLoadGate.ts +9 -2
  76. package/src/hooks/ingest/federationAlign.ts +481 -0
  77. package/src/hooks/ingest/viewerModelIngest.ts +3 -212
  78. package/src/hooks/source-key.ts +35 -0
  79. package/src/hooks/useAlignmentLines3D.ts +1 -26
  80. package/src/hooks/useCompare.ts +0 -0
  81. package/src/hooks/useCompareOverlay.ts +119 -0
  82. package/src/hooks/useDrawingGeneration.ts +23 -1
  83. package/src/hooks/useGridLines3D.ts +140 -0
  84. package/src/hooks/useIfc.ts +1 -1
  85. package/src/hooks/useIfcCache.ts +32 -9
  86. package/src/hooks/useIfcFederation.ts +42 -810
  87. package/src/hooks/useIfcLoader.ts +361 -488
  88. package/src/hooks/useIfcServer.ts +3 -0
  89. package/src/hooks/useLens.ts +5 -1
  90. package/src/hooks/useSymbolicAnnotations.ts +70 -38
  91. package/src/lib/compare/buildFingerprints.ts +173 -0
  92. package/src/lib/compare/describeChange.ts +0 -0
  93. package/src/lib/compare/geometricData.test.ts +54 -0
  94. package/src/lib/compare/geometricData.ts +37 -0
  95. package/src/lib/compare/overlay.test.ts +99 -0
  96. package/src/lib/compare/overlay.ts +91 -0
  97. package/src/lib/geo/cesium-placement.ts +1 -1
  98. package/src/lib/geo/reproject.ts +4 -1
  99. package/src/lib/length-unit-scale.ts +41 -0
  100. package/src/lib/lists/adapter.ts +136 -11
  101. package/src/lib/lists/export/csv.ts +47 -0
  102. package/src/lib/lists/export/index.ts +49 -0
  103. package/src/lib/lists/export/model.ts +111 -0
  104. package/src/lib/lists/export/pdf.ts +67 -0
  105. package/src/lib/lists/export/xlsx.ts +83 -0
  106. package/src/lib/lists/index.ts +2 -0
  107. package/src/lib/llm/script-edit-ops.ts +23 -0
  108. package/src/lib/llm/stream-client.ts +8 -1
  109. package/src/lib/search/filter-evaluate.test.ts +81 -0
  110. package/src/lib/search/filter-evaluate.ts +59 -87
  111. package/src/lib/search/filter-match.ts +167 -0
  112. package/src/lib/search/filter-rules.test.ts +25 -0
  113. package/src/lib/search/filter-rules.ts +75 -2
  114. package/src/lib/search/filter-schema.ts +0 -0
  115. package/src/lib/search/result-export.ts +7 -1
  116. package/src/lib/slab-edit.test.ts +72 -0
  117. package/src/lib/slab-edit.ts +159 -19
  118. package/src/sdk/adapters/export-adapter.ts +9 -4
  119. package/src/sdk/adapters/query-adapter.ts +3 -3
  120. package/src/store/globalId.ts +15 -13
  121. package/src/store/index.ts +16 -1
  122. package/src/store/slices/cesiumSlice.ts +8 -1
  123. package/src/store/slices/compareSlice.ts +96 -0
  124. package/src/store/slices/lensSlice.ts +8 -0
  125. package/src/store/slices/listSlice.ts +6 -0
  126. package/src/store/slices/mutationSlice.ts +14 -6
  127. package/src/store/slices/searchSlice.ts +29 -3
  128. package/src/utils/acquireFileBuffer.test.ts +12 -4
  129. package/src/utils/desktopModelSnapshot.ts +2 -1
  130. package/src/utils/loadingUtils.ts +32 -0
  131. package/src/utils/nativeSpatialDataStore.ts +6 -0
  132. package/src/utils/serverDataModel.test.ts +6 -0
  133. package/src/utils/serverDataModel.ts +7 -0
  134. package/src/utils/spatialHierarchy.test.ts +53 -1
  135. package/src/utils/spatialHierarchy.ts +42 -2
  136. package/src/vite-env.d.ts +2 -0
  137. package/dist/assets/deflate-Cnx0il6E.js +0 -1
  138. package/dist/assets/drawing-2d-C71b8Ugx.js +0 -257
  139. package/dist/assets/e57-source-CQHxE8n3.js +0 -1
  140. package/dist/assets/geometry.worker-0Q9qEa6p.js +0 -1
  141. package/dist/assets/ifc-lite_bg-CEZnhM2e.wasm +0 -0
  142. package/dist/assets/index-B9Ug2EqU.css +0 -1
  143. package/dist/assets/lens-PYsLu_MA.js +0 -1
  144. package/dist/assets/parser.worker-8md211IW.js +0 -182
  145. package/dist/assets/raw-BQrAgxwT.js +0 -1
  146. package/dist/assets/server-client-Bk4c1CPO.js +0 -626
  147. package/src/hooks/ingest/resolveDataStoreOrAbort.test.ts +0 -61
  148. package/src/hooks/ingest/resolveDataStoreOrAbort.ts +0 -28
  149. package/src/hooks/ingest/watchedGeometryStream.test.ts +0 -78
  150. package/src/hooks/ingest/watchedGeometryStream.ts +0 -76
@@ -0,0 +1,135 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jspdf.es.min-XPLU2Wkq.js","assets/sandbox-0sDo3g3m.js","assets/lens-C4p1kQ0p.js","assets/index-Bgb3_Pu_.js","assets/zip-DFgP-l20.js","assets/arrow-CXWhTnNT.js","assets/drawing-2d-D0dDf6Lh.js","assets/bcf-DCwCuP7n.js","assets/exporters-B9v81gi9.js","assets/server-client-cTCJ-853.js","assets/ids-CCpq-5d3.js","assets/three-CQBzFWY2.js","assets/index-BtbXFKsX.css","assets/pako.esm-n3Pgozwg.js"])))=>i.map(i=>d[i]);
2
+ import { _ as c, __tla as __tla_0 } from "./sandbox-0sDo3g3m.js";
3
+ import { d as i, __tla as __tla_1 } from "./index-Bgb3_Pu_.js";
4
+ import "./lens-C4p1kQ0p.js";
5
+ import "./zip-DFgP-l20.js";
6
+ import "./arrow-CXWhTnNT.js";
7
+ import "./drawing-2d-D0dDf6Lh.js";
8
+ import "./bcf-DCwCuP7n.js";
9
+ import { __tla as __tla_2 } from "./exporters-B9v81gi9.js";
10
+ import { __tla as __tla_3 } from "./server-client-cTCJ-853.js";
11
+ import { __tla as __tla_4 } from "./ids-CCpq-5d3.js";
12
+ import "./three-CQBzFWY2.js";
13
+ let z;
14
+ let __tla = Promise.all([
15
+ (()=>{
16
+ try {
17
+ return __tla_0;
18
+ } catch {}
19
+ })(),
20
+ (()=>{
21
+ try {
22
+ return __tla_1;
23
+ } catch {}
24
+ })(),
25
+ (()=>{
26
+ try {
27
+ return __tla_2;
28
+ } catch {}
29
+ })(),
30
+ (()=>{
31
+ try {
32
+ return __tla_3;
33
+ } catch {}
34
+ })(),
35
+ (()=>{
36
+ try {
37
+ return __tla_4;
38
+ } catch {}
39
+ })()
40
+ ]).then(async ()=>{
41
+ z = async function(e) {
42
+ const { jsPDF: u } = await c(async ()=>{
43
+ const { jsPDF: t } = await import("./jspdf.es.min-XPLU2Wkq.js").then(async (m)=>{
44
+ await m.__tla;
45
+ return m;
46
+ }).then((s)=>s.j);
47
+ return {
48
+ jsPDF: t
49
+ };
50
+ }, __vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13])), p = (await c(async ()=>{
51
+ const { default: t } = await import("./jspdf.plugin.autotable-BBLUVd7n.js");
52
+ return {
53
+ default: t
54
+ };
55
+ }, [])).default, f = e.columns.length > 5, o = new u({
56
+ orientation: f ? "landscape" : "portrait",
57
+ unit: "pt",
58
+ format: "a4"
59
+ });
60
+ o.setFont("helvetica", "bold"), o.setFontSize(14), o.text(e.title || "List", 40, 42), o.setFont("helvetica", "normal"), o.setFontSize(9), o.setTextColor(130), o.text(`${e.totals.count.toLocaleString()} elements · ${e.generatedAt}`, 40, 58), o.setTextColor(0);
61
+ const m = [
62
+ e.columns.map((t)=>t.label)
63
+ ], r = (t, s)=>i(t[s]), n = [];
64
+ if (e.groups) for (const t of e.groups){
65
+ n.push(e.columns.map((s, l)=>({
66
+ content: l === 0 ? `${t.label} (${t.count})` : s.summed ? i(t.sums[s.id]) : "",
67
+ styles: {
68
+ fontStyle: "bold",
69
+ fillColor: [
70
+ 226,
71
+ 232,
72
+ 240
73
+ ]
74
+ }
75
+ })));
76
+ for (const s of t.rows)n.push(e.columns.map((l, _)=>r(s, _)));
77
+ }
78
+ else for (const t of e.rows)n.push(e.columns.map((s, l)=>r(t, l)));
79
+ const g = e.sumColumnIds.length > 0 ? [
80
+ e.columns.map((t, s)=>t.summed ? i(e.totals.sums[t.id]) : s === 0 ? `Total (${e.totals.count})` : "")
81
+ ] : void 0, a = {};
82
+ return e.columns.forEach((t, s)=>{
83
+ t.numeric && (a[s] = {
84
+ halign: "right"
85
+ });
86
+ }), p(o, {
87
+ head: m,
88
+ body: n,
89
+ foot: g,
90
+ startY: 72,
91
+ margin: {
92
+ left: 40,
93
+ right: 40,
94
+ top: 70,
95
+ bottom: 40
96
+ },
97
+ styles: {
98
+ fontSize: 8,
99
+ cellPadding: 3,
100
+ overflow: "ellipsize",
101
+ lineColor: [
102
+ 226,
103
+ 232,
104
+ 240
105
+ ],
106
+ lineWidth: .5
107
+ },
108
+ headStyles: {
109
+ fillColor: [
110
+ 51,
111
+ 65,
112
+ 85
113
+ ],
114
+ textColor: 255,
115
+ fontStyle: "bold"
116
+ },
117
+ footStyles: {
118
+ fillColor: [
119
+ 241,
120
+ 245,
121
+ 249
122
+ ],
123
+ textColor: 20,
124
+ fontStyle: "bold"
125
+ },
126
+ columnStyles: a,
127
+ didDrawPage: ()=>{
128
+ o.setFontSize(8), o.setTextColor(150);
129
+ const t = o.internal.pageSize.getWidth(), s = o.internal.pageSize.getHeight();
130
+ o.text(`Page ${o.getNumberOfPages()}`, t - 60, s - 20), o.setTextColor(0);
131
+ }
132
+ }), o.output("blob");
133
+ };
134
+ });
135
+ export { z as toPdf, __tla };
@@ -0,0 +1 @@
1
+ import{B as o}from"./geotiff-D-YCLS4g.js";import"./sandbox-0sDo3g3m.js";import"./lens-C4p1kQ0p.js";import"./__vite-browser-external-B1O5LaIO.js";class c extends o{decodeBlock(e){return e}}export{c as default};