@zendir/ui 0.5.0 → 0.6.1
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/CHANGELOG.md +419 -386
- package/README.md +640 -631
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/index.js +17 -221
- package/dist/react/3d/CesiumCaptureSource.d.ts +0 -1
- package/dist/react/3d/CesiumCaptureSource.js +364 -283
- package/dist/react/3d/CesiumCaptureSource.js.map +1 -1
- package/dist/react/3d/ZenSpace3D.d.ts +2 -3
- package/dist/react/3d/ZenSpace3D.js +1681 -1237
- package/dist/react/3d/ZenSpace3D.js.map +1 -1
- package/dist/react/3d/ZenSpace3DCesium.d.ts +0 -1
- package/dist/react/3d/ZenSpace3DCesium.js +513 -560
- package/dist/react/3d/ZenSpace3DCesium.js.map +1 -1
- package/dist/react/3d/ZenSpace3DShaders.js +61 -66
- package/dist/react/3d/ZenSpace3DShaders.js.map +1 -1
- package/dist/react/3d/ZenSpace3DTypes.d.ts +19 -20
- package/dist/react/3d/ZenSpace3DUtils.d.ts +0 -1
- package/dist/react/3d/ZenSpace3DUtils.js +37 -24
- package/dist/react/3d/ZenSpace3DUtils.js.map +1 -1
- package/dist/react/3d/capturePngAnalysis.js +42 -36
- package/dist/react/3d/capturePngAnalysis.js.map +1 -1
- package/dist/react/3d/index.d.ts +3 -3
- package/dist/react/3d/index.js +5 -53
- package/dist/react/3d/threeLoader.d.ts +1 -1
- package/dist/react/3d/threeLoader.js +23 -18
- package/dist/react/3d/threeLoader.js.map +1 -1
- package/dist/react/astro/ClassificationBanner.d.ts +2 -3
- package/dist/react/astro/ClassificationBanner.js +95 -79
- package/dist/react/astro/ClassificationBanner.js.map +1 -1
- package/dist/react/astro/GlobalStatusBar.d.ts +0 -1
- package/dist/react/astro/GlobalStatusBar.js +157 -163
- package/dist/react/astro/GlobalStatusBar.js.map +1 -1
- package/dist/react/astro/MissionClock.d.ts +7 -8
- package/dist/react/astro/MissionClock.js +377 -400
- package/dist/react/astro/MissionClock.js.map +1 -1
- package/dist/react/astro/MonitoringIcon.d.ts +1 -2
- package/dist/react/astro/MonitoringIcon.js +422 -358
- package/dist/react/astro/MonitoringIcon.js.map +1 -1
- package/dist/react/astro/Notification.d.ts +1 -2
- package/dist/react/astro/Notification.js +229 -126
- package/dist/react/astro/Notification.js.map +1 -1
- package/dist/react/astro/Progress.d.ts +0 -1
- package/dist/react/astro/Progress.js +199 -141
- package/dist/react/astro/Progress.js.map +1 -1
- package/dist/react/astro/SimulationControls.d.ts +3 -4
- package/dist/react/astro/SimulationControls.js +596 -650
- package/dist/react/astro/SimulationControls.js.map +1 -1
- package/dist/react/astro/StatusIndicator.d.ts +0 -1
- package/dist/react/astro/StatusIndicator.js +236 -170
- package/dist/react/astro/StatusIndicator.js.map +1 -1
- package/dist/react/astro/UnifiedTimeline.d.ts +9 -10
- package/dist/react/astro/UnifiedTimeline.js +2345 -2392
- package/dist/react/astro/UnifiedTimeline.js.map +1 -1
- package/dist/react/astro/index.d.ts +5 -5
- package/dist/react/astro/index.js +1 -25
- package/dist/react/cards/AccessCard.d.ts +0 -1
- package/dist/react/cards/AccessCard.js +471 -405
- package/dist/react/cards/AccessCard.js.map +1 -1
- package/dist/react/cards/OrbitCard.d.ts +0 -1
- package/dist/react/cards/OrbitCard.js +487 -364
- package/dist/react/cards/OrbitCard.js.map +1 -1
- package/dist/react/cards/SpacecraftCard.d.ts +0 -1
- package/dist/react/cards/SpacecraftCard.js +813 -925
- package/dist/react/cards/SpacecraftCard.js.map +1 -1
- package/dist/react/cards/TelemetryCard.d.ts +0 -1
- package/dist/react/cards/TelemetryCard.js +1055 -732
- package/dist/react/cards/TelemetryCard.js.map +1 -1
- package/dist/react/cards/TelemetryStreamCard.d.ts +0 -1
- package/dist/react/cards/TelemetryStreamCard.js +323 -297
- package/dist/react/cards/TelemetryStreamCard.js.map +1 -1
- package/dist/react/cards/index.d.ts +1 -1
- package/dist/react/cards/index.js +1 -8
- package/dist/react/charts/GroundTrackMap.d.ts +6 -7
- package/dist/react/charts/GroundTrackMap.js +1377 -1256
- package/dist/react/charts/GroundTrackMap.js.map +1 -1
- package/dist/react/charts/GroundTrackMapLeaflet.d.ts +1 -2
- package/dist/react/charts/GroundTrackMapLeaflet.js +1065 -987
- package/dist/react/charts/GroundTrackMapLeaflet.js.map +1 -1
- package/dist/react/charts/groundTrackMapLeafletTiles.js +34 -25
- package/dist/react/charts/groundTrackMapLeafletTiles.js.map +1 -1
- package/dist/react/charts/groundTrackMapLeafletUtils.js +70 -61
- package/dist/react/charts/groundTrackMapLeafletUtils.js.map +1 -1
- package/dist/react/charts/index.d.ts +1 -1
- package/dist/react/charts/index.js +7 -100
- package/dist/react/charts/unified/AstroChart.d.ts +1 -2
- package/dist/react/charts/unified/AstroChart.js +1331 -1411
- package/dist/react/charts/unified/AstroChart.js.map +1 -1
- package/dist/react/charts/unified/PowerOverviewChart.d.ts +3 -3
- package/dist/react/charts/unified/PowerOverviewChart.js +495 -478
- package/dist/react/charts/unified/PowerOverviewChart.js.map +1 -1
- package/dist/react/charts/unified/domain.d.ts +12 -13
- package/dist/react/charts/unified/domain.js +3999 -3145
- package/dist/react/charts/unified/domain.js.map +1 -1
- package/dist/react/charts/unified/generators.d.ts +3 -4
- package/dist/react/charts/unified/generators.js +561 -498
- package/dist/react/charts/unified/generators.js.map +1 -1
- package/dist/react/charts/unified/index.d.ts +1 -1
- package/dist/react/charts/unified/presets.d.ts +14 -15
- package/dist/react/charts/unified/presets.js +857 -994
- package/dist/react/charts/unified/presets.js.map +1 -1
- package/dist/react/charts/unified/sync.d.ts +2 -3
- package/dist/react/charts/unified/sync.js +229 -195
- package/dist/react/charts/unified/sync.js.map +1 -1
- package/dist/react/charts/unified/theme.d.ts +11 -12
- package/dist/react/charts/unified/theme.js +606 -642
- package/dist/react/charts/unified/theme.js.map +1 -1
- package/dist/react/charts/unified/types.d.ts +32 -33
- package/dist/react/charts/unified/useChartStream.d.ts +1 -2
- package/dist/react/charts/unified/useChartStream.js +203 -216
- package/dist/react/charts/unified/useChartStream.js.map +1 -1
- package/dist/react/chatgpt/AppCard.d.ts +1 -2
- package/dist/react/chatgpt/index.d.ts +7 -7
- package/dist/react/chatgpt/index.js +160 -139
- package/dist/react/chatgpt/index.js.map +1 -1
- package/dist/react/context/CategoryContext.d.ts +0 -1
- package/dist/react/context/CategoryContext.js +78 -29
- package/dist/react/context/CategoryContext.js.map +1 -1
- package/dist/react/context/DisplaySettingsContext.d.ts +1 -2
- package/dist/react/context/DisplaySettingsContext.js +205 -156
- package/dist/react/context/DisplaySettingsContext.js.map +1 -1
- package/dist/react/context/SpatialSelectionContext.d.ts +0 -1
- package/dist/react/context/SpatialSelectionContext.js +36 -7
- package/dist/react/context/SpatialSelectionContext.js.map +1 -1
- package/dist/react/core/data/DataTable.d.ts +3 -4
- package/dist/react/core/data/DataTable.js +473 -440
- package/dist/react/core/data/DataTable.js.map +1 -1
- package/dist/react/core/data/DataValue.d.ts +4 -5
- package/dist/react/core/data/DataValue.js +605 -571
- package/dist/react/core/data/DataValue.js.map +1 -1
- package/dist/react/core/data/propertyConfig.d.ts +1 -2
- package/dist/react/core/data/propertyConfig.js +446 -382
- package/dist/react/core/data/propertyConfig.js.map +1 -1
- package/dist/react/core/display/AstroIcon.d.ts +4 -5
- package/dist/react/core/display/AstroIcon.js +339 -429
- package/dist/react/core/display/AstroIcon.js.map +1 -1
- package/dist/react/core/display/Badge.d.ts +2 -3
- package/dist/react/core/display/Badge.js +131 -131
- package/dist/react/core/display/Badge.js.map +1 -1
- package/dist/react/core/display/CardHeader.d.ts +0 -1
- package/dist/react/core/display/CardHeader.js +398 -311
- package/dist/react/core/display/CardHeader.js.map +1 -1
- package/dist/react/core/display/Container.d.ts +2 -3
- package/dist/react/core/display/Container.js +640 -668
- package/dist/react/core/display/Container.js.map +1 -1
- package/dist/react/core/display/CopyButton.d.ts +1 -2
- package/dist/react/core/display/CopyButton.js +158 -101
- package/dist/react/core/display/CopyButton.js.map +1 -1
- package/dist/react/core/display/GlassCard.d.ts +3 -4
- package/dist/react/core/display/GlassCard.js +416 -369
- package/dist/react/core/display/GlassCard.js.map +1 -1
- package/dist/react/core/display/HeaderIconWithStatus.d.ts +0 -1
- package/dist/react/core/display/HeaderIconWithStatus.js +152 -152
- package/dist/react/core/display/HeaderIconWithStatus.js.map +1 -1
- package/dist/react/core/display/Icon.d.ts +2 -3
- package/dist/react/core/display/Icon.js +172 -143
- package/dist/react/core/display/Icon.js.map +1 -1
- package/dist/react/core/display/Typography.d.ts +24 -25
- package/dist/react/core/display/Typography.js +360 -178
- package/dist/react/core/display/Typography.js.map +1 -1
- package/dist/react/core/feedback/ConfirmDialog.d.ts +1 -2
- package/dist/react/core/feedback/ConfirmDialog.js +343 -304
- package/dist/react/core/feedback/ConfirmDialog.js.map +1 -1
- package/dist/react/core/feedback/Dialog.d.ts +2 -3
- package/dist/react/core/feedback/Dialog.js +189 -197
- package/dist/react/core/feedback/Dialog.js.map +1 -1
- package/dist/react/core/feedback/Toast.d.ts +2 -3
- package/dist/react/core/feedback/Toast.js +346 -207
- package/dist/react/core/feedback/Toast.js.map +1 -1
- package/dist/react/core/index.d.ts +26 -26
- package/dist/react/core/index.js +7 -119
- package/dist/react/core/inputs/Button.d.ts +2 -3
- package/dist/react/core/inputs/Button.js +281 -304
- package/dist/react/core/inputs/Button.js.map +1 -1
- package/dist/react/core/inputs/Checkbox.d.ts +2 -3
- package/dist/react/core/inputs/Checkbox.js +139 -127
- package/dist/react/core/inputs/Checkbox.js.map +1 -1
- package/dist/react/core/inputs/Input.d.ts +3 -4
- package/dist/react/core/inputs/Input.js +277 -285
- package/dist/react/core/inputs/Input.js.map +1 -1
- package/dist/react/core/inputs/LimitsBar.d.ts +1 -2
- package/dist/react/core/inputs/LimitsBar.js +271 -196
- package/dist/react/core/inputs/LimitsBar.js.map +1 -1
- package/dist/react/core/inputs/NumberInput.d.ts +2 -3
- package/dist/react/core/inputs/NumberInput.js +531 -503
- package/dist/react/core/inputs/NumberInput.js.map +1 -1
- package/dist/react/core/inputs/PinInput.d.ts +2 -3
- package/dist/react/core/inputs/PinInput.js +224 -207
- package/dist/react/core/inputs/PinInput.js.map +1 -1
- package/dist/react/core/inputs/Select.d.ts +1 -2
- package/dist/react/core/inputs/Select.js +298 -299
- package/dist/react/core/inputs/Select.js.map +1 -1
- package/dist/react/core/inputs/Toggle.d.ts +2 -3
- package/dist/react/core/inputs/Toggle.js +142 -148
- package/dist/react/core/inputs/Toggle.js.map +1 -1
- package/dist/react/core/layout/Box.d.ts +3 -4
- package/dist/react/core/layout/Box.js +118 -122
- package/dist/react/core/layout/Box.js.map +1 -1
- package/dist/react/core/layout/Center.d.ts +0 -1
- package/dist/react/core/layout/Center.js +45 -32
- package/dist/react/core/layout/Center.js.map +1 -1
- package/dist/react/core/layout/Divider.d.ts +1 -2
- package/dist/react/core/layout/Divider.js +112 -106
- package/dist/react/core/layout/Divider.js.map +1 -1
- package/dist/react/core/layout/Flex.d.ts +4 -5
- package/dist/react/core/layout/Flex.js +120 -124
- package/dist/react/core/layout/Flex.js.map +1 -1
- package/dist/react/core/layout/Grid.d.ts +5 -6
- package/dist/react/core/layout/Grid.js +131 -138
- package/dist/react/core/layout/Grid.js.map +1 -1
- package/dist/react/core/layout/Spacer.d.ts +0 -1
- package/dist/react/core/layout/Spacer.js +36 -29
- package/dist/react/core/layout/Spacer.js.map +1 -1
- package/dist/react/core/layout/Stack.d.ts +4 -5
- package/dist/react/core/layout/Stack.js +127 -70
- package/dist/react/core/layout/Stack.js.map +1 -1
- package/dist/react/core/layout/responsive.d.ts +1 -2
- package/dist/react/core/layout/responsive.js +25 -19
- package/dist/react/core/layout/responsive.js.map +1 -1
- package/dist/react/core/layout/useBreakpoint.d.ts +1 -1
- package/dist/react/core/layout/useBreakpoint.js +119 -66
- package/dist/react/core/layout/useBreakpoint.js.map +1 -1
- package/dist/react/core/navigation/AppBar.d.ts +1 -2
- package/dist/react/core/navigation/AppBar.js +827 -805
- package/dist/react/core/navigation/AppBar.js.map +1 -1
- package/dist/react/core/navigation/Pagination.d.ts +2 -3
- package/dist/react/core/navigation/Pagination.js +207 -187
- package/dist/react/core/navigation/Pagination.js.map +1 -1
- package/dist/react/core/navigation/SideNav.d.ts +5 -6
- package/dist/react/core/navigation/SideNav.js +855 -629
- package/dist/react/core/navigation/SideNav.js.map +1 -1
- package/dist/react/core/navigation/Tabs.d.ts +0 -1
- package/dist/react/core/navigation/Tabs.js +113 -119
- package/dist/react/core/navigation/Tabs.js.map +1 -1
- package/dist/react/core/overlays/Popover.d.ts +2 -3
- package/dist/react/core/overlays/Popover.js +303 -282
- package/dist/react/core/overlays/Popover.js.map +1 -1
- package/dist/react/core/overlays/SidePanel.d.ts +1 -2
- package/dist/react/core/overlays/SidePanel.js +217 -212
- package/dist/react/core/overlays/SidePanel.js.map +1 -1
- package/dist/react/core/overlays/Tooltip.d.ts +1 -2
- package/dist/react/core/overlays/Tooltip.js +170 -176
- package/dist/react/core/overlays/Tooltip.js.map +1 -1
- package/dist/react/core/widgets/ActivityPlanner.d.ts +0 -1
- package/dist/react/core/widgets/ActivityPlanner.js +855 -517
- package/dist/react/core/widgets/ActivityPlanner.js.map +1 -1
- package/dist/react/core/widgets/Capture.d.ts +2 -3
- package/dist/react/core/widgets/Capture.js +965 -779
- package/dist/react/core/widgets/Capture.js.map +1 -1
- package/dist/react/core/widgets/ChatPanel.d.ts +16 -17
- package/dist/react/core/widgets/ChatPanel.js +1734 -1034
- package/dist/react/core/widgets/ChatPanel.js.map +1 -1
- package/dist/react/core/widgets/ColorPickerPanel.d.ts +0 -1
- package/dist/react/core/widgets/ColorPickerPanel.js +298 -287
- package/dist/react/core/widgets/ColorPickerPanel.js.map +1 -1
- package/dist/react/core/widgets/CommandBuilder.d.ts +2 -3
- package/dist/react/core/widgets/CommandBuilder.js +624 -516
- package/dist/react/core/widgets/CommandBuilder.js.map +1 -1
- package/dist/react/core/widgets/ConnectionForm.d.ts +2 -3
- package/dist/react/core/widgets/ConnectionForm.js +528 -492
- package/dist/react/core/widgets/ConnectionForm.js.map +1 -1
- package/dist/react/core/widgets/FileExplorer.d.ts +3 -4
- package/dist/react/core/widgets/FileExplorer.js +617 -505
- package/dist/react/core/widgets/FileExplorer.js.map +1 -1
- package/dist/react/core/widgets/HexViewer.d.ts +2 -3
- package/dist/react/core/widgets/HexViewer.js +1353 -1091
- package/dist/react/core/widgets/HexViewer.js.map +1 -1
- package/dist/react/core/widgets/ImageFrame.d.ts +1 -2
- package/dist/react/core/widgets/ImageFrame.js +230 -193
- package/dist/react/core/widgets/ImageFrame.js.map +1 -1
- package/dist/react/core/widgets/ImageGallery.d.ts +2 -1
- package/dist/react/core/widgets/ImageGallery.js +380 -314
- package/dist/react/core/widgets/ImageGallery.js.map +1 -1
- package/dist/react/core/widgets/ImagePanel.d.ts +0 -1
- package/dist/react/core/widgets/ImagePanel.js +110 -101
- package/dist/react/core/widgets/ImagePanel.js.map +1 -1
- package/dist/react/core/widgets/LogViewer.d.ts +2 -3
- package/dist/react/core/widgets/LogViewer.js +711 -607
- package/dist/react/core/widgets/LogViewer.js.map +1 -1
- package/dist/react/core/widgets/MessageStream.d.ts +3 -4
- package/dist/react/core/widgets/MessageStream.js +514 -444
- package/dist/react/core/widgets/MessageStream.js.map +1 -1
- package/dist/react/core/widgets/MissionCalendar.d.ts +3 -4
- package/dist/react/core/widgets/MissionCalendar.js +1488 -1020
- package/dist/react/core/widgets/MissionCalendar.js.map +1 -1
- package/dist/react/core/widgets/PacketViewer.d.ts +2 -3
- package/dist/react/core/widgets/PacketViewer.js +550 -421
- package/dist/react/core/widgets/PacketViewer.js.map +1 -1
- package/dist/react/core/widgets/capture-placeholder.png.js +6 -5
- package/dist/react/core/widgets/capture-placeholder.png.js.map +1 -1
- package/dist/react/hooks/index.d.ts +5 -5
- package/dist/react/hooks/useAccessWindows.d.ts +0 -1
- package/dist/react/hooks/useCompactMode.d.ts +1 -1
- package/dist/react/hooks/useCompactMode.js +104 -58
- package/dist/react/hooks/useCompactMode.js.map +1 -1
- package/dist/react/hooks/useGroundTrackHistory.d.ts +0 -1
- package/dist/react/hooks/useSimulationScene.d.ts +1 -2
- package/dist/react/hooks/useSimulationScene.js +481 -374
- package/dist/react/hooks/useSimulationScene.js.map +1 -1
- package/dist/react/index.d.ts +3 -3
- package/dist/react/panels/LayerControlPanel.d.ts +1 -2
- package/dist/react/panels/LayerControlPanel.js +223 -180
- package/dist/react/panels/LayerControlPanel.js.map +1 -1
- package/dist/react/panels/ObjectInventoryPanel.d.ts +2 -3
- package/dist/react/panels/ObjectInventoryPanel.js +315 -250
- package/dist/react/panels/ObjectInventoryPanel.js.map +1 -1
- package/dist/react/panels/index.d.ts +1 -1
- package/dist/react/panels/index.js +1 -6
- package/dist/react/shared/ErrorBoundary.d.ts +1 -2
- package/dist/react/shared/ErrorBoundary.js +170 -139
- package/dist/react/shared/ErrorBoundary.js.map +1 -1
- package/dist/react/shared/Skeleton.d.ts +1 -2
- package/dist/react/shared/Skeleton.js +300 -301
- package/dist/react/shared/Skeleton.js.map +1 -1
- package/dist/react/theme/ThemeProvider.d.ts +2 -321
- package/dist/react/theme/ThemeProvider.js +313 -939
- package/dist/react/theme/ThemeProvider.js.map +1 -1
- package/dist/react/theme/cardAccent.d.ts +1 -2
- package/dist/react/theme/cardAccent.js +196 -126
- package/dist/react/theme/cardAccent.js.map +1 -1
- package/dist/react/theme/config.d.ts +0 -1
- package/dist/react/theme/config.js +47 -25
- package/dist/react/theme/config.js.map +1 -1
- package/dist/react/theme/index.d.ts +2 -2
- package/dist/react/theme/index.js +1 -16
- package/dist/react/theme/types.d.ts +332 -0
- package/dist/react/theme/types.js +39 -0
- package/dist/react/theme/types.js.map +1 -0
- package/dist/react/types.d.ts +8 -8
- package/dist/react/types.js +147 -47
- package/dist/react/types.js.map +1 -1
- package/dist/react/utils/categoryPalette.d.ts +0 -1
- package/dist/react/utils/categoryPalette.js +91 -102
- package/dist/react/utils/categoryPalette.js.map +1 -1
- package/dist/react/utils/index.d.ts +5 -5
- package/dist/react/utils/index.js +457 -371
- package/dist/react/utils/index.js.map +1 -1
- package/dist/react/visualizations/EclipseTimerCard.d.ts +0 -1
- package/dist/react/visualizations/LinkBudgetCard.d.ts +0 -1
- package/dist/react/visualizations/NavBallCard.d.ts +0 -1
- package/dist/react/visualizations/PropulsionCard.d.ts +1 -2
- package/dist/react/visualizations/SensorFootprintCard.d.ts +1 -2
- package/dist/react/visualizations/ThermalHeatmapCard.d.ts +0 -1
- package/dist/react/visualizations/index.d.ts +3 -3
- package/dist/react.d.ts +2 -1
- package/dist/react.js +17 -221
- package/dist/shaders/atmosphere.frag.js +6 -5
- package/dist/shaders/atmosphere.frag.js.map +1 -1
- package/dist/shaders/atmosphere.vert.js +6 -5
- package/dist/shaders/atmosphere.vert.js.map +1 -1
- package/dist/shaders/stars.frag.js +6 -5
- package/dist/shaders/stars.frag.js.map +1 -1
- package/dist/shaders/stars.vert.js +6 -5
- package/dist/shaders/stars.vert.js.map +1 -1
- package/dist/style.css +26 -3
- package/dist/tokens/core.d.ts +159 -0
- package/dist/tokens/core.js +144 -0
- package/dist/tokens/core.js.map +1 -0
- package/dist/tokens/css-vars.d.ts +213 -2
- package/dist/tokens/css-vars.js +590 -227
- package/dist/tokens/css-vars.js.map +1 -1
- package/dist/tokens/index.d.ts +31 -228
- package/dist/tokens/index.js +281 -366
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/palettes/astro.d.ts +129 -0
- package/dist/tokens/palettes/astro.js +112 -0
- package/dist/tokens/palettes/astro.js.map +1 -0
- package/dist/tokens/palettes/index.d.ts +288 -0
- package/dist/tokens/palettes/index.js +35 -0
- package/dist/tokens/palettes/index.js.map +1 -0
- package/dist/tokens/palettes/tailwind.d.ts +324 -0
- package/dist/tokens/palettes/tailwind.js +201 -0
- package/dist/tokens/palettes/tailwind.js.map +1 -0
- package/dist/tokens/palettes/zendir.d.ts +126 -0
- package/dist/tokens/palettes/zendir.js +92 -0
- package/dist/tokens/palettes/zendir.js.map +1 -0
- package/dist/tokens/themes.d.ts +30 -0
- package/dist/tokens/themes.js +704 -0
- package/dist/tokens/themes.js.map +1 -0
- package/dist/tokens/tokens.css +533 -155
- package/dist/types/index.d.ts +2 -2
- package/package.json +310 -313
- package/dist/index.js.map +0 -1
- package/dist/react/3d/index.js.map +0 -1
- package/dist/react/astro/index.js.map +0 -1
- package/dist/react/cards/index.js.map +0 -1
- package/dist/react/charts/index.js.map +0 -1
- package/dist/react/core/index.js.map +0 -1
- package/dist/react/panels/index.js.map +0 -1
- package/dist/react/theme/astro-tokens.d.ts +0 -153
- package/dist/react/theme/index.js.map +0 -1
- package/dist/react.js.map +0 -1
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { OrbitalElements, GroundStation } from '../types';
|
|
2
|
-
|
|
3
|
-
export type
|
|
4
|
-
export type
|
|
5
|
-
export type ObjectCategory = 'planet' | 'moon' | 'satellite' | 'debris' | 'station' | 'asteroid' | 'comet' | 'groundStation' | 'constellation';
|
|
2
|
+
export type ViewMode = "solar-system" | "earth-orbit" | "moon" | "mars" | "custom";
|
|
3
|
+
export type CameraMode = "free" | "follow" | "orbit" | "cinematic";
|
|
4
|
+
export type ObjectCategory = "planet" | "moon" | "satellite" | "debris" | "station" | "asteroid" | "comet" | "groundStation" | "constellation";
|
|
6
5
|
export interface SpaceObject {
|
|
7
6
|
/** Unique identifier */
|
|
8
7
|
id: string;
|
|
@@ -26,7 +25,7 @@ export interface SpaceObject {
|
|
|
26
25
|
metadata?: Record<string, unknown>;
|
|
27
26
|
}
|
|
28
27
|
export interface Satellite extends SpaceObject {
|
|
29
|
-
category:
|
|
28
|
+
category: "satellite";
|
|
30
29
|
/** Two-Line Element set */
|
|
31
30
|
tle?: TLEData;
|
|
32
31
|
/** Orbital elements */
|
|
@@ -36,30 +35,30 @@ export interface Satellite extends SpaceObject {
|
|
|
36
35
|
/** Launch date */
|
|
37
36
|
launchDate?: string;
|
|
38
37
|
/** Operational status */
|
|
39
|
-
status?:
|
|
38
|
+
status?: "operational" | "inactive" | "decaying" | "unknown";
|
|
40
39
|
/** Constellation membership */
|
|
41
40
|
constellation?: string;
|
|
42
41
|
}
|
|
43
42
|
export interface Debris extends SpaceObject {
|
|
44
|
-
category:
|
|
43
|
+
category: "debris";
|
|
45
44
|
/** Radar cross-section (m²) */
|
|
46
45
|
rcs?: number;
|
|
47
46
|
/** Source event (fragmentation, collision, etc.) */
|
|
48
47
|
sourceEvent?: string;
|
|
49
48
|
/** Estimated size category */
|
|
50
|
-
sizeCategory?:
|
|
49
|
+
sizeCategory?: "small" | "medium" | "large";
|
|
51
50
|
}
|
|
52
51
|
export interface SpaceStation extends SpaceObject {
|
|
53
|
-
category:
|
|
52
|
+
category: "station";
|
|
54
53
|
/** Station type */
|
|
55
|
-
stationType?:
|
|
54
|
+
stationType?: "iss" | "tiangong" | "commercial" | "other";
|
|
56
55
|
/** Current crew count */
|
|
57
56
|
crewCount?: number;
|
|
58
57
|
/** Docked vehicles */
|
|
59
58
|
dockedVehicles?: string[];
|
|
60
59
|
}
|
|
61
60
|
export interface Asteroid extends SpaceObject {
|
|
62
|
-
category:
|
|
61
|
+
category: "asteroid";
|
|
63
62
|
/** Spectral type */
|
|
64
63
|
spectralType?: string;
|
|
65
64
|
/** Absolute magnitude */
|
|
@@ -300,9 +299,9 @@ export interface ManeuverNode {
|
|
|
300
299
|
/** Delta-V vector (km/s) */
|
|
301
300
|
deltaV: Vector3D;
|
|
302
301
|
/** Maneuver type */
|
|
303
|
-
type?:
|
|
302
|
+
type?: "prograde" | "retrograde" | "normal" | "antinormal" | "radial" | "antiradial";
|
|
304
303
|
/** Planned/executed */
|
|
305
|
-
status?:
|
|
304
|
+
status?: "planned" | "executed";
|
|
306
305
|
}
|
|
307
306
|
export interface CloseApproachData {
|
|
308
307
|
/** Time of closest approach */
|
|
@@ -324,7 +323,7 @@ export interface TimeState {
|
|
|
324
323
|
/** Reference epoch */
|
|
325
324
|
epoch?: Date;
|
|
326
325
|
}
|
|
327
|
-
export type ToolType =
|
|
326
|
+
export type ToolType = "select" | "measure" | "orbit-designer" | "coverage-analysis" | "conjunction-warning";
|
|
328
327
|
export interface ToolState {
|
|
329
328
|
activeTool: ToolType;
|
|
330
329
|
measurementPoints?: Vector3D[];
|
|
@@ -485,8 +484,8 @@ export interface ZenSpace3DProps {
|
|
|
485
484
|
id: string;
|
|
486
485
|
fromId: string;
|
|
487
486
|
toId: string;
|
|
488
|
-
type:
|
|
489
|
-
status:
|
|
487
|
+
type: "uplink" | "downlink" | "crosslink" | "relay";
|
|
488
|
+
status: "active" | "idle" | "blocked";
|
|
490
489
|
color?: string;
|
|
491
490
|
bandwidth?: number;
|
|
492
491
|
latency?: number;
|
|
@@ -533,7 +532,7 @@ export interface ZenSpace3DProps {
|
|
|
533
532
|
/** Canvas height */
|
|
534
533
|
height?: number | string;
|
|
535
534
|
/** Theme override */
|
|
536
|
-
theme?:
|
|
535
|
+
theme?: "dark" | "light" | "purple-hue";
|
|
537
536
|
/** Event callbacks */
|
|
538
537
|
callbacks?: ZenSpace3DCallbacks;
|
|
539
538
|
/** Maximum objects to render (for performance) */
|
|
@@ -588,9 +587,9 @@ export interface ZenSpace3DHandle {
|
|
|
588
587
|
/** Set camera state */
|
|
589
588
|
setCameraState: (state: Partial<CameraState>) => void;
|
|
590
589
|
/** Export screenshot */
|
|
591
|
-
exportImage: (format?:
|
|
590
|
+
exportImage: (format?: "png" | "jpeg") => string;
|
|
592
591
|
/** Export 3D scene */
|
|
593
|
-
exportScene: (format?:
|
|
592
|
+
exportScene: (format?: "glb" | "gltf") => Blob;
|
|
594
593
|
/** Get visible objects */
|
|
595
594
|
getVisibleObjects: () => SpaceObject[];
|
|
596
595
|
/** Find objects by query */
|
|
@@ -623,7 +622,7 @@ export interface SceneObject {
|
|
|
623
622
|
id: string;
|
|
624
623
|
mesh: unknown;
|
|
625
624
|
data: SpaceObject;
|
|
626
|
-
lod:
|
|
625
|
+
lod: "high" | "medium" | "low" | "point";
|
|
627
626
|
visible: boolean;
|
|
628
627
|
lastUpdate: number;
|
|
629
628
|
}
|
|
@@ -1,28 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
//#region src/react/3d/ZenSpace3DUtils.ts
|
|
2
|
+
/** Earth's mean radius in km. */
|
|
3
|
+
var EARTH_RADIUS_KM = 6371;
|
|
4
|
+
/** Degrees → radians. */
|
|
5
|
+
var DEG_TO_RAD = Math.PI / 180;
|
|
6
|
+
/** Radians → degrees. */
|
|
7
|
+
var RAD_TO_DEG = 180 / Math.PI;
|
|
8
|
+
/** Earth radius in scene units (Three.js render space). */
|
|
9
|
+
var SCENE_EARTH_RADIUS = 3e3;
|
|
10
|
+
/** Conversion factor: 1 km → scene units. */
|
|
11
|
+
var KM_TO_SCENE = SCENE_EARTH_RADIUS / EARTH_RADIUS_KM;
|
|
12
|
+
/**
|
|
13
|
+
* Convert lat/lon/alt to a Cartesian point in scene space.
|
|
14
|
+
*
|
|
15
|
+
* Result is in *render units* (scaled by `KM_TO_SCENE`), suitable for
|
|
16
|
+
* direct use in the Three.js scene graph. For ECI→ECEF on the Cesium
|
|
17
|
+
* backend, use `Cesium.Transforms.computeTemeToPseudoFixedMatrix`.
|
|
18
|
+
*
|
|
19
|
+
* @param lat Latitude in degrees.
|
|
20
|
+
* @param lon Longitude in degrees.
|
|
21
|
+
* @param altKm Altitude above Earth surface in km (default 0).
|
|
22
|
+
* @param earthRadius Scene radius for Earth (default `SCENE_EARTH_RADIUS`).
|
|
23
|
+
*/
|
|
6
24
|
function latLonAltToCartesian(lat, lon, altKm = 0, earthRadius = SCENE_EARTH_RADIUS) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
25
|
+
const r = earthRadius + altKm * KM_TO_SCENE;
|
|
26
|
+
const phi = (90 - lat) * DEG_TO_RAD;
|
|
27
|
+
const theta = (lon + 180) * DEG_TO_RAD;
|
|
28
|
+
return {
|
|
29
|
+
x: -r * Math.sin(phi) * Math.cos(theta),
|
|
30
|
+
y: r * Math.cos(phi),
|
|
31
|
+
z: r * Math.sin(phi) * Math.sin(theta)
|
|
32
|
+
};
|
|
15
33
|
}
|
|
34
|
+
/** Cubic ease-out curve, used by camera fly-to animations. */
|
|
16
35
|
function easeOutCubic(t) {
|
|
17
|
-
|
|
36
|
+
return 1 - Math.pow(1 - t, 3);
|
|
18
37
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
RAD_TO_DEG,
|
|
24
|
-
SCENE_EARTH_RADIUS,
|
|
25
|
-
easeOutCubic,
|
|
26
|
-
latLonAltToCartesian
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=ZenSpace3DUtils.js.map
|
|
38
|
+
//#endregion
|
|
39
|
+
export { DEG_TO_RAD, EARTH_RADIUS_KM, KM_TO_SCENE, RAD_TO_DEG, SCENE_EARTH_RADIUS, easeOutCubic, latLonAltToCartesian };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=ZenSpace3DUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZenSpace3DUtils.js","sources":["../../../src/react/3d/ZenSpace3DUtils.ts"],"sourcesContent":["/**\n * @zendir/ui - ZenSpace3D rendering math\n *\n * The minimal helper set needed by the live 3D backends:\n * • Earth + scene scaling constants used by the Three.js path\n * (`ZenSpace3D.tsx`) and the Cesium capture source\n * (`CesiumCaptureSource.ts`)\n * • `latLonAltToCartesian` — lat/lon/alt → render-space Cartesian\n * • `easeOutCubic` — camera-fly-to easing\n *\n * Higher-level orbital math (TLE/SGP4 propagation, GMST, visibility cones,\n * hex-grid coverage) was removed — those weren't consumed by either\n * backend. The Cesium backend uses Cesium's own `Transforms` for\n * ECI→ECEF, and the Three.js backend draws coverage from explicit\n * `SatelliteCoverage` props rather than computing it locally.\n */\n\nimport type { Vector3D } from
|
|
1
|
+
{"version":3,"file":"ZenSpace3DUtils.js","names":[],"sources":["../../../src/react/3d/ZenSpace3DUtils.ts"],"sourcesContent":["/**\r\n * @zendir/ui - ZenSpace3D rendering math\r\n *\r\n * The minimal helper set needed by the live 3D backends:\r\n * • Earth + scene scaling constants used by the Three.js path\r\n * (`ZenSpace3D.tsx`) and the Cesium capture source\r\n * (`CesiumCaptureSource.ts`)\r\n * • `latLonAltToCartesian` — lat/lon/alt → render-space Cartesian\r\n * • `easeOutCubic` — camera-fly-to easing\r\n *\r\n * Higher-level orbital math (TLE/SGP4 propagation, GMST, visibility cones,\r\n * hex-grid coverage) was removed — those weren't consumed by either\r\n * backend. The Cesium backend uses Cesium's own `Transforms` for\r\n * ECI→ECEF, and the Three.js backend draws coverage from explicit\r\n * `SatelliteCoverage` props rather than computing it locally.\r\n */\r\n\r\nimport type { Vector3D } from \"./ZenSpace3DTypes\";\r\n\r\n// ── Constants ─────────────────────────────────────────────────────────────────\r\n\r\n/** Earth's mean radius in km. */\r\nexport const EARTH_RADIUS_KM = 6371;\r\n\r\n/** Degrees → radians. */\r\nexport const DEG_TO_RAD = Math.PI / 180;\r\n\r\n/** Radians → degrees. */\r\nexport const RAD_TO_DEG = 180 / Math.PI;\r\n\r\n/** Earth radius in scene units (Three.js render space). */\r\nexport const SCENE_EARTH_RADIUS = 3000;\r\n\r\n/** Conversion factor: 1 km → scene units. */\r\nexport const KM_TO_SCENE = SCENE_EARTH_RADIUS / EARTH_RADIUS_KM;\r\n\r\n// ── Coordinate conversion ─────────────────────────────────────────────────────\r\n\r\n/**\r\n * Convert lat/lon/alt to a Cartesian point in scene space.\r\n *\r\n * Result is in *render units* (scaled by `KM_TO_SCENE`), suitable for\r\n * direct use in the Three.js scene graph. For ECI→ECEF on the Cesium\r\n * backend, use `Cesium.Transforms.computeTemeToPseudoFixedMatrix`.\r\n *\r\n * @param lat Latitude in degrees.\r\n * @param lon Longitude in degrees.\r\n * @param altKm Altitude above Earth surface in km (default 0).\r\n * @param earthRadius Scene radius for Earth (default `SCENE_EARTH_RADIUS`).\r\n */\r\nexport function latLonAltToCartesian(\r\n lat: number,\r\n lon: number,\r\n altKm: number = 0,\r\n earthRadius: number = SCENE_EARTH_RADIUS,\r\n): Vector3D {\r\n const r = earthRadius + altKm * KM_TO_SCENE;\r\n const phi = (90 - lat) * DEG_TO_RAD;\r\n const theta = (lon + 180) * DEG_TO_RAD;\r\n return {\r\n x: -r * Math.sin(phi) * Math.cos(theta),\r\n y: r * Math.cos(phi),\r\n z: r * Math.sin(phi) * Math.sin(theta),\r\n };\r\n}\r\n\r\n// ── Easing ────────────────────────────────────────────────────────────────────\r\n\r\n/** Cubic ease-out curve, used by camera fly-to animations. */\r\nexport function easeOutCubic(t: number): number {\r\n return 1 - Math.pow(1 - t, 3);\r\n}\r\n"],"mappings":";;AAsBA,IAAa,kBAAkB;;AAG/B,IAAa,aAAa,KAAK,KAAK;;AAGpC,IAAa,aAAa,MAAM,KAAK;;AAGrC,IAAa,qBAAqB;;AAGlC,IAAa,cAAc,qBAAqB;;;;;;;;;;;;;AAgBhD,SAAgB,qBACd,KACA,KACA,QAAgB,GAChB,cAAsB,oBACZ;CACV,MAAM,IAAI,cAAc,QAAQ;CAChC,MAAM,OAAO,KAAK,OAAO;CACzB,MAAM,SAAS,MAAM,OAAO;CAC5B,OAAO;EACL,GAAG,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,KAAK;EACtC,GAAG,IAAI,KAAK,IAAI,GAAG;EACnB,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,KAAK;CACvC;AACF;;AAKA,SAAgB,aAAa,GAAmB;CAC9C,OAAO,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC;AAC9B"}
|
|
@@ -1,42 +1,48 @@
|
|
|
1
|
+
//#region src/react/3d/capturePngAnalysis.ts
|
|
2
|
+
/**
|
|
3
|
+
* Lightweight PNG analysis for capture QA (brightness / "all black" detection).
|
|
4
|
+
* Used by tests and optional runtime checks — keep dependency-free (no pngjs).
|
|
5
|
+
*/
|
|
6
|
+
/** ITU-R BT.709 luma from RGB */
|
|
1
7
|
function rgbToLuma(r, g, b) {
|
|
2
|
-
|
|
8
|
+
return .2126 * r + .7152 * g + .0722 * b;
|
|
3
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Sample mean luma of PNG bytes by drawing to a small canvas (browser / happy-dom).
|
|
12
|
+
* Returns 0 if decode fails. For very large images, samples a grid (max ~4096 samples).
|
|
13
|
+
*/
|
|
4
14
|
async function meanLuminanceFromPngBytes(png) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
(_a = bmp.close) == null ? void 0 : _a.call(bmp);
|
|
28
|
-
return n > 0 ? sum / n : 0;
|
|
29
|
-
} catch {
|
|
30
|
-
return 0;
|
|
31
|
-
}
|
|
15
|
+
if (typeof createImageBitmap !== "function" || typeof document === "undefined") return 0;
|
|
16
|
+
try {
|
|
17
|
+
const blob = new Blob([png], { type: "image/png" });
|
|
18
|
+
const bmp = await createImageBitmap(blob);
|
|
19
|
+
const w = bmp.width;
|
|
20
|
+
const h = bmp.height;
|
|
21
|
+
const canvas = document.createElement("canvas");
|
|
22
|
+
const step = Math.max(1, Math.floor(Math.sqrt(w * h / 4096)));
|
|
23
|
+
canvas.width = Math.ceil(w / step);
|
|
24
|
+
canvas.height = Math.ceil(h / step);
|
|
25
|
+
const ctx = canvas.getContext("2d");
|
|
26
|
+
if (!ctx) return 0;
|
|
27
|
+
ctx.drawImage(bmp, 0, 0, w, h, 0, 0, canvas.width, canvas.height);
|
|
28
|
+
const { data } = ctx.getImageData(0, 0, canvas.width, canvas.height);
|
|
29
|
+
let sum = 0;
|
|
30
|
+
const n = data.length / 4;
|
|
31
|
+
for (let i = 0; i < data.length; i += 4) sum += rgbToLuma(data[i], data[i + 1], data[i + 2]);
|
|
32
|
+
bmp.close?.();
|
|
33
|
+
return n > 0 ? sum / n : 0;
|
|
34
|
+
} catch {
|
|
35
|
+
return 0;
|
|
36
|
+
}
|
|
32
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* True if the image is uniformly dark (likely failed render / empty GL buffer).
|
|
40
|
+
* Threshold is mean luma on 0–255 scale (default 5 ≈ pure black).
|
|
41
|
+
*/
|
|
33
42
|
async function isPngMostlyBlack(png, threshold = 5) {
|
|
34
|
-
|
|
35
|
-
return m < threshold;
|
|
43
|
+
return await meanLuminanceFromPngBytes(png) < threshold;
|
|
36
44
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=capturePngAnalysis.js.map
|
|
45
|
+
//#endregion
|
|
46
|
+
export { isPngMostlyBlack, meanLuminanceFromPngBytes, rgbToLuma };
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=capturePngAnalysis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capturePngAnalysis.js","sources":["../../../src/react/3d/capturePngAnalysis.ts"],"sourcesContent":["/**\r\n * Lightweight PNG analysis for capture QA (brightness / \"all black\" detection).\r\n * Used by tests and optional runtime checks — keep dependency-free (no pngjs).\r\n */\r\n\r\n/** ITU-R BT.709 luma from RGB */\r\nexport function rgbToLuma(r: number, g: number, b: number): number {\r\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\r\n}\r\n\r\n/**\r\n * Sample mean luma of PNG bytes by drawing to a small canvas (browser / happy-dom).\r\n * Returns 0 if decode fails. For very large images, samples a grid (max ~4096 samples).\r\n */\r\nexport async function meanLuminanceFromPngBytes(png: Uint8Array): Promise<number> {\r\n if (typeof createImageBitmap !==
|
|
1
|
+
{"version":3,"file":"capturePngAnalysis.js","names":[],"sources":["../../../src/react/3d/capturePngAnalysis.ts"],"sourcesContent":["/**\r\n * Lightweight PNG analysis for capture QA (brightness / \"all black\" detection).\r\n * Used by tests and optional runtime checks — keep dependency-free (no pngjs).\r\n */\r\n\r\n/** ITU-R BT.709 luma from RGB */\r\nexport function rgbToLuma(r: number, g: number, b: number): number {\r\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\r\n}\r\n\r\n/**\r\n * Sample mean luma of PNG bytes by drawing to a small canvas (browser / happy-dom).\r\n * Returns 0 if decode fails. For very large images, samples a grid (max ~4096 samples).\r\n */\r\nexport async function meanLuminanceFromPngBytes(\r\n png: Uint8Array,\r\n): Promise<number> {\r\n if (\r\n typeof createImageBitmap !== \"function\" ||\r\n typeof document === \"undefined\"\r\n ) {\r\n return 0;\r\n }\r\n try {\r\n const blob = new Blob([png as unknown as BlobPart], { type: \"image/png\" });\r\n const bmp = await createImageBitmap(blob);\r\n const w = bmp.width;\r\n const h = bmp.height;\r\n const canvas = document.createElement(\"canvas\");\r\n const step = Math.max(1, Math.floor(Math.sqrt((w * h) / 4096)));\r\n canvas.width = Math.ceil(w / step);\r\n canvas.height = Math.ceil(h / step);\r\n const ctx = canvas.getContext(\"2d\");\r\n if (!ctx) return 0;\r\n ctx.drawImage(bmp, 0, 0, w, h, 0, 0, canvas.width, canvas.height);\r\n const { data } = ctx.getImageData(0, 0, canvas.width, canvas.height);\r\n let sum = 0;\r\n const n = data.length / 4;\r\n for (let i = 0; i < data.length; i += 4) {\r\n sum += rgbToLuma(data[i], data[i + 1], data[i + 2]);\r\n }\r\n bmp.close?.();\r\n return n > 0 ? sum / n : 0;\r\n } catch {\r\n return 0;\r\n }\r\n}\r\n\r\n/**\r\n * True if the image is uniformly dark (likely failed render / empty GL buffer).\r\n * Threshold is mean luma on 0–255 scale (default 5 ≈ pure black).\r\n */\r\nexport async function isPngMostlyBlack(\r\n png: Uint8Array,\r\n threshold = 5,\r\n): Promise<boolean> {\r\n const m = await meanLuminanceFromPngBytes(png);\r\n return m < threshold;\r\n}\r\n"],"mappings":";;;;;;AAMA,SAAgB,UAAU,GAAW,GAAW,GAAmB;CACjE,OAAO,QAAS,IAAI,QAAS,IAAI,QAAS;AAC5C;;;;;AAMA,eAAsB,0BACpB,KACiB;CACjB,IACE,OAAO,sBAAsB,cAC7B,OAAO,aAAa,aAEpB,OAAO;CAET,IAAI;EACF,MAAM,OAAO,IAAI,KAAK,CAAC,GAA0B,GAAG,EAAE,MAAM,YAAY,CAAC;EACzE,MAAM,MAAM,MAAM,kBAAkB,IAAI;EACxC,MAAM,IAAI,IAAI;EACd,MAAM,IAAI,IAAI;EACd,MAAM,SAAS,SAAS,cAAc,QAAQ;EAC9C,MAAM,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,KAAM,IAAI,IAAK,IAAI,CAAC,CAAC;EAC9D,OAAO,QAAQ,KAAK,KAAK,IAAI,IAAI;EACjC,OAAO,SAAS,KAAK,KAAK,IAAI,IAAI;EAClC,MAAM,MAAM,OAAO,WAAW,IAAI;EAClC,IAAI,CAAC,KAAK,OAAO;EACjB,IAAI,UAAU,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,OAAO,OAAO,MAAM;EAChE,MAAM,EAAE,SAAS,IAAI,aAAa,GAAG,GAAG,OAAO,OAAO,OAAO,MAAM;EACnE,IAAI,MAAM;EACV,MAAM,IAAI,KAAK,SAAS;EACxB,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GACpC,OAAO,UAAU,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE;EAEpD,IAAI,QAAQ;EACZ,OAAO,IAAI,IAAI,MAAM,IAAI;CAC3B,QAAQ;EACN,OAAO;CACT;AACF;;;;;AAMA,eAAsB,iBACpB,KACA,YAAY,GACM;CAElB,OAAO,MADS,0BAA0B,GAAG,IAClC;AACb"}
|
package/dist/react/3d/index.d.ts
CHANGED
|
@@ -11,10 +11,10 @@ export type { ZenSpace3DCesiumProps } from './ZenSpace3DCesium';
|
|
|
11
11
|
export type { ZenSpace3DProps, ZenSpace3DHandle, ViewMode, CameraMode, ObjectCategory, SpaceObject, Satellite, Debris, SpaceStation, Asteroid, TLEData, OrbitPath, ManeuverNode, VisibilityCone, SatelliteCoverage, CoverageRegion, CoverageHexGrid, OverpassInfo, OrbitDesignArc, CoverageCell, TimeState, SelectionState, CameraState, LayerVisibility, ToolType, ToolState, Vector3D, LatLonAlt, SphericalCoords, SceneConfig, SceneObject, ZenSpace3DCallbacks, } from './ZenSpace3DTypes';
|
|
12
12
|
export { latLonAltToCartesian, easeOutCubic, EARTH_RADIUS_KM, DEG_TO_RAD, RAD_TO_DEG, SCENE_EARTH_RADIUS, KM_TO_SCENE, } from './ZenSpace3DUtils';
|
|
13
13
|
export { atmosphereVertexShader, atmosphereFragmentShader, starsVertexShader, starsFragmentShader, coverageVertexShader, coverageFragmentShader, visibilityConeVertexShader, visibilityConeFragmentShader, orbitLineVertexShader, orbitLineFragmentShader, objectGlowVertexShader, objectGlowFragmentShader, selectionRingVertexShader, selectionRingFragmentShader, terminatorVertexShader, terminatorFragmentShader, gridVertexShader, gridFragmentShader, planetRingVertexShader, planetRingFragmentShader, debrisVertexShader, debrisFragmentShader, createAtmosphereUniforms, createStarsUniforms, createVisibilityConeUniforms, } from './ZenSpace3DShaders';
|
|
14
|
-
export { createCesiumCaptureSource, ecefMetersToSdkPosition, eulerXyzToHpr, ecefEulerXyzToHpr, computeDofBlurPx } from './CesiumCaptureSource';
|
|
15
|
-
export type { CesiumCaptureSourceOptions, CesiumCaptureSourceHandle } from './CesiumCaptureSource';
|
|
14
|
+
export { createCesiumCaptureSource, ecefMetersToSdkPosition, eulerXyzToHpr, ecefEulerXyzToHpr, computeDofBlurPx, } from './CesiumCaptureSource';
|
|
15
|
+
export type { CesiumCaptureSourceOptions, CesiumCaptureSourceHandle, } from './CesiumCaptureSource';
|
|
16
16
|
/** PNG brightness helpers for capture QA (e.g. detect all-black frames) */
|
|
17
|
-
export { rgbToLuma, meanLuminanceFromPngBytes, isPngMostlyBlack } from './capturePngAnalysis';
|
|
17
|
+
export { rgbToLuma, meanLuminanceFromPngBytes, isPngMostlyBlack, } from './capturePngAnalysis';
|
|
18
18
|
export { loadThree, isThreeLoaded } from './threeLoader';
|
|
19
19
|
export type { ThreeModule, OrbitControlsType } from './threeLoader';
|
|
20
20
|
export { useSimulationScene } from '../hooks/useSimulationScene';
|
package/dist/react/3d/index.js
CHANGED
|
@@ -1,57 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ZenSpace3DCesium } from "./ZenSpace3DCesium.js";
|
|
1
|
+
import useSimulationScene from "../hooks/useSimulationScene.js";
|
|
3
2
|
import { DEG_TO_RAD, EARTH_RADIUS_KM, KM_TO_SCENE, RAD_TO_DEG, SCENE_EARTH_RADIUS, easeOutCubic, latLonAltToCartesian } from "./ZenSpace3DUtils.js";
|
|
3
|
+
import { isThreeLoaded, loadThree } from "./threeLoader.js";
|
|
4
|
+
import { ZenSpace3DCesium } from "./ZenSpace3DCesium.js";
|
|
5
|
+
import { ZenSpace3D } from "./ZenSpace3D.js";
|
|
4
6
|
import { atmosphereFragmentShader, atmosphereVertexShader, coverageFragmentShader, coverageVertexShader, createAtmosphereUniforms, createStarsUniforms, createVisibilityConeUniforms, debrisFragmentShader, debrisVertexShader, gridFragmentShader, gridVertexShader, objectGlowFragmentShader, objectGlowVertexShader, orbitLineFragmentShader, orbitLineVertexShader, planetRingFragmentShader, planetRingVertexShader, selectionRingFragmentShader, selectionRingVertexShader, starsFragmentShader, starsVertexShader, terminatorFragmentShader, terminatorVertexShader, visibilityConeFragmentShader, visibilityConeVertexShader } from "./ZenSpace3DShaders.js";
|
|
5
7
|
import { computeDofBlurPx, createCesiumCaptureSource, ecefEulerXyzToHpr, ecefMetersToSdkPosition, eulerXyzToHpr } from "./CesiumCaptureSource.js";
|
|
6
8
|
import { isPngMostlyBlack, meanLuminanceFromPngBytes, rgbToLuma } from "./capturePngAnalysis.js";
|
|
7
|
-
|
|
8
|
-
import { useSimulationScene } from "../hooks/useSimulationScene.js";
|
|
9
|
-
export {
|
|
10
|
-
DEG_TO_RAD,
|
|
11
|
-
EARTH_RADIUS_KM,
|
|
12
|
-
KM_TO_SCENE,
|
|
13
|
-
RAD_TO_DEG,
|
|
14
|
-
SCENE_EARTH_RADIUS,
|
|
15
|
-
ZenSpace3D,
|
|
16
|
-
ZenSpace3DCesium,
|
|
17
|
-
ZenSpace3D2 as ZenSpace3DDefault,
|
|
18
|
-
atmosphereFragmentShader,
|
|
19
|
-
atmosphereVertexShader,
|
|
20
|
-
computeDofBlurPx,
|
|
21
|
-
coverageFragmentShader,
|
|
22
|
-
coverageVertexShader,
|
|
23
|
-
createAtmosphereUniforms,
|
|
24
|
-
createCesiumCaptureSource,
|
|
25
|
-
createStarsUniforms,
|
|
26
|
-
createVisibilityConeUniforms,
|
|
27
|
-
debrisFragmentShader,
|
|
28
|
-
debrisVertexShader,
|
|
29
|
-
easeOutCubic,
|
|
30
|
-
ecefEulerXyzToHpr,
|
|
31
|
-
ecefMetersToSdkPosition,
|
|
32
|
-
eulerXyzToHpr,
|
|
33
|
-
gridFragmentShader,
|
|
34
|
-
gridVertexShader,
|
|
35
|
-
isPngMostlyBlack,
|
|
36
|
-
isThreeLoaded,
|
|
37
|
-
latLonAltToCartesian,
|
|
38
|
-
loadThree,
|
|
39
|
-
meanLuminanceFromPngBytes,
|
|
40
|
-
objectGlowFragmentShader,
|
|
41
|
-
objectGlowVertexShader,
|
|
42
|
-
orbitLineFragmentShader,
|
|
43
|
-
orbitLineVertexShader,
|
|
44
|
-
planetRingFragmentShader,
|
|
45
|
-
planetRingVertexShader,
|
|
46
|
-
rgbToLuma,
|
|
47
|
-
selectionRingFragmentShader,
|
|
48
|
-
selectionRingVertexShader,
|
|
49
|
-
starsFragmentShader,
|
|
50
|
-
starsVertexShader,
|
|
51
|
-
terminatorFragmentShader,
|
|
52
|
-
terminatorVertexShader,
|
|
53
|
-
useSimulationScene,
|
|
54
|
-
visibilityConeFragmentShader,
|
|
55
|
-
visibilityConeVertexShader
|
|
56
|
-
};
|
|
57
|
-
//# sourceMappingURL=index.js.map
|
|
9
|
+
export { DEG_TO_RAD, EARTH_RADIUS_KM, KM_TO_SCENE, RAD_TO_DEG, SCENE_EARTH_RADIUS, ZenSpace3D, ZenSpace3DCesium, ZenSpace3D as ZenSpace3DDefault, atmosphereFragmentShader, atmosphereVertexShader, computeDofBlurPx, coverageFragmentShader, coverageVertexShader, createAtmosphereUniforms, createCesiumCaptureSource, createStarsUniforms, createVisibilityConeUniforms, debrisFragmentShader, debrisVertexShader, easeOutCubic, ecefEulerXyzToHpr, ecefMetersToSdkPosition, eulerXyzToHpr, gridFragmentShader, gridVertexShader, isPngMostlyBlack, isThreeLoaded, latLonAltToCartesian, loadThree, meanLuminanceFromPngBytes, objectGlowFragmentShader, objectGlowVertexShader, orbitLineFragmentShader, orbitLineVertexShader, planetRingFragmentShader, planetRingVertexShader, rgbToLuma, selectionRingFragmentShader, selectionRingVertexShader, starsFragmentShader, starsVertexShader, terminatorFragmentShader, terminatorVertexShader, useSimulationScene, visibilityConeFragmentShader, visibilityConeVertexShader };
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Ensures only one instance of Three.js is loaded across all 3D components.
|
|
5
5
|
* This prevents the "Multiple instances of Three.js being imported" warning.
|
|
6
6
|
*/
|
|
7
|
-
export type ThreeModule = typeof import(
|
|
7
|
+
export type ThreeModule = typeof import("three");
|
|
8
8
|
export type OrbitControlsType = typeof import('three/examples/jsm/controls/OrbitControls.js').OrbitControls;
|
|
9
9
|
interface ThreeLoaderResult {
|
|
10
10
|
THREE: ThreeModule;
|
|
@@ -1,22 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/react/3d/threeLoader.ts
|
|
2
|
+
var loadPromise = null;
|
|
3
|
+
/**
|
|
4
|
+
* Load Three.js and OrbitControls
|
|
5
|
+
* Returns cached instance if already loaded
|
|
6
|
+
*/
|
|
2
7
|
async function loadThree() {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
})();
|
|
13
|
-
return loadPromise;
|
|
8
|
+
if (loadPromise) return loadPromise;
|
|
9
|
+
loadPromise = (async () => {
|
|
10
|
+
const [THREE, { OrbitControls }] = await Promise.all([import("three"), import("three/examples/jsm/controls/OrbitControls.js")]);
|
|
11
|
+
return {
|
|
12
|
+
THREE,
|
|
13
|
+
OrbitControls
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
return loadPromise;
|
|
14
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Check if Three.js is already loaded
|
|
20
|
+
*/
|
|
15
21
|
function isThreeLoaded() {
|
|
16
|
-
|
|
22
|
+
return loadPromise !== null;
|
|
17
23
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=threeLoader.js.map
|
|
24
|
+
//#endregion
|
|
25
|
+
export { isThreeLoaded, loadThree };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=threeLoader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threeLoader.js","sources":["../../../src/react/3d/threeLoader.ts"],"sourcesContent":["/**\r\n * Shared Three.js loader\r\n
|
|
1
|
+
{"version":3,"file":"threeLoader.js","names":[],"sources":["../../../src/react/3d/threeLoader.ts"],"sourcesContent":["/**\r\n * Shared Three.js loader\r\n *\r\n * Ensures only one instance of Three.js is loaded across all 3D components.\r\n * This prevents the \"Multiple instances of Three.js being imported\" warning.\r\n */\r\n\r\nexport type ThreeModule = typeof import(\"three\");\r\nexport type OrbitControlsType =\r\n typeof import(\"three/examples/jsm/controls/OrbitControls.js\").OrbitControls;\r\n\r\ninterface ThreeLoaderResult {\r\n THREE: ThreeModule;\r\n OrbitControls: OrbitControlsType;\r\n}\r\n\r\n// Cached promise to ensure single load\r\nlet loadPromise: Promise<ThreeLoaderResult> | null = null;\r\n\r\n/**\r\n * Load Three.js and OrbitControls\r\n * Returns cached instance if already loaded\r\n */\r\nexport async function loadThree(): Promise<ThreeLoaderResult> {\r\n if (loadPromise) {\r\n return loadPromise;\r\n }\r\n\r\n loadPromise = (async () => {\r\n const [THREE, { OrbitControls }] = await Promise.all([\r\n import(\"three\"),\r\n import(\"three/examples/jsm/controls/OrbitControls.js\"),\r\n ]);\r\n\r\n return { THREE, OrbitControls };\r\n })();\r\n\r\n return loadPromise;\r\n}\r\n\r\n/**\r\n * Check if Three.js is already loaded\r\n */\r\nexport function isThreeLoaded(): boolean {\r\n return loadPromise !== null;\r\n}\r\n"],"mappings":";AAiBA,IAAI,cAAiD;;;;;AAMrD,eAAsB,YAAwC;CAC5D,IAAI,aACF,OAAO;CAGT,eAAe,YAAY;EACzB,MAAM,CAAC,OAAO,EAAE,mBAAmB,MAAM,QAAQ,IAAI,CACnD,OAAO,UACP,OAAO,+CACT,CAAC;EAED,OAAO;GAAE;GAAO;EAAc;CAChC,EAAA,CAAG;CAEH,OAAO;AACT;;;;AAKA,SAAgB,gBAAyB;CACvC,OAAO,gBAAgB;AACzB"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
3
|
-
export type ClassificationLevel = 'unclassified' | 'cui' | 'controlled' | 'confidential' | 'secret' | 'top-secret' | 'top-secret-sci';
|
|
2
|
+
export type ClassificationLevel = "unclassified" | "cui" | "controlled" | "confidential" | "secret" | "top-secret" | "top-secret-sci";
|
|
4
3
|
export interface ClassificationBannerProps {
|
|
5
4
|
/** Classification level */
|
|
6
5
|
classification: ClassificationLevel;
|
|
7
6
|
/** Custom label (overrides default text) */
|
|
8
7
|
label?: string;
|
|
9
8
|
/** Position of the banner */
|
|
10
|
-
position?:
|
|
9
|
+
position?: "top" | "bottom";
|
|
11
10
|
/** Custom className */
|
|
12
11
|
className?: string;
|
|
13
12
|
}
|