@ifc-lite/viewer 1.29.0 → 1.30.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 +32 -31
- package/CHANGELOG.md +58 -0
- package/dist/assets/{basketViewActivator-BSRgF1Hw.js → basketViewActivator-BHNb23Vw.js} +6 -6
- package/dist/assets/{bcf-3uE1MvcT.js → bcf-C0XZ2DSl.js} +1 -1
- package/dist/assets/{deflate-BLlUfw9-.js → deflate-DvvFcUtV.js} +1 -1
- package/dist/assets/{exporters-BL6UmxRa.js → exporters-CvORJOLn.js} +1345 -1434
- package/dist/assets/geometry.worker-B7X9DQQY.js +1 -0
- package/dist/assets/{geotiff-BydcIud8.js → geotiff-fSD_sVw_.js} +10 -10
- package/dist/assets/{ids-DFl74rTt.js → ids-BUOe5QQl.js} +951 -713
- package/dist/assets/idsValidation.worker-DEodXb0f.js +190468 -0
- package/dist/assets/ifc-lite_bg-CmMuB1zf.wasm +0 -0
- package/dist/assets/{index-BNTlm2lP.js → index-B6T42T86.js} +35235 -32937
- package/dist/assets/index-D0tqJL0X.css +1 -0
- package/dist/assets/{index.es-Bk4nLsyS.js → index.es-YGMensDM.js} +7 -7
- package/dist/assets/{jpeg-BvMO8-Tc.js → jpeg-0Sla88_N.js} +1 -1
- package/dist/assets/{jspdf.es.min-BZ_ed66E.js → jspdf.es.min-mnbLNj-p.js} +4 -4
- package/dist/assets/{lerc-CNnDpLpV.js → lerc-C7xUDHpL.js} +1 -1
- package/dist/assets/{lzw-DBaPrGGZ.js → lzw-CK480t0_.js} +1 -1
- package/dist/assets/{native-bridge-DFOoBvTg.js → native-bridge-sLWRanza.js} +1 -1
- package/dist/assets/{packbits-C7uyD2Bi.js → packbits-DcL4imYS.js} +1 -1
- package/dist/assets/parser.worker-BsGV6ml7.js +182 -0
- package/dist/assets/{pdf-DlqdjX9e.js → pdf-BARGfLmx.js} +8 -8
- package/dist/assets/raw-BMWh6mDy.js +1 -0
- package/dist/assets/{sandbox-0Z2NzeOJ.js → sandbox-BSiO04m8.js} +2801 -2609
- package/dist/assets/server-client-AlpWMVq9.js +741 -0
- package/dist/assets/{webimage-zN-oCabb.js → webimage-uy5DjZLk.js} +1 -1
- package/dist/assets/{xlsx-N2LbIR1G.js → xlsx-D02ho69_.js} +6 -6
- package/dist/assets/{zstd-Jk3QKIeb.js → zstd-DcR1TBwT.js} +1 -1
- package/dist/index.html +7 -7
- package/package.json +27 -32
- package/src/components/viewer/CesiumOverlay.tsx +195 -8
- package/src/components/viewer/IDSPanel.tsx +23 -7
- package/src/components/viewer/MainToolbar.tsx +31 -0
- package/src/components/viewer/SunSkyPanel.tsx +363 -0
- package/src/components/viewer/Viewport.tsx +49 -1
- package/src/components/viewer/ViewportContainer.tsx +20 -1
- package/src/components/viewer/useAnimationLoop.ts +19 -1
- package/src/disable-react-dev-perf-track.ts +38 -0
- package/src/hooks/has-entity-type.ts +33 -0
- package/src/hooks/ids/idsWorkerClient.ts +136 -0
- package/src/hooks/ingest/federationAlign.ts +1 -1
- package/src/hooks/ingest/pointCloudIngest.ts +22 -98
- package/src/hooks/ingest/viewerModelIngest.ts +8 -13
- package/src/hooks/useAlignmentLines3D.ts +5 -0
- package/src/hooks/useGridLines3D.ts +4 -0
- package/src/hooks/useIDS.ts +77 -13
- package/src/hooks/useIfcCache.ts +1 -1
- package/src/hooks/useIfcFederation.ts +1 -1
- package/src/hooks/useIfcServer.ts +1 -1
- package/src/hooks/useModelSelection.ts +1 -1
- package/src/hooks/useSolarEnvironment.ts +114 -0
- package/src/hooks/useSolarSweep.ts +66 -0
- package/src/hooks/useSymbolicAnnotations.ts +10 -0
- package/src/hooks/useViewerSelectors.ts +1 -1
- package/src/lib/geo/cesium-sun.ts +277 -0
- package/src/lib/geo/solar-direction.test.ts +70 -0
- package/src/lib/geo/solar-direction.ts +94 -0
- package/src/lib/lighting-presets.ts +128 -0
- package/src/lib/recent-files.ts +4 -24
- package/src/lib/solar-time.ts +55 -0
- package/src/main.tsx +5 -0
- package/src/store/index.ts +8 -0
- package/src/store/slices/annotationsSlice.test.ts +0 -16
- package/src/store/slices/cesiumSlice.ts +3 -3
- package/src/store/slices/dataSlice.test.ts +0 -40
- package/src/store/slices/environmentSlice.ts +101 -0
- package/src/store/slices/idsSlice.ts +6 -1
- package/src/store/slices/selectionSlice.test.ts +0 -43
- package/src/store/slices/solarSlice.ts +121 -0
- package/src/store/slices/visibilitySlice.test.ts +15 -45
- package/src/utils/loadingUtils.ts +1 -1
- package/src/workers/idsValidation.worker.ts +98 -0
- package/dist/assets/geometry.worker-DVwFYHTq.js +0 -1
- package/dist/assets/ifc-lite_bg-FPffpFK_.wasm +0 -0
- package/dist/assets/index-DpoJvkdg.css +0 -1
- package/dist/assets/parser.worker-U_PVhLNi.js +0 -182
- package/dist/assets/raw-p_2cfl6T.js +0 -1
- package/dist/assets/server-client-DUMy2mXg.js +0 -719
- package/src/components/ui/context-menu.tsx +0 -174
- package/src/store.ts +0 -80
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @ifc-lite/viewer@1.
|
|
2
|
+
> @ifc-lite/viewer@1.30.0 build /home/runner/work/ifc-lite/ifc-lite/apps/viewer
|
|
3
3
|
> vite build
|
|
4
4
|
|
|
5
5
|
[36mvite v7.3.5 [32mbuilding client environment for production...[36m[39m
|
|
@@ -8,6 +8,7 @@ transforming...
|
|
|
8
8
|
[33m[plugin vite:resolve] Module "node:fs" has been externalized for browser compatibility, imported by "/home/runner/work/ifc-lite/ifc-lite/node_modules/.pnpm/@anthropic-ai+sdk@0.96.0_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/credentials/types.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.[39m
|
|
9
9
|
[33m[plugin vite:resolve] Module "node:path" has been externalized for browser compatibility, imported by "/home/runner/work/ifc-lite/ifc-lite/node_modules/.pnpm/@anthropic-ai+sdk@0.96.0_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/credentials/types.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.[39m
|
|
10
10
|
[33m[plugin vite:resolve] Module "node:fs" has been externalized for browser compatibility, imported by "/home/runner/work/ifc-lite/ifc-lite/node_modules/.pnpm/@anthropic-ai+sdk@0.96.0_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.[39m
|
|
11
|
+
[33m[plugin vite:resolve] Module "node:fs" has been externalized for browser compatibility, imported by "/home/runner/work/ifc-lite/ifc-lite/node_modules/.pnpm/@anthropic-ai+sdk@0.96.0_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.[39m
|
|
11
12
|
[33m[plugin vite:resolve] Module "node:fs" has been externalized for browser compatibility, imported by "/home/runner/work/ifc-lite/ifc-lite/node_modules/.pnpm/@anthropic-ai+sdk@0.96.0_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/credentials.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.[39m
|
|
12
13
|
[33m[plugin vite:resolve] Module "node:path" has been externalized for browser compatibility, imported by "/home/runner/work/ifc-lite/ifc-lite/node_modules/.pnpm/@anthropic-ai+sdk@0.96.0_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/credentials.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.[39m
|
|
13
14
|
[33m[plugin vite:resolve] Module "node:fs" has been externalized for browser compatibility, imported by "/home/runner/work/ifc-lite/ifc-lite/node_modules/.pnpm/@anthropic-ai+sdk@0.96.0_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/credentials.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.[39m
|
|
@@ -16,14 +17,13 @@ transforming...
|
|
|
16
17
|
[33m[plugin vite:resolve] Module "node:fs" has been externalized for browser compatibility, imported by "/home/runner/work/ifc-lite/ifc-lite/node_modules/.pnpm/@anthropic-ai+sdk@0.96.0_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/credentials.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.[39m
|
|
17
18
|
[33m[plugin vite:resolve] Module "node:path" has been externalized for browser compatibility, imported by "/home/runner/work/ifc-lite/ifc-lite/node_modules/.pnpm/@anthropic-ai+sdk@0.96.0_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/credentials.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.[39m
|
|
18
19
|
[33m[plugin vite:resolve] Module "node:fs" has been externalized for browser compatibility, imported by "/home/runner/work/ifc-lite/ifc-lite/node_modules/.pnpm/@anthropic-ai+sdk@0.96.0_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.[39m
|
|
19
|
-
[
|
|
20
|
-
[32m✓[39m 5300 modules transformed.
|
|
20
|
+
[32m✓[39m 5322 modules transformed.
|
|
21
21
|
rendering chunks...
|
|
22
22
|
[33m[plugin vite:reporter]
|
|
23
23
|
(!) /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/lib/clash/persistence.ts is dynamically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/services/extensions/host.ts but also statically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/FlavorDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ClashSettingsDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/store/slices/clashSlice.ts, dynamic import will not move module into another chunk.
|
|
24
24
|
[39m
|
|
25
25
|
[33m[plugin vite:reporter]
|
|
26
|
-
(!) /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/store.ts is dynamically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/services/extensions/host.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/services/extensions/host.ts but also statically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/ExtensionDockHost.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/ExtensionToolbarSlot.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/ExtensionsPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/FlavorDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/IdeasPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/PrivacyPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/RepairQueuePanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/AddElementPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/BCFPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/BasepointOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/BasketPresentationDock.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/BulkPropertyEditor.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/CesiumOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/CesiumPlacementEditor.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ChatPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ClashSettingsDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/CommandPalette.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ComparePanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/DataConnector.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/DeviationPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/DrawingSettingsPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/EntityContextMenu.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ExportChangesButton.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ExportDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/GLBExportDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/GeometryEditCard.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/HierarchyPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/HoverTooltip.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/LensPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/MainToolbar.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/MergeLayersBanner.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/MobileToolbar.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/PointCloudClasses.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/PointCloudPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/PropertiesPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/PropertyEditor.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ScriptPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SearchInline.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SearchModal.filter.builder.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SearchModal.filter.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SearchModal.text.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SearchModal.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/Section2DPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SheetSetupPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/StatusBar.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ThemeSwitch.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/TitleBlockEditor.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ToolOverlays.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ViewerLayout.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/Viewport.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ViewportContainer.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ViewportOverlays.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/annotations/AnnotationLayer.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/bcf/BCFOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/chat/ExecutableCodeBlock.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/chat/ModelSelector.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/hierarchy/treeDataBuilder.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/hierarchy/useHierarchyTree.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/lists/ListPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/lists/ListResultsTable.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/BsddCard.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/FederationAlignmentControls.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/GeoreferencingPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/RawStepCard.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/RawStepRow.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/TaskEditCard.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/AnimationSettingsPopover.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/GanttPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/GanttTimeline.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/GanttToolbar.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/GenerateScheduleDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/schedule-utils.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/useConstructionSequence.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/useGanttBarDrag.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/useGanttSelection3DHighlight.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/useOverlayCompositor.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/selectionHandlers.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/AddElementOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/GizmoOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/MeasurePanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SectionCapControls.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SectionPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SectionVisualization.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SpaceSketchOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SplitNumericInput.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SplitOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/WallEndpointOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/useDuplicateShortcut.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/useMouseControls.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/usePointCloudLifecycle.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/usePointCloudSync.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/useRenderUpdates.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/ingest/federationAlign.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useActionLogger.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useAlignmentLines3D.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useBCF.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useClash.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useCompare.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useCompareOverlay.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useConstructionUnderlay.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useDrawingGeneration.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useFloorplanView.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useForkExtension.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useGridLines3D.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIDS.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfc.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcCache.ts, /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/hooks/useKeyboardShortcuts.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useLens.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useLensDiscovery.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useLevelDisplayEffect.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useModelSelection.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useSearchIndex.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useSymbolicAnnotations.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useViewerSelectors.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/lib/llm/context-builder.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/services/desktop-export.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/utils/loadingUtils.ts, dynamic import will not move module into another chunk.
|
|
26
|
+
(!) /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/store/index.ts is dynamically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/services/extensions/host.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/services/extensions/host.ts but also statically imported by /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/ExtensionDockHost.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/ExtensionToolbarSlot.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/ExtensionsPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/FlavorDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/IdeasPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/PrivacyPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/extensions/RepairQueuePanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/AddElementPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/BCFPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/BasepointOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/BasketPresentationDock.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/BulkPropertyEditor.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/CesiumOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/CesiumPlacementEditor.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ChatPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ClashSettingsDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/CommandPalette.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ComparePanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/DataConnector.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/DeviationPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/DrawingSettingsPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/EntityContextMenu.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ExportChangesButton.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ExportDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/GLBExportDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/GeometryEditCard.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/HierarchyPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/HoverTooltip.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/LensPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/MainToolbar.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/MergeLayersBanner.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/MobileToolbar.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/PointCloudClasses.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/PointCloudPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/PropertiesPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/PropertyEditor.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ScriptPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SearchInline.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SearchModal.filter.builder.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SearchModal.filter.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SearchModal.text.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SearchModal.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/Section2DPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SheetSetupPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/StatusBar.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/SunSkyPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ThemeSwitch.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/TitleBlockEditor.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ToolOverlays.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ViewerLayout.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/Viewport.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ViewportContainer.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/ViewportOverlays.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/annotations/AnnotationLayer.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/bcf/BCFOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/chat/ExecutableCodeBlock.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/chat/ModelSelector.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/hierarchy/treeDataBuilder.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/hierarchy/useHierarchyTree.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/lists/ListPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/lists/ListResultsTable.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/BsddCard.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/FederationAlignmentControls.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/GeoreferencingPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/RawStepCard.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/RawStepRow.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/properties/TaskEditCard.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/AnimationSettingsPopover.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/GanttPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/GanttTimeline.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/GanttToolbar.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/GenerateScheduleDialog.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/schedule-utils.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/useConstructionSequence.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/useGanttBarDrag.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/useGanttSelection3DHighlight.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/schedule/useOverlayCompositor.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/selectionHandlers.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/AddElementOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/GizmoOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/MeasurePanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SectionCapControls.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SectionPanel.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SectionVisualization.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SpaceSketchOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SplitNumericInput.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/SplitOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/tools/WallEndpointOverlay.tsx, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/useDuplicateShortcut.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/useMouseControls.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/usePointCloudLifecycle.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/usePointCloudSync.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/components/viewer/useRenderUpdates.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/ingest/federationAlign.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useActionLogger.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useAlignmentLines3D.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useBCF.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useClash.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useCompare.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useCompareOverlay.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useConstructionUnderlay.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useDrawingGeneration.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useFloorplanView.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useForkExtension.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useGridLines3D.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIDS.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfc.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcCache.ts, /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/hooks/useKeyboardShortcuts.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useLens.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useLensDiscovery.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useLevelDisplayEffect.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useModelSelection.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useSandbox.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useSearchIndex.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useSolarEnvironment.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useSolarSweep.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useSymbolicAnnotations.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useViewerSelectors.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/lib/llm/context-builder.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/sdk/useBimHost.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/services/desktop-export.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/store/basket/basketCommands.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/store/basket/basketViewActivator.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/store/basketSave.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/store/basketVisibleSet.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/store/homeView.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/store/resolveEntityRef.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/utils/loadingUtils.ts, dynamic import will not move module into another chunk.
|
|
27
27
|
[39m
|
|
28
28
|
[33m[plugin vite:reporter]
|
|
29
29
|
(!) /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/useIfcLoader.ts, /home/runner/work/ifc-lite/ifc-lite/apps/viewer/src/hooks/useIfcServer.ts, dynamic import will not move module into another chunk.
|
|
@@ -39,71 +39,72 @@ computing gzip size...
|
|
|
39
39
|
[2mdist/[22m[2massets/[22m[32mlaz-perf-DgUOSLeU.js [39m[1m[2m 0.06 kB[22m[1m[22m
|
|
40
40
|
[2mdist/[22m[2massets/[22m[32mlas-source-C_IGrgRq.js [39m[1m[2m 2.40 kB[22m[1m[22m
|
|
41
41
|
[2mdist/[22m[2massets/[22m[32mlas-BW6LIc_j.js [39m[1m[2m 3.08 kB[22m[1m[22m
|
|
42
|
-
[2mdist/[22m[32mindex.html [39m[1m[2m 3.65 kB[22m[1m[22m[2m │ gzip: 1.
|
|
42
|
+
[2mdist/[22m[32mindex.html [39m[1m[2m 3.65 kB[22m[1m[22m[2m │ gzip: 1.24 kB[22m
|
|
43
43
|
[2mdist/[22m[2massets/[22m[32mascii-points-source-bTjLVmUX.js [39m[1m[2m 3.98 kB[22m[1m[22m
|
|
44
44
|
[2mdist/[22m[2massets/[22m[32mdecode-worker-Cjign7Zh.js [39m[1m[2m 5.03 kB[22m[1m[22m
|
|
45
45
|
[2mdist/[22m[2massets/[22m[32mlaz-source-BWjza0Iw.js [39m[1m[2m 5.35 kB[22m[1m[22m
|
|
46
46
|
[2mdist/[22m[2massets/[22m[32mply-source-C8jjyzxE.js [39m[1m[2m 6.77 kB[22m[1m[22m
|
|
47
47
|
[2mdist/[22m[2massets/[22m[32mpcd-source-Ck0UnVDn.js [39m[1m[2m 7.31 kB[22m[1m[22m
|
|
48
48
|
[2mdist/[22m[2massets/[22m[32me57-source-2wI9jkCA.js [39m[1m[2m 13.59 kB[22m[1m[22m
|
|
49
|
-
[2mdist/[22m[2massets/[22m[32mgeometry.worker-
|
|
49
|
+
[2mdist/[22m[2massets/[22m[32mgeometry.worker-B7X9DQQY.js [39m[1m[2m 33.09 kB[22m[1m[22m
|
|
50
50
|
[2mdist/[22m[2massets/[22m[32mindex-DMho-JA0.js [39m[1m[2m 53.15 kB[22m[1m[22m
|
|
51
51
|
[2mdist/[22m[2massets/[22m[32mlaz-perf-CFJp03W6.wasm [39m[1m[2m 214.35 kB[22m[1m[22m[2m │ gzip: 73.76 kB[22m
|
|
52
52
|
[2mdist/[22m[2massets/[22m[32memscripten-module-uFzwHH0Y.wasm [39m[1m[2m 503.13 kB[22m[1m[22m[2m │ gzip: 234.04 kB[22m
|
|
53
53
|
[2mdist/[22m[2massets/[22m[32memscripten-module-B1g2L2eS.wasm [39m[1m[2m 1,027.52 kB[22m[1m[22m[2m │ gzip: 364.87 kB[22m
|
|
54
54
|
[2mdist/[22m[2massets/[22m[32memscripten-module-ZrHFMo7O.wasm [39m[1m[2m 1,218.63 kB[22m[1m[22m[2m │ gzip: 456.85 kB[22m
|
|
55
55
|
[2mdist/[22m[2massets/[22m[32memscripten-module-DHbYPfAp.wasm [39m[1m[2m 1,510.75 kB[22m[1m[22m[2m │ gzip: 497.65 kB[22m
|
|
56
|
-
[2mdist/[22m[2massets/[22m[32mparser.worker-
|
|
57
|
-
[2mdist/[22m[2massets/[22m[32mifc-lite_bg-
|
|
56
|
+
[2mdist/[22m[2massets/[22m[32mparser.worker-BsGV6ml7.js [39m[1m[2m 1,596.62 kB[22m[1m[22m
|
|
57
|
+
[2mdist/[22m[2massets/[22m[32mifc-lite_bg-CmMuB1zf.wasm [39m[1m[2m 2,395.16 kB[22m[1m[22m[2m │ gzip: 840.56 kB[22m
|
|
58
58
|
[2mdist/[22m[2massets/[22m[32marrow2_bg-4Y7xYo54.wasm [39m[1m[2m 5,000.39 kB[22m[1m[22m[2m │ gzip: 1,544.22 kB[22m
|
|
59
|
+
[2mdist/[22m[2massets/[22m[32midsValidation.worker-DEodXb0f.js [39m[1m[2m 6,121.41 kB[22m[1m[22m
|
|
59
60
|
[2mdist/[22m[2massets/[22m[32mparquet_wasm_bg-DcKVfvto.wasm [39m[1m[2m 6,626.29 kB[22m[1m[22m[2m │ gzip: 1,944.12 kB[22m
|
|
60
61
|
[2mdist/[22m[2massets/[22m[32mesbuild-CzsZLPr0.wasm [39m[1m[2m13,918.74 kB[22m[1m[22m[2m │ gzip: 3,765.48 kB[22m
|
|
61
62
|
[2mdist/[22m[2massets/[22m[35mcesium-ADbP7waU.css [39m[1m[2m 24.30 kB[22m[1m[22m[2m │ gzip: 5.49 kB[22m
|
|
62
|
-
[2mdist/[22m[2massets/[22m[35mindex-
|
|
63
|
+
[2mdist/[22m[2massets/[22m[35mindex-D0tqJL0X.css [39m[1m[2m 260.79 kB[22m[1m[22m[2m │ gzip: 37.71 kB[22m
|
|
63
64
|
[2mdist/[22m[2massets/[22m[36m__vite-browser-external-B1O5LaIO.js [39m[1m[2m 0.03 kB[22m[1m[22m[2m │ gzip: 0.05 kB[22m
|
|
64
65
|
[2mdist/[22m[2massets/[22m[36minline-worker-BpBzlmd6.js [39m[1m[2m 0.05 kB[22m[1m[22m[2m │ gzip: 0.07 kB[22m
|
|
65
66
|
[2mdist/[22m[2massets/[22m[36mesbuild-FgU11_Eg.js [39m[1m[2m 0.06 kB[22m[1m[22m[2m │ gzip: 0.08 kB[22m
|
|
66
|
-
[2mdist/[22m[2massets/[22m[36mraw-
|
|
67
|
-
[2mdist/[22m[2massets/[22m[36mdeflate-
|
|
68
|
-
[2mdist/[22m[2massets/[22m[36mpackbits-
|
|
69
|
-
[2mdist/[22m[2massets/[22m[36mwebimage-
|
|
70
|
-
[2mdist/[22m[2massets/[22m[36mlzw-
|
|
71
|
-
[2mdist/[22m[2massets/[22m[36mbasketViewActivator-
|
|
67
|
+
[2mdist/[22m[2massets/[22m[36mraw-BMWh6mDy.js [39m[1m[2m 0.21 kB[22m[1m[22m[2m │ gzip: 0.18 kB[22m
|
|
68
|
+
[2mdist/[22m[2massets/[22m[36mdeflate-DvvFcUtV.js [39m[1m[2m 0.28 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m
|
|
69
|
+
[2mdist/[22m[2massets/[22m[36mpackbits-DcL4imYS.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m
|
|
70
|
+
[2mdist/[22m[2massets/[22m[36mwebimage-uy5DjZLk.js [39m[1m[2m 1.06 kB[22m[1m[22m[2m │ gzip: 0.60 kB[22m
|
|
71
|
+
[2mdist/[22m[2massets/[22m[36mlzw-CK480t0_.js [39m[1m[2m 1.60 kB[22m[1m[22m[2m │ gzip: 0.91 kB[22m
|
|
72
|
+
[2mdist/[22m[2massets/[22m[36mbasketViewActivator-BHNb23Vw.js [39m[1m[2m 2.28 kB[22m[1m[22m[2m │ gzip: 0.79 kB[22m
|
|
72
73
|
[2mdist/[22m[2massets/[22m[36mifc-cache-BAN4vcd4.js [39m[1m[2m 2.77 kB[22m[1m[22m[2m │ gzip: 0.94 kB[22m
|
|
73
|
-
[2mdist/[22m[2massets/[22m[36mxlsx-
|
|
74
|
-
[2mdist/[22m[2massets/[22m[36mpdf-
|
|
74
|
+
[2mdist/[22m[2massets/[22m[36mxlsx-D02ho69_.js [39m[1m[2m 4.58 kB[22m[1m[22m[2m │ gzip: 1.57 kB[22m
|
|
75
|
+
[2mdist/[22m[2massets/[22m[36mpdf-BARGfLmx.js [39m[1m[2m 4.87 kB[22m[1m[22m[2m │ gzip: 1.57 kB[22m
|
|
75
76
|
[2mdist/[22m[2massets/[22m[36mffi-Boa1QuFa.js [39m[1m[2m 6.32 kB[22m[1m[22m[2m │ gzip: 1.00 kB[22m
|
|
76
77
|
[2mdist/[22m[2massets/[22m[36memscripten-module.browser-BLJD5hhE.js [39m[1m[2m 9.16 kB[22m[1m[22m[2m │ gzip: 4.19 kB[22m
|
|
77
78
|
[2mdist/[22m[2massets/[22m[36mlens-DMnqMXpz.js [39m[1m[2m 9.47 kB[22m[1m[22m[2m │ gzip: 2.93 kB[22m
|
|
78
|
-
[2mdist/[22m[2massets/[22m[36mjpeg-
|
|
79
|
-
[2mdist/[22m[2massets/[22m[36mnative-bridge-
|
|
79
|
+
[2mdist/[22m[2massets/[22m[36mjpeg-0Sla88_N.js [39m[1m[2m 11.28 kB[22m[1m[22m[2m │ gzip: 4.27 kB[22m
|
|
80
|
+
[2mdist/[22m[2massets/[22m[36mnative-bridge-sLWRanza.js [39m[1m[2m 18.73 kB[22m[1m[22m[2m │ gzip: 3.78 kB[22m
|
|
80
81
|
[2mdist/[22m[2massets/[22m[36mpako.esm-n3Pgozwg.js [39m[1m[2m 21.62 kB[22m[1m[22m[2m │ gzip: 7.66 kB[22m
|
|
81
82
|
[2mdist/[22m[2massets/[22m[36mparquet-CEXmQNRO.js [39m[1m[2m 29.67 kB[22m[1m[22m[2m │ gzip: 6.89 kB[22m
|
|
82
83
|
[2mdist/[22m[2massets/[22m[36mjspdf.plugin.autotable-BBLUVd7n.js [39m[1m[2m 30.93 kB[22m[1m[22m[2m │ gzip: 9.87 kB[22m
|
|
83
|
-
[2mdist/[22m[2massets/[22m[
|
|
84
|
-
[2mdist/[22m[2massets/[22m[
|
|
84
|
+
[2mdist/[22m[2massets/[22m[36mbcf-C0XZ2DSl.js [39m[1m[2m 38.32 kB[22m[1m[22m[2m │ gzip: 11.57 kB[22m
|
|
85
|
+
[2mdist/[22m[2massets/[22m[36mserver-client-AlpWMVq9.js [39m[1m[2m 38.42 kB[22m[1m[22m[2m │ gzip: 8.45 kB[22m
|
|
85
86
|
[2mdist/[22m[2massets/[22m[36mbrowser-BIoDDfBW.js [39m[1m[2m 70.26 kB[22m[1m[22m[2m │ gzip: 19.95 kB[22m
|
|
86
87
|
[2mdist/[22m[2massets/[22m[36mdrawing-2d-CLn7Mtj8.js [39m[1m[2m 74.37 kB[22m[1m[22m[2m │ gzip: 21.87 kB[22m
|
|
87
|
-
[2mdist/[22m[2massets/[22m[36mzstd-
|
|
88
|
+
[2mdist/[22m[2massets/[22m[36mzstd-DcR1TBwT.js [39m[1m[2m 81.19 kB[22m[1m[22m[2m │ gzip: 32.35 kB[22m
|
|
88
89
|
[2mdist/[22m[2massets/[22m[36mzip-DFgP-l20.js [39m[1m[2m 96.96 kB[22m[1m[22m[2m │ gzip: 29.94 kB[22m
|
|
89
|
-
[2mdist/[22m[2massets/[22m[36mlerc-
|
|
90
|
-
[2mdist/[22m[2massets/[22m[36mids-
|
|
90
|
+
[2mdist/[22m[2massets/[22m[36mlerc-C7xUDHpL.js [39m[1m[2m 97.20 kB[22m[1m[22m[2m │ gzip: 37.62 kB[22m
|
|
91
|
+
[2mdist/[22m[2massets/[22m[36mids-BUOe5QQl.js [39m[1m[2m 173.69 kB[22m[1m[22m[2m │ gzip: 31.42 kB[22m
|
|
91
92
|
[2mdist/[22m[2massets/[22m[36mhtml2canvas.esm-Ge7aVWlp.js [39m[1m[2m 201.40 kB[22m[1m[22m[2m │ gzip: 47.48 kB[22m
|
|
93
|
+
[2mdist/[22m[2massets/[22m[36mexporters-CvORJOLn.js [39m[1m[2m 207.73 kB[22m[1m[22m[2m │ gzip: 37.73 kB[22m
|
|
92
94
|
[2mdist/[22m[2massets/[22m[36marrow-fie-E7fe.js [39m[1m[2m 208.86 kB[22m[1m[22m[2m │ gzip: 50.09 kB[22m
|
|
93
|
-
[2mdist/[22m[2massets/[22m[
|
|
94
|
-
[2mdist/[22m[2massets/[22m[
|
|
95
|
-
[2mdist/[22m[2massets/[22m[36mgeotiff-BydcIud8.js [39m[1m[2m 366.67 kB[22m[1m[22m[2m │ gzip: 118.40 kB[22m
|
|
95
|
+
[2mdist/[22m[2massets/[22m[36mindex.es-YGMensDM.js [39m[1m[2m 274.42 kB[22m[1m[22m[2m │ gzip: 62.78 kB[22m
|
|
96
|
+
[2mdist/[22m[2massets/[22m[36mgeotiff-fSD_sVw_.js [39m[1m[2m 366.67 kB[22m[1m[22m[2m │ gzip: 118.41 kB[22m
|
|
96
97
|
[2mdist/[22m[2massets/[22m[36mthree-SQm7uqwa.js [39m[1m[2m 534.00 kB[22m[1m[22m[2m │ gzip: 133.77 kB[22m
|
|
97
|
-
[2mdist/[22m[2massets/[22m[36mjspdf.es.min-
|
|
98
|
+
[2mdist/[22m[2massets/[22m[36mjspdf.es.min-mnbLNj-p.js [39m[1m[2m 772.04 kB[22m[1m[22m[2m │ gzip: 137.94 kB[22m
|
|
98
99
|
[2mdist/[22m[2massets/[22m[36mexceljs.min-DsuzKYnj.js [39m[1m[2m 938.77 kB[22m[1m[22m[2m │ gzip: 270.63 kB[22m
|
|
99
100
|
[2mdist/[22m[2massets/[22m[36mmaplibre-gl-BF3Z0idw.js [39m[1m[2m 1,053.34 kB[22m[1m[22m[2m │ gzip: 284.73 kB[22m
|
|
100
101
|
[2mdist/[22m[2massets/[22m[36mepsg-index.generated-BjJrt_0S.js [39m[1m[2m 4,295.95 kB[22m[1m[22m[2m │ gzip: 440.44 kB[22m
|
|
101
102
|
[2mdist/[22m[2massets/[22m[36mcesium-DezSO2mp.js [39m[1m[2m 4,810.95 kB[22m[1m[22m[2m │ gzip: 1,331.27 kB[22m
|
|
102
|
-
[2mdist/[22m[2massets/[22m[36mindex-
|
|
103
|
-
[2mdist/[22m[2massets/[22m[36msandbox-
|
|
103
|
+
[2mdist/[22m[2massets/[22m[36mindex-B6T42T86.js [39m[1m[33m 7,888.12 kB[39m[22m[2m │ gzip: 1,429.98 kB[22m
|
|
104
|
+
[2mdist/[22m[2massets/[22m[36msandbox-BSiO04m8.js [39m[1m[33m 8,582.28 kB[39m[22m[2m │ gzip: 533.19 kB[22m
|
|
104
105
|
[33m
|
|
105
106
|
(!) Some chunks are larger than 6000 kB after minification. Consider:
|
|
106
107
|
- Using dynamic import() to code-split the application
|
|
107
108
|
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
|
|
108
109
|
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.[39m
|
|
109
|
-
[32m✓ built in 1m
|
|
110
|
+
[32m✓ built in 1m 26s[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,63 @@
|
|
|
1
1
|
# @ifc-lite/viewer
|
|
2
2
|
|
|
3
|
+
## 1.30.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1069](https://github.com/LTplus-AG/ifc-lite/pull/1069) [`49d146a`](https://github.com/LTplus-AG/ifc-lite/commit/49d146a653f65eb5e265347ed6a9e9e7a21589a4) Thanks [@louistrue](https://github.com/louistrue)! - Sky and lighting options for both rendering paths.
|
|
8
|
+
|
|
9
|
+
Renderer: the hardcoded shader lights move into a global lighting-environment
|
|
10
|
+
uniform (group(1)) — sun direction/colour/intensity, hemisphere ambient,
|
|
11
|
+
exposure — with defaults that render pixel-identical to the previous look,
|
|
12
|
+
plus a procedural sky pass (analytic gradient + sun disc, drawn at the
|
|
13
|
+
reverse-Z far plane, tonemapped with the same ACES curve as geometry).
|
|
14
|
+
|
|
15
|
+
Viewer: one collapsible, mode-aware Sun & Sky panel. Standalone it offers
|
|
16
|
+
lighting presets (Default, Day, Overcast, Evening, Night), a Sky toggle and
|
|
17
|
+
an exposure trim; in the Cesium world context the model is lit by the sun
|
|
18
|
+
and atmosphere, so the panel swaps presets for the Sky/atmosphere toggle and
|
|
19
|
+
the sun-path study. The study now also lights the model directly: the NOAA
|
|
20
|
+
sun position at the site is mapped into viewer space (inverse of the Cesium
|
|
21
|
+
bridge's ENU frame) with golden-hour/twilight/night photometric fades, so
|
|
22
|
+
daylight studies read identically with and without the 3D world context.
|
|
23
|
+
|
|
24
|
+
Cesium: OSM Buildings mode keeps the globe with the satellite base map —
|
|
25
|
+
buildings sit on top of the imagery instead of replacing it, and the globe
|
|
26
|
+
receives the buildings' and model's cast shadows during a sun study.
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- [#1076](https://github.com/LTplus-AG/ifc-lite/pull/1076) [`da1999f`](https://github.com/LTplus-AG/ifc-lite/commit/da1999fc6e482fa3d668b9aa98a840d2bb838112) Thanks [@louistrue](https://github.com/louistrue)! - Add `createSyntheticDataStore()` — a typed factory for building a fully-typed
|
|
31
|
+
`IfcDataStore` for synthetic / non-STEP models (GLB meshes, point-cloud scans).
|
|
32
|
+
It assembles real `@ifc-lite/data` tables (empty, or a single synthetic entity
|
|
33
|
+
row) and wires the lazy `getEntity` / `getEntitiesByType` / `getProperties` /
|
|
34
|
+
`getQuantities` accessors through `attachDataStoreAccessors`, the same single
|
|
35
|
+
source of truth the columnar parse / worker transport / cache restore use.
|
|
36
|
+
|
|
37
|
+
The viewer's GLB (`createMinimalGlbDataStore`) and LAS/LAZ point-cloud
|
|
38
|
+
(`emptyDataStore`) ingest paths now build their synthetic stores through this
|
|
39
|
+
factory instead of whole-object `as unknown as IfcDataStore` casts. Those casts
|
|
40
|
+
silently dropped the `IfcStoreBase` accessors, so a future required
|
|
41
|
+
`IfcDataStore` member stayed green at the cast site and threw
|
|
42
|
+
`TypeError: store.getProperties is not a function` at runtime on the
|
|
43
|
+
GLB / point-cloud ingest flow (same crash class as [#950](https://github.com/LTplus-AG/ifc-lite/issues/950)). The contract is now
|
|
44
|
+
compiler-enforced for these synthetic stores.
|
|
45
|
+
|
|
46
|
+
- Updated dependencies [[`891efef`](https://github.com/LTplus-AG/ifc-lite/commit/891efef5fa9fca04bf2e01be9a1de04bbb84aafe), [`891efef`](https://github.com/LTplus-AG/ifc-lite/commit/891efef5fa9fca04bf2e01be9a1de04bbb84aafe), [`891efef`](https://github.com/LTplus-AG/ifc-lite/commit/891efef5fa9fca04bf2e01be9a1de04bbb84aafe), [`891efef`](https://github.com/LTplus-AG/ifc-lite/commit/891efef5fa9fca04bf2e01be9a1de04bbb84aafe), [`891efef`](https://github.com/LTplus-AG/ifc-lite/commit/891efef5fa9fca04bf2e01be9a1de04bbb84aafe), [`49d146a`](https://github.com/LTplus-AG/ifc-lite/commit/49d146a653f65eb5e265347ed6a9e9e7a21589a4), [`49d146a`](https://github.com/LTplus-AG/ifc-lite/commit/49d146a653f65eb5e265347ed6a9e9e7a21589a4), [`da1999f`](https://github.com/LTplus-AG/ifc-lite/commit/da1999fc6e482fa3d668b9aa98a840d2bb838112)]:
|
|
47
|
+
- @ifc-lite/create@1.16.2
|
|
48
|
+
- @ifc-lite/export@1.19.6
|
|
49
|
+
- @ifc-lite/parser@3.2.0
|
|
50
|
+
- @ifc-lite/geometry@2.6.1
|
|
51
|
+
- @ifc-lite/server-client@1.17.0
|
|
52
|
+
- @ifc-lite/clash@1.1.3
|
|
53
|
+
- @ifc-lite/sdk@1.18.3
|
|
54
|
+
- @ifc-lite/renderer@1.27.0
|
|
55
|
+
- @ifc-lite/mcp@0.3.3
|
|
56
|
+
- @ifc-lite/data@2.0.3
|
|
57
|
+
- @ifc-lite/solar@1.15.0
|
|
58
|
+
- @ifc-lite/ids@1.15.10
|
|
59
|
+
- @ifc-lite/lists@1.15.3
|
|
60
|
+
|
|
3
61
|
## 1.29.0
|
|
4
62
|
|
|
5
63
|
### Minor Changes
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { u as o, __tla as __tla_0 } from "./index-
|
|
1
|
+
import { u as o, __tla as __tla_0 } from "./index-B6T42T86.js";
|
|
2
2
|
import "./zip-DFgP-l20.js";
|
|
3
3
|
import "./arrow-fie-E7fe.js";
|
|
4
|
-
import { __tla as __tla_1 } from "./sandbox-
|
|
4
|
+
import { __tla as __tla_1 } from "./sandbox-BSiO04m8.js";
|
|
5
5
|
import "./lens-DMnqMXpz.js";
|
|
6
6
|
import "./drawing-2d-CLn7Mtj8.js";
|
|
7
|
-
import "./bcf-
|
|
8
|
-
import { __tla as __tla_2 } from "./exporters-
|
|
9
|
-
import { __tla as __tla_3 } from "./server-client-
|
|
10
|
-
import { __tla as __tla_4 } from "./ids-
|
|
7
|
+
import "./bcf-C0XZ2DSl.js";
|
|
8
|
+
import { __tla as __tla_2 } from "./exporters-CvORJOLn.js";
|
|
9
|
+
import { __tla as __tla_3 } from "./server-client-AlpWMVq9.js";
|
|
10
|
+
import { __tla as __tla_4 } from "./ids-BUOe5QQl.js";
|
|
11
11
|
import "./three-SQm7uqwa.js";
|
|
12
12
|
let v;
|
|
13
13
|
let __tla = Promise.all([
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{J as X}from"./zip-DFgP-l20.js";import{g as C}from"./sandbox-
|
|
1
|
+
import{J as X}from"./zip-DFgP-l20.js";import{g as C}from"./sandbox-BSiO04m8.js";async function ee(t){const e=await X.loadAsync(t),i=await tt(e),{projectId:o,name:n,extensions:s}=await et(e),a=await it(e);return{version:i.versionId,projectId:o,name:n,topics:a,extensions:s}}async function tt(t){const e=t.file("bcf.version");if(!e)throw new Error("Invalid BCF file: missing bcf.version");const o=(await e.async("string")).match(/VersionId="([^"]+)"/);if(!o)throw new Error("Invalid BCF version file: could not parse VersionId");const n=o[1];return n!=="2.1"&&n!=="3.0"&&console.warn(`Unsupported BCF version: ${n}, treating as 2.1`),{versionId:n==="3.0"?"3.0":"2.1",detailedVersion:o[1]}}async function et(t){const e=t.file("project.bcfp");if(!e)return{};const i=await e.async("string"),o=i.match(/ProjectId="([^"]+)"/),n=i.match(/<Name>([^<]+)<\/Name>/);return{projectId:o?.[1],name:n?.[1]}}async function it(t){const e=new Map,i=new Set;t.forEach(o=>{const n=o.match(/^([^/]+)\/markup\.bcf$/i);n&&i.add(n[1])});for(const o of i)try{const n=await ot(t,o);n&&e.set(n.guid,n)}catch(n){console.warn(`Failed to parse topic ${o}:`,n)}return e}async function ot(t,e){const i=t.file(`${e}/markup.bcf`);if(!i)return null;const o=await i.async("string"),n=o.match(/<Topic\s+Guid="([^"]+)"[^>]*>([\s\S]*?)<\/Topic>/);if(!n)return console.warn(`Invalid markup.bcf in ${e}: missing Topic element`),null;const s=n[1],a=n[2],r=o.match(/<Topic[^>]*TopicType="([^"]+)"/),c=o.match(/<Topic[^>]*TopicStatus="([^"]+)"/),l=g(a,"Title")||"Untitled",p=g(a,"Description"),f=g(a,"Priority"),m=g(a,"Index"),u=g(a,"CreationDate")||new Date().toISOString(),y=g(a,"CreationAuthor")||"Unknown",d=g(a,"ModifiedDate"),x=g(a,"ModifiedAuthor"),w=g(a,"DueDate"),b=g(a,"AssignedTo"),v=g(a,"Stage"),T=[],H=a.matchAll(/<Labels>([^<]+)<\/Labels>/g);for(const A of H)T.push(A[1]);const W=nt(a),O=st(a),I=[],J=a.matchAll(/<RelatedTopic\s+Guid="([^"]+)"/g);for(const A of J)I.push(A[1]);const K=at(o),Q=await ct(t,e,o);return{guid:s,title:l,description:p,topicType:r?.[1],topicStatus:c?.[1],priority:f,index:m?parseInt(m,10):void 0,creationDate:u,creationAuthor:y,modifiedDate:d,modifiedAuthor:x,dueDate:w,assignedTo:b,stage:v,labels:T.length>0?T:void 0,bimSnippet:W,documentReferences:O.length>0?O:void 0,relatedTopics:I.length>0?I:void 0,comments:K,viewpoints:Q}}function g(t,e){return t.match(new RegExp(`<${e}>([^<]*)<\\/${e}>`))?.[1]}function nt(t){const e=t.match(/<BimSnippet\s+SnippetType="([^"]+)"[^>]*>([\s\S]*?)<\/BimSnippet>/);if(!e)return;const i=e[0].match(/isExternal="([^"]+)"/),o=g(e[2],"Reference"),n=g(e[2],"ReferenceSchema");return{snippetType:e[1],isExternal:i?.[1]==="true",reference:o||"",referenceSchema:n}}function st(t){const e=[],i=t.matchAll(/<DocumentReference[^>]*>([\s\S]*?)<\/DocumentReference>/g);for(const o of i){const n=o[0].match(/Guid="([^"]+)"/),s=o[0].match(/isExternal="([^"]+)"/),a=g(o[1],"ReferencedDocument"),r=g(o[1],"Description");a&&e.push({guid:n?.[1],isExternal:s?.[1]==="true",referencedDocument:a,description:r})}return e}function at(t){const e=[],i=t.matchAll(/<Comment\s+Guid="([^"]+)"[^>]*>([\s\S]*?)<\/Comment>/g);for(const o of i){const n=o[1],s=o[2],a=g(s,"Date")||new Date().toISOString(),r=g(s,"Author")||"Unknown",c=g(s,"Comment")||"",l=g(s,"ModifiedDate"),p=g(s,"ModifiedAuthor"),f=s.match(/<Viewpoint\s+Guid="([^"]+)"/);e.push({guid:n,date:a,author:r,comment:c,viewpointGuid:f?.[1],modifiedDate:l,modifiedAuthor:p})}return e}async function ct(t,e,i){const o=[],n=new Map,s=/<Viewpoint\s+Guid="([^"]+)"[^>]*>([\s\S]*?)<\/Viewpoint>/g;for(const c of i.matchAll(s)){const l=c[1],p=c[2],f=p.match(/<Viewpoint>([^<]+)<\/Viewpoint>/),m=p.match(/<Snapshot>([^<]+)<\/Snapshot>/);n.set(l,{viewpointFile:f?.[1],snapshotFile:m?.[1]})}const a=i.matchAll(/<Viewpoint\s+Guid="([^"]+)"[^>]*\/>/g);for(const c of a)n.has(c[1])||n.set(c[1],{});const r=[];t.forEach(c=>{c.startsWith(`${e}/`)&&c.endsWith(".bcfv")&&r.push(c)});for(const c of r)try{const l=t.file(c);if(!l)continue;const p=await l.async("string"),f=rt(p);if(f){const m=n.get(f.guid);let u=null,y="png";if(m?.snapshotFile){const d=`${e}/${m.snapshotFile}`;u=t.file(d),(m.snapshotFile.toLowerCase().endsWith(".jpg")||m.snapshotFile.toLowerCase().endsWith(".jpeg"))&&(y="jpeg")}if(!u){const d=c.replace(".bcfv",""),x=d.replace(/Viewpoint_/i,"Snapshot_"),w=d.replace(/_viewpoint$/i,"_snapshot"),b=[`${x}.png`,`${w}.png`,`${d}.png`,`${e}/snapshot.png`,`${x}.jpg`,`${w}.jpg`,`${d}.jpg`,`${e}/snapshot.jpg`];for(const v of b)if(u=t.file(v),u){(v.toLowerCase().endsWith(".jpg")||v.toLowerCase().endsWith(".jpeg"))&&(y="jpeg");break}}if(u){const d=await u.async("uint8array");f.snapshotData=d,f.snapshot=`data:image/${y};base64,${j(d)}`}o.push(f)}}catch(l){console.warn(`Failed to parse viewpoint ${c}:`,l)}if(o.length===0){const c=t.file(`${e}/snapshot.png`)||t.file(`${e}/snapshot.jpg`);if(c){const l=c.name.toLowerCase().endsWith(".jpg"),p=await c.async("uint8array");o.push({guid:e,snapshot:`data:image/${l?"jpeg":"png"};base64,${j(p)}`,snapshotData:p})}}return o}function rt(t){const i=t.match(/<VisualizationInfo[^>]+Guid="([^"]+)"/)?.[1]||crypto.randomUUID?.()||`vp-${Date.now()}`,o=lt(t),n=pt(t),s=ft(t),a=dt(t),r=ht(t),c=gt(t);return{guid:i,perspectiveCamera:o,orthogonalCamera:n,components:s,lines:a.length>0?a:void 0,clippingPlanes:r.length>0?r:void 0,bitmaps:c.length>0?c:void 0}}function lt(t){const e=t.match(/<PerspectiveCamera>([\s\S]*?)<\/PerspectiveCamera>/);if(!e)return;const i=e[1],o=V(i,"CameraViewPoint"),n=M(i,"CameraDirection"),s=M(i,"CameraUpVector"),a=g(i,"FieldOfView");if(!(!o||!n||!s||!a))return{cameraViewPoint:o,cameraDirection:n,cameraUpVector:s,fieldOfView:parseFloat(a)}}function pt(t){const e=t.match(/<OrthogonalCamera>([\s\S]*?)<\/OrthogonalCamera>/);if(!e)return;const i=e[1],o=V(i,"CameraViewPoint"),n=M(i,"CameraDirection"),s=M(i,"CameraUpVector"),a=g(i,"ViewToWorldScale");if(!(!o||!n||!s||!a))return{cameraViewPoint:o,cameraDirection:n,cameraUpVector:s,viewToWorldScale:parseFloat(a)}}function V(t,e){const i=t.match(new RegExp(`<${e}>([\\s\\S]*?)<\\/${e}>`));if(!i)return;const o=g(i[1],"X"),n=g(i[1],"Y"),s=g(i[1],"Z");if(!(o===void 0||n===void 0||s===void 0))return{x:parseFloat(o),y:parseFloat(n),z:parseFloat(s)}}function M(t,e){return V(t,e)}function ft(t){const e=t.match(/<Components>([\s\S]*?)<\/Components>/);if(!e)return;const i=e[1],o=B(i,"Selection"),n=ut(i),s=mt(i);if(!(!o&&!n&&!s))return{selection:o?.length?o:void 0,visibility:n,coloring:s?.length?s:void 0}}function B(t,e){const i=t.match(new RegExp(`<${e}>([\\s\\S]*?)<\\/${e}>`));if(!i)return;const o=[],n=i[1].matchAll(/<Component[^>]*(?:\/>|>[\s\S]*?<\/Component>)/g);for(const s of n){const a=_(s[0]);a&&o.push(a)}return o.length>0?o:void 0}function _(t){const e=t.match(/IfcGuid="([^"]+)"/),i=t.match(/AuthoringToolId="([^"]+)"/),o=t.match(/OriginatingSystem="([^"]+)"/);if(!(!e&&!i))return{ifcGuid:e?.[1],authoringToolId:i?.[1],originatingSystem:o?.[1]}}function ut(t){const e=t.match(/<Visibility[^>]*>([\s\S]*?)<\/Visibility>/);if(!e)return;const o=t.match(/DefaultVisibility="([^"]+)"/)?.[1]!=="false",n=B(e[1],"Exceptions");return{defaultVisibility:o,exceptions:n}}function mt(t){const e=t.match(/<Coloring>([\s\S]*?)<\/Coloring>/);if(!e)return;const i=[],o=e[1].matchAll(/<Color\s+Color="([^"]+)"[^>]*>([\s\S]*?)<\/Color>/g);for(const n of o){const s=n[1],a=[],r=n[2].matchAll(/<Component[^>]*(?:\/>|>[\s\S]*?<\/Component>)/g);for(const c of r){const l=_(c[0]);l&&a.push(l)}a.length>0&&i.push({color:s,components:a})}return i.length>0?i:void 0}function dt(t){const e=[],i=t.match(/<Lines>([\s\S]*?)<\/Lines>/);if(!i)return e;const o=i[1].matchAll(/<Line>([\s\S]*?)<\/Line>/g);for(const n of o){const s=V(n[1],"StartPoint"),a=V(n[1],"EndPoint");s&&a&&e.push({startPoint:s,endPoint:a})}return e}function ht(t){const e=[],i=t.match(/<ClippingPlanes>([\s\S]*?)<\/ClippingPlanes>/);if(!i)return e;const o=i[1].matchAll(/<ClippingPlane>([\s\S]*?)<\/ClippingPlane>/g);for(const n of o){const s=V(n[1],"Location"),a=M(n[1],"Direction");s&&a&&e.push({location:s,direction:a})}return e}function gt(t){const e=[],i=t.match(/<Bitmaps>([\s\S]*?)<\/Bitmaps>/);if(!i)return e;const o=i[1].matchAll(/<Bitmap>([\s\S]*?)<\/Bitmap>/g);for(const n of o){const s=g(n[1],"Format")||g(n[1],"Bitmap"),a=g(n[1],"Reference"),r=V(n[1],"Location"),c=M(n[1],"Normal"),l=M(n[1],"Up"),p=g(n[1],"Height");s&&a&&r&&c&&l&&p&&e.push({format:s.toUpperCase()==="JPG"?"JPG":"PNG",reference:a,location:r,normal:c,up:l,height:parseFloat(p)})}return e}function j(t){let e="";for(let i=0;i<t.length;i++)e+=String.fromCharCode(t[i]);return btoa(e)}async function ie(t){const e=new X;yt(e,t.version),(t.projectId||t.name)&&xt(e,t);for(const[i,o]of t.topics)await wt(e,o);return e.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:6}})}function yt(t,e){const i=`<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<Version xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" VersionId="${e}">
|
|
3
3
|
<DetailedVersion>${e}</DetailedVersion>
|
|
4
4
|
</Version>`;t.file("bcf.version",i)}function xt(t,e){const i=e.projectId||C(),o=e.name?`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as r}from"./pako.esm-n3Pgozwg.js";import{B as o}from"./geotiff-
|
|
1
|
+
import{i as r}from"./pako.esm-n3Pgozwg.js";import{B as o}from"./geotiff-fSD_sVw_.js";import"./sandbox-BSiO04m8.js";import"./lens-DMnqMXpz.js";import"./__vite-browser-external-B1O5LaIO.js";class d extends o{decodeBlock(e){return r(new Uint8Array(e)).buffer}}export{d as default};
|