@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.
- package/.turbo/turbo-build.log +40 -30
- package/CHANGELOG.md +110 -0
- package/dist/assets/{basketViewActivator-CTgyKI3U.js → basketViewActivator-B3CdrLsb.js} +7 -7
- package/dist/assets/{bcf-7jQby1qi.js → bcf-QeHK_Aud.js} +5 -5
- package/dist/assets/{browser-DXS29_v9.js → browser-BIoDDfBW.js} +1 -1
- package/dist/assets/{cesium-BoVuJvTC.js → cesium-CzZn5yVA.js} +319 -319
- package/dist/assets/{deflate-Cfp9t1Df.js → deflate-B-d0SYQM.js} +1 -1
- package/dist/assets/exceljs.min-DsuzKYnj.js +29 -0
- package/dist/assets/{exporters-DfSvJPi4.js → exporters-B4LbZFeT.js} +1434 -1179
- package/dist/assets/geometry.worker-BdH-E6NB.js +1 -0
- package/dist/assets/{geotiff-xZoE8BkO.js → geotiff-CrVtDRFq.js} +10 -10
- package/dist/assets/html2canvas.esm-Ge7aVWlp.js +5 -0
- package/dist/assets/{ids-Cu73hD0Y.js → ids-DjsGFN10.js} +21 -21
- package/dist/assets/ifc-lite_bg-DsYUIHm3.wasm +0 -0
- package/dist/assets/{index-WSbA5iy6.js → index-COYokSKc.js} +44122 -38782
- package/dist/assets/index-ajK6D32J.css +1 -0
- package/dist/assets/index.es-CY202jA3.js +6866 -0
- package/dist/assets/{jpeg-DhwFEbqb.js → jpeg-D4wOkf5h.js} +1 -1
- package/dist/assets/jspdf.es.min-DIGb9BHN.js +19571 -0
- package/dist/assets/jspdf.plugin.autotable-BBLUVd7n.js +2 -0
- package/dist/assets/{lerc-Dz6BXOVb.js → lerc-DmW0_tgf.js} +1 -1
- package/dist/assets/{lzw-C9z0fG2o.js → lzw-oWetY-d6.js} +1 -1
- package/dist/assets/{maplibre-gl-Do6O5tDc.js → maplibre-gl-BF3Z0idw.js} +1 -1
- package/dist/assets/{native-bridge-RvDmzO-2.js → native-bridge-BX8_tHXE.js} +1 -1
- package/dist/assets/{packbits-jfwifz7C.js → packbits-F8Nkp4NY.js} +1 -1
- package/dist/assets/{pako.esm-Cram60i4.js → pako.esm-n3Pgozwg.js} +1 -1
- package/dist/assets/{parser.worker-C594dWxH.js → parser.worker-D591Zu_-.js} +3 -3
- package/dist/assets/pdf-Dsh3HPZB.js +135 -0
- package/dist/assets/raw-D9iw0tmc.js +1 -0
- package/dist/assets/{sandbox-DDSZ7rek.js → sandbox-BAC3a-eN.js} +4235 -2716
- package/dist/assets/server-client-Cjwnm7il.js +706 -0
- package/dist/assets/{webimage-XFHVyVtC.js → webimage-BLV1dgmd.js} +1 -1
- package/dist/assets/xlsx-Bc2HTrjC.js +142 -0
- package/dist/assets/{zip-BJqVbRkU.js → zip-DFgP-l20.js} +1 -1
- package/dist/assets/{zstd-3q5qcl5V.js → zstd-C_1HxVrA.js} +1 -1
- package/dist/index.html +8 -8
- package/package.json +13 -9
- package/src/components/extensions/FlavorDialog.tsx +18 -2
- package/src/components/extensions/FlavorListView.tsx +12 -3
- package/src/components/mcp/PlaygroundChat.tsx +1 -0
- package/src/components/mcp/data.ts +6 -0
- package/src/components/mcp/playground-dispatcher.ts +277 -0
- package/src/components/mcp/types.ts +2 -1
- package/src/components/ui/combo-input.tsx +163 -0
- package/src/components/ui/tabs.tsx +1 -1
- package/src/components/viewer/ClashBcfExportDialog.tsx +271 -0
- package/src/components/viewer/ClashPanel.tsx +370 -0
- package/src/components/viewer/ClashSettingsDialog.tsx +407 -0
- package/src/components/viewer/CommandPalette.tsx +14 -15
- package/src/components/viewer/MainToolbar.tsx +155 -175
- package/src/components/viewer/PropertiesPanel.tsx +13 -6
- package/src/components/viewer/SearchInline.tsx +62 -2
- package/src/components/viewer/SearchModal.filter.builder.tsx +24 -393
- package/src/components/viewer/SearchModal.filter.editors.tsx +503 -0
- package/src/components/viewer/SearchModal.filter.tsx +64 -1
- package/src/components/viewer/SearchModal.tsx +19 -6
- package/src/components/viewer/ViewerLayout.tsx +5 -0
- package/src/components/viewer/Viewport.tsx +64 -9
- package/src/components/viewer/ViewportContainer.tsx +45 -3
- package/src/components/viewer/bcf/BCFOverlay.tsx +5 -4
- package/src/components/viewer/lists/ColumnHeaderMenu.tsx +84 -0
- package/src/components/viewer/lists/ListBuilder.tsx +789 -280
- package/src/components/viewer/lists/ListGroupingBar.tsx +72 -0
- package/src/components/viewer/lists/ListPanel.tsx +49 -5
- package/src/components/viewer/lists/ListResultsTable.tsx +270 -176
- package/src/components/viewer/lists/list-table-utils.ts +123 -0
- package/src/components/viewer/useGeometryStreaming.ts +21 -1
- package/src/generated/mcp-catalog.json +4 -0
- package/src/hooks/ingest/streamCleanup.test.ts +41 -0
- package/src/hooks/ingest/streamCleanup.ts +45 -0
- package/src/hooks/ingest/viewerModelIngest.ts +64 -42
- package/src/hooks/ingest/watchedGeometryStream.test.ts +78 -0
- package/src/hooks/ingest/watchedGeometryStream.ts +76 -0
- package/src/hooks/source-key.ts +35 -0
- package/src/hooks/useAlignmentLines3D.ts +139 -0
- package/src/hooks/useClash.ts +420 -0
- package/src/hooks/useGridLines3D.ts +140 -0
- package/src/hooks/useIfcFederation.ts +16 -2
- package/src/hooks/useIfcLoader.ts +5 -7
- package/src/lib/clash/persistence.ts +308 -0
- package/src/lib/geo/effective-georef.test.ts +66 -0
- package/src/lib/length-unit-scale.ts +41 -0
- package/src/lib/lists/adapter.ts +136 -11
- package/src/lib/lists/export/csv.ts +47 -0
- package/src/lib/lists/export/index.ts +49 -0
- package/src/lib/lists/export/model.ts +111 -0
- package/src/lib/lists/export/pdf.ts +67 -0
- package/src/lib/lists/export/xlsx.ts +83 -0
- package/src/lib/lists/index.ts +2 -0
- package/src/lib/search/filter-evaluate.test.ts +81 -0
- package/src/lib/search/filter-evaluate.ts +59 -87
- package/src/lib/search/filter-match.ts +167 -0
- package/src/lib/search/filter-rules.test.ts +25 -0
- package/src/lib/search/filter-rules.ts +75 -2
- package/src/lib/search/filter-schema.ts +0 -0
- package/src/lib/slab-edit.test.ts +72 -0
- package/src/lib/slab-edit.ts +159 -19
- package/src/sdk/adapters/export-adapter.ts +3 -3
- package/src/sdk/adapters/query-adapter.ts +3 -3
- package/src/services/extensions/host.ts +13 -0
- package/src/store/constants.ts +33 -25
- package/src/store/index.ts +29 -8
- package/src/store/slices/clashSlice.ts +251 -0
- package/src/store/slices/listSlice.ts +6 -0
- package/src/store/slices/mutationSlice.ts +14 -6
- package/src/store/slices/searchSlice.ts +29 -3
- package/src/store/slices/visibilitySlice.test.ts +23 -5
- package/src/store/slices/visibilitySlice.ts +18 -8
- package/src/utils/nativeSpatialDataStore.ts +6 -0
- package/src/utils/serverDataModel.test.ts +6 -0
- package/src/utils/serverDataModel.ts +7 -0
- package/dist/assets/geometry.worker-Cyn5BybV.js +0 -1
- package/dist/assets/ifc-lite_bg-ksLBP5cA.wasm +0 -0
- package/dist/assets/index-Bws3UAkj.css +0 -1
- package/dist/assets/raw-R2QfzPAR.js +0 -1
- package/dist/assets/server-client-Ctk8_Bof.js +0 -626
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sandbox-
|
|
2
|
-
import {
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sandbox-BAC3a-eN.js","assets/lens-PYsLu_MA.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import { ay as $, as as fe, ai as J, ar as ye, ag as he, ah as ve, aj as Ee, p as Te, _ as Ie, a3 as be, E as ge, a9 as Se, aa as Ae, q as A, a2 as N, af as xe, ae as Ce, a8 as Re, aq as Me, __tla as __tla_0 } from "./sandbox-BAC3a-eN.js";
|
|
3
3
|
let g, oa, ua, ca, Ne, la;
|
|
4
4
|
let __tla = Promise.all([
|
|
5
5
|
(()=>{
|
|
@@ -75,7 +75,7 @@ let __tla = Promise.all([
|
|
|
75
75
|
o === "unbounded" ? c = "unbounded" : Number.isFinite(m) && (c = m);
|
|
76
76
|
}
|
|
77
77
|
u === void 0 && (r || c !== void 0) && (u = 1);
|
|
78
|
-
const f = h(e, "requirements"), d = f ?
|
|
78
|
+
const f = h(e, "requirements"), d = f ? qe(f) : [];
|
|
79
79
|
return {
|
|
80
80
|
id: e.getAttribute("identifier") || `spec-${t}`,
|
|
81
81
|
name: a,
|
|
@@ -206,7 +206,7 @@ let __tla = Promise.all([
|
|
|
206
206
|
const t = e.toUpperCase();
|
|
207
207
|
return t.includes("ASSIGNSTOGROUP") || t.includes("GROUP") ? "IfcRelAssignsToGroup" : t.includes("AGGREGATE") ? "IfcRelAggregates" : t.includes("CONTAINED") || t.includes("SPATIAL") ? "IfcRelContainedInSpatialStructure" : t.includes("NEST") ? "IfcRelNests" : t.includes("VOID") ? "IfcRelVoidsElement" : t.includes("FILL") ? "IfcRelFillsElement" : "IfcRelContainedInSpatialStructure";
|
|
208
208
|
}
|
|
209
|
-
function
|
|
209
|
+
function qe(e) {
|
|
210
210
|
const t = [];
|
|
211
211
|
let a = 0;
|
|
212
212
|
for (const i of Array.from(e.children)){
|
|
@@ -239,7 +239,7 @@ let __tla = Promise.all([
|
|
|
239
239
|
value: t.textContent?.trim() || ""
|
|
240
240
|
};
|
|
241
241
|
const a = te(e, "restriction", O) || h(e, "restriction");
|
|
242
|
-
if (a) return
|
|
242
|
+
if (a) return Ye(a);
|
|
243
243
|
const i = e.textContent?.trim();
|
|
244
244
|
return i ? {
|
|
245
245
|
type: "simpleValue",
|
|
@@ -249,9 +249,9 @@ let __tla = Promise.all([
|
|
|
249
249
|
value: ""
|
|
250
250
|
};
|
|
251
251
|
}
|
|
252
|
-
function
|
|
252
|
+
function Ye(e) {
|
|
253
253
|
const t = e.getAttribute("base") || void 0, a = (()=>{
|
|
254
|
-
const s =
|
|
254
|
+
const s = q(e, "pattern", O);
|
|
255
255
|
return s.length > 0 ? s : U(e, "pattern");
|
|
256
256
|
})();
|
|
257
257
|
if (a.length > 0) {
|
|
@@ -262,7 +262,7 @@ let __tla = Promise.all([
|
|
|
262
262
|
base: t
|
|
263
263
|
};
|
|
264
264
|
}
|
|
265
|
-
const i =
|
|
265
|
+
const i = q(e, "enumeration", O);
|
|
266
266
|
if (i.length === 0) {
|
|
267
267
|
const s = U(e, "enumeration");
|
|
268
268
|
if (s.length > 0) return {
|
|
@@ -327,7 +327,7 @@ let __tla = Promise.all([
|
|
|
327
327
|
for (const i of Array.from(e.children))if (i.localName.toLowerCase() === t.toLowerCase() && i.namespaceURI === a) return i;
|
|
328
328
|
return null;
|
|
329
329
|
}
|
|
330
|
-
function
|
|
330
|
+
function q(e, t, a) {
|
|
331
331
|
const i = [];
|
|
332
332
|
for (const n of Array.from(e.children))n.localName.toLowerCase() === t.toLowerCase() && n.namespaceURI === a && i.push(n);
|
|
333
333
|
return i;
|
|
@@ -335,13 +335,13 @@ let __tla = Promise.all([
|
|
|
335
335
|
function C(e, t) {
|
|
336
336
|
return h(e, t)?.textContent?.trim() || void 0;
|
|
337
337
|
}
|
|
338
|
-
const
|
|
338
|
+
const Y = /^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/, He = 1e-6;
|
|
339
339
|
function Xe(e, t) {
|
|
340
340
|
const a = He * (1 + Math.abs(e)), i = 16 * Number.EPSILON * Math.max(Math.abs(e), typeof t == "number" ? Math.abs(t) : 0);
|
|
341
341
|
return a + i;
|
|
342
342
|
}
|
|
343
343
|
function ie(e, t) {
|
|
344
|
-
const a = String(t), i =
|
|
344
|
+
const a = String(t), i = Y.test(e), n = typeof t == "number" || Y.test(a);
|
|
345
345
|
if (!i || !n) return;
|
|
346
346
|
const r = parseFloat(e), s = typeof t == "number" ? t : parseFloat(a);
|
|
347
347
|
if (!(Number.isNaN(r) || Number.isNaN(s))) return Math.abs(r - s) <= Xe(r, s);
|
|
@@ -1745,14 +1745,14 @@ let __tla = Promise.all([
|
|
|
1745
1745
|
await ti(e, t, a, i, n);
|
|
1746
1746
|
break;
|
|
1747
1747
|
case "classification":
|
|
1748
|
-
await
|
|
1748
|
+
await qt(t, i, a, n);
|
|
1749
1749
|
break;
|
|
1750
1750
|
case "material":
|
|
1751
|
-
await
|
|
1751
|
+
await Yt(t, i, a, n);
|
|
1752
1752
|
break;
|
|
1753
1753
|
}
|
|
1754
1754
|
}
|
|
1755
|
-
async function
|
|
1755
|
+
async function qt(e, t, a, i) {
|
|
1756
1756
|
if (!t || t.name.type !== "simpleValue") return;
|
|
1757
1757
|
const n = t.name.value;
|
|
1758
1758
|
if (!n) return;
|
|
@@ -1770,7 +1770,7 @@ let __tla = Promise.all([
|
|
|
1770
1770
|
}
|
|
1771
1771
|
});
|
|
1772
1772
|
}
|
|
1773
|
-
async function
|
|
1773
|
+
async function Yt(e, t, a, i) {
|
|
1774
1774
|
if (!t || t.name.type !== "simpleValue") return;
|
|
1775
1775
|
const n = t.name.value;
|
|
1776
1776
|
if (!n) return;
|
|
@@ -2023,10 +2023,10 @@ let __tla = Promise.all([
|
|
|
2023
2023
|
case "pattern":
|
|
2024
2024
|
try {
|
|
2025
2025
|
const a = new RegExp(`^${e.name.pattern}$`), { getEntities: i } = await Ie(async ()=>{
|
|
2026
|
-
const { getEntities: r } = await import("./sandbox-
|
|
2026
|
+
const { getEntities: r } = await import("./sandbox-BAC3a-eN.js").then(async (m)=>{
|
|
2027
2027
|
await m.__tla;
|
|
2028
2028
|
return m;
|
|
2029
|
-
}).then((s)=>s.
|
|
2029
|
+
}).then((s)=>s.av);
|
|
2030
2030
|
return {
|
|
2031
2031
|
getEntities: r
|
|
2032
2032
|
};
|
|
@@ -2741,7 +2741,7 @@ let __tla = Promise.all([
|
|
|
2741
2741
|
parsedDocument: t
|
|
2742
2742
|
};
|
|
2743
2743
|
}
|
|
2744
|
-
const
|
|
2744
|
+
const qi = {
|
|
2745
2745
|
status: {
|
|
2746
2746
|
pass: "PASS",
|
|
2747
2747
|
fail: "FAIL",
|
|
@@ -2926,7 +2926,7 @@ let __tla = Promise.all([
|
|
|
2926
2926
|
runValidation: "Run validation",
|
|
2927
2927
|
clearResults: "Clear results"
|
|
2928
2928
|
}
|
|
2929
|
-
},
|
|
2929
|
+
}, Yi = {
|
|
2930
2930
|
status: {
|
|
2931
2931
|
pass: "BESTANDEN",
|
|
2932
2932
|
fail: "FEHLGESCHLAGEN",
|
|
@@ -3297,8 +3297,8 @@ let __tla = Promise.all([
|
|
|
3297
3297
|
clearResults: "Effacer les résultats"
|
|
3298
3298
|
}
|
|
3299
3299
|
}, K = {
|
|
3300
|
-
en:
|
|
3301
|
-
de:
|
|
3300
|
+
en: qi,
|
|
3301
|
+
de: Yi,
|
|
3302
3302
|
fr: Hi
|
|
3303
3303
|
};
|
|
3304
3304
|
ua = function(e = "en") {
|
|
Binary file
|