@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 +1 @@
|
|
|
1
|
-
import{B as m}from"./geotiff-
|
|
1
|
+
import{B as m}from"./geotiff-CrVtDRFq.js";import"./sandbox-BAC3a-eN.js";import"./lens-PYsLu_MA.js";import"./__vite-browser-external-B1O5LaIO.js";class u extends m{constructor(i){if(super(i),typeof createImageBitmap>"u")throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if(typeof document>"u"&&typeof OffscreenCanvas>"u")throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decodeBlock(i){const c=new Blob([i]),e=await createImageBitmap(c);let t;typeof document<"u"?(t=document.createElement("canvas"),t.width=e.width,t.height=e.height):t=new OffscreenCanvas(e.width,e.height);const d=t.getContext("2d");d.drawImage(e,0,0);const r=d.getImageData(0,0,e.width,e.height).data,s=this.parameters.samplesPerPixel||4;if(s===4)return r.buffer;if(s===3){const a=new Uint8ClampedArray(e.width*e.height*3);for(let n=0,o=0;n<a.length;n+=3,o+=4)a[n]=r[o],a[n+1]=r[o+1],a[n+2]=r[o+2];return a.buffer}else throw new Error(`Unsupported SamplesPerPixel value: ${s}`)}}export{u as default};
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/exceljs.min-DsuzKYnj.js","assets/zip-DFgP-l20.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import { _ as p, __tla as __tla_0 } from "./sandbox-BAC3a-eN.js";
|
|
3
|
+
import { d as w, __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 I;
|
|
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
|
+
const g = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", F = "#,##0.####", b = (o)=>Math.max(8, Math.min(80, Math.round(o / 7)));
|
|
42
|
+
function h(o, a) {
|
|
43
|
+
return o == null ? null : a.numeric && typeof o == "number" && Number.isFinite(o) ? o : w(o);
|
|
44
|
+
}
|
|
45
|
+
I = async function(o) {
|
|
46
|
+
const a = (await p(async ()=>{
|
|
47
|
+
const { default: t } = await import("./exceljs.min-DsuzKYnj.js").then((e)=>e.e);
|
|
48
|
+
return {
|
|
49
|
+
default: t
|
|
50
|
+
};
|
|
51
|
+
}, __vite__mapDeps([0,1]))).default, i = new a.Workbook;
|
|
52
|
+
i.creator = "IFC-Lite";
|
|
53
|
+
const l = i.addWorksheet((o.title || "List").slice(0, 31), {
|
|
54
|
+
views: [
|
|
55
|
+
{
|
|
56
|
+
state: "frozen",
|
|
57
|
+
ySplit: 4
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
}), n = o.columns, c = n.length;
|
|
61
|
+
l.addRow([
|
|
62
|
+
o.title || "List"
|
|
63
|
+
]), l.mergeCells(1, 1, 1, c), l.getCell(1, 1).font = {
|
|
64
|
+
bold: !0,
|
|
65
|
+
size: 14
|
|
66
|
+
}, l.addRow([
|
|
67
|
+
`${o.totals.count.toLocaleString()} elements · ${o.generatedAt}`
|
|
68
|
+
]), l.mergeCells(2, 1, 2, c), l.getCell(2, 1).font = {
|
|
69
|
+
italic: !0,
|
|
70
|
+
size: 9,
|
|
71
|
+
color: {
|
|
72
|
+
argb: "FF94A3B8"
|
|
73
|
+
}
|
|
74
|
+
}, l.addRow([]);
|
|
75
|
+
const u = l.addRow(n.map((t)=>t.label));
|
|
76
|
+
u.font = {
|
|
77
|
+
bold: !0,
|
|
78
|
+
color: {
|
|
79
|
+
argb: "FFFFFFFF"
|
|
80
|
+
}
|
|
81
|
+
}, u.eachCell((t)=>{
|
|
82
|
+
t.fill = {
|
|
83
|
+
type: "pattern",
|
|
84
|
+
pattern: "solid",
|
|
85
|
+
fgColor: {
|
|
86
|
+
argb: "FF334155"
|
|
87
|
+
}
|
|
88
|
+
}, t.alignment = {
|
|
89
|
+
vertical: "middle"
|
|
90
|
+
};
|
|
91
|
+
}), n.forEach((t, e)=>{
|
|
92
|
+
const r = l.getColumn(e + 1);
|
|
93
|
+
r.width = b(t.width), t.numeric && (r.numFmt = F, r.alignment = {
|
|
94
|
+
horizontal: "right"
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
const d = (t, e)=>{
|
|
98
|
+
const r = l.addRow(n.map((s, m)=>h(t[m], s)));
|
|
99
|
+
e && (r.outlineLevel = e);
|
|
100
|
+
};
|
|
101
|
+
if (o.groups) {
|
|
102
|
+
for (const t of o.groups){
|
|
103
|
+
const e = l.addRow(n.map((r, s)=>s === 0 ? `${t.label} (${t.count})` : r.summed ? t.sums[r.id] : null));
|
|
104
|
+
e.font = {
|
|
105
|
+
bold: !0
|
|
106
|
+
}, e.eachCell((r)=>{
|
|
107
|
+
r.fill = {
|
|
108
|
+
type: "pattern",
|
|
109
|
+
pattern: "solid",
|
|
110
|
+
fgColor: {
|
|
111
|
+
argb: "FFE2E8F0"
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
for (const r of t.rows)d(r, 1);
|
|
116
|
+
}
|
|
117
|
+
l.properties.outlineLevelRow = 1;
|
|
118
|
+
} else for (const t of o.rows)d(t);
|
|
119
|
+
if (o.sumColumnIds.length > 0) {
|
|
120
|
+
const t = l.addRow(n.map((e, r)=>e.summed ? o.totals.sums[e.id] : r === 0 ? `Total (${o.totals.count})` : null));
|
|
121
|
+
t.font = {
|
|
122
|
+
bold: !0
|
|
123
|
+
}, t.eachCell((e)=>{
|
|
124
|
+
e.border = {
|
|
125
|
+
top: {
|
|
126
|
+
style: "double",
|
|
127
|
+
color: {
|
|
128
|
+
argb: "FF334155"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
const f = await i.xlsx.writeBuffer();
|
|
135
|
+
return new Blob([
|
|
136
|
+
f
|
|
137
|
+
], {
|
|
138
|
+
type: g
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
});
|
|
142
|
+
export { I as toXlsx, __tla };
|