@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,415 @@
|
|
|
1
|
+
import { touchLightUniforms } from './touchLight.js';
|
|
2
|
+
import { morphFieldUniforms } from '../morphField.js';
|
|
3
|
+
import lightingFit from './lensLightingFit.json';
|
|
4
|
+
import { TAB_MOTION_FIT } from '../lens/tabMotionFit.js';
|
|
5
|
+
import { tabInkBand } from './tabGlyphInk.js';
|
|
6
|
+
import { materialUniformMix, materialUniformValues } from '../lens/materialUniforms.js';
|
|
7
|
+
import selectionRecipes from '../lens/selectionParameters.json';
|
|
8
|
+
/** The grouped page background (light) or black behind every backdrop. */
|
|
9
|
+
export const pageBackground = (appearance) => appearance === 'light' ? [242 / 255, 242 / 255, 247 / 255, 1] : [0, 0, 0, 1];
|
|
10
|
+
/** Glass-vibrant glyph ink offsets per appearance. */
|
|
11
|
+
export const glyphVibrancy = (appearance) => appearance === 'light' ? [13 / 255, 10 / 255] : [-4 / 255, 0];
|
|
12
|
+
/** Composite shader uniform (struct P in raster.ts): sample frame, source extents, navigation
|
|
13
|
+
* pose (the live pose, or the tab-drag fallback) and the eight route-atlas slots. */
|
|
14
|
+
export function compositeUniforms(setup, navigation, scrollY, x, background, frontHeight, rearHeight) {
|
|
15
|
+
const { spec, resolution, width } = setup;
|
|
16
|
+
const dragDim = Math.floor(0.12 * (1 - x / width) * 255) / 255;
|
|
17
|
+
return [
|
|
18
|
+
spec.sampleWidth,
|
|
19
|
+
spec.sampleHeight,
|
|
20
|
+
resolution,
|
|
21
|
+
setup.sourceWidth ?? width,
|
|
22
|
+
spec.frameX - spec.sampleInsetX + (setup.sourceOrigin?.x ?? 0),
|
|
23
|
+
spec.frameY - spec.sampleInsetY + (setup.sourceOrigin?.y ?? 0),
|
|
24
|
+
x,
|
|
25
|
+
dragDim,
|
|
26
|
+
...background,
|
|
27
|
+
frontHeight / resolution,
|
|
28
|
+
rearHeight / resolution,
|
|
29
|
+
scrollY,
|
|
30
|
+
0,
|
|
31
|
+
...(navigation
|
|
32
|
+
? [navigation.frontX, navigation.rearX, navigation.frontDim, navigation.rearDim]
|
|
33
|
+
: [x, x - width, 0, dragDim]),
|
|
34
|
+
...Array.from({ length: 8 }, (_, i) => {
|
|
35
|
+
const route = navigation?.routes?.[i];
|
|
36
|
+
return [route?.x ?? 0, route?.dim ?? 0, ...(route?.zoom?.origin ?? [0, 0])];
|
|
37
|
+
}).flat(),
|
|
38
|
+
setup.navigationAtlas ?? 0,
|
|
39
|
+
// The fill beyond an open window edge (see compositeSource); a raster's own capture has no
|
|
40
|
+
// open edge (`source.w` above is 0) unless its plane's layer says so (composeBackdrop).
|
|
41
|
+
...background.slice(0, 3),
|
|
42
|
+
1,
|
|
43
|
+
1,
|
|
44
|
+
0,
|
|
45
|
+
0,
|
|
46
|
+
...Array.from({ length: 8 }, (_, i) => {
|
|
47
|
+
const zoom = navigation?.routes?.[i]?.zoom;
|
|
48
|
+
return zoom ? [zoom.x, zoom.y, zoom.scale, zoom.radius] : [0, 0, 0, 0];
|
|
49
|
+
}).flat(),
|
|
50
|
+
...Array.from({ length: 8 }, (_, i) => navigation?.routes?.[i]?.zoom?.clip ?? [0, 0, 0, 0]).flat(),
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
/** Fill outside capture windows or real scrolling content. Band clipping uses openEdges alone. */
|
|
54
|
+
export const backdropFillEdges = (layer) => (layer.openEdges ?? 0) | (layer.fillEdges ?? 0);
|
|
55
|
+
/** Composite uniform for a backdrop plane other than the content plane: its own capture,
|
|
56
|
+
* scrolled, no navigation pose and no atlas. */
|
|
57
|
+
export function planeCompositeUniforms(size, resolution, layer, rect, scale = [1, 1]) {
|
|
58
|
+
return [
|
|
59
|
+
size[0],
|
|
60
|
+
size[1],
|
|
61
|
+
resolution,
|
|
62
|
+
layer.width,
|
|
63
|
+
rect[0] - layer.origin.x,
|
|
64
|
+
rect[1] - layer.origin.y,
|
|
65
|
+
0,
|
|
66
|
+
0,
|
|
67
|
+
...layer.fill,
|
|
68
|
+
layer.height,
|
|
69
|
+
layer.height,
|
|
70
|
+
layer.scroll.y,
|
|
71
|
+
backdropFillEdges(layer),
|
|
72
|
+
-layer.scroll.x,
|
|
73
|
+
1e9,
|
|
74
|
+
0,
|
|
75
|
+
0,
|
|
76
|
+
...Array.from({ length: 32 }, () => 0),
|
|
77
|
+
0,
|
|
78
|
+
...layer.fill.slice(0, 3),
|
|
79
|
+
...scale,
|
|
80
|
+
0,
|
|
81
|
+
0,
|
|
82
|
+
...Array.from({ length: 64 }, () => 0),
|
|
83
|
+
];
|
|
84
|
+
}
|
|
85
|
+
/** A kernel's input texture: logical size and a half-texel clamp. */
|
|
86
|
+
export const inputUniforms = (source, logicalWidth, logicalHeight) => ({
|
|
87
|
+
uInputSize: [logicalWidth, logicalHeight, 1 / logicalWidth, 1 / logicalHeight],
|
|
88
|
+
uInputClamp: [
|
|
89
|
+
0.5 / source.width,
|
|
90
|
+
0.5 / source.height,
|
|
91
|
+
1 - 0.5 / source.width,
|
|
92
|
+
1 - 0.5 / source.height,
|
|
93
|
+
],
|
|
94
|
+
});
|
|
95
|
+
/** A shape part in sample-rectangle coordinates: [centerX, centerY, halfWidth, halfHeight]. */
|
|
96
|
+
export const shapeUniform = (spec, part) => [
|
|
97
|
+
spec.sampleInsetX + part.centerX,
|
|
98
|
+
spec.sampleInsetY + part.centerY,
|
|
99
|
+
part.halfWidth,
|
|
100
|
+
part.halfHeight,
|
|
101
|
+
];
|
|
102
|
+
/** A kernel's output frame inside the result texture (local result) or the layer. */
|
|
103
|
+
export function outputUniforms(layout, frameWidth, frameHeight) {
|
|
104
|
+
const { spec, resolution } = layout;
|
|
105
|
+
return layout.local
|
|
106
|
+
? {
|
|
107
|
+
__outputFrame: [
|
|
108
|
+
layout.resultSampleX / resolution,
|
|
109
|
+
layout.resultSampleY / resolution,
|
|
110
|
+
frameWidth,
|
|
111
|
+
frameHeight,
|
|
112
|
+
],
|
|
113
|
+
__outputTexture: [
|
|
114
|
+
layout.result.width / resolution,
|
|
115
|
+
layout.result.height / resolution,
|
|
116
|
+
1,
|
|
117
|
+
1,
|
|
118
|
+
],
|
|
119
|
+
__filterScale: [1, 1],
|
|
120
|
+
}
|
|
121
|
+
: {
|
|
122
|
+
__outputFrame: [
|
|
123
|
+
spec.frameX - spec.sampleInsetX,
|
|
124
|
+
spec.frameY - spec.sampleInsetY,
|
|
125
|
+
frameWidth,
|
|
126
|
+
frameHeight,
|
|
127
|
+
],
|
|
128
|
+
__outputTexture: [layout.width, layout.height, 1, 1],
|
|
129
|
+
__filterScale: [1, 1],
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/** The material regular material (bar or menu kernel) sampling the backdrop pyramid. A menu
|
|
133
|
+
* draws its two-part morph outline and trigger regime, and outputs over its padded pyramid. */
|
|
134
|
+
/** The bar's darker band just inside its top edge: [amount, rise end, fall start, fall end], the
|
|
135
|
+
* distances in points inside the edge. Fitted 2026-09-30 to the native tab bar (ParityReference
|
|
136
|
+
* `--tab-glass-scroll`, iOS 27.0 Simulator) over a flat white card, a flat dark card and a photo
|
|
137
|
+
* in both appearances: 4 luma darker than the interior from 8 to 12 pt over mid and bright
|
|
138
|
+
* content, 1 over the dark card, none by 20 pt. The amount enters as P * (1 + a * w * (3 - 2P)),
|
|
139
|
+
* where w fades the shade out over dark glass (smoothstep of the glass luminance, 0.05 to 0.5). */
|
|
140
|
+
export const BAR_TOP_INNER_SHADE = [-0.0145, 8, 11, 20];
|
|
141
|
+
/** Whether a bar-kernel surface is the tab bar. The tab bar's optics were fitted to the native
|
|
142
|
+
* tab bar: full-resolution detail, a four-tap fill, no highlight floor, the inner shade (all in
|
|
143
|
+
* the bar shader, switched by `uTabBarOptics`). Every bar surface, the tab bar included, reads
|
|
144
|
+
* the same area-average blur pyramid (rasterMaterial.ts usesAreaMips). Every other
|
|
145
|
+
* bar surface (toolbar buttons, glass buttons, a merged group, a button opening into its menu)
|
|
146
|
+
* keeps the optics the morph engine's material was fitted and approved on: under the tab bar's
|
|
147
|
+
* optics an open menu's backdrop read sharper and brighter than in that build. */
|
|
148
|
+
export function usesTabBarOptics(spec) {
|
|
149
|
+
return spec.id === 'dock';
|
|
150
|
+
}
|
|
151
|
+
/** The material recipe row a surface's material reads. */
|
|
152
|
+
function materialSurface(spec) {
|
|
153
|
+
if (spec.materialProfile === 'menu')
|
|
154
|
+
return 'menu';
|
|
155
|
+
return spec.materialProfile === 'searchField' ? 'searchField' : 'bar';
|
|
156
|
+
}
|
|
157
|
+
export function materialUniforms(layout, setup, pyramid, scale) {
|
|
158
|
+
const { spec, appearance, resolution, sampleWidth, sampleHeight } = layout;
|
|
159
|
+
const first = spec.shape.first;
|
|
160
|
+
const second = spec.shape.second ?? first;
|
|
161
|
+
const menu = spec.materialProfile === 'menu';
|
|
162
|
+
const material = {
|
|
163
|
+
...touchLightUniforms(spec.touchLight, spec.sampleInsetX, spec.sampleInsetY),
|
|
164
|
+
...morphFieldUniforms(spec),
|
|
165
|
+
...(menu && spec.recipeMix !== undefined
|
|
166
|
+
? materialUniformMix(appearance, spec.recipeMix)
|
|
167
|
+
: materialUniformValues(materialSurface(spec), appearance)),
|
|
168
|
+
...inputUniforms(pyramid, pyramid.width / (resolution * scale), pyramid.height / (resolution * scale)),
|
|
169
|
+
__uvScale: [
|
|
170
|
+
(sampleWidth * resolution * scale) / pyramid.width,
|
|
171
|
+
(sampleHeight * resolution * scale) / pyramid.height,
|
|
172
|
+
],
|
|
173
|
+
// The shape's coordinates (vFilterCoord * uResolution) keep the scale they had when the
|
|
174
|
+
// pyramid's storage was its content rounded up to whole texels: the bar pyramid's padding
|
|
175
|
+
// to whole coarse texels (areaMips.ts) changes where the backdrop is read, not the shape.
|
|
176
|
+
__filterScale: [
|
|
177
|
+
(sampleWidth * resolution * scale) / Math.ceil(sampleWidth * resolution * scale),
|
|
178
|
+
(sampleHeight * resolution * scale) / Math.ceil(sampleHeight * resolution * scale),
|
|
179
|
+
],
|
|
180
|
+
uResolution: [sampleWidth, sampleHeight],
|
|
181
|
+
uShape: shapeUniform(spec, first),
|
|
182
|
+
uRadius: first.radius,
|
|
183
|
+
uMaterialMix: 1,
|
|
184
|
+
uCoverageWidth: 0.5 / resolution,
|
|
185
|
+
uDiagnosticOutput: 0,
|
|
186
|
+
uInnerShade: BAR_TOP_INNER_SHADE,
|
|
187
|
+
uTabBarOptics: usesTabBarOptics(spec) ? 1 : 0,
|
|
188
|
+
};
|
|
189
|
+
if (menu)
|
|
190
|
+
Object.assign(material, {
|
|
191
|
+
uShapeA: shapeUniform(spec, first),
|
|
192
|
+
uShapeB: shapeUniform(spec, second),
|
|
193
|
+
uShapeRadii: [first.radius, second.radius],
|
|
194
|
+
uShapeParams: [spec.shape.second ? 2 : 1, spec.shape.blendRadius, 0, spec.shape.rimAlpha],
|
|
195
|
+
uContinuousMenu: 1,
|
|
196
|
+
uMenuMaterialMix: spec.recipeMix !== undefined ? 1 : (spec.materialMix ?? 1) * (spec.menuTintMix ?? 1),
|
|
197
|
+
uReturningTrigger: spec.returningTrigger && spec.recipeMix === undefined
|
|
198
|
+
? [
|
|
199
|
+
spec.sampleInsetX + spec.returningTrigger.centerX,
|
|
200
|
+
spec.sampleInsetY + spec.returningTrigger.centerY,
|
|
201
|
+
spec.returningTrigger.radius,
|
|
202
|
+
spec.returningTrigger.mix,
|
|
203
|
+
]
|
|
204
|
+
: [0, 0, 0, 0],
|
|
205
|
+
uTriggerContext: setup.trigger?.context ?? [0, 0, 0, 0],
|
|
206
|
+
uTriggerResponse: setup.trigger?.response ?? [1, 0, 1, 0],
|
|
207
|
+
uTriggerChroma: setup.trigger?.chroma ?? 1,
|
|
208
|
+
uTriggerRegime: setup.trigger?.regime ?? 0,
|
|
209
|
+
uTriggerEnabled: setup.trigger ? 1 : 0,
|
|
210
|
+
});
|
|
211
|
+
if (menu)
|
|
212
|
+
Object.assign(material, outputUniforms(layout, pyramid.width / (resolution * scale), pyramid.height / (resolution * scale)), { __uvScale: [1, 1] });
|
|
213
|
+
return material;
|
|
214
|
+
}
|
|
215
|
+
/** The selection pill's shared uniforms: the capsule over the composed (material) scratch. */
|
|
216
|
+
export function selectionBaseUniforms(layout, composed) {
|
|
217
|
+
const { spec, resolution, sampleWidth, sampleHeight } = layout;
|
|
218
|
+
const selection = spec.tabSelection;
|
|
219
|
+
const capsule = selection.capsule;
|
|
220
|
+
const lensMix = selection.lensMix ?? 0;
|
|
221
|
+
return {
|
|
222
|
+
...morphFieldUniforms({ ...spec, shape: { ...spec.shape, members: undefined } }),
|
|
223
|
+
...inputUniforms(composed, sampleWidth, sampleHeight),
|
|
224
|
+
...outputUniforms(layout, sampleWidth, sampleHeight),
|
|
225
|
+
uResolution: [sampleWidth, sampleHeight],
|
|
226
|
+
uShape: [
|
|
227
|
+
spec.sampleInsetX + capsule.centerX,
|
|
228
|
+
spec.sampleInsetY + capsule.centerY,
|
|
229
|
+
capsule.halfWidth,
|
|
230
|
+
capsule.halfHeight,
|
|
231
|
+
],
|
|
232
|
+
uRadius: capsule.radius,
|
|
233
|
+
uMaterialMix: selection.materialMix * (selection.restMix ?? 1) * (1 - lensMix),
|
|
234
|
+
uCoverageWidth: 0.5 / resolution,
|
|
235
|
+
uDiagnosticOutput: 0,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
/** The native selection recipe's separable Gaussian over the composed scratch (quarter scale). */
|
|
239
|
+
export function selectionBlurUniforms(layout, composed) {
|
|
240
|
+
const { appearance, resolution, sampleWidth, sampleHeight } = layout;
|
|
241
|
+
const recipe = selectionRecipes[appearance];
|
|
242
|
+
const sigma = Math.max(0.01, recipe.blurRadius * recipe.blurSigmaPerRadius * resolution * 0.25);
|
|
243
|
+
const weights = Array.from({ length: 6 }, (_, i) => Math.exp(-0.5 * (i / sigma) ** 2));
|
|
244
|
+
const sum = weights[0] + 2 * weights.slice(1).reduce((total, weight) => total + weight, 0);
|
|
245
|
+
return {
|
|
246
|
+
...inputUniforms(composed, sampleWidth, sampleHeight),
|
|
247
|
+
uStep: [1 / (resolution * 0.25 * sampleWidth), 0],
|
|
248
|
+
uCross: [0, 1 / composed.height],
|
|
249
|
+
uWeights0: weights.slice(0, 4).map(weight => weight / sum),
|
|
250
|
+
uWeights1: weights.slice(4).map(weight => weight / sum),
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
/** The selection pill (recipe colour matrix and contour) over the blurred scratch. */
|
|
254
|
+
export function selectionPillUniforms(layout, base, vertical) {
|
|
255
|
+
const { appearance, resolution } = layout;
|
|
256
|
+
const recipe = selectionRecipes[appearance];
|
|
257
|
+
return {
|
|
258
|
+
...base,
|
|
259
|
+
uSelectionSize: [
|
|
260
|
+
vertical.width / (resolution * 0.25),
|
|
261
|
+
vertical.height / (resolution * 0.25),
|
|
262
|
+
1 / vertical.width,
|
|
263
|
+
1 / vertical.height,
|
|
264
|
+
],
|
|
265
|
+
uSelectionRow0: recipe.matrix[0],
|
|
266
|
+
uSelectionRow1: recipe.matrix[1],
|
|
267
|
+
uSelectionRow2: recipe.matrix[2],
|
|
268
|
+
uSelectionContourAngular: recipe.contour.angular,
|
|
269
|
+
uSelectionContourProfile: [recipe.contour.width, recipe.contour.center],
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
/** Anchors of the dock's first and last glyphs, evenly spaced inside the bar's first shape. */
|
|
273
|
+
export function dockGlyphAnchors(spec, count) {
|
|
274
|
+
const first = spec.shape.first;
|
|
275
|
+
const spacing = (first.halfWidth * 2 - 20) / count;
|
|
276
|
+
const anchor = spec.sampleInsetX + first.centerX - first.halfWidth + 10.5 + spacing / 2;
|
|
277
|
+
return [anchor, anchor + spacing * (count - 1)];
|
|
278
|
+
}
|
|
279
|
+
/** How much of a lift is visible: its amount, or any lens field / lighting clock still showing.
|
|
280
|
+
* Geometry-only diffuse height/spread tails do not keep an invisible layer alive. */
|
|
281
|
+
export function liftVisibleAmount(lift, appearance) {
|
|
282
|
+
const lensField = appearance === 'dark' ? lift?.optics?.lensDark : lift?.optics?.lensLight;
|
|
283
|
+
const lightingField = appearance === 'dark' ? lift?.optics?.lightingDark : lift?.optics?.lightingLight;
|
|
284
|
+
const lightingAmount = lightingField
|
|
285
|
+
? Math.max(lightingField[0], lightingField[1], lightingField[3], lightingField[5], lightingField[6])
|
|
286
|
+
: 0;
|
|
287
|
+
return Math.max(lift?.amount ?? 0, Math.abs(lensField?.[0] ?? 0) / 10.5, lightingAmount);
|
|
288
|
+
}
|
|
289
|
+
/** The lighting fit a lift uses: its explicit profile (a held control thumb), else a glass button's
|
|
290
|
+
* (composed source, no tab selection) or a tab's. */
|
|
291
|
+
export function liftLighting(lift, spec, appearance) {
|
|
292
|
+
const profile = lift.profile ?? (lift.source === 'composed' && !spec.tabSelection ? 'button' : 'tab');
|
|
293
|
+
return { ...TAB_LENS_MAP, ...NO_RIM_LINE, ...NO_TOP_SHADE, ...lightingFit[profile][appearance] };
|
|
294
|
+
}
|
|
295
|
+
/** Only the control profile draws the measured dark rim line (gain, width in points) with a
|
|
296
|
+
* device-pixel edge; tab and button keep their 0.4 pt edge. */
|
|
297
|
+
const NO_RIM_LINE = { rimLineGain: 0, rimLineWidthPt: 0 };
|
|
298
|
+
/** Only the control profile has native's top inner shadow (amplitude, centre in points below the
|
|
299
|
+
* rim, rim-side and centre-side sigma in points). */
|
|
300
|
+
const NO_TOP_SHADE = { topShade: [0, 0, 1, 1] };
|
|
301
|
+
/** The tab selection's analytic normal field (broad amplitude, broad support, edge amplitude;
|
|
302
|
+
* field gains on the press clock's [edge refraction, depth, edge support, fringe]). */
|
|
303
|
+
const TAB_LENS_MAP = { lensMap: [9, 36, -17.5], fieldGain: [1, 1, 1, 1] };
|
|
304
|
+
/** The lift's lighting clocks (seven phases), all at the lift amount when the optics carry none. */
|
|
305
|
+
export function liftLightingClocks(lift, optics, appearance) {
|
|
306
|
+
return ((appearance === 'dark' ? optics.lightingDark : optics.lightingLight) ?? [
|
|
307
|
+
lift.amount,
|
|
308
|
+
lift.amount,
|
|
309
|
+
lift.amount,
|
|
310
|
+
lift.amount,
|
|
311
|
+
lift.amount,
|
|
312
|
+
lift.amount,
|
|
313
|
+
lift.amount,
|
|
314
|
+
]);
|
|
315
|
+
}
|
|
316
|
+
/** The shared-lift kernel: the lens aperture, its lighting and the lifted foreground glyphs. */
|
|
317
|
+
export function sharedLiftUniforms(layout, lift, optics, capsule, lensDebug, lensAmount) {
|
|
318
|
+
const { spec, appearance, resolution, sampleWidth, sampleHeight } = layout;
|
|
319
|
+
const fit = TAB_MOTION_FIT;
|
|
320
|
+
const first = spec.shape.first;
|
|
321
|
+
const lighting = liftLighting(lift, spec, appearance);
|
|
322
|
+
const clocks = liftLightingClocks(lift, optics, appearance);
|
|
323
|
+
const centerX = spec.sampleInsetX + capsule.centerX;
|
|
324
|
+
const centerY = spec.sampleInsetY + capsule.centerY;
|
|
325
|
+
const count = lift.glyphCount ?? spec.tabSelection?.glyphCount ?? 1;
|
|
326
|
+
const anchors = lift.glyphAnchors ?? (spec.tabSelection ? dockGlyphAnchors(spec, count) : [centerX, centerX]);
|
|
327
|
+
const contentGlyphs = lift.glyphLayout === 'content';
|
|
328
|
+
const inkBand = tabInkBand(spec, resolution);
|
|
329
|
+
return {
|
|
330
|
+
...outputUniforms(layout, sampleWidth, sampleHeight),
|
|
331
|
+
uResolution: [sampleWidth, sampleHeight],
|
|
332
|
+
uShape: [centerX, centerY, capsule.halfWidth, capsule.halfHeight],
|
|
333
|
+
uRadius: capsule.radius,
|
|
334
|
+
uLensDebug: [lensDebug, resolution, 32, 0],
|
|
335
|
+
uLensLightRotation: 0,
|
|
336
|
+
uLensBandScale: lighting.bandScale,
|
|
337
|
+
uLensBandDirections: [lighting.capBandScale, lighting.bottomBandScale],
|
|
338
|
+
uLensFringe: [
|
|
339
|
+
lighting.straightFringeGain,
|
|
340
|
+
lighting.capFringeGain,
|
|
341
|
+
lighting.straightFringeWidthPt,
|
|
342
|
+
lighting.capFringeWidthPt,
|
|
343
|
+
],
|
|
344
|
+
uLensDepthShade: lighting.depthShade,
|
|
345
|
+
uLensDepthIsotropic: lift.source === 'composed' && !spec.tabSelection ? 1 : 0,
|
|
346
|
+
uLensFaceTreatment: [lighting.faceSaturation, lighting.faceRadialMix],
|
|
347
|
+
uLensCrestVertical: [
|
|
348
|
+
lighting.crestTopGain,
|
|
349
|
+
lighting.crestBottomGain,
|
|
350
|
+
lighting.rimLineGain,
|
|
351
|
+
lighting.rimLineWidthPt,
|
|
352
|
+
],
|
|
353
|
+
uLensExteriorShadow: [lighting.shadowOpacity, lighting.shadowOffsetPt, lighting.shadowSigmaPt],
|
|
354
|
+
uLensLighting: [
|
|
355
|
+
lighting.faceGain,
|
|
356
|
+
lighting.faceBias,
|
|
357
|
+
lighting.crestSigmaPt,
|
|
358
|
+
lighting.crestCenterPt,
|
|
359
|
+
],
|
|
360
|
+
uLensLightStrength: [
|
|
361
|
+
lighting.crestGain,
|
|
362
|
+
lighting.crestGain,
|
|
363
|
+
lighting.diffuseGain,
|
|
364
|
+
lighting.crestGain,
|
|
365
|
+
],
|
|
366
|
+
uLensLightingClock: clocks.slice(0, 4),
|
|
367
|
+
uLensLightingClock2: [clocks[4], clocks[5], clocks[6], 0],
|
|
368
|
+
uLensField: ((appearance === 'dark' ? optics.lensDark : optics.lensLight) ?? [
|
|
369
|
+
-10.5 * lift.amount,
|
|
370
|
+
7 * lift.amount,
|
|
371
|
+
11.2 * lift.amount,
|
|
372
|
+
3.68 * lift.amount,
|
|
373
|
+
]).map((value, i) => value * lighting.fieldGain[i]),
|
|
374
|
+
uLensMap: lighting.lensMap,
|
|
375
|
+
uLensTopShade: lighting.topShade,
|
|
376
|
+
uLiftMix: lensAmount,
|
|
377
|
+
uMotionMix: optics.motionMix,
|
|
378
|
+
uBackgroundWarpPt: optics.backgroundWarpPt,
|
|
379
|
+
uTravelWarpPt: optics.travelWarpPt,
|
|
380
|
+
uForegroundChroma: optics.foregroundChroma,
|
|
381
|
+
uForegroundScaleX: optics.foregroundScaleX,
|
|
382
|
+
uForegroundScaleY: optics.foregroundScaleY,
|
|
383
|
+
uForegroundLabelScaleX: optics.foregroundLabelScaleX,
|
|
384
|
+
uForegroundLabelScaleY: optics.foregroundLabelScaleY,
|
|
385
|
+
uForegroundShiftPt: contentGlyphs
|
|
386
|
+
? [0, 0]
|
|
387
|
+
: [fit.foregroundShiftPt.icon, fit.foregroundShiftPt.label],
|
|
388
|
+
uRimGradient: optics.rimGradient,
|
|
389
|
+
uGlyphAnchors: anchors,
|
|
390
|
+
uGlyphCount: count,
|
|
391
|
+
uGlyphLayers: spec.tabSelection?.glyphLayers
|
|
392
|
+
? [1, inkBand.top / sampleHeight, sampleHeight / inkBand.height]
|
|
393
|
+
: 0,
|
|
394
|
+
uDockShape: contentGlyphs ? [0, -1e6, 0, 0] : shapeUniform(spec, first),
|
|
395
|
+
uGlyphVibrancy: lift.glyphVibrancy ?? glyphVibrancy(appearance),
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
/** The plain lens kernel for a lift without fitted optics. */
|
|
399
|
+
export function lensLiftUniforms(layout, lift, capsule, source) {
|
|
400
|
+
const { spec, appearance, sampleWidth, sampleHeight } = layout;
|
|
401
|
+
const centerX = spec.sampleInsetX + capsule.centerX;
|
|
402
|
+
const centerY = spec.sampleInsetY + capsule.centerY;
|
|
403
|
+
return {
|
|
404
|
+
...inputUniforms(source, sampleWidth, sampleHeight),
|
|
405
|
+
...outputUniforms(layout, sampleWidth, sampleHeight),
|
|
406
|
+
uResolution: [sampleWidth, sampleHeight],
|
|
407
|
+
uShape: [centerX, centerY, capsule.halfWidth, capsule.halfHeight],
|
|
408
|
+
uRadius: capsule.radius,
|
|
409
|
+
uMaterialMix: Math.max(0, Math.min(1, lift.amount)),
|
|
410
|
+
uGlyphAnchors: lift.glyphAnchors ?? [centerX, centerX],
|
|
411
|
+
uGlyphCount: lift.glyphCount ?? 1,
|
|
412
|
+
uDockShape: shapeUniform(spec, spec.shape.first),
|
|
413
|
+
uGlyphVibrancy: glyphVibrancy(appearance),
|
|
414
|
+
};
|
|
415
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type RegionMembership = {
|
|
2
|
+
readonly size: number;
|
|
3
|
+
subscribe(listener: () => void): () => void;
|
|
4
|
+
};
|
|
5
|
+
/** Chrome-only launch does not upload a backdrop for app materials. The first
|
|
6
|
+
* later material needs a source preparation before its first-show hold can end. */
|
|
7
|
+
export declare function watchRegionBackdrop(registry: RegionMembership, prepare: () => void): () => void;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Chrome-only launch does not upload a backdrop for app materials. The first
|
|
2
|
+
* later material needs a source preparation before its first-show hold can end. */
|
|
3
|
+
export function watchRegionBackdrop(registry, prepare) {
|
|
4
|
+
let needed = registry.size > 0;
|
|
5
|
+
return registry.subscribe(() => {
|
|
6
|
+
const next = registry.size > 0;
|
|
7
|
+
const appeared = next && !needed;
|
|
8
|
+
needed = next;
|
|
9
|
+
if (appeared)
|
|
10
|
+
prepare();
|
|
11
|
+
});
|
|
12
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import type { GlassRegionRegistry } from '../regionRegistry.js';
|
|
2
|
+
import type { WebGPUClient } from './client.js';
|
|
3
|
+
import { type SampleRect } from './captureDemand.js';
|
|
4
|
+
/** DOM measurements and transport only. No drawing loop or GPU device here. */
|
|
5
|
+
export declare class RegionBridge {
|
|
6
|
+
private unionWarnings;
|
|
7
|
+
private registry?;
|
|
8
|
+
private source?;
|
|
9
|
+
private unsubscribe?;
|
|
10
|
+
private unsubscribeInput?;
|
|
11
|
+
private unsubscribePresentation?;
|
|
12
|
+
private presentationQueued;
|
|
13
|
+
private frame;
|
|
14
|
+
private revision;
|
|
15
|
+
/** Scenes posted and not yet answered. A scene is the whole region state, so when the worker
|
|
16
|
+
* falls behind, superseded scenes are merged: only the newest waits for a free slot. */
|
|
17
|
+
private scenesInFlight;
|
|
18
|
+
private pendingScene?;
|
|
19
|
+
private sceneValidity;
|
|
20
|
+
private scenePresented;
|
|
21
|
+
private readiness;
|
|
22
|
+
private accessoryAdmissions;
|
|
23
|
+
private presentationAllowed;
|
|
24
|
+
private readinessQueued;
|
|
25
|
+
private queueReadiness;
|
|
26
|
+
private waitForRegion;
|
|
27
|
+
private syncReadiness;
|
|
28
|
+
private static readonly SCENES_IN_FLIGHT;
|
|
29
|
+
private flushPendingScene;
|
|
30
|
+
private sceneDone;
|
|
31
|
+
private postScene;
|
|
32
|
+
/** A scene whose reply the caller needs (new presenters): sent now, superseding any queued scene. */
|
|
33
|
+
private sendScene;
|
|
34
|
+
/** Foreground source revisions. Unique per capture: a refresh superseded between its
|
|
35
|
+
* foreground send and its scene send must not hand the next capture the same key
|
|
36
|
+
* (the worker's frame graph treats a key as immutable content). */
|
|
37
|
+
private foregroundRevision;
|
|
38
|
+
private epoch;
|
|
39
|
+
private serial;
|
|
40
|
+
private canvases;
|
|
41
|
+
private nextPresenter;
|
|
42
|
+
private foregrounds;
|
|
43
|
+
private dirtyForegrounds;
|
|
44
|
+
private unsubscribeContent?;
|
|
45
|
+
private deferredForegrounds;
|
|
46
|
+
private foregroundInputs;
|
|
47
|
+
/** An idle lift is transparent; its labels remain live DOM while layout moves them. Keep
|
|
48
|
+
* the warm ink instead of rasterizing an invisible lens at every intermediate width. */
|
|
49
|
+
private deferIdleForeground;
|
|
50
|
+
/** Regions seen in an unselected tab, with the panel they were seen in. One stays held after
|
|
51
|
+
* its tab is selected again, until the worker has installed that tab's source preparation
|
|
52
|
+
* (`sourceInstalled`): only then is its own backdrop installed, and only then may it be
|
|
53
|
+
* redrawn. A region moved into another panel is no longer the held one. */
|
|
54
|
+
private heldForTab;
|
|
55
|
+
/** Capture canvases whose bitmap is in a request that has not been sent yet. */
|
|
56
|
+
private consumedCanvases;
|
|
57
|
+
/** Release capture canvases once the request that carries their bitmap has resolved. */
|
|
58
|
+
private releaseConsumedCanvases;
|
|
59
|
+
private releaseFallback?;
|
|
60
|
+
/** A worker that never answers the carrying request must not keep the canvases allocated. */
|
|
61
|
+
private armReleaseFallback;
|
|
62
|
+
/** The regions that sit in tabs that are not selected. A source preparation sends them with its
|
|
63
|
+
* batch: the worker holds them on their own backdrop before the new plane set replaces it, and
|
|
64
|
+
* resumes every other region in the same batch. Reading them changes nothing here. */
|
|
65
|
+
inactiveRegionIds(): string[];
|
|
66
|
+
/** The selected tab's own backdrop is installed in the worker: its regions stop being held. */
|
|
67
|
+
releaseHeldRegions(): void;
|
|
68
|
+
private sourceRevision?;
|
|
69
|
+
/** Invalidate in-flight geometry before posting the replacement capture batch. */
|
|
70
|
+
sourceWillChange(revision: number): void;
|
|
71
|
+
/** A source preparation posted its batch (`installed` is the worker's reply to it). Only once
|
|
72
|
+
* the worker has acknowledged it are the selected tab's regions released and their scene sent.
|
|
73
|
+
* If the worker rejects the batch, nothing was installed and nothing was resumed there: the
|
|
74
|
+
* holds stay, so those regions keep the frames they have (the rejection reaches the caller). */
|
|
75
|
+
sourceInstalled(installed: Promise<unknown>, appearance: 'light' | 'dark'): Promise<void>;
|
|
76
|
+
private scrolls;
|
|
77
|
+
private nextScroll;
|
|
78
|
+
private client;
|
|
79
|
+
constructor(client: WebGPUClient, appearance: 'light' | 'dark');
|
|
80
|
+
private batch?;
|
|
81
|
+
private send;
|
|
82
|
+
bind(registry: GlassRegionRegistry | undefined, source: HTMLElement): void;
|
|
83
|
+
private rowScrollImpact;
|
|
84
|
+
private rowContact;
|
|
85
|
+
private scrollInvalidated;
|
|
86
|
+
private unsubscribeEvents?;
|
|
87
|
+
private viewportObservers;
|
|
88
|
+
private viewportPending;
|
|
89
|
+
/** Keep the worker's old sample covered until it acknowledges its new viewport. A source
|
|
90
|
+
* installation can redraw that old viewport before the queued move reaches the worker. */
|
|
91
|
+
private viewportSamples;
|
|
92
|
+
private viewportInFlight;
|
|
93
|
+
private presenterExtents;
|
|
94
|
+
private retainPresenterExtent;
|
|
95
|
+
private viewportSending;
|
|
96
|
+
private updateViewport;
|
|
97
|
+
unbind(): void;
|
|
98
|
+
invalidateSources(): void;
|
|
99
|
+
private fail;
|
|
100
|
+
private invalidatePresentation;
|
|
101
|
+
/** A glass element started or ended a shape track: send it now, then refresh as usual. */
|
|
102
|
+
private sendShapeTrack;
|
|
103
|
+
private sendPresentationTrack;
|
|
104
|
+
invalidate: () => void;
|
|
105
|
+
private appearance;
|
|
106
|
+
/** The source owner's coverage check (`ProductionGlassRuntime.coverFor`): a promise while a
|
|
107
|
+
* capture of rows these regions newly sample is on its way. */
|
|
108
|
+
coverage?: (rects: () => readonly SampleRect[]) => Promise<void> | undefined;
|
|
109
|
+
/** Sample rectangles of the regions on screen, in viewport points (captureDemand.ts). */
|
|
110
|
+
sampleRects(): SampleRect[];
|
|
111
|
+
/** Whether the worker needs the root transmitted backdrop (it arrives with the shared capture). */
|
|
112
|
+
get needsBackdrop(): boolean;
|
|
113
|
+
/** Navigation chrome moves horizontally. Its backdrop only needs these viewport
|
|
114
|
+
* rows, including each material's sampling halo. Other glass keeps full capture. */
|
|
115
|
+
navigationCaptureRows(height: number): {
|
|
116
|
+
top: number;
|
|
117
|
+
height: number;
|
|
118
|
+
};
|
|
119
|
+
/** The root capture changed in the worker (shared slot). Scene and foreground
|
|
120
|
+
* updates apply as one transaction; foregrounds are keyed by their own ink and
|
|
121
|
+
* appearance, so only regions whose ink changed are recaptured. */
|
|
122
|
+
setAppearance(appearance: 'light' | 'dark'): void;
|
|
123
|
+
sourceChanged(appearance: 'light' | 'dark'): Promise<void>;
|
|
124
|
+
private enqueue;
|
|
125
|
+
private navigationEpoch;
|
|
126
|
+
private navigationHold?;
|
|
127
|
+
holdNavigation(): () => void;
|
|
128
|
+
refresh(): Promise<void>;
|
|
129
|
+
admitNavigation(key: string): Promise<void>;
|
|
130
|
+
private navigationReceipt?;
|
|
131
|
+
private navigationRetry;
|
|
132
|
+
/** Captured menu ink by content key, most recent last (see INK_CAPTURES_RETAINED). */
|
|
133
|
+
private inkCaptures;
|
|
134
|
+
/** The ink key whose capture failed for an element (not retried until its content changes). */
|
|
135
|
+
private inkFailures;
|
|
136
|
+
private inkAtlases;
|
|
137
|
+
/** An emerging menu's ink: its rows and its trigger's glyph, captured once per content change
|
|
138
|
+
* into one foreground atlas (sent as the region's foreground source) and placed each refresh at
|
|
139
|
+
* their live settled rectangles. The glass draws them until the page's rows take over. */
|
|
140
|
+
private emergeInk;
|
|
141
|
+
private fieldEnvelopes;
|
|
142
|
+
private fieldEnvelope;
|
|
143
|
+
private refreshNow;
|
|
144
|
+
private refreshScene;
|
|
145
|
+
}
|