@satinhq/kit 0.0.0-stage → 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +96 -0
- package/README.md +454 -2
- package/THIRD_PARTY_NOTICES.md +65 -0
- package/bin/satin.mjs +13 -0
- package/dist/acknowledgements/Acknowledgements.d.ts +4 -0
- package/dist/acknowledgements/Acknowledgements.js +42 -0
- package/dist/acknowledgements/bundledNotices.d.ts +4 -0
- package/dist/acknowledgements/bundledNotices.js +58 -0
- package/dist/acknowledgements/inventory.d.ts +17 -0
- package/dist/acknowledgements/inventory.js +10 -0
- package/dist/acknowledgements/inventory.json +39 -0
- package/dist/actions/ActionMenu.d.ts +30 -0
- package/dist/actions/ActionMenu.js +103 -0
- package/dist/actions/RowActions.d.ts +42 -0
- package/dist/actions/RowActions.js +820 -0
- package/dist/actions/contextMotion.d.ts +78 -0
- package/dist/actions/contextMotion.js +329 -0
- package/dist/actions/motion.d.ts +19 -0
- package/dist/actions/motion.js +74 -0
- package/dist/actions/nativeContextAppearance.json +86 -0
- package/dist/actions/nativeContextMotion.json +734 -0
- package/dist/actions/nativeMotion.json +388 -0
- package/dist/actions/preview.d.ts +27 -0
- package/dist/actions/preview.js +217 -0
- package/dist/actions/recognizers.d.ts +24 -0
- package/dist/actions/recognizers.js +87 -0
- package/dist/actions/rowScrub.d.ts +59 -0
- package/dist/actions/rowScrub.js +400 -0
- package/dist/actions/swipeSpring.d.ts +14 -0
- package/dist/actions/swipeSpring.js +35 -0
- package/dist/actions/types.d.ts +71 -0
- package/dist/actions/types.js +28 -0
- package/dist/app/InstallComponents.d.ts +16 -0
- package/dist/app/InstallComponents.js +104 -0
- package/dist/app/InstallationDiagnostics.d.ts +7 -0
- package/dist/app/InstallationDiagnostics.js +23 -0
- package/dist/app/OrientationGuard.d.ts +8 -0
- package/dist/app/OrientationGuard.js +9 -0
- package/dist/app/appearance.d.ts +18 -0
- package/dist/app/appearance.js +15 -0
- package/dist/app/appearanceStore.d.ts +30 -0
- package/dist/app/appearanceStore.js +228 -0
- package/dist/app/backgroundUpdate.d.ts +20 -0
- package/dist/app/backgroundUpdate.js +151 -0
- package/dist/app/buildInfo.d.ts +11 -0
- package/dist/app/buildInfo.js +12 -0
- package/dist/app/buildInfoBuild.d.ts +3 -0
- package/dist/app/buildInfoBuild.js +12 -0
- package/dist/app/checkCli.d.ts +1 -0
- package/dist/app/checkCli.js +73 -0
- package/dist/app/coldLaunchUpdate.d.ts +14 -0
- package/dist/app/coldLaunchUpdate.js +384 -0
- package/dist/app/definition.d.ts +85 -0
- package/dist/app/definition.js +347 -0
- package/dist/app/deployment.d.ts +28 -0
- package/dist/app/deployment.js +352 -0
- package/dist/app/deploymentBuild.d.ts +3 -0
- package/dist/app/deploymentBuild.js +55 -0
- package/dist/app/earlyWorker.d.ts +3 -0
- package/dist/app/earlyWorker.js +77 -0
- package/dist/app/head.d.ts +10 -0
- package/dist/app/head.js +120 -0
- package/dist/app/icons.d.ts +4 -0
- package/dist/app/icons.js +35 -0
- package/dist/app/install.d.ts +18 -0
- package/dist/app/install.js +82 -0
- package/dist/app/installCheck.d.ts +2 -0
- package/dist/app/installCheck.js +148 -0
- package/dist/app/installContext.d.ts +35 -0
- package/dist/app/installContext.js +45 -0
- package/dist/app/installCustom.d.ts +25 -0
- package/dist/app/installCustom.js +55 -0
- package/dist/app/installExperience.d.ts +22 -0
- package/dist/app/installExperience.js +389 -0
- package/dist/app/installExperienceDevice.d.ts +29 -0
- package/dist/app/installExperienceDevice.js +160 -0
- package/dist/app/installExperienceHome.d.ts +16 -0
- package/dist/app/installExperienceHome.js +304 -0
- package/dist/app/installExperienceRuntime.d.ts +37 -0
- package/dist/app/installExperienceRuntime.js +285 -0
- package/dist/app/installPolicy.d.ts +28 -0
- package/dist/app/installPolicy.js +90 -0
- package/dist/app/installQr.d.ts +10 -0
- package/dist/app/installQr.js +139 -0
- package/dist/app/installStrings.d.ts +52 -0
- package/dist/app/installStrings.js +75 -0
- package/dist/app/installTipPath.d.ts +12 -0
- package/dist/app/installTipPath.js +9 -0
- package/dist/app/installationFailure.d.ts +14 -0
- package/dist/app/installationFailure.js +38 -0
- package/dist/app/launch.d.ts +7 -0
- package/dist/app/launch.js +241 -0
- package/dist/app/launchReadiness.d.ts +9 -0
- package/dist/app/launchReadiness.js +72 -0
- package/dist/app/launchScreen.d.ts +16 -0
- package/dist/app/launchScreen.js +14 -0
- package/dist/app/launchScreenRuntime.d.ts +19 -0
- package/dist/app/launchScreenRuntime.js +313 -0
- package/dist/app/launchWatchdog.d.ts +1 -0
- package/dist/app/launchWatchdog.js +202 -0
- package/dist/app/manifests.d.ts +19 -0
- package/dist/app/manifests.js +20 -0
- package/dist/app/mdm.d.ts +3 -0
- package/dist/app/mdm.js +20 -0
- package/dist/app/mediaCheck.d.ts +9 -0
- package/dist/app/mediaCheck.js +122 -0
- package/dist/app/mediaTypes.d.ts +2 -0
- package/dist/app/mediaTypes.js +13 -0
- package/dist/app/platformPolicy.d.ts +3 -0
- package/dist/app/platformPolicy.js +10 -0
- package/dist/app/platformScripts.d.ts +6 -0
- package/dist/app/platformScripts.js +65 -0
- package/dist/app/releaseUpdates.d.ts +7 -0
- package/dist/app/releaseUpdates.js +53 -0
- package/dist/app/runtime.d.ts +9 -0
- package/dist/app/runtime.js +38 -0
- package/dist/app/startup.d.ts +30 -0
- package/dist/app/startup.js +24 -0
- package/dist/app/statusBand.d.ts +11 -0
- package/dist/app/statusBand.js +257 -0
- package/dist/app/viewport.d.ts +3 -0
- package/dist/app/viewport.js +42 -0
- package/dist/app/viewportValue.d.ts +5 -0
- package/dist/app/viewportValue.js +14 -0
- package/dist/app/vite.d.ts +27 -0
- package/dist/app/vite.js +440 -0
- package/dist/app/warmImage.d.ts +3 -0
- package/dist/app/warmImage.js +59 -0
- package/dist/content/content.d.ts +153 -0
- package/dist/content/content.js +315 -0
- package/dist/content/layout.d.ts +26 -0
- package/dist/content/layout.js +114 -0
- package/dist/content/scaledMetric.d.ts +3 -0
- package/dist/content/scaledMetric.js +68 -0
- package/dist/content/typography.d.ts +83 -0
- package/dist/content/typography.js +32 -0
- package/dist/controls/ActivityIndicatorSegments.d.ts +4 -0
- package/dist/controls/ActivityIndicatorSegments.js +5 -0
- package/dist/controls/ColorPicker.d.ts +20 -0
- package/dist/controls/ColorPicker.js +70 -0
- package/dist/controls/ControlRow.d.ts +5 -0
- package/dist/controls/ControlRow.js +10 -0
- package/dist/controls/DatePicker.d.ts +41 -0
- package/dist/controls/DatePicker.js +148 -0
- package/dist/controls/ProgressView.d.ts +17 -0
- package/dist/controls/ProgressView.js +24 -0
- package/dist/controls/civilDate.d.ts +49 -0
- package/dist/controls/civilDate.js +112 -0
- package/dist/data/database.d.ts +154 -0
- package/dist/data/database.js +710 -0
- package/dist/data/value-equal.d.ts +2 -0
- package/dist/data/value-equal.js +36 -0
- package/dist/data/write-store.d.ts +38 -0
- package/dist/data/write-store.js +192 -0
- package/dist/dev-menu/DevMenu.d.ts +1 -0
- package/dist/dev-menu/DevMenu.js +121 -0
- package/dist/dev-menu/actions.d.ts +12 -0
- package/dist/dev-menu/actions.js +99 -0
- package/dist/dev-menu/build.d.ts +5 -0
- package/dist/dev-menu/build.js +40 -0
- package/dist/dev-menu/gesture.d.ts +18 -0
- package/dist/dev-menu/gesture.js +109 -0
- package/dist/dev-menu/shake.d.ts +2 -0
- package/dist/dev-menu/shake.js +36 -0
- package/dist/dev-menu/types.d.ts +8 -0
- package/dist/dev-menu/types.js +1 -0
- package/dist/diagnostics.d.ts +3 -0
- package/dist/diagnostics.js +4 -0
- package/dist/docs/app-recipes.md +411 -0
- package/dist/docs/components/file-importer.md +54 -0
- package/dist/docs/components/paste-button.md +48 -0
- package/dist/docs/components/photos-picker.md +53 -0
- package/dist/docs/components/share-link.md +58 -0
- package/dist/docs/content.md +159 -0
- package/dist/docs/controls.md +151 -0
- package/dist/docs/data.md +332 -0
- package/dist/docs/limitations.md +40 -0
- package/dist/docs/messaging-scroll.md +234 -0
- package/dist/docs/networking.md +190 -0
- package/dist/docs/push.md +215 -0
- package/dist/docs/swiftui-reference.md +1895 -0
- package/dist/docs/symbols.md +293 -0
- package/dist/docs/tokens.md +60 -0
- package/dist/fidelity/devAssertions.d.ts +21 -0
- package/dist/fidelity/devAssertions.js +199 -0
- package/dist/focus/focusIntentMachine.d.ts +106 -0
- package/dist/focus/focusIntentMachine.js +359 -0
- package/dist/focus/navigationFocus.d.ts +42 -0
- package/dist/focus/navigationFocus.js +241 -0
- package/dist/focus/programmaticFocus.d.ts +15 -0
- package/dist/focus/programmaticFocus.js +152 -0
- package/dist/gestures/GestureView.d.ts +12 -0
- package/dist/gestures/GestureView.js +321 -0
- package/dist/gestures/arena.d.ts +138 -0
- package/dist/gestures/arena.js +417 -0
- package/dist/gestures/existingCompetitors.d.ts +79 -0
- package/dist/gestures/existingCompetitors.js +82 -0
- package/dist/gestures/gesture.d.ts +62 -0
- package/dist/gestures/gesture.js +107 -0
- package/dist/glass/ControlLens.d.ts +46 -0
- package/dist/glass/ControlLens.js +88 -0
- package/dist/glass/GlassBar.d.ts +9 -0
- package/dist/glass/GlassBar.js +22 -0
- package/dist/glass/GlassConfusionReview.d.ts +3 -0
- package/dist/glass/GlassConfusionReview.js +185 -0
- package/dist/glass/GlassEffect.d.ts +69 -0
- package/dist/glass/GlassEffect.js +550 -0
- package/dist/glass/GlassMaterialRoot.d.ts +7 -0
- package/dist/glass/GlassMaterialRoot.js +39 -0
- package/dist/glass/GlassPresentation.d.ts +28 -0
- package/dist/glass/GlassPresentation.js +1038 -0
- package/dist/glass/GlassProbeIcons.d.ts +8 -0
- package/dist/glass/GlassProbeIcons.js +12 -0
- package/dist/glass/GlassProbeOverlay.d.ts +52 -0
- package/dist/glass/GlassProbeOverlay.js +45 -0
- package/dist/glass/GlassTextField.d.ts +22 -0
- package/dist/glass/GlassTextField.js +12 -0
- package/dist/glass/MaterialEffectRoot.d.ts +9 -0
- package/dist/glass/MaterialEffectRoot.js +189 -0
- package/dist/glass/Menu.d.ts +3 -0
- package/dist/glass/Menu.js +35 -0
- package/dist/glass/MenuStack.d.ts +23 -0
- package/dist/glass/MenuStack.js +371 -0
- package/dist/glass/MenuSymbol.d.ts +7 -0
- package/dist/glass/MenuSymbol.js +16 -0
- package/dist/glass/MorphEllipsisArtwork.d.ts +2 -0
- package/dist/glass/MorphEllipsisArtwork.js +6 -0
- package/dist/glass/TabBar.d.ts +29 -0
- package/dist/glass/TabBar.js +169 -0
- package/dist/glass/capability.d.ts +25 -0
- package/dist/glass/capability.js +63 -0
- package/dist/glass/captureWindow.d.ts +60 -0
- package/dist/glass/captureWindow.js +119 -0
- package/dist/glass/confusionSession.d.ts +41 -0
- package/dist/glass/confusionSession.js +44 -0
- package/dist/glass/contactPhysics.d.ts +130 -0
- package/dist/glass/contactPhysics.js +214 -0
- package/dist/glass/context.d.ts +37 -0
- package/dist/glass/context.js +11 -0
- package/dist/glass/errorAlert.d.ts +6 -0
- package/dist/glass/errorAlert.js +57 -0
- package/dist/glass/errors.d.ts +22 -0
- package/dist/glass/errors.js +78 -0
- package/dist/glass/failurePolicy.d.ts +4 -0
- package/dist/glass/failurePolicy.js +20 -0
- package/dist/glass/fallback/material.d.ts +16 -0
- package/dist/glass/fallback/material.js +87 -0
- package/dist/glass/fallback/regions.d.ts +16 -0
- package/dist/glass/fallback/regions.js +249 -0
- package/dist/glass/fallback/runtime.d.ts +72 -0
- package/dist/glass/fallback/runtime.js +278 -0
- package/dist/glass/fallback/selection.d.ts +2 -0
- package/dist/glass/fallback/selection.js +9 -0
- package/dist/glass/fieldGeometry.d.ts +28 -0
- package/dist/glass/fieldGeometry.js +64 -0
- package/dist/glass/fieldMotion.d.ts +42 -0
- package/dist/glass/fieldMotion.js +47 -0
- package/dist/glass/glassContact.d.ts +76 -0
- package/dist/glass/glassContact.js +153 -0
- package/dist/glass/glassProbeSettings.d.ts +18 -0
- package/dist/glass/glassProbeSettings.js +133 -0
- package/dist/glass/lens/Scene.d.ts +108 -0
- package/dist/glass/lens/Scene.js +553 -0
- package/dist/glass/lens/backgrounds.json +103 -0
- package/dist/glass/lens/bitmapBackdrop.d.ts +14 -0
- package/dist/glass/lens/bitmapBackdrop.js +35 -0
- package/dist/glass/lens/controlLift.d.ts +94 -0
- package/dist/glass/lens/controlLift.js +78 -0
- package/dist/glass/lens/data.d.ts +19 -0
- package/dist/glass/lens/data.js +161 -0
- package/dist/glass/lens/drawableTop.d.ts +16 -0
- package/dist/glass/lens/drawableTop.js +15 -0
- package/dist/glass/lens/icons.d.ts +9 -0
- package/dist/glass/lens/icons.js +34 -0
- package/dist/glass/lens/interactiveContact.d.ts +33 -0
- package/dist/glass/lens/interactiveContact.js +158 -0
- package/dist/glass/lens/interactivePress.d.ts +95 -0
- package/dist/glass/lens/interactivePress.js +169 -0
- package/dist/glass/lens/ios27GlyphFit.json +126 -0
- package/dist/glass/lens/lensLightingSamples.json +1 -0
- package/dist/glass/lens/lensPress.d.ts +22 -0
- package/dist/glass/lens/lensPress.js +68 -0
- package/dist/glass/lens/lensPressSamples.json +1 -0
- package/dist/glass/lens/liquidMotion.d.ts +50 -0
- package/dist/glass/lens/liquidMotion.js +239 -0
- package/dist/glass/lens/materialGlassRecipes.json +776 -0
- package/dist/glass/lens/materialUniforms.d.ts +22 -0
- package/dist/glass/lens/materialUniforms.js +117 -0
- package/dist/glass/lens/menu-closing-close-fit.json +380 -0
- package/dist/glass/lens/menu-opening-native-fits.json +911 -0
- package/dist/glass/lens/menuContextFit.json +88 -0
- package/dist/glass/lens/menuContextOpacity.json +98 -0
- package/dist/glass/lens/menuContextPresentation.d.ts +15 -0
- package/dist/glass/lens/menuContextPresentation.js +65 -0
- package/dist/glass/lens/menuCornerFit.json +252 -0
- package/dist/glass/lens/menuCornerMotion.d.ts +9 -0
- package/dist/glass/lens/menuCornerMotion.js +5 -0
- package/dist/glass/lens/menuDropFit.json +64 -0
- package/dist/glass/lens/menuField.d.ts +178 -0
- package/dist/glass/lens/menuField.js +564 -0
- package/dist/glass/lens/menuGesturePresentation.d.ts +12 -0
- package/dist/glass/lens/menuGesturePresentation.js +42 -0
- package/dist/glass/lens/menuGlyphDropFit.json +38 -0
- package/dist/glass/lens/menuMorphFit.json +564 -0
- package/dist/glass/lens/menuMorphMotion.d.ts +70 -0
- package/dist/glass/lens/menuMorphMotion.js +219 -0
- package/dist/glass/lens/menuMorphPhoneFit.json +85 -0
- package/dist/glass/lens/menuMotion.d.ts +81 -0
- package/dist/glass/lens/menuMotion.js +323 -0
- package/dist/glass/lens/menuPlacement.d.ts +5 -0
- package/dist/glass/lens/menuPlacement.js +29 -0
- package/dist/glass/lens/menuSpring.d.ts +18 -0
- package/dist/glass/lens/menuSpring.js +29 -0
- package/dist/glass/lens/menuTouchLight.d.ts +13 -0
- package/dist/glass/lens/menuTouchLight.js +147 -0
- package/dist/glass/lens/mirrorConstants.d.ts +1 -0
- package/dist/glass/lens/mirrorConstants.js +2 -0
- package/dist/glass/lens/mirrorExtents.d.ts +52 -0
- package/dist/glass/lens/mirrorExtents.js +264 -0
- package/dist/glass/lens/mirrorInvalidation.d.ts +6 -0
- package/dist/glass/lens/mirrorInvalidation.js +10 -0
- package/dist/glass/lens/mirrorReuse.d.ts +20 -0
- package/dist/glass/lens/mirrorReuse.js +166 -0
- package/dist/glass/lens/motion.d.ts +62 -0
- package/dist/glass/lens/motion.js +93 -0
- package/dist/glass/lens/recordedMotion.d.ts +6 -0
- package/dist/glass/lens/recordedMotion.js +44 -0
- package/dist/glass/lens/referenceBackground.d.ts +9 -0
- package/dist/glass/lens/referenceBackground.js +151 -0
- package/dist/glass/lens/referenceProfiles.d.ts +21 -0
- package/dist/glass/lens/referenceProfiles.js +33 -0
- package/dist/glass/lens/referenceRegularTint.d.ts +12 -0
- package/dist/glass/lens/referenceRegularTint.js +41 -0
- package/dist/glass/lens/scopeSegments.d.ts +12 -0
- package/dist/glass/lens/scopeSegments.js +18 -0
- package/dist/glass/lens/scrollAnchoring.d.ts +15 -0
- package/dist/glass/lens/scrollAnchoring.js +17 -0
- package/dist/glass/lens/selectionParameters.json +94 -0
- package/dist/glass/lens/shapeParameters.json +198 -0
- package/dist/glass/lens/tab-motion-native-fits.json +778 -0
- package/dist/glass/lens/tabAccessoryMotion.d.ts +52 -0
- package/dist/glass/lens/tabAccessoryMotion.js +52 -0
- package/dist/glass/lens/tabChromaRimModel.d.ts +43 -0
- package/dist/glass/lens/tabChromaRimModel.js +93 -0
- package/dist/glass/lens/tabCollapseInkSamples.json +49 -0
- package/dist/glass/lens/tabCompactGesture.d.ts +15 -0
- package/dist/glass/lens/tabCompactGesture.js +50 -0
- package/dist/glass/lens/tabGeometryAttack.json +70 -0
- package/dist/glass/lens/tabGlyphColours.d.ts +17 -0
- package/dist/glass/lens/tabGlyphColours.js +37 -0
- package/dist/glass/lens/tabInterruptedDecaySamples.json +245 -0
- package/dist/glass/lens/tabInterruptedRestoreSamples.json +290 -0
- package/dist/glass/lens/tabMaterialModel.d.ts +10 -0
- package/dist/glass/lens/tabMaterialModel.js +108 -0
- package/dist/glass/lens/tabMinimizeInk.d.ts +15 -0
- package/dist/glass/lens/tabMinimizeInk.js +14 -0
- package/dist/glass/lens/tabMinimizeMotion.d.ts +36 -0
- package/dist/glass/lens/tabMinimizeMotion.js +107 -0
- package/dist/glass/lens/tabMinimizeSamples.json +411 -0
- package/dist/glass/lens/tabMotion.d.ts +91 -0
- package/dist/glass/lens/tabMotion.js +478 -0
- package/dist/glass/lens/tabMotionFit.d.ts +76 -0
- package/dist/glass/lens/tabMotionFit.js +61 -0
- package/dist/glass/lens/tabNativeSymbols.d.ts +1 -0
- package/dist/glass/lens/tabNativeSymbols.js +7 -0
- package/dist/glass/lens/tabPresentation.d.ts +21 -0
- package/dist/glass/lens/tabPresentation.js +20 -0
- package/dist/glass/lens/tabRelease.d.ts +5 -0
- package/dist/glass/lens/tabRelease.js +14 -0
- package/dist/glass/lens/tabRestoreMotion.d.ts +19 -0
- package/dist/glass/lens/tabRestoreMotion.js +65 -0
- package/dist/glass/lens/tabRestoreSamples.json +1272 -0
- package/dist/glass/lens/tabSearchMember.d.ts +38 -0
- package/dist/glass/lens/tabSearchMember.js +74 -0
- package/dist/glass/lens/tabSelectionMaterial.d.ts +20 -0
- package/dist/glass/lens/tabSelectionMaterial.js +23 -0
- package/dist/glass/lens/tabSelectionMeasurements.test-fixture.d.ts +9 -0
- package/dist/glass/lens/tabSelectionMeasurements.test-fixture.js +74 -0
- package/dist/glass/lens/tabSettingsSymbol.d.ts +1 -0
- package/dist/glass/lens/tabSettingsSymbol.js +2 -0
- package/dist/glass/lens/tabShapeResponse.d.ts +7 -0
- package/dist/glass/lens/tabShapeResponse.js +30 -0
- package/dist/glass/lens/theme.d.ts +18 -0
- package/dist/glass/lens/theme.js +40 -0
- package/dist/glass/lens/trace.d.ts +2 -0
- package/dist/glass/lens/trace.js +27 -0
- package/dist/glass/liquidContext.d.ts +31 -0
- package/dist/glass/liquidContext.js +2 -0
- package/dist/glass/menuPanelPlacement.d.ts +51 -0
- package/dist/glass/menuPanelPlacement.js +128 -0
- package/dist/glass/menuPresenter.d.ts +34 -0
- package/dist/glass/menuPresenter.js +983 -0
- package/dist/glass/menuSymbolMasks.d.ts +1 -0
- package/dist/glass/menuSymbolMasks.js +1 -0
- package/dist/glass/menuSymbolTokens.d.ts +22 -0
- package/dist/glass/menuSymbolTokens.js +12 -0
- package/dist/glass/menuTriggerGeometry.d.ts +99 -0
- package/dist/glass/menuTriggerGeometry.js +126 -0
- package/dist/glass/menuTriggerSnapshot.d.ts +77 -0
- package/dist/glass/menuTriggerSnapshot.js +69 -0
- package/dist/glass/menuTypes.d.ts +22 -0
- package/dist/glass/menuTypes.js +1 -0
- package/dist/glass/morphField.d.ts +18 -0
- package/dist/glass/morphField.js +139 -0
- package/dist/glass/presentationFrame.d.ts +43 -0
- package/dist/glass/presentationFrame.js +82 -0
- package/dist/glass/pressHighlight.d.ts +9 -0
- package/dist/glass/pressHighlight.js +158 -0
- package/dist/glass/regionRegistry.d.ts +93 -0
- package/dist/glass/regionRegistry.js +313 -0
- package/dist/glass/regions.d.ts +262 -0
- package/dist/glass/regions.js +147 -0
- package/dist/glass/regularMaterialContext.d.ts +45 -0
- package/dist/glass/regularMaterialContext.js +118 -0
- package/dist/glass/regularTriggerMaterial.d.ts +19 -0
- package/dist/glass/regularTriggerMaterial.js +111 -0
- package/dist/glass/regularTriggerRim.d.ts +163 -0
- package/dist/glass/regularTriggerRim.js +436 -0
- package/dist/glass/renderSpecs.d.ts +454 -0
- package/dist/glass/renderSpecs.js +231 -0
- package/dist/glass/rendererContract.d.ts +205 -0
- package/dist/glass/rendererContract.js +18 -0
- package/dist/glass/shapeTrack.d.ts +53 -0
- package/dist/glass/shapeTrack.js +74 -0
- package/dist/glass/shapeTrackRegistry.d.ts +40 -0
- package/dist/glass/shapeTrackRegistry.js +49 -0
- package/dist/glass/sourceDamage.d.ts +6 -0
- package/dist/glass/sourceDamage.js +8 -0
- package/dist/glass/submenuMotion.d.ts +205 -0
- package/dist/glass/submenuMotion.js +306 -0
- package/dist/glass/tabBarModel.d.ts +12 -0
- package/dist/glass/tabBarModel.js +32 -0
- package/dist/glass/testing.d.ts +14 -0
- package/dist/glass/testing.js +14 -0
- package/dist/glass/tokens.d.ts +79 -0
- package/dist/glass/tokens.js +86 -0
- package/dist/glass/toolbarMaterialContext.d.ts +28 -0
- package/dist/glass/toolbarMaterialContext.js +66 -0
- package/dist/glass/topLayer.d.ts +5 -0
- package/dist/glass/topLayer.js +10 -0
- package/dist/glass/unionOutline.d.ts +11 -0
- package/dist/glass/unionOutline.js +98 -0
- package/dist/glass/visibleDeadline.d.ts +21 -0
- package/dist/glass/visibleDeadline.js +61 -0
- package/dist/glass/webgpu/accessoryMorph.d.ts +99 -0
- package/dist/glass/webgpu/accessoryMorph.js +473 -0
- package/dist/glass/webgpu/accessoryTrack.d.ts +47 -0
- package/dist/glass/webgpu/accessoryTrack.js +59 -0
- package/dist/glass/webgpu/areaMips.d.ts +50 -0
- package/dist/glass/webgpu/areaMips.js +166 -0
- package/dist/glass/webgpu/backdrop.d.ts +86 -0
- package/dist/glass/webgpu/backdrop.js +243 -0
- package/dist/glass/webgpu/backdropLayers.d.ts +29 -0
- package/dist/glass/webgpu/backdropLayers.js +182 -0
- package/dist/glass/webgpu/backgroundLayers.d.ts +71 -0
- package/dist/glass/webgpu/backgroundLayers.js +385 -0
- package/dist/glass/webgpu/cadence.d.ts +18 -0
- package/dist/glass/webgpu/cadence.js +35 -0
- package/dist/glass/webgpu/canvasSubmission.d.ts +6 -0
- package/dist/glass/webgpu/canvasSubmission.js +22 -0
- package/dist/glass/webgpu/capture.d.ts +77 -0
- package/dist/glass/webgpu/capture.js +534 -0
- package/dist/glass/webgpu/captureBands.d.ts +39 -0
- package/dist/glass/webgpu/captureBands.js +53 -0
- package/dist/glass/webgpu/captureContext.d.ts +1 -0
- package/dist/glass/webgpu/captureContext.js +6 -0
- package/dist/glass/webgpu/captureDemand.d.ts +44 -0
- package/dist/glass/webgpu/captureDemand.js +81 -0
- package/dist/glass/webgpu/captureRelease.d.ts +18 -0
- package/dist/glass/webgpu/captureRelease.js +39 -0
- package/dist/glass/webgpu/client.d.ts +49 -0
- package/dist/glass/webgpu/client.js +336 -0
- package/dist/glass/webgpu/contextBackdrop.d.ts +6 -0
- package/dist/glass/webgpu/contextBackdrop.js +13 -0
- package/dist/glass/webgpu/contextComposite.d.ts +64 -0
- package/dist/glass/webgpu/contextComposite.js +66 -0
- package/dist/glass/webgpu/decodedImage.d.ts +1 -0
- package/dist/glass/webgpu/decodedImage.js +2 -0
- package/dist/glass/webgpu/deviceLimits.d.ts +5 -0
- package/dist/glass/webgpu/deviceLimits.js +8 -0
- package/dist/glass/webgpu/edgePass.d.ts +9 -0
- package/dist/glass/webgpu/edgePass.js +170 -0
- package/dist/glass/webgpu/entry.worker.d.ts +1 -0
- package/dist/glass/webgpu/entry.worker.js +28 -0
- package/dist/glass/webgpu/errorCode.d.ts +3 -0
- package/dist/glass/webgpu/errorCode.js +27 -0
- package/dist/glass/webgpu/errors.d.ts +8 -0
- package/dist/glass/webgpu/errors.js +55 -0
- package/dist/glass/webgpu/fieldInk.d.ts +9 -0
- package/dist/glass/webgpu/fieldInk.js +62 -0
- package/dist/glass/webgpu/foreground.d.ts +29 -0
- package/dist/glass/webgpu/foreground.js +313 -0
- package/dist/glass/webgpu/frameClock.d.ts +34 -0
- package/dist/glass/webgpu/frameClock.js +60 -0
- package/dist/glass/webgpu/frameGraph.d.ts +57 -0
- package/dist/glass/webgpu/frameGraph.js +287 -0
- package/dist/glass/webgpu/frameProbe.d.ts +58 -0
- package/dist/glass/webgpu/frameProbe.js +181 -0
- package/dist/glass/webgpu/interactionProfiles.d.ts +10 -0
- package/dist/glass/webgpu/interactionProfiles.js +25 -0
- package/dist/glass/webgpu/keptGlyphs.d.ts +68 -0
- package/dist/glass/webgpu/keptGlyphs.js +85 -0
- package/dist/glass/webgpu/keyboardBackdrop.d.ts +12 -0
- package/dist/glass/webgpu/keyboardBackdrop.js +51 -0
- package/dist/glass/webgpu/lagTrace.d.ts +31 -0
- package/dist/glass/webgpu/lagTrace.js +22 -0
- package/dist/glass/webgpu/layers.d.ts +100 -0
- package/dist/glass/webgpu/layers.js +301 -0
- package/dist/glass/webgpu/lensDebug.d.ts +4 -0
- package/dist/glass/webgpu/lensDebug.js +28 -0
- package/dist/glass/webgpu/lensDiffusion.d.ts +2 -0
- package/dist/glass/webgpu/lensDiffusion.js +20 -0
- package/dist/glass/webgpu/lensLightingFit.json +222 -0
- package/dist/glass/webgpu/menuLiftInput.d.ts +30 -0
- package/dist/glass/webgpu/menuLiftInput.js +39 -0
- package/dist/glass/webgpu/menuSurfaceGuard.d.ts +17 -0
- package/dist/glass/webgpu/menuSurfaceGuard.js +26 -0
- package/dist/glass/webgpu/minimize.d.ts +184 -0
- package/dist/glass/webgpu/minimize.js +470 -0
- package/dist/glass/webgpu/navigationAtlasCopy.d.ts +12 -0
- package/dist/glass/webgpu/navigationAtlasCopy.js +121 -0
- package/dist/glass/webgpu/navigationTracks.d.ts +3 -0
- package/dist/glass/webgpu/navigationTracks.js +84 -0
- package/dist/glass/webgpu/passes.d.ts +204 -0
- package/dist/glass/webgpu/passes.js +394 -0
- package/dist/glass/webgpu/pendingSurfaceInput.d.ts +29 -0
- package/dist/glass/webgpu/pendingSurfaceInput.js +51 -0
- package/dist/glass/webgpu/preparedSourcePixels.d.ts +21 -0
- package/dist/glass/webgpu/preparedSourcePixels.js +43 -0
- package/dist/glass/webgpu/presentationBackdrop.d.ts +3 -0
- package/dist/glass/webgpu/presentationBackdrop.js +33 -0
- package/dist/glass/webgpu/presentationDiffusion.d.ts +48 -0
- package/dist/glass/webgpu/presentationDiffusion.js +57 -0
- package/dist/glass/webgpu/presentationMaterial.d.ts +9 -0
- package/dist/glass/webgpu/presentationMaterial.js +156 -0
- package/dist/glass/webgpu/presenterViewport.d.ts +11 -0
- package/dist/glass/webgpu/presenterViewport.js +193 -0
- package/dist/glass/webgpu/production.d.ts +552 -0
- package/dist/glass/webgpu/production.js +1929 -0
- package/dist/glass/webgpu/productionInstalls.d.ts +53 -0
- package/dist/glass/webgpu/productionInstalls.js +225 -0
- package/dist/glass/webgpu/productionNavigation.d.ts +5 -0
- package/dist/glass/webgpu/productionNavigation.js +360 -0
- package/dist/glass/webgpu/productionPinnedTop.d.ts +80 -0
- package/dist/glass/webgpu/productionPinnedTop.js +77 -0
- package/dist/glass/webgpu/productionPinnedTopPrepare.d.ts +21 -0
- package/dist/glass/webgpu/productionPinnedTopPrepare.js +132 -0
- package/dist/glass/webgpu/productionPlanes.d.ts +135 -0
- package/dist/glass/webgpu/productionPlanes.js +412 -0
- package/dist/glass/webgpu/productionPrepare.d.ts +18 -0
- package/dist/glass/webgpu/productionPrepare.js +832 -0
- package/dist/glass/webgpu/productionTracks.d.ts +73 -0
- package/dist/glass/webgpu/productionTracks.js +22 -0
- package/dist/glass/webgpu/productionViewport.d.ts +20 -0
- package/dist/glass/webgpu/productionViewport.js +52 -0
- package/dist/glass/webgpu/profile.d.ts +37 -0
- package/dist/glass/webgpu/profile.js +101 -0
- package/dist/glass/webgpu/raster.d.ts +337 -0
- package/dist/glass/webgpu/raster.js +1360 -0
- package/dist/glass/webgpu/rasterMaterial.d.ts +19 -0
- package/dist/glass/webgpu/rasterMaterial.js +197 -0
- package/dist/glass/webgpu/rasterShaders.d.ts +7 -0
- package/dist/glass/webgpu/rasterShaders.js +105 -0
- package/dist/glass/webgpu/rasterUniforms.d.ts +304 -0
- package/dist/glass/webgpu/rasterUniforms.js +415 -0
- package/dist/glass/webgpu/regionBackdrop.d.ts +8 -0
- package/dist/glass/webgpu/regionBackdrop.js +12 -0
- package/dist/glass/webgpu/regionBridge.d.ts +145 -0
- package/dist/glass/webgpu/regionBridge.js +1691 -0
- package/dist/glass/webgpu/regionScene.d.ts +294 -0
- package/dist/glass/webgpu/regionScene.js +2144 -0
- package/dist/glass/webgpu/renderer.d.ts +8 -0
- package/dist/glass/webgpu/renderer.js +1478 -0
- package/dist/glass/webgpu/residentPlanes.d.ts +69 -0
- package/dist/glass/webgpu/residentPlanes.js +104 -0
- package/dist/glass/webgpu/restMaterial.d.ts +6 -0
- package/dist/glass/webgpu/restMaterial.js +65 -0
- package/dist/glass/webgpu/resumeOverlay.d.ts +44 -0
- package/dist/glass/webgpu/resumeOverlay.js +82 -0
- package/dist/glass/webgpu/sampleTrace.d.ts +11 -0
- package/dist/glass/webgpu/sampleTrace.js +50 -0
- package/dist/glass/webgpu/scrollEdgeBackdrop.d.ts +89 -0
- package/dist/glass/webgpu/scrollEdgeBackdrop.js +177 -0
- package/dist/glass/webgpu/scrollEdgePose.d.ts +4 -0
- package/dist/glass/webgpu/scrollEdgePose.js +49 -0
- package/dist/glass/webgpu/selectionThumb.d.ts +81 -0
- package/dist/glass/webgpu/selectionThumb.js +209 -0
- package/dist/glass/webgpu/shaders.d.ts +67 -0
- package/dist/glass/webgpu/shaders.js +595 -0
- package/dist/glass/webgpu/sharedLift.d.ts +7 -0
- package/dist/glass/webgpu/sharedLift.js +223 -0
- package/dist/glass/webgpu/sourcePixels.d.ts +42 -0
- package/dist/glass/webgpu/sourcePixels.js +140 -0
- package/dist/glass/webgpu/sourcePixels.worker.d.ts +1 -0
- package/dist/glass/webgpu/sourcePixels.worker.js +62 -0
- package/dist/glass/webgpu/tabGlyphInk.d.ts +14 -0
- package/dist/glass/webgpu/tabGlyphInk.js +72 -0
- package/dist/glass/webgpu/touchLight.d.ts +4 -0
- package/dist/glass/webgpu/touchLight.js +15 -0
- package/dist/glass/worker/client.d.ts +21 -0
- package/dist/glass/worker/client.js +152 -0
- package/dist/glass/worker/experiment.d.ts +13 -0
- package/dist/glass/worker/experiment.js +221 -0
- package/dist/glass/worker/fixture.d.ts +21 -0
- package/dist/glass/worker/fixture.js +152 -0
- package/dist/glass/worker/protocol.d.ts +439 -0
- package/dist/glass/worker/protocol.js +5 -0
- package/dist/graphicsProbe.d.ts +19 -0
- package/dist/graphicsProbe.js +111 -0
- package/dist/haptics/SensoryButton.d.ts +21 -0
- package/dist/haptics/SensoryButton.js +80 -0
- package/dist/image/ContentAdmission.d.ts +19 -0
- package/dist/image/ContentAdmission.js +70 -0
- package/dist/image/Image.d.ts +30 -0
- package/dist/image/Image.js +341 -0
- package/dist/image/asset.d.ts +9 -0
- package/dist/image/asset.js +1 -0
- package/dist/image/contentReadiness.d.ts +7 -0
- package/dist/image/contentReadiness.js +54 -0
- package/dist/image/imports.d.ts +4 -0
- package/dist/image/resource.d.ts +53 -0
- package/dist/image/resource.js +286 -0
- package/dist/image/vite.d.ts +3 -0
- package/dist/image/vite.js +63 -0
- package/dist/index.d.ts +87 -0
- package/dist/index.js +102 -0
- package/dist/install.d.ts +8 -0
- package/dist/install.js +8 -0
- package/dist/internal.d.ts +96 -0
- package/dist/internal.js +80 -0
- package/dist/keyboard/adapter.d.ts +82 -0
- package/dist/keyboard/adapter.js +727 -0
- package/dist/keyboard/avoidance.d.ts +24 -0
- package/dist/keyboard/avoidance.js +283 -0
- package/dist/keyboard/caretMirror.d.ts +13 -0
- package/dist/keyboard/caretMirror.js +122 -0
- package/dist/keyboard/expectedKeyboard.d.ts +10 -0
- package/dist/keyboard/expectedKeyboard.js +60 -0
- package/dist/keyboard/geometry.d.ts +10 -0
- package/dist/keyboard/geometry.js +21 -0
- package/dist/keyboard/modalTapFocus.d.ts +41 -0
- package/dist/keyboard/modalTapFocus.js +224 -0
- package/dist/keyboard/motion.d.ts +54 -0
- package/dist/keyboard/motion.js +80 -0
- package/dist/keyboard/translation.d.ts +12 -0
- package/dist/keyboard/translation.js +19 -0
- package/dist/layout/adaptiveTabsContext.d.ts +5 -0
- package/dist/layout/adaptiveTabsContext.js +2 -0
- package/dist/layout/deviceIdiom.d.ts +4 -0
- package/dist/layout/deviceIdiom.js +12 -0
- package/dist/layout/layoutClass.d.ts +44 -0
- package/dist/layout/layoutClass.js +102 -0
- package/dist/layout/navigationLayoutContext.d.ts +8 -0
- package/dist/layout/navigationLayoutContext.js +5 -0
- package/dist/list-form/ListForm.d.ts +158 -0
- package/dist/list-form/ListForm.js +427 -0
- package/dist/list-form/ListItem.d.ts +30 -0
- package/dist/list-form/ListItem.js +251 -0
- package/dist/list-form/RowLabel.d.ts +14 -0
- package/dist/list-form/RowLabel.js +11 -0
- package/dist/list-form/Slider.d.ts +18 -0
- package/dist/list-form/Slider.js +235 -0
- package/dist/list-form/StepperButton.d.ts +9 -0
- package/dist/list-form/StepperButton.js +60 -0
- package/dist/list-form/Toggle.d.ts +16 -0
- package/dist/list-form/Toggle.js +204 -0
- package/dist/list-form/editMotion.d.ts +15 -0
- package/dist/list-form/editMotion.js +25 -0
- package/dist/list-form/editing.d.ts +102 -0
- package/dist/list-form/editing.js +51 -0
- package/dist/list-form/listContext.d.ts +4 -0
- package/dist/list-form/listContext.js +5 -0
- package/dist/list-form/offsets.d.ts +26 -0
- package/dist/list-form/offsets.js +34 -0
- package/dist/list-form/reorder.d.ts +20 -0
- package/dist/list-form/reorder.js +193 -0
- package/dist/list-form/rowMotion.d.ts +11 -0
- package/dist/list-form/rowMotion.js +236 -0
- package/dist/list-form/rowMotionScope.d.ts +14 -0
- package/dist/list-form/rowMotionScope.js +61 -0
- package/dist/list-form/separatorInsets.d.ts +4 -0
- package/dist/list-form/separatorInsets.js +87 -0
- package/dist/list-form/sliderContact.d.ts +40 -0
- package/dist/list-form/sliderContact.js +98 -0
- package/dist/list-form/state.d.ts +5 -0
- package/dist/list-form/state.js +8 -0
- package/dist/list-form/toggleContact.d.ts +55 -0
- package/dist/list-form/toggleContact.js +164 -0
- package/dist/media/controller.d.ts +7 -0
- package/dist/media/controller.js +612 -0
- package/dist/media/react.d.ts +9 -0
- package/dist/media/react.js +38 -0
- package/dist/media/systemMedia.d.ts +6 -0
- package/dist/media/systemMedia.js +200 -0
- package/dist/media/types.d.ts +83 -0
- package/dist/media/types.js +1 -0
- package/dist/menu/menuContact.d.ts +20 -0
- package/dist/menu/menuContact.js +286 -0
- package/dist/menu/menuGesture.d.ts +84 -0
- package/dist/menu/menuGesture.js +502 -0
- package/dist/menu/menuInteraction.d.ts +17 -0
- package/dist/menu/menuInteraction.js +34 -0
- package/dist/menu/menuOutside.d.ts +9 -0
- package/dist/menu/menuOutside.js +58 -0
- package/dist/menu/menuPanelContact.d.ts +11 -0
- package/dist/menu/menuPanelContact.js +77 -0
- package/dist/menu/menuTriggerHold.d.ts +3 -0
- package/dist/menu/menuTriggerHold.js +52 -0
- package/dist/menu/sampledMotion.d.ts +37 -0
- package/dist/menu/sampledMotion.js +86 -0
- package/dist/modal/lifecycle.d.ts +10 -0
- package/dist/modal/lifecycle.js +189 -0
- package/dist/motion/TransitionView.d.ts +12 -0
- package/dist/motion/TransitionView.js +118 -0
- package/dist/motion/animate.d.ts +20 -0
- package/dist/motion/animate.js +79 -0
- package/dist/motion/animationValue.d.ts +25 -0
- package/dist/motion/animationValue.js +42 -0
- package/dist/motion/composerMotion.d.ts +3 -0
- package/dist/motion/composerMotion.js +15 -0
- package/dist/motion/layoutTransaction.d.ts +7 -0
- package/dist/motion/layoutTransaction.js +28 -0
- package/dist/motion/matchedGeometry.d.ts +55 -0
- package/dist/motion/matchedGeometry.js +412 -0
- package/dist/motion/springPath.d.ts +27 -0
- package/dist/motion/springPath.js +46 -0
- package/dist/motion/springTrack.d.ts +33 -0
- package/dist/motion/springTrack.js +69 -0
- package/dist/motion/transition.d.ts +48 -0
- package/dist/motion/transition.js +56 -0
- package/dist/motion/transitionImages.d.ts +7 -0
- package/dist/motion/transitionImages.js +49 -0
- package/dist/motionProbe.d.ts +227 -0
- package/dist/motionProbe.js +697 -0
- package/dist/motionProbeControls.d.ts +2 -0
- package/dist/motionProbeControls.js +118 -0
- package/dist/motionProbeDelivery.d.ts +15 -0
- package/dist/motionProbeDelivery.js +84 -0
- package/dist/navigation/DetailList.d.ts +9 -0
- package/dist/navigation/DetailList.js +7 -0
- package/dist/navigation/NavigationChrome.d.ts +18 -0
- package/dist/navigation/NavigationChrome.js +195 -0
- package/dist/navigation/NavigationSearchRow.d.ts +9 -0
- package/dist/navigation/NavigationSearchRow.js +101 -0
- package/dist/navigation/NavigationTitleSlots.d.ts +18 -0
- package/dist/navigation/NavigationTitleSlots.js +64 -0
- package/dist/navigation/NavigatorHost.d.ts +17 -0
- package/dist/navigation/NavigatorHost.js +534 -0
- package/dist/navigation/ScreenContainer.d.ts +31 -0
- package/dist/navigation/ScreenContainer.js +219 -0
- package/dist/navigation/ScrubSourceFrames.d.ts +18 -0
- package/dist/navigation/ScrubSourceFrames.js +67 -0
- package/dist/navigation/Sidebar.d.ts +16 -0
- package/dist/navigation/Sidebar.js +20 -0
- package/dist/navigation/SidebarSymbol.d.ts +4 -0
- package/dist/navigation/SidebarSymbol.js +6 -0
- package/dist/navigation/ToolbarGlass.d.ts +2 -0
- package/dist/navigation/ToolbarGlass.js +429 -0
- package/dist/navigation/TransitionEdge.d.ts +4 -0
- package/dist/navigation/TransitionEdge.js +33 -0
- package/dist/navigation/bottomToolbarGeometry.d.ts +6 -0
- package/dist/navigation/bottomToolbarGeometry.js +14 -0
- package/dist/navigation/chromeCurves.d.ts +48 -0
- package/dist/navigation/chromeCurves.js +255 -0
- package/dist/navigation/glassTransition.d.ts +32 -0
- package/dist/navigation/glassTransition.js +55 -0
- package/dist/navigation/horizontalDrag.d.ts +6 -0
- package/dist/navigation/horizontalDrag.js +15 -0
- package/dist/navigation/interactivePop.d.ts +45 -0
- package/dist/navigation/interactivePop.js +86 -0
- package/dist/navigation/interactivePopTypes.d.ts +85 -0
- package/dist/navigation/interactivePopTypes.js +36 -0
- package/dist/navigation/keyboard.d.ts +9 -0
- package/dist/navigation/keyboard.js +55 -0
- package/dist/navigation/motion.d.ts +19 -0
- package/dist/navigation/motion.js +645 -0
- package/dist/navigation/motionTokens.d.ts +43 -0
- package/dist/navigation/motionTokens.js +75 -0
- package/dist/navigation/nativeScrubExperiment.d.ts +5 -0
- package/dist/navigation/nativeScrubExperiment.js +153 -0
- package/dist/navigation/nativeScrubSource.d.ts +15 -0
- package/dist/navigation/nativeScrubSource.js +88 -0
- package/dist/navigation/navigationChromeModel.d.ts +8 -0
- package/dist/navigation/navigationChromeModel.js +30 -0
- package/dist/navigation/navigationContext.d.ts +22 -0
- package/dist/navigation/navigationContext.js +65 -0
- package/dist/navigation/navigationEdge.d.ts +4 -0
- package/dist/navigation/navigationEdge.js +101 -0
- package/dist/navigation/pointerPop.d.ts +32 -0
- package/dist/navigation/pointerPop.js +206 -0
- package/dist/navigation/probeLayers.d.ts +7 -0
- package/dist/navigation/probeLayers.js +8 -0
- package/dist/navigation/registry.d.ts +14 -0
- package/dist/navigation/registry.js +31 -0
- package/dist/navigation/releaseDecision.d.ts +21 -0
- package/dist/navigation/releaseDecision.js +94 -0
- package/dist/navigation/releaseTrajectory.d.ts +20 -0
- package/dist/navigation/releaseTrajectory.js +95 -0
- package/dist/navigation/releaseVelocity.d.ts +9 -0
- package/dist/navigation/releaseVelocity.js +38 -0
- package/dist/navigation/routeCodec.d.ts +33 -0
- package/dist/navigation/routeCodec.js +123 -0
- package/dist/navigation/scrollEdge.d.ts +18 -0
- package/dist/navigation/scrollEdge.js +66 -0
- package/dist/navigation/scrubFrameLoop.d.ts +44 -0
- package/dist/navigation/scrubFrameLoop.js +129 -0
- package/dist/navigation/sidebarSelection.d.ts +5 -0
- package/dist/navigation/sidebarSelection.js +8 -0
- package/dist/navigation/splitContext.d.ts +17 -0
- package/dist/navigation/splitContext.js +9 -0
- package/dist/navigation/splitState.d.ts +46 -0
- package/dist/navigation/splitState.js +130 -0
- package/dist/navigation/stack.d.ts +25 -0
- package/dist/navigation/stack.js +136 -0
- package/dist/navigation/store.d.ts +80 -0
- package/dist/navigation/store.js +464 -0
- package/dist/navigation/toolbarGlassMotion.d.ts +40 -0
- package/dist/navigation/toolbarGlassMotion.js +202 -0
- package/dist/navigation/toolbarMinimization.d.ts +9 -0
- package/dist/navigation/toolbarMinimization.js +76 -0
- package/dist/navigation/toolbarMotionOwner.d.ts +6 -0
- package/dist/navigation/toolbarMotionOwner.js +30 -0
- package/dist/navigation/touchArbitration.d.ts +34 -0
- package/dist/navigation/touchArbitration.js +550 -0
- package/dist/navigation/tracking.d.ts +7 -0
- package/dist/navigation/tracking.js +19 -0
- package/dist/navigation/transitionBindings.d.ts +31 -0
- package/dist/navigation/transitionBindings.js +106 -0
- package/dist/navigation/transitionChrome.d.ts +31 -0
- package/dist/navigation/transitionChrome.js +380 -0
- package/dist/navigation/transitionPose.d.ts +52 -0
- package/dist/navigation/transitionPose.js +295 -0
- package/dist/navigation/types.d.ts +133 -0
- package/dist/navigation/types.js +1 -0
- package/dist/navigation/zoomDrag.d.ts +3 -0
- package/dist/navigation/zoomDrag.js +125 -0
- package/dist/navigation/zoomGeometry.d.ts +48 -0
- package/dist/navigation/zoomGeometry.js +94 -0
- package/dist/navigation/zoomGlass.d.ts +27 -0
- package/dist/navigation/zoomGlass.js +64 -0
- package/dist/navigation/zoomMotion.d.ts +73 -0
- package/dist/navigation/zoomMotion.js +104 -0
- package/dist/navigation/zoomTransition.d.ts +82 -0
- package/dist/navigation/zoomTransition.js +975 -0
- package/dist/presentation/Presentation.d.ts +61 -0
- package/dist/presentation/Presentation.js +92 -0
- package/dist/presentation/PresentationSurface.d.ts +29 -0
- package/dist/presentation/PresentationSurface.js +586 -0
- package/dist/presentation/PresentedSheet.d.ts +2 -0
- package/dist/presentation/PresentedSheet.js +571 -0
- package/dist/presentation/activity.d.ts +3 -0
- package/dist/presentation/activity.js +24 -0
- package/dist/presentation/coldLaunch.d.ts +2 -0
- package/dist/presentation/coldLaunch.js +19 -0
- package/dist/presentation/dismiss.d.ts +26 -0
- package/dist/presentation/dismiss.js +30 -0
- package/dist/presentation/glassMotion.d.ts +39 -0
- package/dist/presentation/glassMotion.js +259 -0
- package/dist/presentation/glassReady.d.ts +11 -0
- package/dist/presentation/glassReady.js +246 -0
- package/dist/presentation/model.d.ts +108 -0
- package/dist/presentation/model.js +183 -0
- package/dist/presentation/motion.d.ts +56 -0
- package/dist/presentation/motion.js +263 -0
- package/dist/presentation/presentationMotion.d.ts +10 -0
- package/dist/presentation/presentationMotion.js +74 -0
- package/dist/presentation/presentationSource.d.ts +2 -0
- package/dist/presentation/presentationSource.js +28 -0
- package/dist/presentation/sheetChromeContext.d.ts +2 -0
- package/dist/presentation/sheetChromeContext.js +3 -0
- package/dist/presentation/sheetMaterialTransition.d.ts +14 -0
- package/dist/presentation/sheetMaterialTransition.js +33 -0
- package/dist/presentation/sheetReleaseMotion.d.ts +18 -0
- package/dist/presentation/sheetReleaseMotion.js +123 -0
- package/dist/presentation/useAlertKeyboardMotion.d.ts +8 -0
- package/dist/presentation/useAlertKeyboardMotion.js +104 -0
- package/dist/press/Pressable.d.ts +19 -0
- package/dist/press/Pressable.js +16 -0
- package/dist/press/activation.d.ts +20 -0
- package/dist/press/activation.js +28 -0
- package/dist/press/contactReceipt.d.ts +23 -0
- package/dist/press/contactReceipt.js +177 -0
- package/dist/press/gestureArbitration.d.ts +13 -0
- package/dist/press/gestureArbitration.js +38 -0
- package/dist/press/stateMachine.d.ts +29 -0
- package/dist/press/stateMachine.js +39 -0
- package/dist/press/tokens.d.ts +18 -0
- package/dist/press/tokens.js +19 -0
- package/dist/press/usePressInteraction.d.ts +30 -0
- package/dist/press/usePressInteraction.js +247 -0
- package/dist/public/Label.d.ts +16 -0
- package/dist/public/Label.js +40 -0
- package/dist/public/NativeFilePicker.d.ts +19 -0
- package/dist/public/NativeFilePicker.js +75 -0
- package/dist/public/Screen.d.ts +42 -0
- package/dist/public/Screen.js +87 -0
- package/dist/public/actions.d.ts +16 -0
- package/dist/public/actions.js +15 -0
- package/dist/public/buttonBorderShape.d.ts +7 -0
- package/dist/public/buttonBorderShape.js +9 -0
- package/dist/public/chrome.d.ts +3 -0
- package/dist/public/chrome.js +5 -0
- package/dist/public/colors.d.ts +29 -0
- package/dist/public/colors.js +28 -0
- package/dist/public/context.d.ts +19 -0
- package/dist/public/context.js +8 -0
- package/dist/public/controlStyle.d.ts +93 -0
- package/dist/public/controlStyle.js +52 -0
- package/dist/public/controls.d.ts +360 -0
- package/dist/public/controls.js +301 -0
- package/dist/public/definition.d.ts +65 -0
- package/dist/public/definition.js +58 -0
- package/dist/public/deviceActions.d.ts +23 -0
- package/dist/public/deviceActions.js +87 -0
- package/dist/public/environment.d.ts +77 -0
- package/dist/public/environment.js +171 -0
- package/dist/public/fieldContext.d.ts +2 -0
- package/dist/public/fieldContext.js +3 -0
- package/dist/public/filePickers.d.ts +25 -0
- package/dist/public/filePickers.js +11 -0
- package/dist/public/glass.d.ts +31 -0
- package/dist/public/glass.js +29 -0
- package/dist/public/glassValue.d.ts +19 -0
- package/dist/public/glassValue.js +32 -0
- package/dist/public/keyboard.d.ts +4 -0
- package/dist/public/keyboard.js +6 -0
- package/dist/public/navigationTransition.d.ts +48 -0
- package/dist/public/navigationTransition.js +49 -0
- package/dist/public/pickerNavigation.d.ts +7 -0
- package/dist/public/pickerNavigation.js +64 -0
- package/dist/public/presentation.d.ts +40 -0
- package/dist/public/presentation.js +21 -0
- package/dist/public/presentationContext.d.ts +2 -0
- package/dist/public/presentationContext.js +3 -0
- package/dist/public/routeRegistry.d.ts +3 -0
- package/dist/public/routeRegistry.js +10 -0
- package/dist/public/routes.d.ts +74 -0
- package/dist/public/routes.js +105 -0
- package/dist/public/runtime.d.ts +134 -0
- package/dist/public/runtime.js +292 -0
- package/dist/public/screenChrome.d.ts +91 -0
- package/dist/public/screenChrome.js +187 -0
- package/dist/public/scroll.d.ts +38 -0
- package/dist/public/scroll.js +7 -0
- package/dist/public/storage.d.ts +9 -0
- package/dist/public/storage.js +9 -0
- package/dist/public/structure.d.ts +65 -0
- package/dist/public/structure.js +40 -0
- package/dist/public/toolbar.d.ts +37 -0
- package/dist/public/toolbar.js +76 -0
- package/dist/push/PushPermissionExplainer.d.ts +14 -0
- package/dist/push/PushPermissionExplainer.js +30 -0
- package/dist/push/notifications.d.ts +54 -0
- package/dist/push/notifications.js +276 -0
- package/dist/push/routes.d.ts +20 -0
- package/dist/push/routes.js +63 -0
- package/dist/push/schema.d.ts +42 -0
- package/dist/push/schema.js +41 -0
- package/dist/push/urlProjection.d.ts +24 -0
- package/dist/push/urlProjection.js +207 -0
- package/dist/reachability/controller.d.ts +21 -0
- package/dist/reachability/controller.js +202 -0
- package/dist/reachability/model.d.ts +94 -0
- package/dist/reachability/model.js +131 -0
- package/dist/reachability/react.d.ts +29 -0
- package/dist/reachability/react.js +69 -0
- package/dist/restoration/navigation.d.ts +9 -0
- package/dist/restoration/navigation.js +55 -0
- package/dist/restoration/react.d.ts +6 -0
- package/dist/restoration/react.js +21 -0
- package/dist/restoration/routes.d.ts +22 -0
- package/dist/restoration/routes.js +166 -0
- package/dist/restoration/scene.d.ts +44 -0
- package/dist/restoration/scene.js +284 -0
- package/dist/root/SatinRoot.d.ts +25 -0
- package/dist/root/SatinRoot.js +512 -0
- package/dist/root/mountSatin.d.ts +12 -0
- package/dist/root/mountSatin.js +60 -0
- package/dist/root/runtimeContext.d.ts +26 -0
- package/dist/root/runtimeContext.js +30 -0
- package/dist/safe-area/Overlay.d.ts +9 -0
- package/dist/safe-area/Overlay.js +26 -0
- package/dist/safe-area/SafeAreaInset.d.ts +25 -0
- package/dist/safe-area/SafeAreaInset.js +138 -0
- package/dist/safe-area/bottomInsetGeometry.d.ts +12 -0
- package/dist/safe-area/bottomInsetGeometry.js +73 -0
- package/dist/safe-area/context.d.ts +15 -0
- package/dist/safe-area/context.js +8 -0
- package/dist/safe-area/displayCorners.d.ts +21 -0
- package/dist/safe-area/displayCorners.js +70 -0
- package/dist/safe-area/keyboardCarrier.d.ts +26 -0
- package/dist/safe-area/keyboardCarrier.js +394 -0
- package/dist/safe-area/keyboardCarrierGeometry.d.ts +37 -0
- package/dist/safe-area/keyboardCarrierGeometry.js +49 -0
- package/dist/safe-area/modifiers.d.ts +52 -0
- package/dist/safe-area/modifiers.js +86 -0
- package/dist/safe-area/useSafeAreaMetrics.d.ts +83 -0
- package/dist/safe-area/useSafeAreaMetrics.js +367 -0
- package/dist/safe-area/windowChrome.d.ts +7 -0
- package/dist/safe-area/windowChrome.js +14 -0
- package/dist/scroll/RefreshControl.d.ts +8 -0
- package/dist/scroll/RefreshControl.js +135 -0
- package/dist/scroll/ScrollSurface.d.ts +62 -0
- package/dist/scroll/ScrollSurface.js +278 -0
- package/dist/scroll/ScrollTarget.d.ts +6 -0
- package/dist/scroll/ScrollTarget.js +11 -0
- package/dist/scroll/edgePolicy.d.ts +21 -0
- package/dist/scroll/edgePolicy.js +17 -0
- package/dist/scroll/insertionMotion.d.ts +15 -0
- package/dist/scroll/insertionMotion.js +128 -0
- package/dist/scroll/nativeScroll.d.ts +14 -0
- package/dist/scroll/nativeScroll.js +71 -0
- package/dist/scroll/position.d.ts +31 -0
- package/dist/scroll/position.js +273 -0
- package/dist/scroll/pressOwnership.d.ts +4 -0
- package/dist/scroll/pressOwnership.js +65 -0
- package/dist/scroll/refreshMotion.d.ts +9 -0
- package/dist/scroll/refreshMotion.js +15 -0
- package/dist/scroll/refreshable.d.ts +6 -0
- package/dist/scroll/refreshable.js +50 -0
- package/dist/scroll/registry.d.ts +38 -0
- package/dist/scroll/registry.js +261 -0
- package/dist/scroll/screenGeometry.d.ts +8 -0
- package/dist/scroll/screenGeometry.js +50 -0
- package/dist/scroll/scrollIndicator.d.ts +7 -0
- package/dist/scroll/scrollIndicator.js +114 -0
- package/dist/scroll/scrollJump.d.ts +7 -0
- package/dist/scroll/scrollJump.js +16 -0
- package/dist/scroll/types.d.ts +12 -0
- package/dist/scroll/types.js +1 -0
- package/dist/search/SearchDrawer.d.ts +16 -0
- package/dist/search/SearchDrawer.js +421 -0
- package/dist/search/SearchScopesBar.d.ts +6 -0
- package/dist/search/SearchScopesBar.js +12 -0
- package/dist/search/SearchToolbarField.d.ts +8 -0
- package/dist/search/SearchToolbarField.js +115 -0
- package/dist/search/searchBackdrop.d.ts +12 -0
- package/dist/search/searchBackdrop.js +45 -0
- package/dist/search/searchChrome.d.ts +13 -0
- package/dist/search/searchChrome.js +31 -0
- package/dist/search/searchMotion.d.ts +30 -0
- package/dist/search/searchMotion.js +46 -0
- package/dist/search/searchPlacement.d.ts +11 -0
- package/dist/search/searchPlacement.js +15 -0
- package/dist/search/searchable.d.ts +46 -0
- package/dist/search/searchable.js +5 -0
- package/dist/search/useSearchPresentation.d.ts +15 -0
- package/dist/search/useSearchPresentation.js +61 -0
- package/dist/server.d.ts +7 -0
- package/dist/server.js +144 -0
- package/dist/settings/DisclosureIndicator.d.ts +4 -0
- package/dist/settings/DisclosureIndicator.js +6 -0
- package/dist/settings/tokens.d.ts +129 -0
- package/dist/settings/tokens.js +143 -0
- package/dist/shapes/corners.d.ts +14 -0
- package/dist/shapes/corners.js +80 -0
- package/dist/styles.css +9078 -0
- package/dist/styles.css.d.ts +3 -0
- package/dist/sw/activationState.d.ts +20 -0
- package/dist/sw/activationState.js +39 -0
- package/dist/sw/generator.d.ts +14 -0
- package/dist/sw/generator.js +26 -0
- package/dist/sw/manifest.d.ts +32 -0
- package/dist/sw/manifest.js +137 -0
- package/dist/sw/protocol.d.ts +7 -0
- package/dist/sw/protocol.js +7 -0
- package/dist/sw/pushRuntime.d.ts +2 -0
- package/dist/sw/pushRuntime.js +161 -0
- package/dist/sw/registerAppShell.d.ts +25 -0
- package/dist/sw/registerAppShell.js +259 -0
- package/dist/sw/renderServiceWorker.d.ts +10 -0
- package/dist/sw/renderServiceWorker.js +370 -0
- package/dist/sw/requestRouting.d.ts +13 -0
- package/dist/sw/requestRouting.js +26 -0
- package/dist/sw/updateCheck.d.ts +2 -0
- package/dist/sw/updateCheck.js +25 -0
- package/dist/sw/vite.d.ts +20 -0
- package/dist/sw/vite.js +71 -0
- package/dist/symbols/Symbol.d.ts +33 -0
- package/dist/symbols/Symbol.js +59 -0
- package/dist/symbols/catalogue.d.ts +4 -0
- package/dist/symbols/catalogue.js +4139 -0
- package/dist/symbols/exclusions.d.ts +2 -0
- package/dist/symbols/exclusions.js +4 -0
- package/dist/symbols/inheritedWeight.d.ts +3 -0
- package/dist/symbols/inheritedWeight.js +104 -0
- package/dist/symbols/metrics.d.ts +38 -0
- package/dist/symbols/metrics.js +53 -0
- package/dist/symbols/svg.d.ts +3 -0
- package/dist/symbols/svg.js +16 -0
- package/dist/symbols/types.d.ts +30 -0
- package/dist/symbols/types.js +1 -0
- package/dist/tabs/TabSection.d.ts +12 -0
- package/dist/tabs/TabSection.js +4 -0
- package/dist/tabs/TabSidebarSurface.d.ts +7 -0
- package/dist/tabs/TabSidebarSurface.js +29 -0
- package/dist/tabs/TabView.d.ts +28 -0
- package/dist/tabs/TabView.js +258 -0
- package/dist/tabs/accessoryContact.d.ts +2 -0
- package/dist/tabs/accessoryContact.js +42 -0
- package/dist/tabs/compactBar.d.ts +4 -0
- package/dist/tabs/compactBar.js +28 -0
- package/dist/tabs/context.d.ts +8 -0
- package/dist/tabs/context.js +6 -0
- package/dist/tabs/keyboard.d.ts +3 -0
- package/dist/tabs/keyboard.js +23 -0
- package/dist/tabs/model.d.ts +6 -0
- package/dist/tabs/model.js +16 -0
- package/dist/tabs/presentation.d.ts +7 -0
- package/dist/tabs/presentation.js +14 -0
- package/dist/tabs/sourceRevision.d.ts +3 -0
- package/dist/tabs/sourceRevision.js +36 -0
- package/dist/tabs/tabSidebarGlyph.d.ts +2 -0
- package/dist/tabs/tabSidebarGlyph.js +11 -0
- package/dist/tasks/useTask.d.ts +16 -0
- package/dist/tasks/useTask.js +67 -0
- package/dist/testing.d.ts +9 -0
- package/dist/testing.js +11 -0
- package/dist/text-input/TextEditor.d.ts +25 -0
- package/dist/text-input/TextEditor.js +74 -0
- package/dist/text-input/TextField.d.ts +32 -0
- package/dist/text-input/TextField.js +29 -0
- package/dist/text-input/editorGeometry.d.ts +2 -0
- package/dist/text-input/editorGeometry.js +6 -0
- package/dist/text-input/editorTextLayout.d.ts +2 -0
- package/dist/text-input/editorTextLayout.js +31 -0
- package/dist/text-input/focusChain.d.ts +27 -0
- package/dist/text-input/focusChain.js +62 -0
- package/dist/text-input/kinds.d.ts +8 -0
- package/dist/text-input/kinds.js +34 -0
- package/dist/text-input/measureEditor.d.ts +2 -0
- package/dist/text-input/measureEditor.js +50 -0
- package/dist/text-input/submit.d.ts +9 -0
- package/dist/text-input/submit.js +7 -0
- package/dist/unstable.d.ts +16 -0
- package/dist/unstable.js +16 -0
- package/dist/vite.d.ts +3 -0
- package/dist/vite.js +3 -0
- package/dist/web/WebView.d.ts +42 -0
- package/dist/web/WebView.js +115 -0
- package/dist/web/authentication.d.ts +75 -0
- package/dist/web/authentication.js +488 -0
- package/dist/web/openURL.d.ts +37 -0
- package/dist/web/openURL.js +89 -0
- package/dist/web/urlPolicy.d.ts +3 -0
- package/dist/web/urlPolicy.js +19 -0
- package/dist/web/useWebAuthentication.d.ts +3 -0
- package/dist/web/useWebAuthentication.js +6 -0
- package/dist/zoom/Zoomable.d.ts +10 -0
- package/dist/zoom/Zoomable.js +116 -0
- package/dist/zoom/geometry.d.ts +11 -0
- package/dist/zoom/geometry.js +16 -0
- package/package.json +115 -3
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import type { AccessoryTrack, AccessoryViewportTrack } from './webgpu/accessoryTrack.js';
|
|
2
|
+
import type { GlassShapeTrack } from './shapeTrack.js';
|
|
3
|
+
/** Serializable renderer contract. No DOM, Pixi, or GPU handles cross this boundary. */
|
|
4
|
+
export type GlassLayer = Readonly<{
|
|
5
|
+
id: string;
|
|
6
|
+
/** Ordered within the host stacking context. DOM placement remains authoritative. */
|
|
7
|
+
depth: number;
|
|
8
|
+
attachment: Readonly<{
|
|
9
|
+
kind: 'fixed';
|
|
10
|
+
}> | Readonly<{
|
|
11
|
+
kind: 'scroll';
|
|
12
|
+
scrollId: string;
|
|
13
|
+
}>;
|
|
14
|
+
}>;
|
|
15
|
+
export type GlassScrollSnapshot = Readonly<{
|
|
16
|
+
id: string;
|
|
17
|
+
offsetX: number;
|
|
18
|
+
offsetY: number;
|
|
19
|
+
viewportX: number;
|
|
20
|
+
viewportY: number;
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
}>;
|
|
24
|
+
/** Each layer can own multiple presenters. WebGPU shares one device across canvases. */
|
|
25
|
+
export type GlassSceneSnapshot = Readonly<{
|
|
26
|
+
revision: number;
|
|
27
|
+
/** Source-images revision whose capture demand this scene was measured against. */
|
|
28
|
+
sourceRevision?: number;
|
|
29
|
+
/** Top-layer dialog owners, back to front, when region exclusions were measured. */
|
|
30
|
+
backdropOwners?: readonly string[];
|
|
31
|
+
layers: readonly GlassLayer[];
|
|
32
|
+
scrolls: readonly GlassScrollSnapshot[];
|
|
33
|
+
regions: readonly GlassRegion[];
|
|
34
|
+
}>;
|
|
35
|
+
export type GlassShape = 'capsule' | 'circle' | Readonly<{
|
|
36
|
+
kind: 'roundedRectangle';
|
|
37
|
+
cornerRadius: number;
|
|
38
|
+
/** @internal Concentric sheet bottom edge; independent of the floating top corners. */
|
|
39
|
+
bottomCornerRadius?: number;
|
|
40
|
+
cornerStyle?: 'continuous' | 'circular';
|
|
41
|
+
}>;
|
|
42
|
+
type GlassRect = Readonly<{
|
|
43
|
+
x: number;
|
|
44
|
+
y: number;
|
|
45
|
+
width: number;
|
|
46
|
+
height: number;
|
|
47
|
+
}>;
|
|
48
|
+
/** Normalized RGBA channels in 0...1. Glass.tintRGBA rejects nonfinite or out-of-range channels. */
|
|
49
|
+
export type GlassTint = readonly [red: number, green: number, blue: number, alpha: number];
|
|
50
|
+
export type GlassMaterial = Readonly<{
|
|
51
|
+
variant: 'regular' | 'clear';
|
|
52
|
+
tint?: GlassTint;
|
|
53
|
+
interactive: boolean;
|
|
54
|
+
/** @internal Kind of interactive glass (GLASS_CONTACT_PHYSICS): content buttons press as
|
|
55
|
+
* buttons, toolbar and navigation-bar buttons as bar buttons, a menu's trigger as a menu
|
|
56
|
+
* trigger; app glassEffect surfaces default to the surface response. */
|
|
57
|
+
press?: 'button' | 'bar' | 'menu';
|
|
58
|
+
/** @internal Interactive glass hosting one text editor: it presses with the field row of
|
|
59
|
+
* GLASS_CONTACT_PHYSICS (a native field grows twice a card's growth). */
|
|
60
|
+
field?: true;
|
|
61
|
+
/** @internal Contact light without press growth or foreground feedback. */
|
|
62
|
+
touchLight?: boolean;
|
|
63
|
+
/** @internal The held thumb lens of a Toggle or Slider (CONTROL_LIFT): hidden at rest, it
|
|
64
|
+
* lifts at the page's activation and follows the contact's lens centre. */
|
|
65
|
+
control?: 'toggle' | 'slider';
|
|
66
|
+
/** @internal A bar-glass surface with its own parameter row: the search drawer's field
|
|
67
|
+
* (SEARCH_FIELD_RECIPE), a more transparent glass than bar buttons. */
|
|
68
|
+
recipe?: 'searchField';
|
|
69
|
+
treatment?: 'sheet' | 'expandedSheet' | 'alert' | 'confirmation' | 'contextBackdrop' | 'contextPreview' | 'contextMenu';
|
|
70
|
+
}>;
|
|
71
|
+
/** What a menu morphs out of, other than a glass button: a plain text label (a menu-style
|
|
72
|
+
* Picker's value), a plain glyph (an icon-only button with no glass), or a context source. */
|
|
73
|
+
export type MenuSourceKind = 'label' | 'glyph' | 'context';
|
|
74
|
+
/** A plain source has no glass at rest: its glass is held transparent until the menu is ready
|
|
75
|
+
* and fades out with the close, since there is no glass button to hand back to. */
|
|
76
|
+
export declare function isPlainMenuSource(kind: MenuSourceKind | undefined): kind is "glyph" | "label";
|
|
77
|
+
export declare const POPOVER_ARROW_HEIGHT = 14;
|
|
78
|
+
/** @internal Tip x in measured frame points; scale is the frame's presentation scale. */
|
|
79
|
+
export type PopoverArrow = Readonly<{
|
|
80
|
+
edge: 'top' | 'bottom';
|
|
81
|
+
x: number;
|
|
82
|
+
scale: number;
|
|
83
|
+
}>;
|
|
84
|
+
export type GlassRegion = Readonly<{
|
|
85
|
+
id: string;
|
|
86
|
+
namespace?: string;
|
|
87
|
+
union?: string;
|
|
88
|
+
transition?: 'matchedGeometry' | 'materialize' | 'identity';
|
|
89
|
+
layer: GlassLayer;
|
|
90
|
+
/** @internal Top-layer owners painted at or above this material. */
|
|
91
|
+
backdropExclusions?: readonly string[];
|
|
92
|
+
/** @internal During zoom, in-content glass samples this route in its resting coordinates. */
|
|
93
|
+
zoomRoute?: number;
|
|
94
|
+
/** Fixed: viewport coordinates. Scroll: coordinates in the named scroll content. */
|
|
95
|
+
frame: Readonly<{
|
|
96
|
+
x: number;
|
|
97
|
+
y: number;
|
|
98
|
+
width: number;
|
|
99
|
+
height: number;
|
|
100
|
+
}>;
|
|
101
|
+
shape: GlassShape;
|
|
102
|
+
/** @internal Native sheet material animation, independent of detent geometry. */
|
|
103
|
+
sheetOpaqueMix?: number;
|
|
104
|
+
/** @internal A confirmation popover's arrow: its edge, tip x and presentation scale. */
|
|
105
|
+
popoverArrow?: PopoverArrow;
|
|
106
|
+
/** @internal A segmented selection drawn inside the region (the search scope bar's thumb):
|
|
107
|
+
* the selected segment of `count` equal segments. The renderer moves the thumb
|
|
108
|
+
* (webgpu/selectionThumb.ts); the page sends its finger as interactions. */
|
|
109
|
+
selection?: Readonly<{
|
|
110
|
+
index: number;
|
|
111
|
+
count: number;
|
|
112
|
+
}>;
|
|
113
|
+
material: GlassMaterial;
|
|
114
|
+
/** @internal Sampling follows the compositor even when ink stays in the document. */
|
|
115
|
+
accessoryViewportTrack?: AccessoryViewportTrack;
|
|
116
|
+
/** @internal Rigid sheet motion; nested glass remains in the parent resting frame. */
|
|
117
|
+
presentationViewportTrack?: AccessoryViewportTrack;
|
|
118
|
+
/** @internal Submit nested sheet pixels for this admitted show before content is revealed. */
|
|
119
|
+
presentationContentEpoch?: number;
|
|
120
|
+
/** @internal Experimental retained accessory aperture and ink. */
|
|
121
|
+
accessoryTrack?: AccessoryTrack;
|
|
122
|
+
/** @internal The glass changes size inside a still `frame` (shapeTrack.ts). */
|
|
123
|
+
shapeTrack?: GlassShapeTrack;
|
|
124
|
+
/** @internal Everywhere a held-still accessory canvas carries its glass (accessoryMorph.ts).
|
|
125
|
+
* Its presenter covers this as well as `frame`, at rest too. */
|
|
126
|
+
accessoryReach?: Readonly<{
|
|
127
|
+
x: number;
|
|
128
|
+
y: number;
|
|
129
|
+
width: number;
|
|
130
|
+
height: number;
|
|
131
|
+
}>;
|
|
132
|
+
container?: Readonly<{
|
|
133
|
+
id: string;
|
|
134
|
+
spacing: number;
|
|
135
|
+
continuous?: boolean;
|
|
136
|
+
}>;
|
|
137
|
+
morph?: Readonly<{
|
|
138
|
+
namespace: string;
|
|
139
|
+
id: string;
|
|
140
|
+
}>;
|
|
141
|
+
/** @internal A fixed-layer region that emerges from (and on `closing` returns into) a trigger
|
|
142
|
+
* rectangle in viewport points: a glass Menu from its glass button (GLASS_MENU_MORPH). */
|
|
143
|
+
emerge?: Readonly<{
|
|
144
|
+
from: Readonly<{
|
|
145
|
+
x: number;
|
|
146
|
+
y: number;
|
|
147
|
+
width: number;
|
|
148
|
+
height: number;
|
|
149
|
+
radius: number;
|
|
150
|
+
}>;
|
|
151
|
+
/** Released source endpoint; the open begins at the pressed aperture. */
|
|
152
|
+
returnTo?: Readonly<{
|
|
153
|
+
x: number;
|
|
154
|
+
y: number;
|
|
155
|
+
width: number;
|
|
156
|
+
height: number;
|
|
157
|
+
radius: number;
|
|
158
|
+
}>;
|
|
159
|
+
sourceRegionId?: string;
|
|
160
|
+
/** Page-owned pose used by the asynchronous trigger atlas capture. */
|
|
161
|
+
sourceSnapshot?: number;
|
|
162
|
+
/** The trigger's material: a glass button when absent. A plain source (`label`, `glyph`)
|
|
163
|
+
* draws no glass at rest: a text label emits one transient drop; a plain glyph swells into
|
|
164
|
+
* a glass bubble that becomes the drop, as a glass button's does. */
|
|
165
|
+
sourceKind?: MenuSourceKind;
|
|
166
|
+
/** A context menu on content (not a row) opens on the native content spring. */
|
|
167
|
+
content?: boolean;
|
|
168
|
+
/** Context preview and glass share this epoch across main/worker preparation. */
|
|
169
|
+
recognitionEpoch?: number;
|
|
170
|
+
/** Centre of the menu's own button (viewport points) when the trigger glass is wider than it:
|
|
171
|
+
* a member of a toolbar group. The drop forms there; the trigger's centre when absent. */
|
|
172
|
+
anchor?: Readonly<{
|
|
173
|
+
x: number;
|
|
174
|
+
y: number;
|
|
175
|
+
}>;
|
|
176
|
+
closing?: boolean;
|
|
177
|
+
/** Keep the last presented morph geometry and ink while its owner fades out. */
|
|
178
|
+
fading?: boolean;
|
|
179
|
+
/** Identifies one open/close transition: a settle report names the transition it ends. */
|
|
180
|
+
generation?: number;
|
|
181
|
+
/** Prewarm the trigger shape without consuming the visible emerge timeline. */
|
|
182
|
+
ready?: boolean;
|
|
183
|
+
/** Ink drawn inside the morphing glass: regions of the region's foreground atlas (points)
|
|
184
|
+
* and the viewport rectangles they settle at (the menu's rows, the trigger's glyph). */
|
|
185
|
+
ink?: Readonly<{
|
|
186
|
+
atlas: Readonly<{
|
|
187
|
+
width: number;
|
|
188
|
+
height: number;
|
|
189
|
+
}>;
|
|
190
|
+
rows?: Readonly<{
|
|
191
|
+
source: GlassRect;
|
|
192
|
+
frame: GlassRect;
|
|
193
|
+
}>;
|
|
194
|
+
glyph?: Readonly<{
|
|
195
|
+
source: GlassRect;
|
|
196
|
+
frame: GlassRect;
|
|
197
|
+
}>;
|
|
198
|
+
}>;
|
|
199
|
+
/** The page shows its live rows (after `open-settled`); the glass stops drawing them. */
|
|
200
|
+
inkDom?: boolean;
|
|
201
|
+
/** Which recorded menu morph applies (lens/menuMorphMotion.ts); iPad when absent. */
|
|
202
|
+
idiom?: 'phone' | 'pad';
|
|
203
|
+
}>;
|
|
204
|
+
/** @internal The region's presenter is held: it keeps the pixels it last drew and is not
|
|
205
|
+
* redrawn for backdrop changes. Set while the region sits in an inactive tab (a backdrop
|
|
206
|
+
* scrolling under an invisible region costs no frame work), and after its tab is selected again
|
|
207
|
+
* until that tab's own backdrop is installed (the previous tab's backdrop is never drawn into
|
|
208
|
+
* it). A change of the region's own inputs (appearance, geometry, ink) still repaints it. */
|
|
209
|
+
suspended?: boolean;
|
|
210
|
+
/** @internal Glass inside an open menu's panel other than the menu's own (a submenu platter).
|
|
211
|
+
* It sits on the menu's plane, so it samples the menu's dim as the menu does. */
|
|
212
|
+
inMenuPanel?: boolean;
|
|
213
|
+
}>;
|
|
214
|
+
/** The smallest frame holding both. A held-still canvas covers every place its glass passes. */
|
|
215
|
+
export declare function frameUnion(a: GlassRegion['frame'], b: GlassRegion['frame']): GlassRegion['frame'];
|
|
216
|
+
/** Presenter bounds of a region: its frame (and any emerge source) plus the sample inset. */
|
|
217
|
+
export declare function glassPresenterBounds(frame: GlassRegion['frame'], inset: number, emerge?: GlassRegion['emerge']): {
|
|
218
|
+
x: number;
|
|
219
|
+
y: number;
|
|
220
|
+
width: number;
|
|
221
|
+
height: number;
|
|
222
|
+
};
|
|
223
|
+
/** Provisional allocation guard, not a measured device performance promise.
|
|
224
|
+
* Two 440×894 sheets at 3× with 20pt sample margins need 8,069,760 pixels.
|
|
225
|
+
* The 12M guard permits that stack plus chrome; it is not a memory benchmark. */
|
|
226
|
+
export declare const GLASS_REGION_LIMIT = 16;
|
|
227
|
+
export declare const GLASS_REGION_PIXEL_LIMIT = 12000000;
|
|
228
|
+
/** Immutable SwiftUI-style material values. RGBA channels use the range 0...1. */
|
|
229
|
+
export declare class Glass {
|
|
230
|
+
static readonly regular: Glass;
|
|
231
|
+
static readonly clear: Glass;
|
|
232
|
+
/** Calibrated iOS 27 presentation body treatments; shared renderer owns their response. */
|
|
233
|
+
static readonly sheet: Glass;
|
|
234
|
+
static readonly alert: Glass;
|
|
235
|
+
static readonly confirmation: Glass;
|
|
236
|
+
static readonly expandedSheet: Glass;
|
|
237
|
+
/** @internal Non-lensing context isolation, implemented by the shared WebGPU renderer. */
|
|
238
|
+
static readonly contextBackdrop: Glass;
|
|
239
|
+
static readonly contextMenu: Glass;
|
|
240
|
+
static readonly contextPreview: Glass;
|
|
241
|
+
readonly variant: 'regular' | 'clear';
|
|
242
|
+
private readonly colour?;
|
|
243
|
+
private readonly responds;
|
|
244
|
+
private readonly treatment?;
|
|
245
|
+
private constructor();
|
|
246
|
+
tint(colour?: GlassTint): Glass;
|
|
247
|
+
interactive(enabled?: boolean): Glass;
|
|
248
|
+
get material(): GlassMaterial;
|
|
249
|
+
}
|
|
250
|
+
export declare function glassRadius(shape: GlassShape, width: number, height: number): number;
|
|
251
|
+
export declare function validateGlassRegions(regions: readonly GlassRegion[], resolution: number): {
|
|
252
|
+
regions: number;
|
|
253
|
+
samplePixels: number;
|
|
254
|
+
};
|
|
255
|
+
/** Projection is for sampling only. Presenters stay attached to their DOM layer. */
|
|
256
|
+
export declare function glassViewportFrame(region: GlassRegion, scrolls: readonly GlassScrollSnapshot[]): Readonly<{
|
|
257
|
+
x: number;
|
|
258
|
+
y: number;
|
|
259
|
+
width: number;
|
|
260
|
+
height: number;
|
|
261
|
+
}>;
|
|
262
|
+
export {};
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/** A plain source has no glass at rest: its glass is held transparent until the menu is ready
|
|
2
|
+
* and fades out with the close, since there is no glass button to hand back to. */
|
|
3
|
+
export function isPlainMenuSource(kind) {
|
|
4
|
+
return kind === 'label' || kind === 'glyph';
|
|
5
|
+
}
|
|
6
|
+
export const POPOVER_ARROW_HEIGHT = 14;
|
|
7
|
+
/** The smallest frame holding both. A held-still canvas covers every place its glass passes. */
|
|
8
|
+
export function frameUnion(a, b) {
|
|
9
|
+
const x = Math.min(a.x, b.x), y = Math.min(a.y, b.y);
|
|
10
|
+
return {
|
|
11
|
+
x,
|
|
12
|
+
y,
|
|
13
|
+
width: Math.max(a.x + a.width, b.x + b.width) - x,
|
|
14
|
+
height: Math.max(a.y + a.height, b.y + b.height) - y,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/** Presenter bounds of a region: its frame (and any emerge source) plus the sample inset. */
|
|
18
|
+
export function glassPresenterBounds(frame, inset, emerge) {
|
|
19
|
+
const from = emerge?.from;
|
|
20
|
+
const x0 = Math.min(frame.x, from?.x ?? frame.x), y0 = Math.min(frame.y, from?.y ?? frame.y);
|
|
21
|
+
const x1 = Math.max(frame.x + frame.width, from ? from.x + from.width : -Infinity), y1 = Math.max(frame.y + frame.height, from ? from.y + from.height : -Infinity);
|
|
22
|
+
return { x: x0 - inset, y: y0 - inset, width: x1 - x0 + 2 * inset, height: y1 - y0 + 2 * inset };
|
|
23
|
+
}
|
|
24
|
+
/** Provisional allocation guard, not a measured device performance promise.
|
|
25
|
+
* Two 440×894 sheets at 3× with 20pt sample margins need 8,069,760 pixels.
|
|
26
|
+
* The 12M guard permits that stack plus chrome; it is not a memory benchmark. */
|
|
27
|
+
export const GLASS_REGION_LIMIT = 16;
|
|
28
|
+
export const GLASS_REGION_PIXEL_LIMIT = 12_000_000;
|
|
29
|
+
/** Immutable SwiftUI-style material values. RGBA channels use the range 0...1. */
|
|
30
|
+
export class Glass {
|
|
31
|
+
static regular = new Glass('regular');
|
|
32
|
+
static clear = new Glass('clear');
|
|
33
|
+
/** Calibrated iOS 27 presentation body treatments; shared renderer owns their response. */
|
|
34
|
+
static sheet = new Glass('clear', undefined, false, 'sheet');
|
|
35
|
+
static alert = new Glass('regular', undefined, false, 'alert');
|
|
36
|
+
static confirmation = new Glass('regular', undefined, false, 'confirmation');
|
|
37
|
+
static expandedSheet = new Glass('clear', undefined, false, 'expandedSheet');
|
|
38
|
+
/** @internal Non-lensing context isolation, implemented by the shared WebGPU renderer. */
|
|
39
|
+
static contextBackdrop = new Glass('clear', undefined, false, 'contextBackdrop');
|
|
40
|
+
static contextMenu = new Glass('regular', undefined, false, 'contextMenu');
|
|
41
|
+
static contextPreview = new Glass('clear', undefined, false, 'contextPreview');
|
|
42
|
+
variant;
|
|
43
|
+
colour;
|
|
44
|
+
responds;
|
|
45
|
+
treatment;
|
|
46
|
+
constructor(variant, colour, responds = false, treatment) {
|
|
47
|
+
this.treatment = treatment;
|
|
48
|
+
this.variant = variant;
|
|
49
|
+
this.colour = colour;
|
|
50
|
+
this.responds = responds;
|
|
51
|
+
Object.freeze(this);
|
|
52
|
+
}
|
|
53
|
+
tint(colour) {
|
|
54
|
+
if (colour &&
|
|
55
|
+
(colour.length !== 4 ||
|
|
56
|
+
!colour.every(value => Number.isFinite(value) && value >= 0 && value <= 1)))
|
|
57
|
+
throw new Error('Glass.tint requires four finite RGBA channels in 0...1.');
|
|
58
|
+
return new Glass(this.variant, colour && Object.freeze([...colour]), this.responds, this.treatment);
|
|
59
|
+
}
|
|
60
|
+
interactive(enabled = true) {
|
|
61
|
+
return new Glass(this.variant, this.colour, enabled, this.treatment);
|
|
62
|
+
}
|
|
63
|
+
get material() {
|
|
64
|
+
return {
|
|
65
|
+
variant: this.variant,
|
|
66
|
+
tint: this.colour,
|
|
67
|
+
interactive: this.responds,
|
|
68
|
+
...(this.treatment ? { treatment: this.treatment } : {}),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export function glassRadius(shape, width, height) {
|
|
73
|
+
const maximum = Math.min(width, height) / 2;
|
|
74
|
+
if (typeof shape === 'string')
|
|
75
|
+
return maximum;
|
|
76
|
+
if (!Number.isFinite(shape.cornerRadius) || shape.cornerRadius < 0)
|
|
77
|
+
throw new Error('Glass cornerRadius must be finite and nonnegative.');
|
|
78
|
+
if (shape.bottomCornerRadius !== undefined &&
|
|
79
|
+
(!Number.isFinite(shape.bottomCornerRadius) || shape.bottomCornerRadius < 0))
|
|
80
|
+
throw new Error('Glass bottomCornerRadius must be finite and nonnegative.');
|
|
81
|
+
return Math.min(shape.cornerRadius, maximum);
|
|
82
|
+
}
|
|
83
|
+
export function validateGlassRegions(regions, resolution) {
|
|
84
|
+
if (!Number.isFinite(resolution) || resolution <= 0)
|
|
85
|
+
throw new Error('Invalid glass resolution.');
|
|
86
|
+
if (regions.length > GLASS_REGION_LIMIT)
|
|
87
|
+
throw new Error(`Glass supports at most ${GLASS_REGION_LIMIT} app regions.`);
|
|
88
|
+
const ids = new Set(), morphs = new Set(), layers = new Map();
|
|
89
|
+
let pixels = 0;
|
|
90
|
+
for (const region of regions) {
|
|
91
|
+
if (ids.has(region.id))
|
|
92
|
+
throw new Error(`Duplicate glass region: ${region.id}`);
|
|
93
|
+
ids.add(region.id);
|
|
94
|
+
const layerKey = JSON.stringify(region.layer);
|
|
95
|
+
if (layers.has(region.layer.id) && layers.get(region.layer.id) !== layerKey)
|
|
96
|
+
throw new Error(`Conflicting glass layer: ${region.layer.id}`);
|
|
97
|
+
layers.set(region.layer.id, layerKey);
|
|
98
|
+
if (!region.layer.id || !Number.isFinite(region.layer.depth))
|
|
99
|
+
throw new Error('Invalid glass layer.');
|
|
100
|
+
if (region.layer.attachment.kind === 'scroll' && !region.layer.attachment.scrollId)
|
|
101
|
+
throw new Error('Scroll-attached glass requires a scroll owner.');
|
|
102
|
+
const { x, y, width, height } = region.frame;
|
|
103
|
+
if (![x, y, width, height].every(Number.isFinite) || width <= 0 || height <= 0)
|
|
104
|
+
throw new Error(`Invalid glass frame: ${region.id}`);
|
|
105
|
+
glassRadius(region.shape, width, height);
|
|
106
|
+
if (typeof region.shape === 'object' &&
|
|
107
|
+
region.shape.bottomCornerRadius !== undefined &&
|
|
108
|
+
(region.container ||
|
|
109
|
+
region.union ||
|
|
110
|
+
region.material.interactive ||
|
|
111
|
+
!['sheet', 'expandedSheet'].includes(region.material.treatment ?? '')))
|
|
112
|
+
throw new Error('Independent bottom corners require a noninteractive, separate sheet region.');
|
|
113
|
+
if (region.shape === 'circle' && Math.abs(width - height) > 0.5)
|
|
114
|
+
throw new Error('Circle glass requires equal width and height.');
|
|
115
|
+
if (region.container &&
|
|
116
|
+
(!Number.isFinite(region.container.spacing) || region.container.spacing < 0))
|
|
117
|
+
throw new Error('Glass container spacing must be finite and nonnegative.');
|
|
118
|
+
if (region.morph) {
|
|
119
|
+
const key = JSON.stringify([
|
|
120
|
+
region.container?.id ?? null,
|
|
121
|
+
region.morph.namespace,
|
|
122
|
+
region.morph.id,
|
|
123
|
+
]);
|
|
124
|
+
if (morphs.has(key))
|
|
125
|
+
throw new Error(`Duplicate active glassEffectID: ${key}`);
|
|
126
|
+
morphs.add(key);
|
|
127
|
+
}
|
|
128
|
+
pixels += Math.ceil((width + 40) * resolution) * Math.ceil((height + 40) * resolution);
|
|
129
|
+
}
|
|
130
|
+
if (pixels > GLASS_REGION_PIXEL_LIMIT)
|
|
131
|
+
throw new Error(`Glass sample budget exceeded: ${pixels} > ${GLASS_REGION_PIXEL_LIMIT} pixels.`);
|
|
132
|
+
return { regions: regions.length, samplePixels: pixels };
|
|
133
|
+
}
|
|
134
|
+
/** Projection is for sampling only. Presenters stay attached to their DOM layer. */
|
|
135
|
+
export function glassViewportFrame(region, scrolls) {
|
|
136
|
+
const attachment = region.layer.attachment;
|
|
137
|
+
if (attachment.kind === 'fixed')
|
|
138
|
+
return region.frame;
|
|
139
|
+
const scroll = scrolls.find(value => value.id === attachment.scrollId);
|
|
140
|
+
if (!scroll)
|
|
141
|
+
throw new Error(`Missing glass scroll snapshot: ${attachment.scrollId}`);
|
|
142
|
+
return {
|
|
143
|
+
...region.frame,
|
|
144
|
+
x: region.frame.x + scroll.viewportX - scroll.offsetX,
|
|
145
|
+
y: region.frame.y + scroll.viewportY - scroll.offsetY,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** A retained source-image index. No DOM reads, GPU readbacks or canvas writes
|
|
2
|
+
* occur when an aperture moves. Disc rows are clipped and renormalized against
|
|
3
|
+
* the visible window, not extended by repeating the boundary pixel.
|
|
4
|
+
*/
|
|
5
|
+
export declare class RegularMaterialContext {
|
|
6
|
+
private readonly rows;
|
|
7
|
+
readonly width: number;
|
|
8
|
+
readonly height: number;
|
|
9
|
+
constructor(image: Readonly<{
|
|
10
|
+
data: ArrayLike<number>;
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
}>);
|
|
14
|
+
get memoryBytes(): number;
|
|
15
|
+
sample(centerX: number, centerY: number, radius: number, visibleTop?: number, visibleBottom?: number): {
|
|
16
|
+
rgb: number[];
|
|
17
|
+
luminance: number;
|
|
18
|
+
deviation: number;
|
|
19
|
+
count: number;
|
|
20
|
+
} | undefined;
|
|
21
|
+
}
|
|
22
|
+
/** The same index, integrated per row on first use and bit-identical to
|
|
23
|
+
* `RegularMaterialContext`: apertures touch a few dozen rows, so a new source
|
|
24
|
+
* revision no longer pays for integrating every row up front. The WebGPU source
|
|
25
|
+
* pipeline uses it; the Pixi renderer keeps the eager index unchanged. */
|
|
26
|
+
export declare class LazyRegularMaterialContext {
|
|
27
|
+
private readonly data;
|
|
28
|
+
private readonly rows;
|
|
29
|
+
readonly width: number;
|
|
30
|
+
readonly height: number;
|
|
31
|
+
constructor(image: Readonly<{
|
|
32
|
+
data: ArrayLike<number>;
|
|
33
|
+
width: number;
|
|
34
|
+
height: number;
|
|
35
|
+
}>);
|
|
36
|
+
get memoryBytes(): number;
|
|
37
|
+
/** Per-row prefix sums of r, g, b and luminance squared; entry x holds columns [0, x). */
|
|
38
|
+
prefixRow(y: number): Float64Array<ArrayBufferLike>;
|
|
39
|
+
sample(centerX: number, centerY: number, radius: number, visibleTop?: number, visibleBottom?: number): {
|
|
40
|
+
rgb: number[];
|
|
41
|
+
luminance: number;
|
|
42
|
+
deviation: number;
|
|
43
|
+
count: number;
|
|
44
|
+
} | undefined;
|
|
45
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/** A retained source-image index. No DOM reads, GPU readbacks or canvas writes
|
|
2
|
+
* occur when an aperture moves. Disc rows are clipped and renormalized against
|
|
3
|
+
* the visible window, not extended by repeating the boundary pixel.
|
|
4
|
+
*/
|
|
5
|
+
export class RegularMaterialContext {
|
|
6
|
+
// Variance subtracts two nearly equal second moments. Float32 prefix sums
|
|
7
|
+
// fabricate visible context deviation even on a perfectly uniform source.
|
|
8
|
+
rows;
|
|
9
|
+
width;
|
|
10
|
+
height;
|
|
11
|
+
constructor(image) {
|
|
12
|
+
this.width = image.width;
|
|
13
|
+
this.height = image.height;
|
|
14
|
+
this.rows = new Float64Array((image.width + 1) * image.height * 4);
|
|
15
|
+
for (let y = 0; y < image.height; y++)
|
|
16
|
+
for (let x = 0; x < image.width; x++) {
|
|
17
|
+
const src = (y * image.width + x) * 4, prev = (y * (image.width + 1) + x) * 4;
|
|
18
|
+
const r = image.data[src] / 255, g = image.data[src + 1] / 255, b = image.data[src + 2] / 255;
|
|
19
|
+
const l = 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
20
|
+
this.rows[prev + 4] = this.rows[prev] + r;
|
|
21
|
+
this.rows[prev + 5] = this.rows[prev + 1] + g;
|
|
22
|
+
this.rows[prev + 6] = this.rows[prev + 2] + b;
|
|
23
|
+
this.rows[prev + 7] = this.rows[prev + 3] + l * l;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
get memoryBytes() {
|
|
27
|
+
return this.rows.byteLength;
|
|
28
|
+
}
|
|
29
|
+
sample(centerX, centerY, radius, visibleTop = 0, visibleBottom = this.height) {
|
|
30
|
+
const sum = [0, 0, 0, 0];
|
|
31
|
+
let count = 0;
|
|
32
|
+
for (let y = Math.max(0, Math.ceil(visibleTop - 0.5), Math.ceil(centerY - radius - 0.5)); y < Math.min(this.height, visibleBottom - 0.5, centerY + radius - 0.5); y++) {
|
|
33
|
+
const dy = y + 0.5 - centerY, half = Math.sqrt(Math.max(0, radius * radius - dy * dy));
|
|
34
|
+
const left = Math.max(0, Math.ceil(centerX - half - 0.5)), right = Math.min(this.width, Math.ceil(centerX + half - 0.5));
|
|
35
|
+
if (right <= left)
|
|
36
|
+
continue;
|
|
37
|
+
const a = (y * (this.width + 1) + left) * 4, b = (y * (this.width + 1) + right) * 4;
|
|
38
|
+
for (let c = 0; c < 4; c++)
|
|
39
|
+
sum[c] += this.rows[b + c] - this.rows[a + c];
|
|
40
|
+
count += right - left;
|
|
41
|
+
}
|
|
42
|
+
if (!count)
|
|
43
|
+
return undefined;
|
|
44
|
+
const rgb = sum.slice(0, 3).map(v => v / count);
|
|
45
|
+
const luminance = rgb[0] * 0.2126 + rgb[1] * 0.7152 + rgb[2] * 0.0722;
|
|
46
|
+
return {
|
|
47
|
+
rgb,
|
|
48
|
+
luminance,
|
|
49
|
+
deviation: Math.sqrt(Math.max(0, sum[3] / count - luminance * luminance)),
|
|
50
|
+
count,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** The same index, integrated per row on first use and bit-identical to
|
|
55
|
+
* `RegularMaterialContext`: apertures touch a few dozen rows, so a new source
|
|
56
|
+
* revision no longer pays for integrating every row up front. The WebGPU source
|
|
57
|
+
* pipeline uses it; the Pixi renderer keeps the eager index unchanged. */
|
|
58
|
+
export class LazyRegularMaterialContext {
|
|
59
|
+
// Variance subtracts two nearly equal second moments. Float32 prefix sums
|
|
60
|
+
// fabricate visible context deviation even on a perfectly uniform source.
|
|
61
|
+
data;
|
|
62
|
+
rows;
|
|
63
|
+
width;
|
|
64
|
+
height;
|
|
65
|
+
constructor(image) {
|
|
66
|
+
this.width = image.width;
|
|
67
|
+
this.height = image.height;
|
|
68
|
+
// Own the pixels: integration is deferred, so a caller's buffer may be reused.
|
|
69
|
+
this.data = new Uint8ClampedArray(image.data);
|
|
70
|
+
this.rows = new Array(image.height);
|
|
71
|
+
}
|
|
72
|
+
get memoryBytes() {
|
|
73
|
+
return this.data.byteLength + this.rows.reduce((n, row) => n + (row?.byteLength ?? 0), 0);
|
|
74
|
+
}
|
|
75
|
+
/** Per-row prefix sums of r, g, b and luminance squared; entry x holds columns [0, x). */
|
|
76
|
+
prefixRow(y) {
|
|
77
|
+
let row = this.rows[y];
|
|
78
|
+
if (row)
|
|
79
|
+
return row;
|
|
80
|
+
const width = this.width, data = this.data;
|
|
81
|
+
row = this.rows[y] = new Float64Array((width + 1) * 4);
|
|
82
|
+
// Same operations in the same order as `row[i + 4] = row[i] + v`: bit-identical sums.
|
|
83
|
+
let sr = 0, sg = 0, sb = 0, sl = 0;
|
|
84
|
+
for (let x = 0, src = y * width * 4, out = 4; x < width; x++, src += 4, out += 4) {
|
|
85
|
+
const r = data[src] / 255, g = data[src + 1] / 255, b = data[src + 2] / 255;
|
|
86
|
+
const l = 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
87
|
+
row[out] = sr = sr + r;
|
|
88
|
+
row[out + 1] = sg = sg + g;
|
|
89
|
+
row[out + 2] = sb = sb + b;
|
|
90
|
+
row[out + 3] = sl = sl + l * l;
|
|
91
|
+
}
|
|
92
|
+
return row;
|
|
93
|
+
}
|
|
94
|
+
sample(centerX, centerY, radius, visibleTop = 0, visibleBottom = this.height) {
|
|
95
|
+
const sum = [0, 0, 0, 0];
|
|
96
|
+
let count = 0;
|
|
97
|
+
for (let y = Math.max(0, Math.ceil(visibleTop - 0.5), Math.ceil(centerY - radius - 0.5)); y < Math.min(this.height, visibleBottom - 0.5, centerY + radius - 0.5); y++) {
|
|
98
|
+
const dy = y + 0.5 - centerY, half = Math.sqrt(Math.max(0, radius * radius - dy * dy));
|
|
99
|
+
const left = Math.max(0, Math.ceil(centerX - half - 0.5)), right = Math.min(this.width, Math.ceil(centerX + half - 0.5));
|
|
100
|
+
if (right <= left)
|
|
101
|
+
continue;
|
|
102
|
+
const row = this.prefixRow(y), a = left * 4, b = right * 4;
|
|
103
|
+
for (let c = 0; c < 4; c++)
|
|
104
|
+
sum[c] += row[b + c] - row[a + c];
|
|
105
|
+
count += right - left;
|
|
106
|
+
}
|
|
107
|
+
if (!count)
|
|
108
|
+
return undefined;
|
|
109
|
+
const rgb = sum.slice(0, 3).map(v => v / count);
|
|
110
|
+
const luminance = rgb[0] * 0.2126 + rgb[1] * 0.7152 + rgb[2] * 0.0722;
|
|
111
|
+
return {
|
|
112
|
+
rgb,
|
|
113
|
+
luminance,
|
|
114
|
+
deviation: Math.sqrt(Math.max(0, sum[3] / count - luminance * luminance)),
|
|
115
|
+
count,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const REGULAR_TRIGGER_MATERIAL: {
|
|
2
|
+
readonly radiusPt: 52;
|
|
3
|
+
readonly thresholds: {
|
|
4
|
+
readonly light: 49.25;
|
|
5
|
+
readonly dark: 228;
|
|
6
|
+
};
|
|
7
|
+
readonly models: {
|
|
8
|
+
readonly 'light-0': readonly [0.23357323336904154, -0.12025038168260119, 0.7223854586442838, -0.3451911179708627, 1];
|
|
9
|
+
readonly 'light-1': readonly [0.4425394744439445, -0.003838997933491911, 0.34505442834797134, 0.21213920995723007, 0.9999999999998385];
|
|
10
|
+
readonly 'dark-0': readonly [0.5358530945042601, 0.06152028922900846, 0.7019229824978999, -0.24774618727435888, 0.7674240204118238];
|
|
11
|
+
readonly 'dark-1': readonly [0.4425394744439445, -0.003838997933491911, 0.34505442834797134, 0.21213920995723007, 0.9999999999998385];
|
|
12
|
+
};
|
|
13
|
+
readonly neutralCurves: readonly [readonly [readonly [0, 0.07450980392156863], readonly [0.06274509803921569, 0.09019607843137255], readonly [0.12549019607843137, 0.10980392156862745], readonly [0.18823529411764706, 0.13333333333333333], readonly [0.19215686274509805, 0.13333333333333333], readonly [0.2, 0.1411764705882353], readonly [0.2196078431372549, 0.1450980392156863], readonly [0.25098039215686274, 0.1607843137254902], readonly [0.2823529411764706, 0.18823529411764706], readonly [0.32941176470588235, 0.2392156862745141], readonly [0.39215686274509803, 0.2901960784313769], readonly [0.4549019607843137, 0.32941176470588235], readonly [0.5019607843137255, 0.34509803921568627], readonly [0.5176470588235295, 0.35294117647057927], readonly [0.5803921568627451, 0.3686274509803948], readonly [0.6431372549019608, 0.3803921568627337], readonly [0.7058823529411765, 0.3882352941176591], readonly [0.7686274509803922, 0.4078431372548884], readonly [0.8313725490196079, 0.4196078431372463], readonly [0.8470588235294118, 0.4196078431372549], readonly [0.8627450980392157, 0.4235294117647119], readonly [0.8784313725490196, 0.42745098039215684]], readonly [readonly [0.2, 0.6666666666666666], readonly [0.2196078431372549, 0.6705882352941176], readonly [0.25098039215686274, 0.6784313725490196], readonly [0.2823529411764706, 0.6980392156862745], readonly [0.32941176470588235, 0.7215686274509999], readonly [0.39215686274509803, 0.7450980392156805], readonly [0.4549019607843137, 0.7764705882353182], readonly [0.5019607843137255, 0.8], readonly [0.5176470588235295, 0.8156862745097768], readonly [0.5803921568627451, 0.8549019607843014], readonly [0.6431372549019608, 0.8823529411764569], readonly [0.7058823529411765, 0.9058823529411764], readonly [0.7686274509803922, 0.9294117647058983], readonly [0.8313725490196079, 0.9529411764705527], readonly [0.8470588235294118, 0.9568627450980393], readonly [0.8627450980392157, 0.9607843137254903], readonly [0.8784313725490196, 0.9647058823529412], readonly [0.9098039215686274, 0.9725490196078431], readonly [0.9568627450980393, 0.9843137254902143], readonly [0.9725490196078431, 0.9882352941176471], readonly [1, 0.9921568627450981]]];
|
|
14
|
+
readonly identifiability: {
|
|
15
|
+
readonly 'dark-1': 'Only neutral fitting scenes; response parameters tied to light bright, whose observed neutral response is identical.';
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export declare function regularTriggerRegime(contextLuminance: number, appearance: 'light' | 'dark'): 0 | 1;
|
|
19
|
+
export declare const REGULAR_TRIGGER_MATERIAL_GLSL: string;
|