@ifc-lite/viewer 1.25.2 → 1.27.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 (116) hide show
  1. package/.turbo/turbo-build.log +40 -30
  2. package/CHANGELOG.md +110 -0
  3. package/dist/assets/{basketViewActivator-CTgyKI3U.js → basketViewActivator-B3CdrLsb.js} +7 -7
  4. package/dist/assets/{bcf-7jQby1qi.js → bcf-QeHK_Aud.js} +5 -5
  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/{deflate-Cfp9t1Df.js → deflate-B-d0SYQM.js} +1 -1
  8. package/dist/assets/exceljs.min-DsuzKYnj.js +29 -0
  9. package/dist/assets/{exporters-DfSvJPi4.js → exporters-B4LbZFeT.js} +1434 -1179
  10. package/dist/assets/geometry.worker-BdH-E6NB.js +1 -0
  11. package/dist/assets/{geotiff-xZoE8BkO.js → geotiff-CrVtDRFq.js} +10 -10
  12. package/dist/assets/html2canvas.esm-Ge7aVWlp.js +5 -0
  13. package/dist/assets/{ids-Cu73hD0Y.js → ids-DjsGFN10.js} +21 -21
  14. package/dist/assets/ifc-lite_bg-DsYUIHm3.wasm +0 -0
  15. package/dist/assets/{index-WSbA5iy6.js → index-COYokSKc.js} +44122 -38782
  16. package/dist/assets/index-ajK6D32J.css +1 -0
  17. package/dist/assets/index.es-CY202jA3.js +6866 -0
  18. package/dist/assets/{jpeg-DhwFEbqb.js → jpeg-D4wOkf5h.js} +1 -1
  19. package/dist/assets/jspdf.es.min-DIGb9BHN.js +19571 -0
  20. package/dist/assets/jspdf.plugin.autotable-BBLUVd7n.js +2 -0
  21. package/dist/assets/{lerc-Dz6BXOVb.js → lerc-DmW0_tgf.js} +1 -1
  22. package/dist/assets/{lzw-C9z0fG2o.js → lzw-oWetY-d6.js} +1 -1
  23. package/dist/assets/{maplibre-gl-Do6O5tDc.js → maplibre-gl-BF3Z0idw.js} +1 -1
  24. package/dist/assets/{native-bridge-RvDmzO-2.js → native-bridge-BX8_tHXE.js} +1 -1
  25. package/dist/assets/{packbits-jfwifz7C.js → packbits-F8Nkp4NY.js} +1 -1
  26. package/dist/assets/{pako.esm-Cram60i4.js → pako.esm-n3Pgozwg.js} +1 -1
  27. package/dist/assets/{parser.worker-C594dWxH.js → parser.worker-D591Zu_-.js} +3 -3
  28. package/dist/assets/pdf-Dsh3HPZB.js +135 -0
  29. package/dist/assets/raw-D9iw0tmc.js +1 -0
  30. package/dist/assets/{sandbox-DDSZ7rek.js → sandbox-BAC3a-eN.js} +4235 -2716
  31. package/dist/assets/server-client-Cjwnm7il.js +706 -0
  32. package/dist/assets/{webimage-XFHVyVtC.js → webimage-BLV1dgmd.js} +1 -1
  33. package/dist/assets/xlsx-Bc2HTrjC.js +142 -0
  34. package/dist/assets/{zip-BJqVbRkU.js → zip-DFgP-l20.js} +1 -1
  35. package/dist/assets/{zstd-3q5qcl5V.js → zstd-C_1HxVrA.js} +1 -1
  36. package/dist/index.html +8 -8
  37. package/package.json +13 -9
  38. package/src/components/extensions/FlavorDialog.tsx +18 -2
  39. package/src/components/extensions/FlavorListView.tsx +12 -3
  40. package/src/components/mcp/PlaygroundChat.tsx +1 -0
  41. package/src/components/mcp/data.ts +6 -0
  42. package/src/components/mcp/playground-dispatcher.ts +277 -0
  43. package/src/components/mcp/types.ts +2 -1
  44. package/src/components/ui/combo-input.tsx +163 -0
  45. package/src/components/ui/tabs.tsx +1 -1
  46. package/src/components/viewer/ClashBcfExportDialog.tsx +271 -0
  47. package/src/components/viewer/ClashPanel.tsx +370 -0
  48. package/src/components/viewer/ClashSettingsDialog.tsx +407 -0
  49. package/src/components/viewer/CommandPalette.tsx +14 -15
  50. package/src/components/viewer/MainToolbar.tsx +155 -175
  51. package/src/components/viewer/PropertiesPanel.tsx +13 -6
  52. package/src/components/viewer/SearchInline.tsx +62 -2
  53. package/src/components/viewer/SearchModal.filter.builder.tsx +24 -393
  54. package/src/components/viewer/SearchModal.filter.editors.tsx +503 -0
  55. package/src/components/viewer/SearchModal.filter.tsx +64 -1
  56. package/src/components/viewer/SearchModal.tsx +19 -6
  57. package/src/components/viewer/ViewerLayout.tsx +5 -0
  58. package/src/components/viewer/Viewport.tsx +64 -9
  59. package/src/components/viewer/ViewportContainer.tsx +45 -3
  60. package/src/components/viewer/bcf/BCFOverlay.tsx +5 -4
  61. package/src/components/viewer/lists/ColumnHeaderMenu.tsx +84 -0
  62. package/src/components/viewer/lists/ListBuilder.tsx +789 -280
  63. package/src/components/viewer/lists/ListGroupingBar.tsx +72 -0
  64. package/src/components/viewer/lists/ListPanel.tsx +49 -5
  65. package/src/components/viewer/lists/ListResultsTable.tsx +270 -176
  66. package/src/components/viewer/lists/list-table-utils.ts +123 -0
  67. package/src/components/viewer/useGeometryStreaming.ts +21 -1
  68. package/src/generated/mcp-catalog.json +4 -0
  69. package/src/hooks/ingest/streamCleanup.test.ts +41 -0
  70. package/src/hooks/ingest/streamCleanup.ts +45 -0
  71. package/src/hooks/ingest/viewerModelIngest.ts +64 -42
  72. package/src/hooks/ingest/watchedGeometryStream.test.ts +78 -0
  73. package/src/hooks/ingest/watchedGeometryStream.ts +76 -0
  74. package/src/hooks/source-key.ts +35 -0
  75. package/src/hooks/useAlignmentLines3D.ts +139 -0
  76. package/src/hooks/useClash.ts +420 -0
  77. package/src/hooks/useGridLines3D.ts +140 -0
  78. package/src/hooks/useIfcFederation.ts +16 -2
  79. package/src/hooks/useIfcLoader.ts +5 -7
  80. package/src/lib/clash/persistence.ts +308 -0
  81. package/src/lib/geo/effective-georef.test.ts +66 -0
  82. package/src/lib/length-unit-scale.ts +41 -0
  83. package/src/lib/lists/adapter.ts +136 -11
  84. package/src/lib/lists/export/csv.ts +47 -0
  85. package/src/lib/lists/export/index.ts +49 -0
  86. package/src/lib/lists/export/model.ts +111 -0
  87. package/src/lib/lists/export/pdf.ts +67 -0
  88. package/src/lib/lists/export/xlsx.ts +83 -0
  89. package/src/lib/lists/index.ts +2 -0
  90. package/src/lib/search/filter-evaluate.test.ts +81 -0
  91. package/src/lib/search/filter-evaluate.ts +59 -87
  92. package/src/lib/search/filter-match.ts +167 -0
  93. package/src/lib/search/filter-rules.test.ts +25 -0
  94. package/src/lib/search/filter-rules.ts +75 -2
  95. package/src/lib/search/filter-schema.ts +0 -0
  96. package/src/lib/slab-edit.test.ts +72 -0
  97. package/src/lib/slab-edit.ts +159 -19
  98. package/src/sdk/adapters/export-adapter.ts +3 -3
  99. package/src/sdk/adapters/query-adapter.ts +3 -3
  100. package/src/services/extensions/host.ts +13 -0
  101. package/src/store/constants.ts +33 -25
  102. package/src/store/index.ts +29 -8
  103. package/src/store/slices/clashSlice.ts +251 -0
  104. package/src/store/slices/listSlice.ts +6 -0
  105. package/src/store/slices/mutationSlice.ts +14 -6
  106. package/src/store/slices/searchSlice.ts +29 -3
  107. package/src/store/slices/visibilitySlice.test.ts +23 -5
  108. package/src/store/slices/visibilitySlice.ts +18 -8
  109. package/src/utils/nativeSpatialDataStore.ts +6 -0
  110. package/src/utils/serverDataModel.test.ts +6 -0
  111. package/src/utils/serverDataModel.ts +7 -0
  112. package/dist/assets/geometry.worker-Cyn5BybV.js +0 -1
  113. package/dist/assets/ifc-lite_bg-ksLBP5cA.wasm +0 -0
  114. package/dist/assets/index-Bws3UAkj.css +0 -1
  115. package/dist/assets/raw-R2QfzPAR.js +0 -1
  116. package/dist/assets/server-client-Ctk8_Bof.js +0 -626
@@ -0,0 +1,135 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jspdf.es.min-DIGb9BHN.js","assets/sandbox-BAC3a-eN.js","assets/lens-PYsLu_MA.js","assets/index-COYokSKc.js","assets/zip-DFgP-l20.js","assets/arrow-CXWhTnNT.js","assets/drawing-2d-C71b8Ugx.js","assets/bcf-QeHK_Aud.js","assets/exporters-B4LbZFeT.js","assets/server-client-Cjwnm7il.js","assets/ids-DjsGFN10.js","assets/three-CQBzFWY2.js","assets/index-ajK6D32J.css","assets/pako.esm-n3Pgozwg.js"])))=>i.map(i=>d[i]);
2
+ import { _ as c, __tla as __tla_0 } from "./sandbox-BAC3a-eN.js";
3
+ import { d as i, __tla as __tla_1 } from "./index-COYokSKc.js";
4
+ import "./lens-PYsLu_MA.js";
5
+ import "./zip-DFgP-l20.js";
6
+ import "./arrow-CXWhTnNT.js";
7
+ import "./drawing-2d-C71b8Ugx.js";
8
+ import "./bcf-QeHK_Aud.js";
9
+ import { __tla as __tla_2 } from "./exporters-B4LbZFeT.js";
10
+ import { __tla as __tla_3 } from "./server-client-Cjwnm7il.js";
11
+ import { __tla as __tla_4 } from "./ids-DjsGFN10.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-DIGb9BHN.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-CrVtDRFq.js";import"./sandbox-BAC3a-eN.js";import"./lens-PYsLu_MA.js";import"./__vite-browser-external-B1O5LaIO.js";class c extends o{decodeBlock(e){return e}}export{c as default};