semiotic 3.7.5 → 3.8.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/CLAUDE.md +63 -18
- package/README.md +121 -27
- package/agent-skill/semiotic-charts/SKILL.md +146 -0
- package/ai/cli.js +133 -45
- package/ai/componentMetadata.cjs +6 -1
- package/ai/dist/mcp-server.js +1741 -163
- package/ai/examples.md +174 -0
- package/ai/schema.json +2733 -536
- package/ai/surface-manifest.json +201 -0
- package/ai/system-prompt.md +20 -4
- package/dist/__tests__/scenarios/mcpProtocolTypes.d.ts +20 -0
- package/dist/components/AccessibleNavTree.d.ts +7 -1
- package/dist/components/CategoryColors.d.ts +1 -1
- package/dist/components/ChartContainer.d.ts +91 -0
- package/dist/components/ChartGrid.d.ts +11 -1
- package/dist/components/CircularBrush.d.ts +61 -0
- package/dist/components/ContextLayout.d.ts +5 -1
- package/dist/components/DirectManipulationControl.d.ts +63 -0
- package/dist/components/LinkedCharts.d.ts +3 -1
- package/dist/components/MobileAnnotationCalloutList.d.ts +13 -0
- package/dist/components/MobileChartContainer.d.ts +51 -0
- package/dist/components/MobileStandardControls.d.ts +68 -0
- package/dist/components/SmallMultipleChart.d.ts +84 -0
- package/dist/components/Tooltip/FlippingTooltip.d.ts +21 -0
- package/dist/components/ai/ChartRecipe.d.ts +16 -0
- package/dist/components/ai/IntentMark.d.ts +15 -0
- package/dist/components/ai/chartCapabilities.d.ts +8 -1
- package/dist/components/ai/chartCapabilityTypes.d.ts +26 -1
- package/dist/components/ai/chartClinic.d.ts +91 -0
- package/dist/components/ai/chartClinicMetadata.generated.d.ts +15 -0
- package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
- package/dist/components/ai/chartRecipes.d.ts +278 -0
- package/dist/components/ai/dataPitfallsBridge.d.ts +102 -0
- package/dist/components/ai/describeChart.d.ts +7 -0
- package/dist/components/ai/describeRecipeChart.d.ts +16 -0
- package/dist/components/ai/generativeChart.d.ts +28 -3
- package/dist/components/ai/intentManifest.d.ts +62 -0
- package/dist/components/ai/navigationTree.d.ts +3 -0
- package/dist/components/ai/observedSceneAudit.d.ts +72 -0
- package/dist/components/ai/readerGrounding.d.ts +83 -0
- package/dist/components/ai/recipeCapability.d.ts +8 -0
- package/dist/components/ai/recipeNavigation.d.ts +13 -0
- package/dist/components/ai/recipeSemantics.d.ts +11 -0
- package/dist/components/ai/repairChartConfig.d.ts +9 -0
- package/dist/components/ai/suggestCharts.d.ts +11 -1
- package/dist/components/ai/useNavigationSync.d.ts +17 -2
- package/dist/components/chartContainerMobile.d.ts +9 -0
- package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
- package/dist/components/charts/custom/NetworkCustomChart.d.ts +8 -2
- package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
- package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
- package/dist/components/charts/geo/ChoroplethMap.d.ts +19 -2
- package/dist/components/charts/geo/DistanceCartogram.d.ts +15 -3
- package/dist/components/charts/geo/FlowMap.d.ts +11 -7
- package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +15 -3
- package/dist/components/charts/geo/index.d.ts +2 -0
- package/dist/components/charts/index.d.ts +35 -1
- package/dist/components/charts/network/ChordDiagram.d.ts +10 -2
- package/dist/components/charts/network/CirclePack.d.ts +1 -1
- package/dist/components/charts/network/ForceDirectedGraph.d.ts +26 -5
- package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
- package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
- package/dist/components/charts/network/SankeyDiagram.d.ts +10 -2
- package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
- package/dist/components/charts/network/Treemap.d.ts +1 -1
- package/dist/components/charts/network/useForceLayout.d.ts +17 -0
- package/dist/components/charts/ordinal/BarChart.d.ts +22 -1
- package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
- package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
- package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
- package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
- package/dist/components/charts/ordinal/GroupedBarChart.d.ts +12 -1
- package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
- package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
- package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
- package/dist/components/charts/ordinal/StackedBarChart.d.ts +12 -1
- package/dist/components/charts/ordinal/SwarmPlot.d.ts +1 -1
- package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
- package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
- package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
- package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/CollisionSwarmChart.d.ts +54 -0
- package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/EventDropChart.d.ts +60 -0
- package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/GaltonBoardChart.d.ts +74 -0
- package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
- package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
- package/dist/components/charts/physics/PhysicsCustomChart.d.ts +99 -0
- package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/PhysicsPileChart.d.ts +60 -0
- package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
- package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
- package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
- package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
- package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
- package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
- package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
- package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
- package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
- package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
- package/dist/components/charts/physics/gauntletController.d.ts +73 -0
- package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
- package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
- package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
- package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
- package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
- package/dist/components/charts/physics/physicsChartShared.d.ts +57 -0
- package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
- package/dist/components/charts/physics/physicsCustomLayout.d.ts +32 -0
- package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
- package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
- package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
- package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
- package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
- package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
- package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
- package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
- package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -1
- package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
- package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
- package/dist/components/charts/shared/AnnotationLabel.d.ts +88 -0
- package/dist/components/charts/shared/annotationActivation.d.ts +35 -0
- package/dist/components/charts/shared/annotationLabelLayout.d.ts +5 -0
- package/dist/components/charts/shared/annotationRules.d.ts +2 -1
- package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
- package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
- package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
- package/dist/components/charts/shared/chartSelectionUtils.d.ts +4 -0
- package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
- package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
- package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
- package/dist/components/charts/shared/colorContrast.d.ts +3 -0
- package/dist/components/charts/shared/colorUtils.d.ts +16 -1
- package/dist/components/charts/shared/datumTypes.d.ts +2 -0
- package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +6 -0
- package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
- package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
- package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
- package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
- package/dist/components/charts/shared/formatUtils.d.ts +3 -3
- package/dist/components/charts/shared/hatchFill.d.ts +87 -0
- package/dist/components/charts/shared/hooks.d.ts +34 -10
- package/dist/components/charts/shared/knownChartComponents.d.ts +9 -0
- package/dist/components/charts/shared/leastSquaresRegression.d.ts +16 -0
- package/dist/components/charts/shared/mergeShapeStyle.d.ts +3 -2
- package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
- package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
- package/dist/components/charts/shared/semanticInteractions.d.ts +42 -0
- package/dist/components/charts/shared/sparseArray.d.ts +1 -1
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +17 -5
- package/dist/components/charts/shared/styleRules.d.ts +205 -0
- package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
- package/dist/components/charts/shared/tooltipUtils.d.ts +22 -9
- package/dist/components/charts/shared/types.d.ts +58 -7
- package/dist/components/charts/shared/useAreaSeriesSetup.d.ts +16 -2
- package/dist/components/charts/shared/useChartSetup.d.ts +11 -4
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +17 -5
- package/dist/components/charts/shared/useFrameImperativeHandle.d.ts +1 -2
- package/dist/components/charts/shared/useLikertAggregation.d.ts +4 -4
- package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
- package/dist/components/charts/shared/useOrdinalBrush.d.ts +2 -1
- package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +25 -2
- package/dist/components/charts/shared/useStreamingLegend.d.ts +2 -2
- package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
- package/dist/components/charts/shared/useXYLineStyle.d.ts +10 -0
- package/dist/components/charts/shared/useXYPointStyle.d.ts +19 -1
- package/dist/components/charts/shared/validateChartData.d.ts +7 -5
- package/dist/components/charts/shared/validationMap.d.ts +7 -9
- package/dist/components/charts/shared/validationMap.generated.d.ts +6 -0
- package/dist/components/charts/shared/withChartWrapper.d.ts +4 -3
- package/dist/components/charts/value/targetPresentation.d.ts +22 -0
- package/dist/components/charts/value/types.d.ts +5 -6
- package/dist/components/charts/xy/AreaChart.d.ts +9 -1
- package/dist/components/charts/xy/BubbleChart.d.ts +10 -1
- package/dist/components/charts/xy/ConnectedScatterplot.d.ts +7 -0
- package/dist/components/charts/xy/DifferenceChart.d.ts +1 -52
- package/dist/components/charts/xy/Heatmap.d.ts +2 -2
- package/dist/components/charts/xy/LineChart.d.ts +12 -1
- package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
- package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
- package/dist/components/charts/xy/QuadrantChart.d.ts +8 -1
- package/dist/components/charts/xy/Scatterplot.d.ts +11 -1
- package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
- package/dist/components/charts/xy/StackedAreaChart.d.ts +16 -4
- package/dist/components/charts/xy/differenceSegments.d.ts +49 -0
- package/dist/components/charts/xy/scatterplotMatrixInteractionTypes.d.ts +12 -0
- package/dist/components/controls/SentenceFilter.d.ts +97 -0
- package/dist/components/controls/controlAudit.d.ts +24 -0
- package/dist/components/controls/controlContract.d.ts +57 -0
- package/dist/components/data/fromFlintChart.d.ts +74 -0
- package/dist/components/data/fromVegaLite.d.ts +46 -9
- package/dist/components/data/portability/index.d.ts +6 -3
- package/dist/components/data/portability/result.d.ts +52 -0
- package/dist/components/data/portability/spec.d.ts +31 -0
- package/dist/components/data/portability/vegaLite.d.ts +24 -6
- package/dist/components/export/chartConfig.d.ts +11 -0
- package/dist/components/realtime/types.d.ts +11 -0
- package/dist/components/recipes/annotationLayout.d.ts +29 -0
- package/dist/components/recipes/axisFixedForce.d.ts +119 -0
- package/dist/components/recipes/{gofishBoba.d.ts → boba.d.ts} +2 -2
- package/dist/components/recipes/cyclical.d.ts +39 -0
- package/dist/components/recipes/edgeRouter.d.ts +103 -0
- package/dist/components/recipes/forceLayout.d.ts +48 -0
- package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
- package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
- package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
- package/dist/components/recipes/gofishIR.d.ts +178 -132
- package/dist/components/recipes/gofishIRExamples.d.ts +30 -81
- package/dist/components/recipes/intervalLanes.d.ts +87 -0
- package/dist/components/recipes/intervals.d.ts +80 -0
- package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
- package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
- package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
- package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
- package/dist/components/recipes/networkAnalysis.d.ts +102 -0
- package/dist/components/recipes/networkLayouts.d.ts +83 -0
- package/dist/components/recipes/physics.d.ts +122 -0
- package/dist/components/recipes/physicsReference.d.ts +102 -0
- package/dist/components/recipes/processAggregates.d.ts +32 -0
- package/dist/components/recipes/processChrome.d.ts +67 -0
- package/dist/components/recipes/processJourney.d.ts +54 -0
- package/dist/components/recipes/processPhysics.d.ts +300 -0
- package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
- package/dist/components/recipes/radialCoords.d.ts +69 -0
- package/dist/components/recipes/random.d.ts +2 -0
- package/dist/components/recipes/recipeChrome.d.ts +91 -0
- package/dist/components/recipes/recipeGlyph.d.ts +42 -0
- package/dist/components/recipes/recipeLegend.d.ts +53 -1
- package/dist/components/recipes/recipeUtils.d.ts +52 -0
- package/dist/components/recipes/runs.d.ts +59 -0
- package/dist/components/recipes/tokenEncoding.d.ts +157 -0
- package/dist/components/recipes/tokenLayer.d.ts +79 -0
- package/dist/components/recipes/unitize.d.ts +108 -0
- package/dist/components/recipes/vector.d.ts +28 -0
- package/dist/components/recipes/waffle.d.ts +43 -0
- package/dist/components/rough/createRoughRenderMode.d.ts +46 -0
- package/dist/components/semiotic-ai-core.d.ts +47 -0
- package/dist/components/semiotic-ai.d.ts +53 -9
- package/dist/components/semiotic-controls.d.ts +20 -0
- package/dist/components/semiotic-experimental.d.ts +38 -9
- package/dist/components/semiotic-geo.d.ts +15 -0
- package/dist/components/semiotic-network.d.ts +15 -0
- package/dist/components/semiotic-ordinal.d.ts +14 -0
- package/dist/components/semiotic-physics-matter.d.ts +10 -0
- package/dist/components/semiotic-physics-rapier.d.ts +9 -0
- package/dist/components/semiotic-physics.d.ts +60 -0
- package/dist/components/semiotic-realtime-core.d.ts +34 -0
- package/dist/components/semiotic-realtime-react.d.ts +10 -0
- package/dist/components/semiotic-realtime.d.ts +4 -30
- package/dist/components/semiotic-recipes-core.d.ts +92 -0
- package/dist/components/semiotic-recipes-react.d.ts +7 -0
- package/dist/components/semiotic-recipes.d.ts +4 -43
- package/dist/components/semiotic-rough.d.ts +4 -0
- package/dist/components/semiotic-server-edge.d.ts +8 -0
- package/dist/components/semiotic-server-node.d.ts +5 -0
- package/dist/components/semiotic-server.d.ts +2 -2
- package/dist/components/semiotic-themes-core.d.ts +53 -0
- package/dist/components/semiotic-themes-react.d.ts +4 -0
- package/dist/components/semiotic-themes.d.ts +6 -76
- package/dist/components/semiotic-utils-core.d.ts +50 -0
- package/dist/components/semiotic-utils-react.d.ts +5 -0
- package/dist/components/semiotic-utils.d.ts +3 -39
- package/dist/components/semiotic-xy.d.ts +12 -0
- package/dist/components/semiotic.d.ts +44 -8
- package/dist/components/server/animatedGif.d.ts +36 -0
- package/dist/components/server/optionalImageTypes.d.ts +37 -0
- package/dist/components/server/renderEvidence.d.ts +1 -1
- package/dist/components/server/renderToStaticSVG.d.ts +3 -35
- package/dist/components/server/serverChartConfigShared.d.ts +21 -0
- package/dist/components/server/serverChartConfigs.d.ts +22 -12
- package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
- package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
- package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
- package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
- package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
- package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
- package/dist/components/server/staticAnnotations.d.ts +6 -3
- package/dist/components/server/staticGeo.d.ts +4 -0
- package/dist/components/server/staticLegend.d.ts +2 -2
- package/dist/components/server/staticNetwork.d.ts +8 -0
- package/dist/components/server/staticOrdinal.d.ts +11 -0
- package/dist/components/server/staticPhysics.d.ts +3 -0
- package/dist/components/server/staticSVGChrome.d.ts +110 -0
- package/dist/components/server/staticXY.d.ts +4 -0
- package/dist/components/store/ObservationStore.d.ts +23 -2
- package/dist/components/store/themeSerialization.d.ts +32 -0
- package/dist/components/store/useChartInterrogation.d.ts +9 -0
- package/dist/components/stream/AccessibleDataTable.d.ts +7 -23
- package/dist/components/stream/AriaLiveTooltip.d.ts +9 -0
- package/dist/components/stream/CanvasHitTester.d.ts +4 -4
- package/dist/components/stream/DataSourceAdapter.d.ts +1 -1
- package/dist/components/stream/FocusRing.d.ts +4 -2
- package/dist/components/stream/FrameRuntime.d.ts +57 -0
- package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
- package/dist/components/stream/GeoParticlePool.d.ts +1 -1
- package/dist/components/stream/GeoPipelineStore.d.ts +62 -3
- package/dist/components/stream/GeoSVGOverlay.d.ts +64 -0
- package/dist/components/stream/NetworkCanvasHitTester.d.ts +2 -1
- package/dist/components/stream/NetworkPipelineStore.d.ts +44 -36
- package/dist/components/stream/NetworkSSRFrame.d.ts +17 -0
- package/dist/components/stream/NetworkSVGOverlay.d.ts +10 -1
- package/dist/components/stream/OrdinalCanvasHitTester.d.ts +2 -2
- package/dist/components/stream/OrdinalPipelineStore.d.ts +55 -11
- package/dist/components/stream/OrdinalSVGOverlay.d.ts +9 -1
- package/dist/components/stream/OrdinalStyleResolver.d.ts +12 -0
- package/dist/components/stream/ParticlePool.d.ts +1 -1
- package/dist/components/stream/PipelineStore.d.ts +81 -174
- package/dist/components/stream/SVGOverlay.d.ts +6 -0
- package/dist/components/stream/SceneGraph.d.ts +12 -4
- package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
- package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
- package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
- package/dist/components/stream/StreamXYFrame.d.ts +2 -18
- package/dist/components/stream/accessibleDataRows.d.ts +33 -0
- package/dist/components/stream/accessorUtils.d.ts +25 -12
- package/dist/components/stream/annotationAccessorResolver.d.ts +2 -2
- package/dist/components/stream/brushAccessibility.d.ts +25 -0
- package/dist/components/stream/canvasBackground.d.ts +24 -0
- package/dist/components/stream/canvasSetup.d.ts +4 -1
- package/dist/components/stream/customLayoutFailure.d.ts +33 -0
- package/dist/components/stream/customLayoutPalette.d.ts +19 -9
- package/dist/components/stream/frameGraphics.d.ts +4 -0
- package/dist/components/stream/frameKeyboardNavigation.d.ts +45 -0
- package/dist/components/stream/frameThemeColors.d.ts +24 -0
- package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
- package/dist/components/stream/geoCartogram.d.ts +17 -0
- package/dist/components/stream/geoCustomLayout.d.ts +59 -0
- package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
- package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
- package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
- package/dist/components/stream/geoPipelineUpdateResults.d.ts +34 -0
- package/dist/components/stream/geoSceneBuilder.d.ts +16 -0
- package/dist/components/stream/geoTypes.d.ts +97 -15
- package/dist/components/stream/glyphDef.d.ts +98 -0
- package/dist/components/stream/hitTarget.d.ts +170 -0
- package/dist/components/stream/hitTestUtils.d.ts +2 -2
- package/dist/components/stream/hoverUtils.d.ts +7 -2
- package/dist/components/stream/keyboardNav.d.ts +4 -1
- package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
- package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +58 -0
- package/dist/components/stream/layouts/hierarchyUtils.d.ts +2 -2
- package/dist/components/stream/networkBezier.d.ts +10 -0
- package/dist/components/stream/networkColorAccessors.d.ts +49 -0
- package/dist/components/stream/networkCustomLayoutRunner.d.ts +23 -0
- package/dist/components/stream/networkCustomRestyle.d.ts +15 -0
- package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
- package/dist/components/stream/networkFrameAnimation.d.ts +7 -0
- package/dist/components/stream/networkFrameHandleTypes.d.ts +39 -0
- package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
- package/dist/components/stream/networkFrameObservations.d.ts +15 -0
- package/dist/components/stream/networkFramePaint.d.ts +52 -0
- package/dist/components/stream/networkInteractionTypes.d.ts +26 -0
- package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
- package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
- package/dist/components/stream/networkPipelineUpdateResults.d.ts +38 -0
- package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
- package/dist/components/stream/networkTypes.d.ts +103 -51
- package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
- package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
- package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
- package/dist/components/stream/ordinalDomain.d.ts +38 -0
- package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +31 -0
- package/dist/components/stream/ordinalPulse.d.ts +10 -0
- package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
- package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
- package/dist/components/stream/ordinalSceneBuilders/types.d.ts +2 -2
- package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
- package/dist/components/stream/ordinalTypes.d.ts +68 -9
- package/dist/components/stream/paintNeeds.d.ts +31 -0
- package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
- package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
- package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
- package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
- package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
- package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
- package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
- package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
- package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
- package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
- package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
- package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
- package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
- package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
- package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +86 -0
- package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
- package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +78 -0
- package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
- package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
- package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
- package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
- package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
- package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
- package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
- package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
- package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
- package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
- package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +317 -0
- package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
- package/dist/components/stream/physics/physicsFrameObservations.d.ts +19 -0
- package/dist/components/stream/physics/physicsFrameSetup.d.ts +4 -0
- package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
- package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
- package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
- package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +27 -0
- package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
- package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
- package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +18 -0
- package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
- package/dist/components/stream/pipelineConfig.d.ts +179 -0
- package/dist/components/stream/pipelineDecay.d.ts +21 -3
- package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
- package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
- package/dist/components/stream/pipelinePulse.d.ts +17 -3
- package/dist/components/stream/pipelineRibbons.d.ts +41 -0
- package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
- package/dist/components/stream/pipelineStoreUpdateResults.d.ts +33 -0
- package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
- package/dist/components/stream/pipelineTransitions.d.ts +3 -1
- package/dist/components/stream/pipelineUpdateContract.d.ts +69 -0
- package/dist/components/stream/pipelineUpdateStore.d.ts +21 -0
- package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
- package/dist/components/stream/renderBackend.d.ts +27 -0
- package/dist/components/stream/renderers/canvasRenderHelpers.d.ts +15 -1
- package/dist/components/stream/renderers/geoCanvasRenderer.d.ts +3 -2
- package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
- package/dist/components/stream/renderers/networkParticleRenderer.d.ts +1 -1
- package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
- package/dist/components/stream/sceneRenderBackendTypes.d.ts +28 -0
- package/dist/components/stream/sceneRevisionDiagnostics.d.ts +45 -0
- package/dist/components/stream/streamSemanticTypes.d.ts +16 -0
- package/dist/components/stream/streamStoreSync.d.ts +37 -0
- package/dist/components/stream/streamThemeTypes.d.ts +14 -0
- package/dist/components/stream/svgOverlayUtils.d.ts +10 -0
- package/dist/components/stream/test-utils/frameScheduler.d.ts +12 -0
- package/dist/components/stream/test-utils/revisionConsumption.d.ts +13 -0
- package/dist/components/stream/titleLayout.d.ts +31 -0
- package/dist/components/stream/types.d.ts +165 -72
- package/dist/components/stream/useCanvasFrameHost.d.ts +71 -0
- package/dist/components/stream/useFrame.d.ts +44 -2
- package/dist/components/stream/useHydration.d.ts +6 -0
- package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
- package/dist/components/stream/useSemanticFrameInteractions.d.ts +22 -0
- package/dist/components/stream/useUpdateResultSnapshot.d.ts +7 -0
- package/dist/components/stream/workerModuleUrl.d.ts +10 -0
- package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
- package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
- package/dist/components/stream/xyCrosshair.d.ts +11 -0
- package/dist/components/stream/xyDateTicks.d.ts +9 -0
- package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
- package/dist/components/stream/xyFrameAxisTypes.d.ts +50 -0
- package/dist/components/stream/xySceneBuilders/types.d.ts +10 -9
- package/dist/controls.min.js +2 -0
- package/dist/controls.module.min.js +2 -0
- package/dist/forceLayoutWorker.js +1 -0
- package/dist/geo.min.js +1 -1
- package/dist/geo.module.min.js +1 -1
- package/dist/network.min.js +1 -1
- package/dist/network.module.min.js +1 -1
- package/dist/ordinal.min.js +1 -1
- package/dist/ordinal.module.min.js +1 -1
- package/dist/physics-matter.min.js +1 -0
- package/dist/physics-matter.module.min.js +1 -0
- package/dist/physics-rapier.min.js +1 -0
- package/dist/physics-rapier.module.min.js +1 -0
- package/dist/physics.min.js +2 -0
- package/dist/physics.module.min.js +2 -0
- package/dist/physicsWorker.js +1 -0
- package/dist/realtime.min.js +1 -1
- package/dist/realtime.module.min.js +1 -1
- package/dist/rough.min.js +1 -0
- package/dist/rough.module.min.js +1 -0
- package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
- package/dist/semiotic-ai-core.d.ts +47 -0
- package/dist/semiotic-ai-core.min.js +1 -0
- package/dist/semiotic-ai-core.module.min.js +1 -0
- package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
- package/dist/semiotic-ai.d.ts +53 -9
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
- package/dist/semiotic-controls.d.ts +20 -0
- package/dist/semiotic-data.min.js +1 -1
- package/dist/semiotic-data.module.min.js +1 -1
- package/dist/semiotic-experimental.d.ts +38 -9
- package/dist/semiotic-experimental.min.js +1 -1
- package/dist/semiotic-experimental.module.min.js +1 -1
- package/dist/semiotic-geo.d.ts +15 -0
- package/dist/semiotic-network.d.ts +15 -0
- package/dist/semiotic-ordinal.d.ts +14 -0
- package/dist/semiotic-physics-matter.d.ts +10 -0
- package/dist/semiotic-physics-rapier.d.ts +9 -0
- package/dist/semiotic-physics.d.ts +60 -0
- package/dist/semiotic-realtime-core.d.ts +34 -0
- package/dist/semiotic-realtime-core.min.js +1 -0
- package/dist/semiotic-realtime-core.module.min.js +1 -0
- package/dist/semiotic-realtime-react.d.ts +10 -0
- package/dist/semiotic-realtime-react.min.js +2 -0
- package/dist/semiotic-realtime-react.module.min.js +2 -0
- package/dist/semiotic-realtime.d.ts +4 -30
- package/dist/semiotic-recipes-core.d.ts +92 -0
- package/dist/semiotic-recipes-core.min.js +1 -0
- package/dist/semiotic-recipes-core.module.min.js +1 -0
- package/dist/semiotic-recipes-react.d.ts +7 -0
- package/dist/semiotic-recipes-react.min.js +2 -0
- package/dist/semiotic-recipes-react.module.min.js +2 -0
- package/dist/semiotic-recipes.d.ts +4 -43
- package/dist/semiotic-recipes.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- package/dist/semiotic-rough.d.ts +4 -0
- package/dist/semiotic-server-edge.d.ts +8 -0
- package/dist/semiotic-server-edge.min.js +1 -0
- package/dist/semiotic-server-edge.module.min.js +1 -0
- package/dist/semiotic-server-node.d.ts +5 -0
- package/dist/semiotic-server-node.min.js +1 -0
- package/dist/semiotic-server-node.module.min.js +1 -0
- package/dist/semiotic-server.d.ts +2 -2
- package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
- package/dist/semiotic-themes-core.d.ts +53 -0
- package/dist/semiotic-themes-core.min.js +1 -0
- package/dist/semiotic-themes-core.module.min.js +1 -0
- package/dist/semiotic-themes-react.d.ts +4 -0
- package/dist/semiotic-themes-react.min.js +2 -0
- package/dist/semiotic-themes-react.module.min.js +2 -0
- package/dist/semiotic-themes.d.ts +6 -76
- package/dist/semiotic-themes.min.js +1 -2
- package/dist/semiotic-themes.module.min.js +1 -2
- package/dist/semiotic-utils-core.d.ts +50 -0
- package/dist/semiotic-utils-core.min.js +1 -0
- package/dist/semiotic-utils-core.module.min.js +1 -0
- package/dist/semiotic-utils-react.d.ts +5 -0
- package/dist/semiotic-utils-react.min.js +2 -0
- package/dist/semiotic-utils-react.module.min.js +2 -0
- package/dist/semiotic-utils.d.ts +3 -39
- package/dist/semiotic-utils.min.js +1 -2
- package/dist/semiotic-utils.module.min.js +1 -2
- package/dist/semiotic-value.min.js +1 -1
- package/dist/semiotic-value.module.min.js +1 -1
- package/dist/semiotic-xy.d.ts +12 -0
- package/dist/semiotic.d.ts +44 -8
- package/dist/semiotic.min.js +1 -1
- package/dist/semiotic.module.min.js +1 -1
- package/dist/server.min.js +1 -1
- package/dist/server.module.min.js +1 -1
- package/dist/test-utils/capturedFrameProps.d.ts +67 -0
- package/dist/test-utils/frameMock.d.ts +12 -9
- package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
- package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
- package/dist/xy.min.js +1 -1
- package/dist/xy.module.min.js +1 -1
- package/package.json +259 -88
- package/spec/README.md +152 -0
- package/spec/bindings/README.md +35 -0
- package/spec/bindings/vega-lite.mjs +112 -0
- package/spec/v0.1/annotation-provenance.schema.json +127 -0
- package/spec/v0.1/audience-profile.schema.json +67 -0
- package/spec/v0.1/chart-capability.schema.json +186 -0
- package/dist/components/recipes/gofish.d.ts +0 -207
- package/dist/components/recipes/gofishInterpreter.d.ts +0 -52
- package/dist/components/recipes/gofishLambdas.d.ts +0 -145
- package/dist/semiotic-ai-semiotic-ai-u954ylUn.js +0 -2
- package/dist/semiotic-ai-statisticalOverlays-CU7jW05Q.js +0 -1
- package/dist/semiotic-semiotic-BmrYbi99.js +0 -2
- package/dist/semiotic-statisticalOverlays-IjZw8Lsu.js +0 -1
- package/dist/xy-semiotic-xy-Dufu3D0-.js +0 -2
- package/dist/xy-statisticalOverlays-3Ni9bRph.js +0 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import type { PhysicsBodyState, PhysicsColliderBodyFilter } from "./PhysicsKernel";
|
|
2
|
+
import type { StreamPhysicsRegionVector } from "./StreamPhysicsFrame";
|
|
3
|
+
/** Current age distribution for visits admitted to a capacity queue. */
|
|
4
|
+
export interface CapacityQueueAgeSummary {
|
|
5
|
+
count: number;
|
|
6
|
+
meanSeconds: number;
|
|
7
|
+
p50Seconds: number;
|
|
8
|
+
p95Seconds: number;
|
|
9
|
+
oldestSeconds: number;
|
|
10
|
+
}
|
|
11
|
+
/** Rolling simulated-time service evidence. */
|
|
12
|
+
export interface CapacityQueueWindowSnapshot {
|
|
13
|
+
seconds: number;
|
|
14
|
+
arrivals: number;
|
|
15
|
+
arrivalWork: number;
|
|
16
|
+
completions: number;
|
|
17
|
+
completedWork: number;
|
|
18
|
+
processedWork: number;
|
|
19
|
+
arrivalsPerSecond: number;
|
|
20
|
+
throughputPerSecond: number;
|
|
21
|
+
/** Service work consumed / available work capacity, clamped to 0-1. */
|
|
22
|
+
utilization: number;
|
|
23
|
+
/** Incoming work rate / service rate. Values above 1 indicate overload. */
|
|
24
|
+
pressure: number;
|
|
25
|
+
}
|
|
26
|
+
/** Live capacity queue metrics for projection, evidence, and UI. */
|
|
27
|
+
export interface CapacityQueueSnapshot {
|
|
28
|
+
regionId: string;
|
|
29
|
+
queueDepth: number;
|
|
30
|
+
processedCount: number;
|
|
31
|
+
unitsPerSecond: number;
|
|
32
|
+
/** Remaining work units currently in the admitted queue. */
|
|
33
|
+
remainingWork: number;
|
|
34
|
+
meanRemainingWork: number;
|
|
35
|
+
/** Current admitted + blocked work still waiting for service. */
|
|
36
|
+
waitingWork: number;
|
|
37
|
+
blockedDepth: number;
|
|
38
|
+
blockedWork: number;
|
|
39
|
+
/** Unique physical entries observed, including entries initially blocked. */
|
|
40
|
+
arrivalCount: number;
|
|
41
|
+
admittedCount: number;
|
|
42
|
+
admittedWork: number;
|
|
43
|
+
/** Cumulative service work consumed, including partially processed jobs. */
|
|
44
|
+
processedWork: number;
|
|
45
|
+
completedWork: number;
|
|
46
|
+
blockedCount: number;
|
|
47
|
+
abandonedCount: number;
|
|
48
|
+
abandonedWork: number;
|
|
49
|
+
peakQueueDepth: number;
|
|
50
|
+
peakRemainingWork: number;
|
|
51
|
+
queueAge: CapacityQueueAgeSummary;
|
|
52
|
+
meanCompletedQueueSeconds: number;
|
|
53
|
+
window: CapacityQueueWindowSnapshot;
|
|
54
|
+
/** Latest simulated clock observed by the controller. */
|
|
55
|
+
simulatedAt: number;
|
|
56
|
+
/** Coarse reporting bucket suitable for React equality checks. */
|
|
57
|
+
metricRevision: number;
|
|
58
|
+
}
|
|
59
|
+
export interface CapacityQueueVisitInfo {
|
|
60
|
+
bodyId: string;
|
|
61
|
+
jobId: string;
|
|
62
|
+
visitId: string;
|
|
63
|
+
visit: number;
|
|
64
|
+
regionId: string;
|
|
65
|
+
work: number;
|
|
66
|
+
queuedAt: number;
|
|
67
|
+
}
|
|
68
|
+
export interface CapacityQueueProcessedInfo extends CapacityQueueVisitInfo {
|
|
69
|
+
completedAt: number;
|
|
70
|
+
queueSeconds: number;
|
|
71
|
+
}
|
|
72
|
+
export interface CapacityQueueBlockedInfo extends CapacityQueueVisitInfo {
|
|
73
|
+
blockedAt: number;
|
|
74
|
+
}
|
|
75
|
+
export interface CapacityQueueAbandonedInfo extends CapacityQueueVisitInfo {
|
|
76
|
+
abandonedAt: number;
|
|
77
|
+
remainingWork: number;
|
|
78
|
+
queueSeconds: number;
|
|
79
|
+
}
|
|
80
|
+
export interface CapacityQueueControllerOptions {
|
|
81
|
+
id?: string;
|
|
82
|
+
/** Must match a StreamPhysicsRegionEffect id (sensor region). */
|
|
83
|
+
regionId: string;
|
|
84
|
+
/** Work units processed per second while the queue is non-empty. */
|
|
85
|
+
unitsPerSecond: number;
|
|
86
|
+
/** Only matching bodies may enter the queue. Uses collider body-filter semantics. */
|
|
87
|
+
bodyFilter?: PhysicsColliderBodyFilter;
|
|
88
|
+
/** String form reads `body.datum[field]`; defaults to work/reviewWork/value. */
|
|
89
|
+
unitAccessor?: string | ((body: PhysicsBodyState) => number);
|
|
90
|
+
/**
|
|
91
|
+
* Semantic job identity. String form reads `body.datum[field]`; defaults to
|
|
92
|
+
* body id. Multiple matching bodies with the same key consume one visit.
|
|
93
|
+
*/
|
|
94
|
+
jobKey?: string | ((body: PhysicsBodyState) => string | number | null | undefined);
|
|
95
|
+
/** Impulse applied when a body finishes processing (default forward release). */
|
|
96
|
+
releaseImpulse?: StreamPhysicsRegionVector;
|
|
97
|
+
onProcessed?: (body: PhysicsBodyState, info: CapacityQueueProcessedInfo) => void;
|
|
98
|
+
onQueued?: (body: PhysicsBodyState, info: CapacityQueueVisitInfo) => void;
|
|
99
|
+
onBlocked?: (body: PhysicsBodyState, info: CapacityQueueBlockedInfo) => void;
|
|
100
|
+
onAbandoned?: (body: PhysicsBodyState, info: CapacityQueueAbandonedInfo) => void;
|
|
101
|
+
queueLayout?: "lane" | "none";
|
|
102
|
+
queueSlotSpacing?: number;
|
|
103
|
+
queueStiffness?: number;
|
|
104
|
+
/** Max admitted visits; overflow is measured while it waits outside. */
|
|
105
|
+
maxQueue?: number;
|
|
106
|
+
/** Rolling simulated-time window for throughput/utilization (default 30s). */
|
|
107
|
+
metricWindowSeconds?: number;
|
|
108
|
+
/** Coarse snapshot cadence used by HOC callbacks (default 0.25s). */
|
|
109
|
+
snapshotIntervalSeconds?: number;
|
|
110
|
+
continuous?: boolean;
|
|
111
|
+
}
|
|
112
|
+
export interface CapacityQueueEntry {
|
|
113
|
+
bodyId: string;
|
|
114
|
+
jobId: string;
|
|
115
|
+
visitId: string;
|
|
116
|
+
visit: number;
|
|
117
|
+
remaining: number;
|
|
118
|
+
total: number;
|
|
119
|
+
queuedAt: number;
|
|
120
|
+
sequence: number;
|
|
121
|
+
}
|
|
122
|
+
export interface CapacityBlockedEntry extends CapacityQueueVisitInfo {
|
|
123
|
+
blockedAt: number;
|
|
124
|
+
sequence: number;
|
|
125
|
+
}
|
|
126
|
+
export interface CapacityMetricSlice {
|
|
127
|
+
start: number;
|
|
128
|
+
end: number;
|
|
129
|
+
arrivals: number;
|
|
130
|
+
arrivalWork: number;
|
|
131
|
+
completions: number;
|
|
132
|
+
completedWork: number;
|
|
133
|
+
processedWork: number;
|
|
134
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { PhysicsEngineCapabilities } from "./PhysicsEngineAdapter";
|
|
2
|
+
import type { PhysicsBodySpec, PhysicsColliderSpec } from "./PhysicsKernel";
|
|
3
|
+
export declare const MATTER_PHYSICS_PACKAGE = "matter-js";
|
|
4
|
+
export declare const MATTER_PHYSICS_IMPORT_PATH = "semiotic/physics/matter";
|
|
5
|
+
export declare const MATTER_PHYSICS_CAPABILITIES: PhysicsEngineCapabilities;
|
|
6
|
+
export declare const MATTER_PHYSICS_INSTALL: {
|
|
7
|
+
readonly engine: "Matter.js";
|
|
8
|
+
readonly importPath: "semiotic/physics/matter";
|
|
9
|
+
readonly packageName: "matter-js";
|
|
10
|
+
readonly installCommand: "npm install matter-js";
|
|
11
|
+
};
|
|
12
|
+
export interface MatterVectorLike {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
}
|
|
16
|
+
export interface MatterBoundsLike {
|
|
17
|
+
min: MatterVectorLike;
|
|
18
|
+
max: MatterVectorLike;
|
|
19
|
+
}
|
|
20
|
+
export interface MatterBodyLike {
|
|
21
|
+
id?: string | number;
|
|
22
|
+
label?: string;
|
|
23
|
+
position?: MatterVectorLike;
|
|
24
|
+
velocity?: MatterVectorLike;
|
|
25
|
+
angle?: number;
|
|
26
|
+
mass?: number;
|
|
27
|
+
circleRadius?: number;
|
|
28
|
+
bounds?: MatterBoundsLike;
|
|
29
|
+
isSensor?: boolean;
|
|
30
|
+
plugin?: Record<string, unknown>;
|
|
31
|
+
}
|
|
32
|
+
export interface MatterMigrationOptions {
|
|
33
|
+
datumFromPlugin?: string;
|
|
34
|
+
fallbackRadius?: number;
|
|
35
|
+
idPrefix?: string;
|
|
36
|
+
}
|
|
37
|
+
export declare function matterBodyToPhysicsBodySpec(body: MatterBodyLike, index?: number, options?: MatterMigrationOptions): PhysicsBodySpec;
|
|
38
|
+
export declare function matterBodyToPhysicsColliderSpec(body: MatterBodyLike, index?: number, options?: MatterMigrationOptions): PhysicsColliderSpec;
|
|
39
|
+
export declare function matterBodiesToPhysicsSpawns(bodies: readonly MatterBodyLike[], options?: MatterMigrationOptions): PhysicsBodySpec[];
|
|
40
|
+
export declare function matterBodiesToPhysicsColliders(bodies: readonly MatterBodyLike[], options?: MatterMigrationOptions): PhysicsColliderSpec[];
|
|
41
|
+
export declare function loadMatterPhysicsPeer(): Promise<unknown>;
|
|
42
|
+
export declare function matterPhysicsDependencyError(cause?: unknown): Error;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { NavTreeNode } from "../../ai/navigationTree";
|
|
2
|
+
import type { PhysicsBodyState } from "./PhysicsKernel";
|
|
3
|
+
import type { PhysicsObservationEvent } from "./PhysicsPipelineStore";
|
|
4
|
+
export interface PhysicsProjectionContainerSpec {
|
|
5
|
+
id: string;
|
|
6
|
+
label: string;
|
|
7
|
+
count?: number;
|
|
8
|
+
secondary?: number;
|
|
9
|
+
secondaryLabel?: string;
|
|
10
|
+
observed?: number;
|
|
11
|
+
metadata?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface PhysicsProjectionBodySummary {
|
|
14
|
+
id: string;
|
|
15
|
+
label: string;
|
|
16
|
+
datum?: unknown;
|
|
17
|
+
}
|
|
18
|
+
export interface PhysicsSettledProjectionRow {
|
|
19
|
+
id: string;
|
|
20
|
+
label: string;
|
|
21
|
+
count: number;
|
|
22
|
+
share: number;
|
|
23
|
+
secondary?: number;
|
|
24
|
+
secondaryLabel?: string;
|
|
25
|
+
observed?: number;
|
|
26
|
+
bodyIds: string[];
|
|
27
|
+
recentBodies: PhysicsProjectionBodySummary[];
|
|
28
|
+
metadata?: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
export interface PhysicsSettledProjectionOptions {
|
|
31
|
+
bodies?: PhysicsBodyState[];
|
|
32
|
+
getContainerId?: (body: PhysicsBodyState) => string | undefined;
|
|
33
|
+
getBodyLabel?: (body: PhysicsBodyState) => string | undefined;
|
|
34
|
+
recentBodyLimit?: number;
|
|
35
|
+
}
|
|
36
|
+
export interface PhysicsNavigationTreeOptions {
|
|
37
|
+
chartId?: string;
|
|
38
|
+
chartType?: string;
|
|
39
|
+
title?: string;
|
|
40
|
+
projectionLabel?: string;
|
|
41
|
+
maxBodiesPerContainer?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface PhysicsObservationAnnouncementOptions {
|
|
44
|
+
getDatumLabel?: (datum: unknown, event: PhysicsObservationEvent) => string | undefined;
|
|
45
|
+
}
|
|
46
|
+
export declare function buildPhysicsSettledProjection(containers: PhysicsProjectionContainerSpec[], options?: PhysicsSettledProjectionOptions): PhysicsSettledProjectionRow[];
|
|
47
|
+
export declare function buildPhysicsNavigationTree(rows: PhysicsSettledProjectionRow[], options?: PhysicsNavigationTreeOptions): NavTreeNode;
|
|
48
|
+
export declare function physicsObservationAnnouncement(event: PhysicsObservationEvent, options?: PhysicsObservationAnnouncementOptions): string | null;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { PhysicsBodyState, PhysicsColliderSpec } from "./PhysicsKernel";
|
|
2
|
+
import type { PhysicsPlotBounds } from "./PhysicsPipelineStore";
|
|
3
|
+
export type PhysicsAnnotationRole = "barrier" | "sensor";
|
|
4
|
+
export type PhysicsAnnotationAxis = "x" | "y";
|
|
5
|
+
export interface PhysicsStaticAnnotation {
|
|
6
|
+
id: string;
|
|
7
|
+
label: string;
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
x1?: number;
|
|
11
|
+
x2?: number;
|
|
12
|
+
y1?: number;
|
|
13
|
+
y2?: number;
|
|
14
|
+
dx?: number;
|
|
15
|
+
dy?: number;
|
|
16
|
+
physics?: PhysicsAnnotationRole;
|
|
17
|
+
axis?: PhysicsAnnotationAxis;
|
|
18
|
+
colliderId?: string;
|
|
19
|
+
thickness?: number;
|
|
20
|
+
restitution?: number;
|
|
21
|
+
friction?: number;
|
|
22
|
+
description?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface PhysicsBodyAnnotation {
|
|
25
|
+
id: string;
|
|
26
|
+
label: string;
|
|
27
|
+
bodyId: string;
|
|
28
|
+
dx?: number;
|
|
29
|
+
dy?: number;
|
|
30
|
+
description?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface PhysicsResolvedBodyAnnotation extends PhysicsBodyAnnotation {
|
|
33
|
+
anchorX: number;
|
|
34
|
+
anchorY: number;
|
|
35
|
+
labelX: number;
|
|
36
|
+
labelY: number;
|
|
37
|
+
body: PhysicsBodyState;
|
|
38
|
+
}
|
|
39
|
+
export interface PhysicsAnnotationSummary {
|
|
40
|
+
bodyCount: number;
|
|
41
|
+
barrierCount: number;
|
|
42
|
+
sensorCount: number;
|
|
43
|
+
staticCount: number;
|
|
44
|
+
totalCount: number;
|
|
45
|
+
}
|
|
46
|
+
export interface PhysicsAnnotationColliderOptions {
|
|
47
|
+
idPrefix?: string;
|
|
48
|
+
plotBounds?: PhysicsPlotBounds;
|
|
49
|
+
defaultAxis?: PhysicsAnnotationAxis;
|
|
50
|
+
barrierThickness?: number;
|
|
51
|
+
sensorThickness?: number;
|
|
52
|
+
thickness?: number;
|
|
53
|
+
barrierRestitution?: number;
|
|
54
|
+
barrierFriction?: number;
|
|
55
|
+
}
|
|
56
|
+
export declare function collidersFromPhysicsAnnotations(annotations?: PhysicsStaticAnnotation[], options?: PhysicsAnnotationColliderOptions): PhysicsColliderSpec[];
|
|
57
|
+
export declare function resolvePhysicsBodyAnnotations(annotations: PhysicsBodyAnnotation[], bodies: PhysicsBodyState[]): PhysicsResolvedBodyAnnotation[];
|
|
58
|
+
export declare function summarizePhysicsAnnotations(staticAnnotations?: PhysicsStaticAnnotation[], bodyAnnotations?: PhysicsBodyAnnotation[]): PhysicsAnnotationSummary;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type PhysicsBodyBudgetState = "ok" | "warning" | "overflow";
|
|
2
|
+
export type PhysicsBodyBudgetAction = "continue" | "evict" | "retain" | "sediment";
|
|
3
|
+
export interface PhysicsBodyBudgetOptions {
|
|
4
|
+
warnAt?: number;
|
|
5
|
+
}
|
|
6
|
+
export interface PhysicsBodyBudgetInput {
|
|
7
|
+
bodyLimit?: number;
|
|
8
|
+
engineMaxBodiesHint?: number;
|
|
9
|
+
evictionEnabled?: boolean;
|
|
10
|
+
liveBodies: number;
|
|
11
|
+
queuedBodies?: number;
|
|
12
|
+
sedimentEnabled?: boolean;
|
|
13
|
+
options?: false | PhysicsBodyBudgetOptions;
|
|
14
|
+
}
|
|
15
|
+
export interface PhysicsBodyBudgetDecision {
|
|
16
|
+
action: PhysicsBodyBudgetAction;
|
|
17
|
+
bodyLimit?: number;
|
|
18
|
+
engineMaxBodiesHint?: number;
|
|
19
|
+
liveBodies: number;
|
|
20
|
+
overflow: number;
|
|
21
|
+
projectedBodies: number;
|
|
22
|
+
queuedBodies: number;
|
|
23
|
+
state: PhysicsBodyBudgetState;
|
|
24
|
+
warnAt?: number;
|
|
25
|
+
}
|
|
26
|
+
export declare function evaluatePhysicsBodyBudget(input: PhysicsBodyBudgetInput): PhysicsBodyBudgetDecision;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PhysicsEngineAdapter } from "./PhysicsEngineAdapter";
|
|
2
|
+
import type { PhysicsBodyState } from "./PhysicsKernel";
|
|
3
|
+
/** Revision-keyed body index used by PhysicsPipelineStore hit testing. */
|
|
4
|
+
export declare class PhysicsBodySpatialIndex {
|
|
5
|
+
private maxSearchRadius;
|
|
6
|
+
private revision;
|
|
7
|
+
private tree;
|
|
8
|
+
hitTest(world: PhysicsEngineAdapter, revision: number, liveBodyOrder: readonly string[], x: number, y: number, radius?: number): PhysicsBodyState | null;
|
|
9
|
+
private ensure;
|
|
10
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface PhysicsCanvasTheme {
|
|
2
|
+
annotationBackground: string;
|
|
3
|
+
annotationStroke: string;
|
|
4
|
+
annotationText: string;
|
|
5
|
+
background: string;
|
|
6
|
+
border: string;
|
|
7
|
+
closedWindowFill: string;
|
|
8
|
+
closedWindowStroke: string;
|
|
9
|
+
danger: string;
|
|
10
|
+
focus: string;
|
|
11
|
+
grid: string;
|
|
12
|
+
gutterFill: string;
|
|
13
|
+
lateFill: string;
|
|
14
|
+
openWindowFill: string;
|
|
15
|
+
openWindowStroke: string;
|
|
16
|
+
primary: string;
|
|
17
|
+
selectedFill: string;
|
|
18
|
+
selectedStroke: string;
|
|
19
|
+
success: string;
|
|
20
|
+
text: string;
|
|
21
|
+
textSecondary: string;
|
|
22
|
+
warning: string;
|
|
23
|
+
}
|
|
24
|
+
export declare const DEFAULT_PHYSICS_CANVAS_THEME: PhysicsCanvasTheme;
|
|
25
|
+
export declare function physicsCanvasColorWithAlpha(color: string, opacity: number): string;
|
|
26
|
+
export declare function resolvePhysicsCanvasTheme(ctx: CanvasRenderingContext2D): PhysicsCanvasTheme;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/** Stateful process rules that ride StreamPhysicsFrame's live heartbeat. */
|
|
2
|
+
import type { PhysicsBodyState } from "./PhysicsKernel";
|
|
3
|
+
import type { PhysicsPipelineControlSurface, PhysicsPipelineTickResult } from "./PhysicsPipelineStore";
|
|
4
|
+
import type { StreamPhysicsBodyForce, StreamPhysicsBodyForceContext, StreamPhysicsBodyRegionState, StreamPhysicsRegionVector } from "./StreamPhysicsFrame";
|
|
5
|
+
import { createCapacityQueueController } from "./CapacityQueueController";
|
|
6
|
+
export { createCapacityQueueController };
|
|
7
|
+
export type { CapacityQueueAbandonedInfo, CapacityQueueAgeSummary, CapacityQueueBlockedInfo, CapacityQueueControllerOptions, CapacityQueueProcessedInfo, CapacityQueueSnapshot, CapacityQueueVisitInfo, CapacityQueueWindowSnapshot } from "./CapacityQueueTypes";
|
|
8
|
+
export interface PhysicsControllerTickContext {
|
|
9
|
+
result: PhysicsPipelineTickResult;
|
|
10
|
+
controls: PhysicsPipelineControlSurface;
|
|
11
|
+
/**
|
|
12
|
+
* Exact simulated seconds advanced by the kernel for this callback:
|
|
13
|
+
* `result.steps * fixedDt`. This is zero when a pipeline tick does not run a
|
|
14
|
+
* fixed substep, so time-based controller work must not advance on that tick.
|
|
15
|
+
*/
|
|
16
|
+
dt: number;
|
|
17
|
+
elapsed: number;
|
|
18
|
+
/**
|
|
19
|
+
* Region membership for a body (active region ids, charges, attributes).
|
|
20
|
+
* Backed by StreamPhysicsFrame region state.
|
|
21
|
+
*/
|
|
22
|
+
getRegionState: (bodyId: string) => StreamPhysicsBodyRegionState | undefined;
|
|
23
|
+
}
|
|
24
|
+
export interface PhysicsController {
|
|
25
|
+
/** Stable id for debugging / observation. */
|
|
26
|
+
id: string;
|
|
27
|
+
/**
|
|
28
|
+
* Keep the RAF loop alive even when the kernel reports allSleeping.
|
|
29
|
+
* Capacity queues and continuous process rules should set this true.
|
|
30
|
+
*/
|
|
31
|
+
continuous?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Called after each store tick and continuous-force application. It may run
|
|
34
|
+
* with `context.dt === 0` when the frame only synchronizes runtime state.
|
|
35
|
+
*/
|
|
36
|
+
tick: (context: PhysicsControllerTickContext) => void;
|
|
37
|
+
/**
|
|
38
|
+
* Optional force contribution composed into StreamPhysicsFrame bodyForces.
|
|
39
|
+
* The frame integrates the returned vector over simulated fixed-step time
|
|
40
|
+
* and applies no impulse when the tick advances zero substeps. Return null to
|
|
41
|
+
* skip this body.
|
|
42
|
+
*/
|
|
43
|
+
bodyForce?: (context: StreamPhysicsBodyForceContext) => StreamPhysicsRegionVector | null | undefined;
|
|
44
|
+
/** Optional live metrics for settled projection / readouts. */
|
|
45
|
+
getSnapshot?: () => unknown;
|
|
46
|
+
dispose?: () => void;
|
|
47
|
+
}
|
|
48
|
+
export interface ComposedPhysicsControllers {
|
|
49
|
+
controllers: PhysicsController[];
|
|
50
|
+
continuous: boolean;
|
|
51
|
+
onTick: (result: PhysicsPipelineTickResult, controls: PhysicsPipelineControlSurface, extras: {
|
|
52
|
+
dt: number;
|
|
53
|
+
elapsed: number;
|
|
54
|
+
getRegionState: PhysicsControllerTickContext["getRegionState"];
|
|
55
|
+
}) => void;
|
|
56
|
+
bodyForce: StreamPhysicsBodyForce;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Compose controllers into a single continuous flag, bodyForce, and onTick.
|
|
60
|
+
* Call onTick from StreamPhysicsFrame after each pipeline tick; `ctx.dt`
|
|
61
|
+
* accounts for every fixed substep completed by that tick.
|
|
62
|
+
*/
|
|
63
|
+
export declare function composePhysicsControllers(controllers: readonly PhysicsController[] | undefined | null): ComposedPhysicsControllers | null;
|
|
64
|
+
/** Apply one portal impulse per active-region visit. */
|
|
65
|
+
export declare function createPortalController(options: {
|
|
66
|
+
id?: string;
|
|
67
|
+
fromRegionId: string;
|
|
68
|
+
impulse?: StreamPhysicsRegionVector;
|
|
69
|
+
continuous?: boolean;
|
|
70
|
+
onPortal?: (body: PhysicsBodyState) => void;
|
|
71
|
+
}): PhysicsController;
|
|
72
|
+
export type PhysicsControllerFactory = typeof createCapacityQueueController;
|
|
73
|
+
export { createDependencyGateController, createServiceLevelController, createServiceResourcePoolController } from "./ServiceOperationsControllers";
|
|
74
|
+
export type { DependencyGateController, ServiceLevelController, ServiceResourcePoolController } from "./ServiceOperationsControllers";
|
|
75
|
+
export type { DependencyGateOptions, DependencyGateSnapshot, ServiceLevelCaseInfo, ServiceLevelCaseState, ServiceLevelControllerOptions, ServiceLevelSnapshot, ServiceResourceAssignment, ServiceResourceDefinition, ServiceResourcePoolOptions, ServiceResourcePoolSnapshot } from "./ServiceOperationsTypes";
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type PhysicsActiveSensorPair, type PhysicsBodySpec, type PhysicsBodyState, type PhysicsColliderSpec, type PhysicsKernelEvent, type PhysicsKernelOptions, type PhysicsKernelSnapshot, type PhysicsSpringSpec } from "./PhysicsKernel";
|
|
2
|
+
export type PhysicsEngineDeterminism = "strict" | "tolerance" | "none";
|
|
3
|
+
export interface PhysicsEngineCapabilities {
|
|
4
|
+
engine: string;
|
|
5
|
+
determinism: PhysicsEngineDeterminism;
|
|
6
|
+
sensors: boolean;
|
|
7
|
+
joints: boolean;
|
|
8
|
+
ccd: boolean;
|
|
9
|
+
maxBodiesHint: number;
|
|
10
|
+
worker: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface PhysicsEngineAdapter {
|
|
13
|
+
readonly id: string;
|
|
14
|
+
readonly capabilities: PhysicsEngineCapabilities;
|
|
15
|
+
init: (options?: PhysicsKernelOptions) => void;
|
|
16
|
+
spawn: (spec: PhysicsBodySpec) => void;
|
|
17
|
+
remove: (ids: string[]) => void;
|
|
18
|
+
setColliders: (colliders: PhysicsColliderSpec[]) => void;
|
|
19
|
+
setConstraint: (spec: PhysicsSpringSpec) => string;
|
|
20
|
+
removeConstraint: (id: string) => void;
|
|
21
|
+
applyImpulse: (id: string, ix: number, iy: number) => void;
|
|
22
|
+
step: (dtSeconds?: number) => void;
|
|
23
|
+
settle: (maxSteps?: number, dtSeconds?: number) => number;
|
|
24
|
+
readState: (out?: PhysicsBodyState[]) => PhysicsBodyState[];
|
|
25
|
+
events: () => PhysicsKernelEvent[];
|
|
26
|
+
activeSensorPairs: () => PhysicsActiveSensorPair[];
|
|
27
|
+
allSleeping: () => boolean;
|
|
28
|
+
snapshot: () => PhysicsKernelSnapshot;
|
|
29
|
+
restore: (snapshot: PhysicsKernelSnapshot) => void;
|
|
30
|
+
nextRandom: () => number;
|
|
31
|
+
dispose: () => void;
|
|
32
|
+
}
|
|
33
|
+
export type PhysicsEngineAdapterFactory = (options?: PhysicsKernelOptions) => PhysicsEngineAdapter;
|
|
34
|
+
export type PhysicsEngineAdapterInput = PhysicsEngineAdapter | PhysicsEngineAdapterFactory;
|
|
35
|
+
export declare class BuiltInPhysicsEngineAdapter implements PhysicsEngineAdapter {
|
|
36
|
+
readonly id = "builtin";
|
|
37
|
+
readonly capabilities: PhysicsEngineCapabilities;
|
|
38
|
+
private world;
|
|
39
|
+
constructor(options?: PhysicsKernelOptions);
|
|
40
|
+
init(options?: PhysicsKernelOptions): void;
|
|
41
|
+
spawn(spec: PhysicsBodySpec): void;
|
|
42
|
+
remove(ids: string[]): void;
|
|
43
|
+
setColliders(colliders: PhysicsColliderSpec[]): void;
|
|
44
|
+
setConstraint(spec: PhysicsSpringSpec): string;
|
|
45
|
+
removeConstraint(id: string): void;
|
|
46
|
+
applyImpulse(id: string, ix: number, iy: number): void;
|
|
47
|
+
step(dtSeconds?: number): void;
|
|
48
|
+
settle(maxSteps?: number, dtSeconds?: number): number;
|
|
49
|
+
readState(out?: PhysicsBodyState[]): PhysicsBodyState[];
|
|
50
|
+
events(): PhysicsKernelEvent[];
|
|
51
|
+
activeSensorPairs(): PhysicsActiveSensorPair[];
|
|
52
|
+
allSleeping(): boolean;
|
|
53
|
+
snapshot(): PhysicsKernelSnapshot;
|
|
54
|
+
restore(snapshot: PhysicsKernelSnapshot): void;
|
|
55
|
+
nextRandom(): number;
|
|
56
|
+
dispose(): void;
|
|
57
|
+
}
|
|
58
|
+
export declare function createDefaultPhysicsEngineAdapter(options?: PhysicsKernelOptions): PhysicsEngineAdapter;
|
|
59
|
+
export declare function resolvePhysicsEngineAdapter(input: PhysicsEngineAdapterInput | undefined, options?: PhysicsKernelOptions): PhysicsEngineAdapter;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { PhysicsEngineAdapterFactory, PhysicsEngineDeterminism } from "./PhysicsEngineAdapter";
|
|
2
|
+
export interface PhysicsEngineConformanceOptions {
|
|
3
|
+
determinism?: PhysicsEngineDeterminism;
|
|
4
|
+
tolerance?: number;
|
|
5
|
+
}
|
|
6
|
+
export interface PhysicsEngineConformanceBody {
|
|
7
|
+
id: string;
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
vx: number;
|
|
11
|
+
vy: number;
|
|
12
|
+
sleeping: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface PhysicsEngineConformanceResult {
|
|
15
|
+
deterministicReplay: PhysicsEngineConformanceBody[];
|
|
16
|
+
sensorEvents: string[];
|
|
17
|
+
sensorFinalX: number;
|
|
18
|
+
sleepWakeEvents: string[];
|
|
19
|
+
snapshotReplay: PhysicsEngineConformanceBody[];
|
|
20
|
+
springBodyX: number;
|
|
21
|
+
}
|
|
22
|
+
export declare function runPhysicsEngineConformance(factory: PhysicsEngineAdapterFactory, _options?: PhysicsEngineConformanceOptions): PhysicsEngineConformanceResult;
|
|
23
|
+
export declare function comparePhysicsEngineConformance(actual: PhysicsEngineConformanceResult, expected: PhysicsEngineConformanceResult, options?: PhysicsEngineConformanceOptions): string[];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { PhysicsSettledProjectionRow } from "./PhysicsAccessibility";
|
|
2
|
+
import type { PhysicsBodyState } from "./PhysicsKernel";
|
|
3
|
+
import type { PhysicsPipelineSnapshot } from "./PhysicsPipelineStore";
|
|
4
|
+
export interface PhysicsEvidenceBinCount {
|
|
5
|
+
id: string;
|
|
6
|
+
label: string;
|
|
7
|
+
count: number;
|
|
8
|
+
secondary?: number;
|
|
9
|
+
secondaryLabel?: string;
|
|
10
|
+
observed?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface PhysicsSettledEvidence {
|
|
13
|
+
bodyCount: number;
|
|
14
|
+
sleepingCount: number;
|
|
15
|
+
settled: boolean;
|
|
16
|
+
stepsRun: number;
|
|
17
|
+
seed: number;
|
|
18
|
+
binCounts: PhysicsEvidenceBinCount[];
|
|
19
|
+
}
|
|
20
|
+
export interface PhysicsSettledEvidenceOptions {
|
|
21
|
+
bodies?: PhysicsBodyState[];
|
|
22
|
+
projectionRows?: PhysicsSettledProjectionRow[];
|
|
23
|
+
stepsRun?: number;
|
|
24
|
+
}
|
|
25
|
+
export declare function buildPhysicsSettledEvidence(snapshot: PhysicsPipelineSnapshot, options?: PhysicsSettledEvidenceOptions): PhysicsSettledEvidence;
|