@flyingrobots/bijou-tui 7.2.0 → 8.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/animate-constants.d.ts +3 -0
- package/dist/animate-constants.d.ts.map +1 -0
- package/dist/animate-constants.js +3 -0
- package/dist/animate-constants.js.map +1 -0
- package/dist/animate.d.ts +3 -91
- package/dist/animate.d.ts.map +1 -1
- package/dist/animate.js +2 -158
- package/dist/animate.js.map +1 -1
- package/dist/animate.part01.d.ts +83 -0
- package/dist/animate.part01.d.ts.map +1 -0
- package/dist/animate.part01.js +40 -0
- package/dist/animate.part01.js.map +1 -0
- package/dist/animate.part02.d.ts +44 -0
- package/dist/animate.part02.d.ts.map +1 -0
- package/dist/animate.part02.js +61 -0
- package/dist/animate.part02.js.map +1 -0
- package/dist/animate.part03.d.ts +43 -0
- package/dist/animate.part03.d.ts.map +1 -0
- package/dist/animate.part03.js +52 -0
- package/dist/animate.part03.js.map +1 -0
- package/dist/app-frame-action-types.d.ts +177 -0
- package/dist/app-frame-action-types.d.ts.map +1 -0
- package/dist/app-frame-action-types.js +2 -0
- package/dist/app-frame-action-types.js.map +1 -0
- package/dist/app-frame-actions-dispatch.d.ts +5 -0
- package/dist/app-frame-actions-dispatch.d.ts.map +1 -0
- package/dist/app-frame-actions-dispatch.js +67 -0
- package/dist/app-frame-actions-dispatch.js.map +1 -0
- package/dist/app-frame-actions-footer.d.ts +13 -0
- package/dist/app-frame-actions-footer.d.ts.map +1 -0
- package/dist/app-frame-actions-footer.js +57 -0
- package/dist/app-frame-actions-footer.js.map +1 -0
- package/dist/app-frame-actions-measure.d.ts +4 -0
- package/dist/app-frame-actions-measure.d.ts.map +1 -0
- package/dist/app-frame-actions-measure.js +11 -0
- package/dist/app-frame-actions-measure.js.map +1 -0
- package/dist/app-frame-actions-overlays.d.ts +5 -0
- package/dist/app-frame-actions-overlays.d.ts.map +1 -0
- package/dist/app-frame-actions-overlays.js +66 -0
- package/dist/app-frame-actions-overlays.js.map +1 -0
- package/dist/app-frame-actions-pane.d.ts +5 -0
- package/dist/app-frame-actions-pane.d.ts.map +1 -0
- package/dist/app-frame-actions-pane.js +48 -0
- package/dist/app-frame-actions-pane.js.map +1 -0
- package/dist/app-frame-actions-panel.d.ts +7 -0
- package/dist/app-frame-actions-panel.d.ts.map +1 -0
- package/dist/app-frame-actions-panel.js +68 -0
- package/dist/app-frame-actions-panel.js.map +1 -0
- package/dist/app-frame-actions-scroll.d.ts +8 -0
- package/dist/app-frame-actions-scroll.d.ts.map +1 -0
- package/dist/app-frame-actions-scroll.js +79 -0
- package/dist/app-frame-actions-scroll.js.map +1 -0
- package/dist/app-frame-actions-tabs.d.ts +6 -0
- package/dist/app-frame-actions-tabs.d.ts.map +1 -0
- package/dist/app-frame-actions-tabs.js +81 -0
- package/dist/app-frame-actions-tabs.js.map +1 -0
- package/dist/app-frame-actions.d.ts +6 -15
- package/dist/app-frame-actions.d.ts.map +1 -1
- package/dist/app-frame-actions.js +6 -443
- package/dist/app-frame-actions.js.map +1 -1
- package/dist/app-frame-app-init.d.ts +14 -0
- package/dist/app-frame-app-init.d.ts.map +1 -0
- package/dist/app-frame-app-init.js +81 -0
- package/dist/app-frame-app-init.js.map +1 -0
- package/dist/app-frame-app-update.d.ts +29 -0
- package/dist/app-frame-app-update.d.ts.map +1 -0
- package/dist/app-frame-app-update.js +28 -0
- package/dist/app-frame-app-update.js.map +1 -0
- package/dist/app-frame-app-view.d.ts +6 -0
- package/dist/app-frame-app-view.d.ts.map +1 -0
- package/dist/app-frame-app-view.js +14 -0
- package/dist/app-frame-app-view.js.map +1 -0
- package/dist/app-frame-contracts.d.ts +32 -0
- package/dist/app-frame-contracts.d.ts.map +1 -0
- package/dist/app-frame-contracts.js +3 -0
- package/dist/app-frame-contracts.js.map +1 -0
- package/dist/app-frame-controls-runtime.d.ts +32 -0
- package/dist/app-frame-controls-runtime.d.ts.map +1 -0
- package/dist/app-frame-controls-runtime.js +86 -0
- package/dist/app-frame-controls-runtime.js.map +1 -0
- package/dist/app-frame-create.d.ts +14 -0
- package/dist/app-frame-create.d.ts.map +1 -0
- package/dist/app-frame-create.js +64 -0
- package/dist/app-frame-create.js.map +1 -0
- package/dist/app-frame-frame-action-update.d.ts +21 -0
- package/dist/app-frame-frame-action-update.d.ts.map +1 -0
- package/dist/app-frame-frame-action-update.js +51 -0
- package/dist/app-frame-frame-action-update.js.map +1 -0
- package/dist/app-frame-geometry.d.ts +8 -0
- package/dist/app-frame-geometry.d.ts.map +1 -0
- package/dist/app-frame-geometry.js +27 -0
- package/dist/app-frame-geometry.js.map +1 -0
- package/dist/app-frame-help-keys.d.ts +8 -0
- package/dist/app-frame-help-keys.d.ts.map +1 -0
- package/dist/app-frame-help-keys.js +72 -0
- package/dist/app-frame-help-keys.js.map +1 -0
- package/dist/app-frame-help-scroll.d.ts +8 -0
- package/dist/app-frame-help-scroll.d.ts.map +1 -0
- package/dist/app-frame-help-scroll.js +25 -0
- package/dist/app-frame-help-scroll.js.map +1 -0
- package/dist/app-frame-hint-sources.d.ts +14 -0
- package/dist/app-frame-hint-sources.d.ts.map +1 -0
- package/dist/app-frame-hint-sources.js +17 -0
- package/dist/app-frame-hint-sources.js.map +1 -0
- package/dist/app-frame-host.d.ts +5 -0
- package/dist/app-frame-host.d.ts.map +1 -0
- package/dist/app-frame-host.js +51 -0
- package/dist/app-frame-host.js.map +1 -0
- package/dist/app-frame-i18n-catalog.d.ts +4 -0
- package/dist/app-frame-i18n-catalog.d.ts.map +1 -0
- package/dist/app-frame-i18n-catalog.js +97 -0
- package/dist/app-frame-i18n-catalog.js.map +1 -0
- package/dist/app-frame-i18n.d.ts +2 -2
- package/dist/app-frame-i18n.d.ts.map +1 -1
- package/dist/app-frame-i18n.js +2 -95
- package/dist/app-frame-i18n.js.map +1 -1
- package/dist/app-frame-key-collision.d.ts +5 -0
- package/dist/app-frame-key-collision.d.ts.map +1 -0
- package/dist/app-frame-key-collision.js +54 -0
- package/dist/app-frame-key-collision.js.map +1 -0
- package/dist/app-frame-key-route-contract.d.ts +20 -0
- package/dist/app-frame-key-route-contract.d.ts.map +1 -0
- package/dist/app-frame-key-route-contract.js +2 -0
- package/dist/app-frame-key-route-contract.js.map +1 -0
- package/dist/app-frame-key-route-layers.d.ts +8 -0
- package/dist/app-frame-key-route-layers.d.ts.map +1 -0
- package/dist/app-frame-key-route-layers.js +38 -0
- package/dist/app-frame-key-route-layers.js.map +1 -0
- package/dist/app-frame-key-route-notifications.d.ts +5 -0
- package/dist/app-frame-key-route-notifications.d.ts.map +1 -0
- package/dist/app-frame-key-route-notifications.js +92 -0
- package/dist/app-frame-key-route-notifications.js.map +1 -0
- package/dist/app-frame-key-route-palette-help.d.ts +6 -0
- package/dist/app-frame-key-route-palette-help.d.ts.map +1 -0
- package/dist/app-frame-key-route-palette-help.js +67 -0
- package/dist/app-frame-key-route-palette-help.js.map +1 -0
- package/dist/app-frame-key-route-settings.d.ts +5 -0
- package/dist/app-frame-key-route-settings.d.ts.map +1 -0
- package/dist/app-frame-key-route-settings.js +88 -0
- package/dist/app-frame-key-route-settings.js.map +1 -0
- package/dist/app-frame-key-route-shared.d.ts +3 -0
- package/dist/app-frame-key-route-shared.d.ts.map +1 -0
- package/dist/app-frame-key-route-shared.js +35 -0
- package/dist/app-frame-key-route-shared.js.map +1 -0
- package/dist/app-frame-key-route-workspace.d.ts +5 -0
- package/dist/app-frame-key-route-workspace.d.ts.map +1 -0
- package/dist/app-frame-key-route-workspace.js +76 -0
- package/dist/app-frame-key-route-workspace.js.map +1 -0
- package/dist/app-frame-key-route.d.ts +9 -0
- package/dist/app-frame-key-route.d.ts.map +1 -0
- package/dist/app-frame-key-route.js +67 -0
- package/dist/app-frame-key-route.js.map +1 -0
- package/dist/app-frame-keymap.d.ts +12 -0
- package/dist/app-frame-keymap.d.ts.map +1 -0
- package/dist/app-frame-keymap.js +77 -0
- package/dist/app-frame-keymap.js.map +1 -0
- package/dist/app-frame-layer-context.d.ts +15 -0
- package/dist/app-frame-layer-context.d.ts.map +1 -0
- package/dist/app-frame-layer-context.js +23 -0
- package/dist/app-frame-layer-context.js.map +1 -0
- package/dist/app-frame-layer-metadata.d.ts +18 -0
- package/dist/app-frame-layer-metadata.d.ts.map +1 -0
- package/dist/app-frame-layer-metadata.js +67 -0
- package/dist/app-frame-layer-metadata.js.map +1 -0
- package/dist/app-frame-layers.d.ts +3 -42
- package/dist/app-frame-layers.d.ts.map +1 -1
- package/dist/app-frame-layers.js +2 -154
- package/dist/app-frame-layers.js.map +1 -1
- package/dist/app-frame-layers.part01.d.ts +37 -0
- package/dist/app-frame-layers.part01.d.ts.map +1 -0
- package/dist/app-frame-layers.part01.js +2 -0
- package/dist/app-frame-layers.part01.js.map +1 -0
- package/dist/app-frame-layers.part02.d.ts +7 -0
- package/dist/app-frame-layers.part02.d.ts.map +1 -0
- package/dist/app-frame-layers.part02.js +91 -0
- package/dist/app-frame-layers.part02.js.map +1 -0
- package/dist/app-frame-layers.part03.d.ts +7 -0
- package/dist/app-frame-layers.part03.d.ts.map +1 -0
- package/dist/app-frame-layers.part03.js +47 -0
- package/dist/app-frame-layers.part03.js.map +1 -0
- package/dist/app-frame-layers.part04.d.ts +4 -0
- package/dist/app-frame-layers.part04.d.ts.map +1 -0
- package/dist/app-frame-layers.part04.js +21 -0
- package/dist/app-frame-layers.part04.js.map +1 -0
- package/dist/app-frame-layout-contract.d.ts +46 -0
- package/dist/app-frame-layout-contract.d.ts.map +1 -0
- package/dist/app-frame-layout-contract.js +2 -0
- package/dist/app-frame-layout-contract.js.map +1 -0
- package/dist/app-frame-layout-runtime.d.ts +27 -0
- package/dist/app-frame-layout-runtime.d.ts.map +1 -0
- package/dist/app-frame-layout-runtime.js +37 -0
- package/dist/app-frame-layout-runtime.js.map +1 -0
- package/dist/app-frame-messages.d.ts +31 -0
- package/dist/app-frame-messages.d.ts.map +1 -0
- package/dist/app-frame-messages.js +86 -0
- package/dist/app-frame-messages.js.map +1 -0
- package/dist/app-frame-model-helpers.d.ts +6 -0
- package/dist/app-frame-model-helpers.d.ts.map +1 -0
- package/dist/app-frame-model-helpers.js +17 -0
- package/dist/app-frame-model-helpers.js.map +1 -0
- package/dist/app-frame-model-types.d.ts +88 -0
- package/dist/app-frame-model-types.d.ts.map +1 -0
- package/dist/app-frame-model-types.js +2 -0
- package/dist/app-frame-model-types.js.map +1 -0
- package/dist/app-frame-mouse-layout.d.ts +16 -0
- package/dist/app-frame-mouse-layout.d.ts.map +1 -0
- package/dist/app-frame-mouse-layout.js +63 -0
- package/dist/app-frame-mouse-layout.js.map +1 -0
- package/dist/app-frame-mouse-route.d.ts +17 -0
- package/dist/app-frame-mouse-route.d.ts.map +1 -0
- package/dist/app-frame-mouse-route.js +67 -0
- package/dist/app-frame-mouse-route.js.map +1 -0
- package/dist/app-frame-mouse-workspace.d.ts +14 -0
- package/dist/app-frame-mouse-workspace.d.ts.map +1 -0
- package/dist/app-frame-mouse-workspace.js +73 -0
- package/dist/app-frame-mouse-workspace.js.map +1 -0
- package/dist/app-frame-notification-contract.d.ts +18 -0
- package/dist/app-frame-notification-contract.d.ts.map +1 -0
- package/dist/app-frame-notification-contract.js +2 -0
- package/dist/app-frame-notification-contract.js.map +1 -0
- package/dist/app-frame-notification-runtime.d.ts +16 -0
- package/dist/app-frame-notification-runtime.d.ts.map +1 -0
- package/dist/app-frame-notification-runtime.js +40 -0
- package/dist/app-frame-notification-runtime.js.map +1 -0
- package/dist/app-frame-notification-state.d.ts +13 -0
- package/dist/app-frame-notification-state.d.ts.map +1 -0
- package/dist/app-frame-notification-state.js +64 -0
- package/dist/app-frame-notification-state.js.map +1 -0
- package/dist/app-frame-options.d.ts +112 -0
- package/dist/app-frame-options.d.ts.map +1 -0
- package/dist/app-frame-options.js +2 -0
- package/dist/app-frame-options.js.map +1 -0
- package/dist/app-frame-overlay-contract.d.ts +55 -0
- package/dist/app-frame-overlay-contract.d.ts.map +1 -0
- package/dist/app-frame-overlay-contract.js +3 -0
- package/dist/app-frame-overlay-contract.js.map +1 -0
- package/dist/app-frame-overlay-help.d.ts +13 -0
- package/dist/app-frame-overlay-help.d.ts.map +1 -0
- package/dist/app-frame-overlay-help.js +39 -0
- package/dist/app-frame-overlay-help.js.map +1 -0
- package/dist/app-frame-overlay-layout.d.ts +7 -0
- package/dist/app-frame-overlay-layout.d.ts.map +1 -0
- package/dist/app-frame-overlay-layout.js +90 -0
- package/dist/app-frame-overlay-layout.js.map +1 -0
- package/dist/app-frame-overlay-navigation.d.ts +11 -0
- package/dist/app-frame-overlay-navigation.d.ts.map +1 -0
- package/dist/app-frame-overlay-navigation.js +72 -0
- package/dist/app-frame-overlay-navigation.js.map +1 -0
- package/dist/app-frame-overlay-notifications.d.ts +10 -0
- package/dist/app-frame-overlay-notifications.d.ts.map +1 -0
- package/dist/app-frame-overlay-notifications.js +107 -0
- package/dist/app-frame-overlay-notifications.js.map +1 -0
- package/dist/app-frame-overlay-render-notifications.d.ts +5 -0
- package/dist/app-frame-overlay-render-notifications.d.ts.map +1 -0
- package/dist/app-frame-overlay-render-notifications.js +57 -0
- package/dist/app-frame-overlay-render-notifications.js.map +1 -0
- package/dist/app-frame-overlay-render-settings.d.ts +7 -0
- package/dist/app-frame-overlay-render-settings.d.ts.map +1 -0
- package/dist/app-frame-overlay-render-settings.js +44 -0
- package/dist/app-frame-overlay-render-settings.js.map +1 -0
- package/dist/app-frame-overlay-settings.d.ts +8 -0
- package/dist/app-frame-overlay-settings.d.ts.map +1 -0
- package/dist/app-frame-overlay-settings.js +63 -0
- package/dist/app-frame-overlay-settings.js.map +1 -0
- package/dist/app-frame-overlay-shell-theme.d.ts +10 -0
- package/dist/app-frame-overlay-shell-theme.d.ts.map +1 -0
- package/dist/app-frame-overlay-shell-theme.js +97 -0
- package/dist/app-frame-overlay-shell-theme.js.map +1 -0
- package/dist/app-frame-overlays.d.ts +9 -89
- package/dist/app-frame-overlays.d.ts.map +1 -1
- package/dist/app-frame-overlays.js +9 -571
- package/dist/app-frame-overlays.js.map +1 -1
- package/dist/app-frame-page-contract.d.ts +60 -0
- package/dist/app-frame-page-contract.d.ts.map +1 -0
- package/dist/app-frame-page-contract.js +2 -0
- package/dist/app-frame-page-contract.js.map +1 -0
- package/dist/app-frame-page-registry.d.ts +9 -0
- package/dist/app-frame-page-registry.d.ts.map +1 -0
- package/dist/app-frame-page-registry.js +19 -0
- package/dist/app-frame-page-registry.js.map +1 -0
- package/dist/app-frame-page-update.d.ts +5 -0
- package/dist/app-frame-page-update.d.ts.map +1 -0
- package/dist/app-frame-page-update.js +19 -0
- package/dist/app-frame-page-update.js.map +1 -0
- package/dist/app-frame-palette-selection.d.ts +10 -0
- package/dist/app-frame-palette-selection.d.ts.map +1 -0
- package/dist/app-frame-palette-selection.js +39 -0
- package/dist/app-frame-palette-selection.js.map +1 -0
- package/dist/app-frame-palette.d.ts +4 -9
- package/dist/app-frame-palette.d.ts.map +1 -1
- package/dist/app-frame-palette.js +4 -210
- package/dist/app-frame-palette.js.map +1 -1
- package/dist/app-frame-palette.part01.d.ts +10 -0
- package/dist/app-frame-palette.part01.d.ts.map +1 -0
- package/dist/app-frame-palette.part01.js +44 -0
- package/dist/app-frame-palette.part01.js.map +1 -0
- package/dist/app-frame-palette.part02.d.ts +6 -0
- package/dist/app-frame-palette.part02.d.ts.map +1 -0
- package/dist/app-frame-palette.part02.js +25 -0
- package/dist/app-frame-palette.part02.js.map +1 -0
- package/dist/app-frame-palette.part03.d.ts +5 -0
- package/dist/app-frame-palette.part03.d.ts.map +1 -0
- package/dist/app-frame-palette.part03.js +89 -0
- package/dist/app-frame-palette.part03.js.map +1 -0
- package/dist/app-frame-palette.part04.d.ts +5 -0
- package/dist/app-frame-palette.part04.d.ts.map +1 -0
- package/dist/app-frame-palette.part04.js +20 -0
- package/dist/app-frame-palette.part04.js.map +1 -0
- package/dist/app-frame-performance-runtime.d.ts +6 -0
- package/dist/app-frame-performance-runtime.d.ts.map +1 -0
- package/dist/app-frame-performance-runtime.js +30 -0
- package/dist/app-frame-performance-runtime.js.map +1 -0
- package/dist/app-frame-performance.d.ts +26 -0
- package/dist/app-frame-performance.d.ts.map +1 -0
- package/dist/app-frame-performance.js +44 -0
- package/dist/app-frame-performance.js.map +1 -0
- package/dist/app-frame-presentation.d.ts +20 -0
- package/dist/app-frame-presentation.d.ts.map +1 -0
- package/dist/app-frame-presentation.js +20 -0
- package/dist/app-frame-presentation.js.map +1 -0
- package/dist/app-frame-render-colors.d.ts +5 -0
- package/dist/app-frame-render-colors.d.ts.map +1 -0
- package/dist/app-frame-render-colors.js +117 -0
- package/dist/app-frame-render-colors.js.map +1 -0
- package/dist/app-frame-render-content.d.ts +11 -0
- package/dist/app-frame-render-content.d.ts.map +1 -0
- package/dist/app-frame-render-content.js +42 -0
- package/dist/app-frame-render-content.js.map +1 -0
- package/dist/app-frame-render-contract.d.ts +33 -0
- package/dist/app-frame-render-contract.d.ts.map +1 -0
- package/dist/app-frame-render-contract.js +2 -0
- package/dist/app-frame-render-contract.js.map +1 -0
- package/dist/app-frame-render-grid.d.ts +10 -0
- package/dist/app-frame-render-grid.d.ts.map +1 -0
- package/dist/app-frame-render-grid.js +51 -0
- package/dist/app-frame-render-grid.js.map +1 -0
- package/dist/app-frame-render-header.d.ts +10 -0
- package/dist/app-frame-render-header.d.ts.map +1 -0
- package/dist/app-frame-render-header.js +96 -0
- package/dist/app-frame-render-header.js.map +1 -0
- package/dist/app-frame-render-maximized.d.ts +11 -0
- package/dist/app-frame-render-maximized.d.ts.map +1 -0
- package/dist/app-frame-render-maximized.js +51 -0
- package/dist/app-frame-render-maximized.js.map +1 -0
- package/dist/app-frame-render-node.d.ts +9 -0
- package/dist/app-frame-render-node.d.ts.map +1 -0
- package/dist/app-frame-render-node.js +35 -0
- package/dist/app-frame-render-node.js.map +1 -0
- package/dist/app-frame-render-pane.d.ts +7 -0
- package/dist/app-frame-render-pane.d.ts.map +1 -0
- package/dist/app-frame-render-pane.js +36 -0
- package/dist/app-frame-render-pane.js.map +1 -0
- package/dist/app-frame-render-scratch.d.ts +7 -0
- package/dist/app-frame-render-scratch.d.ts.map +1 -0
- package/dist/app-frame-render-scratch.js +20 -0
- package/dist/app-frame-render-scratch.js.map +1 -0
- package/dist/app-frame-render-split.d.ts +7 -0
- package/dist/app-frame-render-split.d.ts.map +1 -0
- package/dist/app-frame-render-split.js +46 -0
- package/dist/app-frame-render-split.js.map +1 -0
- package/dist/app-frame-render-surface.d.ts +11 -0
- package/dist/app-frame-render-surface.d.ts.map +1 -0
- package/dist/app-frame-render-surface.js +80 -0
- package/dist/app-frame-render-surface.js.map +1 -0
- package/dist/app-frame-render-transition.d.ts +9 -0
- package/dist/app-frame-render-transition.d.ts.map +1 -0
- package/dist/app-frame-render-transition.js +46 -0
- package/dist/app-frame-render-transition.js.map +1 -0
- package/dist/app-frame-render.d.ts +9 -47
- package/dist/app-frame-render.d.ts.map +1 -1
- package/dist/app-frame-render.js +8 -533
- package/dist/app-frame-render.js.map +1 -1
- package/dist/app-frame-runtime.d.ts +22 -0
- package/dist/app-frame-runtime.d.ts.map +1 -0
- package/dist/app-frame-runtime.js +12 -0
- package/dist/app-frame-runtime.js.map +1 -0
- package/dist/app-frame-settings-contract.d.ts +44 -0
- package/dist/app-frame-settings-contract.d.ts.map +1 -0
- package/dist/app-frame-settings-contract.js +2 -0
- package/dist/app-frame-settings-contract.js.map +1 -0
- package/dist/app-frame-shell-command-contract.d.ts +28 -0
- package/dist/app-frame-shell-command-contract.d.ts.map +1 -0
- package/dist/app-frame-shell-command-contract.js +2 -0
- package/dist/app-frame-shell-command-contract.js.map +1 -0
- package/dist/app-frame-shell-command-interaction.d.ts +5 -0
- package/dist/app-frame-shell-command-interaction.d.ts.map +1 -0
- package/dist/app-frame-shell-command-interaction.js +70 -0
- package/dist/app-frame-shell-command-interaction.js.map +1 -0
- package/dist/app-frame-shell-command-ui.d.ts +5 -0
- package/dist/app-frame-shell-command-ui.d.ts.map +1 -0
- package/dist/app-frame-shell-command-ui.js +103 -0
- package/dist/app-frame-shell-command-ui.js.map +1 -0
- package/dist/app-frame-shell-command.d.ts +9 -0
- package/dist/app-frame-shell-command.d.ts.map +1 -0
- package/dist/app-frame-shell-command.js +48 -0
- package/dist/app-frame-shell-command.js.map +1 -0
- package/dist/app-frame-theme-contract.d.ts +74 -0
- package/dist/app-frame-theme-contract.d.ts.map +1 -0
- package/dist/app-frame-theme-contract.js +6 -0
- package/dist/app-frame-theme-contract.js.map +1 -0
- package/dist/app-frame-theme-mode.d.ts +28 -0
- package/dist/app-frame-theme-mode.d.ts.map +1 -0
- package/dist/app-frame-theme-mode.js +50 -0
- package/dist/app-frame-theme-mode.js.map +1 -0
- package/dist/app-frame-theme-run-contract.d.ts +9 -0
- package/dist/app-frame-theme-run-contract.d.ts.map +1 -0
- package/dist/app-frame-theme-run-contract.js +2 -0
- package/dist/app-frame-theme-run-contract.js.map +1 -0
- package/dist/app-frame-theme-runtime.d.ts +24 -0
- package/dist/app-frame-theme-runtime.d.ts.map +1 -0
- package/dist/app-frame-theme-runtime.js +109 -0
- package/dist/app-frame-theme-runtime.js.map +1 -0
- package/dist/app-frame-transition-contract.d.ts +5 -0
- package/dist/app-frame-transition-contract.d.ts.map +1 -0
- package/dist/app-frame-transition-contract.js +2 -0
- package/dist/app-frame-transition-contract.js.map +1 -0
- package/dist/app-frame-transition-update.d.ts +12 -0
- package/dist/app-frame-transition-update.d.ts.map +1 -0
- package/dist/app-frame-transition-update.js +46 -0
- package/dist/app-frame-transition-update.js.map +1 -0
- package/dist/app-frame-types.d.ts +5 -386
- package/dist/app-frame-types.d.ts.map +1 -1
- package/dist/app-frame-types.js +2 -89
- package/dist/app-frame-types.js.map +1 -1
- package/dist/app-frame-utils.d.ts +4 -17
- package/dist/app-frame-utils.d.ts.map +1 -1
- package/dist/app-frame-utils.js +3 -75
- package/dist/app-frame-utils.js.map +1 -1
- package/dist/app-frame-view-base.d.ts +22 -0
- package/dist/app-frame-view-base.d.ts.map +1 -0
- package/dist/app-frame-view-base.js +47 -0
- package/dist/app-frame-view-base.js.map +1 -0
- package/dist/app-frame-view-body.d.ts +12 -0
- package/dist/app-frame-view-body.d.ts.map +1 -0
- package/dist/app-frame-view-body.js +27 -0
- package/dist/app-frame-view-body.js.map +1 -0
- package/dist/app-frame-view-contract.d.ts +24 -0
- package/dist/app-frame-view-contract.d.ts.map +1 -0
- package/dist/app-frame-view-contract.js +2 -0
- package/dist/app-frame-view-contract.js.map +1 -0
- package/dist/app-frame-view-modals.d.ts +6 -0
- package/dist/app-frame-view-modals.d.ts.map +1 -0
- package/dist/app-frame-view-modals.js +59 -0
- package/dist/app-frame-view-modals.js.map +1 -0
- package/dist/app-frame-view-overlays.d.ts +6 -0
- package/dist/app-frame-view-overlays.d.ts.map +1 -0
- package/dist/app-frame-view-overlays.js +64 -0
- package/dist/app-frame-view-overlays.js.map +1 -0
- package/dist/app-frame-workspace-layout.d.ts +33 -0
- package/dist/app-frame-workspace-layout.d.ts.map +1 -0
- package/dist/app-frame-workspace-layout.js +58 -0
- package/dist/app-frame-workspace-layout.js.map +1 -0
- package/dist/app-frame-workspace-tree.d.ts +11 -0
- package/dist/app-frame-workspace-tree.d.ts.map +1 -0
- package/dist/app-frame-workspace-tree.js +29 -0
- package/dist/app-frame-workspace-tree.js.map +1 -0
- package/dist/app-frame.d.ts +3 -375
- package/dist/app-frame.d.ts.map +1 -1
- package/dist/app-frame.js +2 -1806
- package/dist/app-frame.js.map +1 -1
- package/dist/browsable-list.d.ts +4 -158
- package/dist/browsable-list.d.ts.map +1 -1
- package/dist/browsable-list.js +3 -214
- package/dist/browsable-list.js.map +1 -1
- package/dist/browsable-list.part01.d.ts +86 -0
- package/dist/browsable-list.part01.d.ts.map +1 -0
- package/dist/browsable-list.part01.js +45 -0
- package/dist/browsable-list.part01.js.map +1 -0
- package/dist/browsable-list.part02.d.ts +49 -0
- package/dist/browsable-list.part02.d.ts.map +1 -0
- package/dist/browsable-list.part02.js +100 -0
- package/dist/browsable-list.part02.js.map +1 -0
- package/dist/browsable-list.part03.d.ts +43 -0
- package/dist/browsable-list.part03.d.ts.map +1 -0
- package/dist/browsable-list.part03.js +77 -0
- package/dist/browsable-list.part03.js.map +1 -0
- package/dist/canvas.d.ts +2 -29
- package/dist/canvas.d.ts.map +1 -1
- package/dist/canvas.js +1 -276
- package/dist/canvas.js.map +1 -1
- package/dist/canvas.part01.d.ts +45 -0
- package/dist/canvas.part01.d.ts.map +1 -0
- package/dist/canvas.part01.js +80 -0
- package/dist/canvas.part01.js.map +1 -0
- package/dist/canvas.part02.d.ts +7 -0
- package/dist/canvas.part02.d.ts.map +1 -0
- package/dist/canvas.part02.js +86 -0
- package/dist/canvas.part02.js.map +1 -0
- package/dist/canvas.part03.d.ts +8 -0
- package/dist/canvas.part03.d.ts.map +1 -0
- package/dist/canvas.part03.js +121 -0
- package/dist/canvas.part03.js.map +1 -0
- package/dist/command-palette.d.ts +5 -160
- package/dist/command-palette.d.ts.map +1 -1
- package/dist/command-palette.js +4 -301
- package/dist/command-palette.js.map +1 -1
- package/dist/command-palette.part01.d.ts +59 -0
- package/dist/command-palette.part01.d.ts.map +1 -0
- package/dist/command-palette.part01.js +65 -0
- package/dist/command-palette.part01.js.map +1 -0
- package/dist/command-palette.part02.d.ts +45 -0
- package/dist/command-palette.part02.d.ts.map +1 -0
- package/dist/command-palette.part02.js +111 -0
- package/dist/command-palette.part02.js.map +1 -0
- package/dist/command-palette.part03.d.ts +31 -0
- package/dist/command-palette.part03.d.ts.map +1 -0
- package/dist/command-palette.part03.js +88 -0
- package/dist/command-palette.part03.js.map +1 -0
- package/dist/command-palette.part04.d.ts +34 -0
- package/dist/command-palette.part04.d.ts.map +1 -0
- package/dist/command-palette.part04.js +43 -0
- package/dist/command-palette.part04.js.map +1 -0
- package/dist/css/text-style-token.d.ts +20 -0
- package/dist/css/text-style-token.d.ts.map +1 -0
- package/dist/css/text-style-token.js +83 -0
- package/dist/css/text-style-token.js.map +1 -0
- package/dist/css/text-style.d.ts +4 -19
- package/dist/css/text-style.d.ts.map +1 -1
- package/dist/css/text-style.js +6 -74
- package/dist/css/text-style.js.map +1 -1
- package/dist/driver-contract.d.ts +38 -0
- package/dist/driver-contract.d.ts.map +1 -0
- package/dist/driver-contract.js +2 -0
- package/dist/driver-contract.js.map +1 -0
- package/dist/driver-harness-api.d.ts +4 -0
- package/dist/driver-harness-api.d.ts.map +1 -0
- package/dist/driver-harness-api.js +34 -0
- package/dist/driver-harness-api.js.map +1 -0
- package/dist/driver-harness-command.d.ts +5 -0
- package/dist/driver-harness-command.d.ts.map +1 -0
- package/dist/driver-harness-command.js +60 -0
- package/dist/driver-harness-command.js.map +1 -0
- package/dist/driver-harness-contract.d.ts +87 -0
- package/dist/driver-harness-contract.d.ts.map +1 -0
- package/dist/driver-harness-contract.js +2 -0
- package/dist/driver-harness-contract.js.map +1 -0
- package/dist/driver-harness-state.d.ts +8 -0
- package/dist/driver-harness-state.d.ts.map +1 -0
- package/dist/driver-harness-state.js +42 -0
- package/dist/driver-harness-state.js.map +1 -0
- package/dist/driver-harness.d.ts +11 -0
- package/dist/driver-harness.d.ts.map +1 -0
- package/dist/driver-harness.js +91 -0
- package/dist/driver-harness.js.map +1 -0
- package/dist/driver-mouse.d.ts +13 -0
- package/dist/driver-mouse.d.ts.map +1 -0
- package/dist/driver-mouse.js +42 -0
- package/dist/driver-mouse.js.map +1 -0
- package/dist/driver-runtime.d.ts +16 -0
- package/dist/driver-runtime.d.ts.map +1 -0
- package/dist/driver-runtime.js +53 -0
- package/dist/driver-runtime.js.map +1 -0
- package/dist/driver-script-contract.d.ts +73 -0
- package/dist/driver-script-contract.d.ts.map +1 -0
- package/dist/driver-script-contract.js +2 -0
- package/dist/driver-script-contract.js.map +1 -0
- package/dist/driver-script.d.ts +12 -0
- package/dist/driver-script.d.ts.map +1 -0
- package/dist/driver-script.js +71 -0
- package/dist/driver-script.js.map +1 -0
- package/dist/driver.d.ts +5 -209
- package/dist/driver.d.ts.map +1 -1
- package/dist/driver.js +4 -418
- package/dist/driver.js.map +1 -1
- package/dist/eventbus-command.d.ts +6 -0
- package/dist/eventbus-command.d.ts.map +1 -0
- package/dist/eventbus-command.js +94 -0
- package/dist/eventbus-command.js.map +1 -0
- package/dist/eventbus-contract.d.ts +41 -0
- package/dist/eventbus-contract.d.ts.map +1 -0
- package/dist/eventbus-contract.js +2 -0
- package/dist/eventbus-contract.js.map +1 -0
- package/dist/eventbus-create.d.ts +5 -0
- package/dist/eventbus-create.d.ts.map +1 -0
- package/dist/eventbus-create.js +75 -0
- package/dist/eventbus-create.js.map +1 -0
- package/dist/eventbus-io.d.ts +5 -0
- package/dist/eventbus-io.d.ts.map +1 -0
- package/dist/eventbus-io.js +31 -0
- package/dist/eventbus-io.js.map +1 -0
- package/dist/eventbus-options.d.ts +20 -0
- package/dist/eventbus-options.d.ts.map +1 -0
- package/dist/eventbus-options.js +2 -0
- package/dist/eventbus-options.js.map +1 -0
- package/dist/eventbus-pulse.d.ts +6 -0
- package/dist/eventbus-pulse.d.ts.map +1 -0
- package/dist/eventbus-pulse.js +34 -0
- package/dist/eventbus-pulse.js.map +1 -0
- package/dist/eventbus-report.d.ts +4 -0
- package/dist/eventbus-report.d.ts.map +1 -0
- package/dist/eventbus-report.js +19 -0
- package/dist/eventbus-report.js.map +1 -0
- package/dist/eventbus-state.d.ts +26 -0
- package/dist/eventbus-state.d.ts.map +1 -0
- package/dist/eventbus-state.js +97 -0
- package/dist/eventbus-state.js.map +1 -0
- package/dist/eventbus.d.ts +7 -174
- package/dist/eventbus.d.ts.map +1 -1
- package/dist/eventbus.js +5 -343
- package/dist/eventbus.js.map +1 -1
- package/dist/flex.d.ts +2 -53
- package/dist/flex.d.ts.map +1 -1
- package/dist/flex.js +1 -328
- package/dist/flex.js.map +1 -1
- package/dist/flex.part01.d.ts +79 -0
- package/dist/flex.part01.d.ts.map +1 -0
- package/dist/flex.part01.js +30 -0
- package/dist/flex.part01.js.map +1 -0
- package/dist/flex.part02.d.ts +8 -0
- package/dist/flex.part02.d.ts.map +1 -0
- package/dist/flex.part02.js +80 -0
- package/dist/flex.part02.js.map +1 -0
- package/dist/flex.part03.d.ts +9 -0
- package/dist/flex.part03.d.ts.map +1 -0
- package/dist/flex.part03.js +105 -0
- package/dist/flex.part03.js.map +1 -0
- package/dist/flex.part04.d.ts +7 -0
- package/dist/flex.part04.d.ts.map +1 -0
- package/dist/flex.part04.js +81 -0
- package/dist/flex.part04.js.map +1 -0
- package/dist/flex.part05.d.ts +5 -0
- package/dist/flex.part05.d.ts.map +1 -0
- package/dist/flex.part05.js +52 -0
- package/dist/flex.part05.js.map +1 -0
- package/dist/focus-map-inspection.d.ts +30 -0
- package/dist/focus-map-inspection.d.ts.map +1 -0
- package/dist/focus-map-inspection.js +64 -0
- package/dist/focus-map-inspection.js.map +1 -0
- package/dist/focus-map.d.ts +3 -29
- package/dist/focus-map.d.ts.map +1 -1
- package/dist/focus-map.js +5 -73
- package/dist/focus-map.js.map +1 -1
- package/dist/help-surface.d.ts +15 -0
- package/dist/help-surface.d.ts.map +1 -0
- package/dist/help-surface.js +31 -0
- package/dist/help-surface.js.map +1 -0
- package/dist/help-text.d.ts +27 -0
- package/dist/help-text.d.ts.map +1 -0
- package/dist/help-text.js +78 -0
- package/dist/help-text.js.map +1 -0
- package/dist/help-types.d.ts +27 -0
- package/dist/help-types.d.ts.map +1 -0
- package/dist/help-types.js +2 -0
- package/dist/help-types.js.map +1 -0
- package/dist/help.d.ts +6 -112
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +5 -165
- package/dist/help.js.map +1 -1
- package/dist/input-map.d.ts +4 -67
- package/dist/input-map.d.ts.map +1 -1
- package/dist/input-map.js +3 -160
- package/dist/input-map.js.map +1 -1
- package/dist/input-map.part01.d.ts +68 -0
- package/dist/input-map.part01.d.ts.map +1 -0
- package/dist/input-map.part01.js +36 -0
- package/dist/input-map.part01.js.map +1 -0
- package/dist/input-map.part02.d.ts +5 -0
- package/dist/input-map.part02.d.ts.map +1 -0
- package/dist/input-map.part02.js +85 -0
- package/dist/input-map.part02.js.map +1 -0
- package/dist/input-map.part03.d.ts +15 -0
- package/dist/input-map.part03.d.ts.map +1 -0
- package/dist/input-map.part03.js +33 -0
- package/dist/input-map.part03.js.map +1 -0
- package/dist/input-map.part04.d.ts +3 -0
- package/dist/input-map.part04.d.ts.map +1 -0
- package/dist/input-map.part04.js +7 -0
- package/dist/input-map.part04.js.map +1 -0
- package/dist/inputstack-types.d.ts +86 -0
- package/dist/inputstack-types.d.ts.map +1 -0
- package/dist/inputstack-types.js +3 -0
- package/dist/inputstack-types.js.map +1 -0
- package/dist/inputstack.d.ts +2 -59
- package/dist/inputstack.d.ts.map +1 -1
- package/dist/inputstack.js.map +1 -1
- package/dist/keybindings.d.ts +4 -152
- package/dist/keybindings.d.ts.map +1 -1
- package/dist/keybindings.js +2 -199
- package/dist/keybindings.js.map +1 -1
- package/dist/keybindings.part01.d.ts +56 -0
- package/dist/keybindings.part01.d.ts.map +1 -0
- package/dist/keybindings.part01.js +5 -0
- package/dist/keybindings.part01.js.map +1 -0
- package/dist/keybindings.part02.d.ts +68 -0
- package/dist/keybindings.part02.d.ts.map +1 -0
- package/dist/keybindings.part02.js +2 -0
- package/dist/keybindings.part02.js.map +1 -0
- package/dist/keybindings.part03.d.ts +34 -0
- package/dist/keybindings.part03.d.ts.map +1 -0
- package/dist/keybindings.part03.js +101 -0
- package/dist/keybindings.part03.js.map +1 -0
- package/dist/keybindings.part04.d.ts +13 -0
- package/dist/keybindings.part04.d.ts.map +1 -0
- package/dist/keybindings.part04.js +102 -0
- package/dist/keybindings.part04.js.map +1 -0
- package/dist/layout-preset-factories.d.ts +8 -0
- package/dist/layout-preset-factories.d.ts.map +1 -0
- package/dist/layout-preset-factories.js +28 -0
- package/dist/layout-preset-factories.js.map +1 -0
- package/dist/layout-preset.d.ts +1 -6
- package/dist/layout-preset.d.ts.map +1 -1
- package/dist/layout-preset.js +1 -30
- package/dist/layout-preset.js.map +1 -1
- package/dist/layout-stack.d.ts +5 -0
- package/dist/layout-stack.d.ts.map +1 -0
- package/dist/layout-stack.js +37 -0
- package/dist/layout-stack.js.map +1 -0
- package/dist/layout.d.ts +1 -16
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +1 -59
- package/dist/layout.js.map +1 -1
- package/dist/motion/reconciler-geometry.d.ts +12 -0
- package/dist/motion/reconciler-geometry.d.ts.map +1 -0
- package/dist/motion/reconciler-geometry.js +39 -0
- package/dist/motion/reconciler-geometry.js.map +1 -0
- package/dist/motion/reconciler.d.ts.map +1 -1
- package/dist/motion/reconciler.js +1 -35
- package/dist/motion/reconciler.js.map +1 -1
- package/dist/notification-card-content.d.ts +12 -0
- package/dist/notification-card-content.d.ts.map +1 -0
- package/dist/notification-card-content.js +76 -0
- package/dist/notification-card-content.js.map +1 -0
- package/dist/notification-card-metrics.d.ts +5 -0
- package/dist/notification-card-metrics.d.ts.map +1 -0
- package/dist/notification-card-metrics.js +33 -0
- package/dist/notification-card-metrics.js.map +1 -0
- package/dist/notification-card.d.ts.map +1 -1
- package/dist/notification-card.js +16 -96
- package/dist/notification-card.js.map +1 -1
- package/dist/pager.d.ts +4 -164
- package/dist/pager.d.ts.map +1 -1
- package/dist/pager.js +3 -253
- package/dist/pager.js.map +1 -1
- package/dist/pager.part01.d.ts +75 -0
- package/dist/pager.part01.d.ts.map +1 -0
- package/dist/pager.part01.js +60 -0
- package/dist/pager.part01.js.map +1 -0
- package/dist/pager.part02.d.ts +54 -0
- package/dist/pager.part02.d.ts.map +1 -0
- package/dist/pager.part02.js +101 -0
- package/dist/pager.part02.js.map +1 -0
- package/dist/pager.part03.d.ts +59 -0
- package/dist/pager.part03.d.ts.map +1 -0
- package/dist/pager.part03.js +98 -0
- package/dist/pager.part03.js.map +1 -0
- package/dist/panel-label.d.ts +4 -0
- package/dist/panel-label.d.ts.map +1 -0
- package/dist/panel-label.js +11 -0
- package/dist/panel-label.js.map +1 -0
- package/dist/panel-types.d.ts +23 -0
- package/dist/panel-types.d.ts.map +1 -0
- package/dist/panel-types.js +2 -0
- package/dist/panel-types.js.map +1 -0
- package/dist/panels.d.ts +2 -66
- package/dist/panels.d.ts.map +1 -1
- package/dist/panels.js +3 -12
- package/dist/panels.js.map +1 -1
- package/dist/pipeline/middleware/surface-shaders.d.ts +3 -36
- package/dist/pipeline/middleware/surface-shaders.d.ts.map +1 -1
- package/dist/pipeline/middleware/surface-shaders.js +2 -165
- package/dist/pipeline/middleware/surface-shaders.js.map +1 -1
- package/dist/pipeline/middleware/surface-shaders.part01.d.ts +36 -0
- package/dist/pipeline/middleware/surface-shaders.part01.d.ts.map +1 -0
- package/dist/pipeline/middleware/surface-shaders.part01.js +51 -0
- package/dist/pipeline/middleware/surface-shaders.part01.js.map +1 -0
- package/dist/pipeline/middleware/surface-shaders.part02.d.ts +8 -0
- package/dist/pipeline/middleware/surface-shaders.part02.d.ts.map +1 -0
- package/dist/pipeline/middleware/surface-shaders.part02.js +63 -0
- package/dist/pipeline/middleware/surface-shaders.part02.js.map +1 -0
- package/dist/pipeline/middleware/surface-shaders.part03.d.ts +12 -0
- package/dist/pipeline/middleware/surface-shaders.part03.d.ts.map +1 -0
- package/dist/pipeline/middleware/surface-shaders.part03.js +57 -0
- package/dist/pipeline/middleware/surface-shaders.part03.js.map +1 -0
- package/dist/runtime-binding.d.ts +4 -57
- package/dist/runtime-binding.d.ts.map +1 -1
- package/dist/runtime-binding.js +3 -281
- package/dist/runtime-binding.js.map +1 -1
- package/dist/runtime-binding.part01.d.ts +51 -0
- package/dist/runtime-binding.part01.d.ts.map +1 -0
- package/dist/runtime-binding.part01.js +52 -0
- package/dist/runtime-binding.part01.js.map +1 -0
- package/dist/runtime-binding.part02.d.ts +9 -0
- package/dist/runtime-binding.part02.d.ts.map +1 -0
- package/dist/runtime-binding.part02.js +47 -0
- package/dist/runtime-binding.part02.js.map +1 -0
- package/dist/runtime-binding.part03.d.ts +4 -0
- package/dist/runtime-binding.part03.d.ts.map +1 -0
- package/dist/runtime-binding.part03.js +65 -0
- package/dist/runtime-binding.part03.js.map +1 -0
- package/dist/runtime-binding.part04.d.ts +13 -0
- package/dist/runtime-binding.part04.d.ts.map +1 -0
- package/dist/runtime-binding.part04.js +55 -0
- package/dist/runtime-binding.part04.js.map +1 -0
- package/dist/runtime-binding.part05.d.ts +8 -0
- package/dist/runtime-binding.part05.d.ts.map +1 -0
- package/dist/runtime-binding.part05.js +79 -0
- package/dist/runtime-binding.part05.js.map +1 -0
- package/dist/runtime-buffers.d.ts +13 -0
- package/dist/runtime-buffers.d.ts.map +1 -0
- package/dist/runtime-buffers.js +55 -0
- package/dist/runtime-buffers.js.map +1 -0
- package/dist/runtime-bus.d.ts +6 -0
- package/dist/runtime-bus.d.ts.map +1 -0
- package/dist/runtime-bus.js +47 -0
- package/dist/runtime-bus.js.map +1 -0
- package/dist/runtime-commands.d.ts +31 -0
- package/dist/runtime-commands.d.ts.map +1 -0
- package/dist/runtime-commands.js +12 -0
- package/dist/runtime-commands.js.map +1 -0
- package/dist/runtime-contract.d.ts +54 -0
- package/dist/runtime-contract.d.ts.map +1 -0
- package/dist/runtime-contract.js +2 -0
- package/dist/runtime-contract.js.map +1 -0
- package/dist/runtime-crash.d.ts +10 -0
- package/dist/runtime-crash.d.ts.map +1 -0
- package/dist/runtime-crash.js +46 -0
- package/dist/runtime-crash.js.map +1 -0
- package/dist/runtime-engine-buffers.d.ts +32 -0
- package/dist/runtime-engine-buffers.d.ts.map +1 -0
- package/dist/runtime-engine-buffers.js +48 -0
- package/dist/runtime-engine-buffers.js.map +1 -0
- package/dist/runtime-engine-component-contract.d.ts +45 -0
- package/dist/runtime-engine-component-contract.d.ts.map +1 -0
- package/dist/runtime-engine-component-contract.js +2 -0
- package/dist/runtime-engine-component-contract.js.map +1 -0
- package/dist/runtime-engine-component-create.d.ts +4 -0
- package/dist/runtime-engine-component-create.d.ts.map +1 -0
- package/dist/runtime-engine-component-create.js +39 -0
- package/dist/runtime-engine-component-create.js.map +1 -0
- package/dist/runtime-engine-component-input.d.ts +7 -0
- package/dist/runtime-engine-component-input.d.ts.map +1 -0
- package/dist/runtime-engine-component-input.js +39 -0
- package/dist/runtime-engine-component-input.js.map +1 -0
- package/dist/runtime-engine-component-layout.d.ts +25 -0
- package/dist/runtime-engine-component-layout.d.ts.map +1 -0
- package/dist/runtime-engine-component-layout.js +23 -0
- package/dist/runtime-engine-component-layout.js.map +1 -0
- package/dist/runtime-engine-hit-test.d.ts +4 -0
- package/dist/runtime-engine-hit-test.d.ts.map +1 -0
- package/dist/runtime-engine-hit-test.js +40 -0
- package/dist/runtime-engine-hit-test.js.map +1 -0
- package/dist/runtime-engine-input.d.ts +53 -0
- package/dist/runtime-engine-input.d.ts.map +1 -0
- package/dist/runtime-engine-input.js +9 -0
- package/dist/runtime-engine-input.js.map +1 -0
- package/dist/runtime-engine-layouts.d.ts +25 -0
- package/dist/runtime-engine-layouts.d.ts.map +1 -0
- package/dist/runtime-engine-layouts.js +72 -0
- package/dist/runtime-engine-layouts.js.map +1 -0
- package/dist/runtime-engine-route.d.ts +6 -0
- package/dist/runtime-engine-route.d.ts.map +1 -0
- package/dist/runtime-engine-route.js +54 -0
- package/dist/runtime-engine-route.js.map +1 -0
- package/dist/runtime-engine-state.d.ts +11 -0
- package/dist/runtime-engine-state.d.ts.map +1 -0
- package/dist/runtime-engine-state.js +15 -0
- package/dist/runtime-engine-state.js.map +1 -0
- package/dist/runtime-engine-view-stack.d.ts +25 -0
- package/dist/runtime-engine-view-stack.d.ts.map +1 -0
- package/dist/runtime-engine-view-stack.js +70 -0
- package/dist/runtime-engine-view-stack.js.map +1 -0
- package/dist/runtime-engine.d.ts +11 -222
- package/dist/runtime-engine.d.ts.map +1 -1
- package/dist/runtime-engine.js +10 -467
- package/dist/runtime-engine.js.map +1 -1
- package/dist/runtime-format.d.ts +7 -0
- package/dist/runtime-format.d.ts.map +1 -0
- package/dist/runtime-format.js +35 -0
- package/dist/runtime-format.js.map +1 -0
- package/dist/runtime-input.d.ts +8 -0
- package/dist/runtime-input.d.ts.map +1 -0
- package/dist/runtime-input.js +52 -0
- package/dist/runtime-input.js.map +1 -0
- package/dist/runtime-loop.d.ts +5 -0
- package/dist/runtime-loop.d.ts.map +1 -0
- package/dist/runtime-loop.js +90 -0
- package/dist/runtime-loop.js.map +1 -0
- package/dist/runtime-messages.d.ts +38 -0
- package/dist/runtime-messages.d.ts.map +1 -0
- package/dist/runtime-messages.js +19 -0
- package/dist/runtime-messages.js.map +1 -0
- package/dist/runtime-pipeline.d.ts +11 -0
- package/dist/runtime-pipeline.d.ts.map +1 -0
- package/dist/runtime-pipeline.js +37 -0
- package/dist/runtime-pipeline.js.map +1 -0
- package/dist/runtime-render.d.ts +5 -0
- package/dist/runtime-render.d.ts.map +1 -0
- package/dist/runtime-render.js +115 -0
- package/dist/runtime-render.js.map +1 -0
- package/dist/runtime-shutdown.d.ts +9 -0
- package/dist/runtime-shutdown.d.ts.map +1 -0
- package/dist/runtime-shutdown.js +65 -0
- package/dist/runtime-shutdown.js.map +1 -0
- package/dist/runtime-startup.d.ts +10 -0
- package/dist/runtime-startup.d.ts.map +1 -0
- package/dist/runtime-startup.js +35 -0
- package/dist/runtime-startup.js.map +1 -0
- package/dist/runtime.d.ts +3 -21
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +2 -531
- package/dist/runtime.js.map +1 -1
- package/dist/status-bar-layout.d.ts +19 -0
- package/dist/status-bar-layout.d.ts.map +1 -0
- package/dist/status-bar-layout.js +71 -0
- package/dist/status-bar-layout.js.map +1 -0
- package/dist/status-bar.d.ts +2 -13
- package/dist/status-bar.d.ts.map +1 -1
- package/dist/status-bar.js +2 -83
- package/dist/status-bar.js.map +1 -1
- package/dist/subapp/adapter.d.ts +12 -0
- package/dist/subapp/adapter.d.ts.map +1 -0
- package/dist/subapp/adapter.js +17 -0
- package/dist/subapp/adapter.js.map +1 -0
- package/dist/subapp/mount.d.ts +1 -17
- package/dist/subapp/mount.d.ts.map +1 -1
- package/dist/subapp/mount.js +1 -22
- package/dist/subapp/mount.js.map +1 -1
- package/dist/surface-diff-engine.d.ts +5 -0
- package/dist/surface-diff-engine.d.ts.map +1 -0
- package/dist/surface-diff-engine.js +72 -0
- package/dist/surface-diff-engine.js.map +1 -0
- package/dist/surface-diff.d.ts +4 -35
- package/dist/surface-diff.d.ts.map +1 -1
- package/dist/surface-diff.js +3 -199
- package/dist/surface-diff.js.map +1 -1
- package/dist/surface-diff.part01.d.ts +34 -0
- package/dist/surface-diff.part01.d.ts.map +1 -0
- package/dist/surface-diff.part01.js +11 -0
- package/dist/surface-diff.part01.js.map +1 -0
- package/dist/surface-diff.part02.d.ts +8 -0
- package/dist/surface-diff.part02.d.ts.map +1 -0
- package/dist/surface-diff.part02.js +73 -0
- package/dist/surface-diff.part02.js.map +1 -0
- package/dist/surface-diff.part03.d.ts +12 -0
- package/dist/surface-diff.part03.d.ts.map +1 -0
- package/dist/surface-diff.part03.js +63 -0
- package/dist/surface-diff.part03.js.map +1 -0
- package/dist/timeline-builder.d.ts +3 -0
- package/dist/timeline-builder.d.ts.map +1 -0
- package/dist/timeline-builder.js +23 -0
- package/dist/timeline-builder.js.map +1 -0
- package/dist/timeline-compile.d.ts +3 -0
- package/dist/timeline-compile.d.ts.map +1 -0
- package/dist/timeline-compile.js +60 -0
- package/dist/timeline-compile.js.map +1 -0
- package/dist/timeline-contract.d.ts +102 -0
- package/dist/timeline-contract.d.ts.map +1 -0
- package/dist/timeline-contract.js +2 -0
- package/dist/timeline-contract.js.map +1 -0
- package/dist/timeline-position.d.ts +10 -0
- package/dist/timeline-position.d.ts.map +1 -0
- package/dist/timeline-position.js +55 -0
- package/dist/timeline-position.js.map +1 -0
- package/dist/timeline-runtime.d.ts +3 -0
- package/dist/timeline-runtime.d.ts.map +1 -0
- package/dist/timeline-runtime.js +63 -0
- package/dist/timeline-runtime.js.map +1 -0
- package/dist/timeline-track-step.d.ts +3 -0
- package/dist/timeline-track-step.d.ts.map +1 -0
- package/dist/timeline-track-step.js +58 -0
- package/dist/timeline-track-step.js.map +1 -0
- package/dist/timeline-utils.d.ts +2 -0
- package/dist/timeline-utils.d.ts.map +1 -0
- package/dist/timeline-utils.js +6 -0
- package/dist/timeline-utils.js.map +1 -0
- package/dist/timeline.d.ts +5 -186
- package/dist/timeline.d.ts.map +1 -1
- package/dist/timeline.js +4 -329
- package/dist/timeline.js.map +1 -1
- package/dist/types.d.ts +4 -118
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -32
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
package/dist/css/text-style.d.ts
CHANGED
|
@@ -1,22 +1,7 @@
|
|
|
1
|
-
import { type BijouContext, type Surface
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
fgRGB?: [number, number, number];
|
|
6
|
-
bgRGB?: [number, number, number];
|
|
7
|
-
modifiers?: string[];
|
|
8
|
-
}
|
|
9
|
-
export interface BCSSIdentity {
|
|
10
|
-
type: string;
|
|
11
|
-
id?: string;
|
|
12
|
-
classes?: string[];
|
|
13
|
-
}
|
|
14
|
-
type BCSSStyles = Record<string, string>;
|
|
15
|
-
export declare function mergeBCSSModifiers(base: readonly string[] | undefined, styles: BCSSStyles): string[] | undefined;
|
|
16
|
-
export declare function toStyleToken(token: StyledTextToken): TokenValue;
|
|
17
|
-
export declare function resolveBCSSTextToken(ctx: BijouContext, identity: BCSSIdentity, base?: StyledTextToken): StyledTextToken;
|
|
18
|
-
export declare function styleTextWithBCSS(text: string, ctx: BijouContext | undefined, identity: BCSSIdentity, base?: StyledTextToken): string;
|
|
1
|
+
import { type BijouContext, type Surface } from '@flyingrobots/bijou';
|
|
2
|
+
import { type BCSSIdentity, type StyledTextToken } from './text-style-token.js';
|
|
3
|
+
export { mergeBCSSModifiers, resolveBCSSTextToken, styleTextWithBCSS, toStyleToken, } from './text-style-token.js';
|
|
4
|
+
export type { BCSSIdentity, StyledTextToken } from './text-style-token.js';
|
|
19
5
|
export declare function createStyledTextSurfaceWithBCSS(text: string, width: number, ctx: BijouContext | undefined, identity: BCSSIdentity, base?: StyledTextToken): Surface;
|
|
20
6
|
export declare function paintStyledTextSurfaceWithBCSS(surface: Surface | undefined, text: string, width: number, ctx: BijouContext | undefined, identity: BCSSIdentity, base?: StyledTextToken): Surface;
|
|
21
|
-
export {};
|
|
22
7
|
//# sourceMappingURL=text-style.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-style.d.ts","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"text-style.d.ts","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,OAAO,EACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAiE/B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE3E,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAKT;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAST"}
|
package/dist/css/text-style.js
CHANGED
|
@@ -1,77 +1,6 @@
|
|
|
1
|
-
import { createSurface, isPackedSurface, segmentGraphemes } from '@flyingrobots/bijou';
|
|
1
|
+
import { createSurface, isPackedSurface, segmentGraphemes, } from '@flyingrobots/bijou';
|
|
2
2
|
import { parseHex, encodeModifiers } from '@flyingrobots/bijou/perf';
|
|
3
|
-
|
|
4
|
-
const modifiers = new Set(base ?? []);
|
|
5
|
-
const fontWeight = styles['font-weight']?.trim().toLowerCase();
|
|
6
|
-
if (fontWeight === 'bold' || fontWeight === '700' || fontWeight === '800' || fontWeight === '900') {
|
|
7
|
-
modifiers.add('bold');
|
|
8
|
-
}
|
|
9
|
-
else if (fontWeight === 'normal' || fontWeight === '400') {
|
|
10
|
-
modifiers.delete('bold');
|
|
11
|
-
}
|
|
12
|
-
const fontStyle = styles['font-style']?.trim().toLowerCase();
|
|
13
|
-
if (fontStyle === 'italic') {
|
|
14
|
-
modifiers.add('italic');
|
|
15
|
-
}
|
|
16
|
-
else if (fontStyle === 'normal') {
|
|
17
|
-
modifiers.delete('italic');
|
|
18
|
-
}
|
|
19
|
-
const decoration = styles['text-decoration']?.trim().toLowerCase();
|
|
20
|
-
if (decoration === 'none') {
|
|
21
|
-
modifiers.delete('underline');
|
|
22
|
-
modifiers.delete('curly-underline');
|
|
23
|
-
modifiers.delete('dotted-underline');
|
|
24
|
-
modifiers.delete('dashed-underline');
|
|
25
|
-
modifiers.delete('strikethrough');
|
|
26
|
-
modifiers.delete('strike');
|
|
27
|
-
}
|
|
28
|
-
else if (decoration) {
|
|
29
|
-
if (decoration.includes('underline')) {
|
|
30
|
-
modifiers.add('underline');
|
|
31
|
-
}
|
|
32
|
-
if (decoration.includes('line-through')) {
|
|
33
|
-
modifiers.add('strikethrough');
|
|
34
|
-
modifiers.delete('strike');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return modifiers.size > 0 ? Array.from(modifiers) : undefined;
|
|
38
|
-
}
|
|
39
|
-
function styleModifiers(modifiers) {
|
|
40
|
-
return modifiers?.filter((modifier) => /^(?:bold|dim|strikethrough|inverse|(?:curly-|dotted-|dashed-)?underline)$/u.test(modifier));
|
|
41
|
-
}
|
|
42
|
-
export function toStyleToken(token) {
|
|
43
|
-
return { hex: token.hex ?? '', bg: token.bg, fgRGB: token.fgRGB, bgRGB: token.bgRGB, modifiers: styleModifiers(token.modifiers) };
|
|
44
|
-
}
|
|
45
|
-
export function resolveBCSSTextToken(ctx, identity, base = {}) {
|
|
46
|
-
const styles = ctx.resolveBCSS(identity);
|
|
47
|
-
const hex = styles['color'] ?? base.hex;
|
|
48
|
-
const bg = styles['background'] ?? base.bg;
|
|
49
|
-
return {
|
|
50
|
-
hex,
|
|
51
|
-
bg,
|
|
52
|
-
fgRGB: styles['color'] != null ? (hex ? parseHex(hex) : undefined) : base.fgRGB,
|
|
53
|
-
bgRGB: styles['background'] != null ? (bg ? parseHex(bg) : undefined) : base.bgRGB,
|
|
54
|
-
modifiers: mergeBCSSModifiers(base.modifiers, styles),
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
export function styleTextWithBCSS(text, ctx, identity, base = {}) {
|
|
58
|
-
if (!ctx)
|
|
59
|
-
return text;
|
|
60
|
-
const styles = ctx.resolveBCSS(identity);
|
|
61
|
-
const hex = styles['color'] ?? base.hex;
|
|
62
|
-
const bg = styles['background'] ?? base.bg;
|
|
63
|
-
const token = {
|
|
64
|
-
hex,
|
|
65
|
-
bg,
|
|
66
|
-
fgRGB: styles['color'] != null ? (hex ? parseHex(hex) : undefined) : base.fgRGB,
|
|
67
|
-
bgRGB: styles['background'] != null ? (bg ? parseHex(bg) : undefined) : base.bgRGB,
|
|
68
|
-
modifiers: mergeBCSSModifiers(base.modifiers, styles),
|
|
69
|
-
};
|
|
70
|
-
if (token.hex == null && token.bg == null && (token.modifiers == null || token.modifiers.length === 0)) {
|
|
71
|
-
return text;
|
|
72
|
-
}
|
|
73
|
-
return ctx.style.styled(toStyleToken(token), text);
|
|
74
|
-
}
|
|
3
|
+
import { resolveBCSSTextToken, } from './text-style-token.js';
|
|
75
4
|
function fillStyledText(surface, text, ctx, identity, base) {
|
|
76
5
|
const safeWidth = surface.width;
|
|
77
6
|
if (safeWidth === 0)
|
|
@@ -97,7 +26,9 @@ function fillStyledText(surface, text, ctx, identity, base) {
|
|
|
97
26
|
});
|
|
98
27
|
const graphemes = segmentGraphemes(text);
|
|
99
28
|
const packed = isPackedSurface(surface);
|
|
100
|
-
const fg = packed
|
|
29
|
+
const fg = packed
|
|
30
|
+
? (token.fgRGB ?? (token.hex ? parseHex(token.hex) : undefined))
|
|
31
|
+
: undefined;
|
|
101
32
|
if (packed && fg) {
|
|
102
33
|
const [fR, fG, fB] = fg;
|
|
103
34
|
const bg = token.bgRGB ?? (token.bg ? parseHex(token.bg) : undefined);
|
|
@@ -124,6 +55,7 @@ function fillStyledText(surface, text, ctx, identity, base) {
|
|
|
124
55
|
}
|
|
125
56
|
}
|
|
126
57
|
}
|
|
58
|
+
export { mergeBCSSModifiers, resolveBCSSTextToken, styleTextWithBCSS, toStyleToken, } from './text-style-token.js';
|
|
127
59
|
export function createStyledTextSurfaceWithBCSS(text, width, ctx, identity, base = {}) {
|
|
128
60
|
const safeWidth = Number.isFinite(width) ? Math.max(0, Math.floor(width)) : 0;
|
|
129
61
|
const surface = createSurface(safeWidth, 1, { char: ' ', empty: false });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-style.js","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"text-style.js","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ClockPort, Surface } from '@flyingrobots/bijou';
|
|
2
|
+
import type { EventBus } from './eventbus.js';
|
|
3
|
+
import type { App } from './types.js';
|
|
4
|
+
import type { BusMsg } from './eventbus.js';
|
|
5
|
+
import type { TestRuntimeCommandRecord, TestRuntimeCommandResolution, TestRuntimeOptions, TestRuntimeSnapshot } from './driver-harness-contract.js';
|
|
6
|
+
export type { TestHarness, TestRuntimeCommandRecord, TestRuntimeCommandResolution, TestRuntimeOptions, TestRuntimeSnapshot, } from './driver-harness-contract.js';
|
|
7
|
+
export type { MouseMoveStepOptions, MouseScriptStep, MouseScriptStepOptions, MouseWheelDirection, RunScriptOptions, RunScriptResult, ScriptStep, } from './driver-script-contract.js';
|
|
8
|
+
export interface DriverRuntimeState {
|
|
9
|
+
running: boolean;
|
|
10
|
+
tornDown: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface HarnessState<Model, M> {
|
|
13
|
+
readonly app: App<Model, M>;
|
|
14
|
+
readonly options: TestRuntimeOptions | undefined;
|
|
15
|
+
readonly bus: EventBus<M>;
|
|
16
|
+
readonly clock: ClockPort;
|
|
17
|
+
readonly start: number;
|
|
18
|
+
readonly runtime: DriverRuntimeState;
|
|
19
|
+
readonly frames: Surface[];
|
|
20
|
+
readonly snapshots: TestRuntimeSnapshot<Model, M>[];
|
|
21
|
+
readonly messages: BusMsg<M>[];
|
|
22
|
+
readonly emittedMessages: M[];
|
|
23
|
+
readonly commands: MutableCommandRecord<M>[];
|
|
24
|
+
model: Model;
|
|
25
|
+
currentSize: {
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
};
|
|
29
|
+
nextCommandId: number;
|
|
30
|
+
}
|
|
31
|
+
export interface MutableCommandRecord<M> extends TestRuntimeCommandRecord<M> {
|
|
32
|
+
emitted: M[];
|
|
33
|
+
resolution: TestRuntimeCommandResolution;
|
|
34
|
+
result?: unknown;
|
|
35
|
+
cleanedUp: boolean;
|
|
36
|
+
settled: boolean;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=driver-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-contract.d.ts","sourceRoot":"","sources":["../src/driver-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,OAAO,EACR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EACV,GAAG,EACJ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,WAAW,EACX,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY,CAAC,KAAK,EAAE,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,CACrC,SAAQ,wBAAwB,CAAC,CAAC,CAAC;IACnC,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,UAAU,EAAE,4BAA4B,CAAC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-contract.js","sourceRoot":"","sources":["../src/driver-contract.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { HarnessState, TestHarness } from './driver-contract.js';
|
|
2
|
+
/** Bind mutable harness state behind the public read-only test API. */
|
|
3
|
+
export declare function createHarnessApi<Model, M>(state: HarnessState<Model, M>): TestHarness<Model, M>;
|
|
4
|
+
//# sourceMappingURL=driver-harness-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-harness-api.d.ts","sourceRoot":"","sources":["../src/driver-harness-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAS9B,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,CAAC,EACvC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,GAC5B,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAiCvB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { latestSnapshot, processHarnessStep, settleHarness, teardownHarness, } from './driver-harness-state.js';
|
|
2
|
+
import { isStopped } from './driver-runtime.js';
|
|
3
|
+
/** Bind mutable harness state behind the public read-only test API. */
|
|
4
|
+
export function createHarnessApi(state) {
|
|
5
|
+
return {
|
|
6
|
+
get model() { return state.model; },
|
|
7
|
+
get frame() { return latestSnapshot(state).frame; },
|
|
8
|
+
get frames() { return state.frames; },
|
|
9
|
+
get snapshots() { return state.snapshots; },
|
|
10
|
+
get messages() { return state.messages; },
|
|
11
|
+
get emittedMessages() { return state.emittedMessages; },
|
|
12
|
+
get commands() { return state.commands; },
|
|
13
|
+
get elapsed() { return state.clock.now() - state.start; },
|
|
14
|
+
get running() { return !isStopped(state.runtime); },
|
|
15
|
+
snapshot: () => latestSnapshot(state),
|
|
16
|
+
settle: () => settleHarness(state),
|
|
17
|
+
step: (step) => processHarnessStep(state, step),
|
|
18
|
+
async run(steps) {
|
|
19
|
+
for (const step of steps) {
|
|
20
|
+
if (isStopped(state.runtime))
|
|
21
|
+
break;
|
|
22
|
+
await processHarnessStep(state, step);
|
|
23
|
+
}
|
|
24
|
+
return settleHarness(state);
|
|
25
|
+
},
|
|
26
|
+
press: (key, delay = 0) => processHarnessStep(state, { key, delay }),
|
|
27
|
+
resize: (columns, rows, delay = 0) => processHarnessStep(state, { resize: { columns, rows }, delay }),
|
|
28
|
+
pulse: (dt, delay = 0) => processHarnessStep(state, { pulse: { dt }, delay }),
|
|
29
|
+
mouse: (mouse, delay = 0) => processHarnessStep(state, { mouse, delay }),
|
|
30
|
+
emit: (msg, delay = 0) => processHarnessStep(state, { msg, delay }),
|
|
31
|
+
teardown: () => teardownHarness(state),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=driver-harness-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-harness-api.js","sourceRoot":"","sources":["../src/driver-harness-api.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAC9B,KAA6B;IAE7B,OAAO;QACL,IAAI,KAAK,KAAK,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,IAAI,MAAM,KAAK,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACrC,IAAI,SAAS,KAAK,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,IAAI,QAAQ,KAAK,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,IAAI,eAAe,KAAK,OAAO,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACvD,IAAI,QAAQ,KAAK,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnD,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;QACrC,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;QAClC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC;QAC/C,KAAK,CAAC,GAAG,CAAC,KAAK;YACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;oBAAE,MAAM;gBACpC,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CACxB,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC3C,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CACnC,kBAAkB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;QACjE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CACvB,kBAAkB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACrD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CAC1B,kBAAkB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC7C,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CACvB,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC3C,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type Cmd } from './types.js';
|
|
2
|
+
import type { HarnessState } from './driver-contract.js';
|
|
3
|
+
/** Wrap a command with observable settlement and cleanup facts. */
|
|
4
|
+
export declare function observeCommand<Model, M>(state: HarnessState<Model, M>, cmd: Cmd<M>, source: 'init' | 'update', triggerIndex: number | null): Cmd<M>;
|
|
5
|
+
//# sourceMappingURL=driver-harness-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-harness-command.d.ts","sourceRoot":"","sources":["../src/driver-harness-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EACT,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,sBAAsB,CAAC;AAE9B,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,KAAK,EAAE,CAAC,EACrC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAC7B,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EACX,MAAM,EAAE,MAAM,GAAG,QAAQ,EACzB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,GAAG,CAAC,CAAC,CAAC,CAuDR"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { isCmdCleanup, QUIT, } from './types.js';
|
|
2
|
+
/** Wrap a command with observable settlement and cleanup facts. */
|
|
3
|
+
export function observeCommand(state, cmd, source, triggerIndex) {
|
|
4
|
+
const record = {
|
|
5
|
+
id: state.nextCommandId++,
|
|
6
|
+
source,
|
|
7
|
+
triggerIndex,
|
|
8
|
+
emitted: [],
|
|
9
|
+
resolution: 'pending',
|
|
10
|
+
cleanedUp: false,
|
|
11
|
+
settled: false,
|
|
12
|
+
};
|
|
13
|
+
state.commands.push(record);
|
|
14
|
+
return async (emit, caps) => {
|
|
15
|
+
const trackedEmit = (msg) => {
|
|
16
|
+
record.emitted.push(msg);
|
|
17
|
+
state.emittedMessages.push(msg);
|
|
18
|
+
emit(msg);
|
|
19
|
+
};
|
|
20
|
+
try {
|
|
21
|
+
const result = await cmd(trackedEmit, caps);
|
|
22
|
+
record.settled = true;
|
|
23
|
+
if (isCmdCleanup(result)) {
|
|
24
|
+
record.resolution = 'cleanup';
|
|
25
|
+
record.result = result;
|
|
26
|
+
if (typeof result === 'function') {
|
|
27
|
+
return () => {
|
|
28
|
+
record.cleanedUp = true;
|
|
29
|
+
result();
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
dispose() {
|
|
34
|
+
record.cleanedUp = true;
|
|
35
|
+
result.dispose();
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (result === QUIT) {
|
|
40
|
+
record.resolution = 'quit';
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
if (result !== undefined) {
|
|
44
|
+
record.resolution = 'message';
|
|
45
|
+
record.result = result;
|
|
46
|
+
state.emittedMessages.push(result);
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
record.resolution = 'void';
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
record.settled = true;
|
|
54
|
+
record.resolution = 'rejected';
|
|
55
|
+
record.result = error;
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=driver-harness-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-harness-command.js","sourceRoot":"","sources":["../src/driver-harness-command.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,IAAI,GAEL,MAAM,YAAY,CAAC;AAMpB,mEAAmE;AACnE,MAAM,UAAU,cAAc,CAC5B,KAA6B,EAC7B,GAAW,EACX,MAAyB,EACzB,YAA2B;IAE3B,MAAM,MAAM,GAA4B;QACtC,EAAE,EAAE,KAAK,CAAC,aAAa,EAAE;QACzB,MAAM;QACN,YAAY;QACZ,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;KACf,CAAC;IACF,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC1B,MAAM,WAAW,GAAG,CAAC,GAAM,EAAQ,EAAE;YACnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC9B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACvB,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,OAAO,GAAG,EAAE;wBACV,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;wBACxB,MAAM,EAAE,CAAC;oBACX,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,OAAO;wBACL,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;wBACxB,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,CAAC;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;gBAC3B,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC9B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACvB,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;YAC/B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { Surface } from '@flyingrobots/bijou';
|
|
2
|
+
import type { BusMsg } from './eventbus.js';
|
|
3
|
+
import type { MouseMsg } from './types.js';
|
|
4
|
+
import type { RunScriptOptions, ScriptStep } from './driver-script-contract.js';
|
|
5
|
+
/** Options for the interactive test runtime. */
|
|
6
|
+
export type TestRuntimeOptions = RunScriptOptions;
|
|
7
|
+
/** Final outcome recorded for a command observed by a test runtime. */
|
|
8
|
+
export type TestRuntimeCommandResolution = 'pending' | 'message' | 'quit' | 'cleanup' | 'void' | 'rejected';
|
|
9
|
+
/**
|
|
10
|
+
* Recorded command behavior captured by a test harness.
|
|
11
|
+
*
|
|
12
|
+
* `emitted` contains messages pushed through the command's `emit()` callback,
|
|
13
|
+
* while `result` records the command's final return value when it settles.
|
|
14
|
+
*/
|
|
15
|
+
export interface TestRuntimeCommandRecord<M> {
|
|
16
|
+
/** Stable id assigned in runtime execution order. */
|
|
17
|
+
readonly id: number;
|
|
18
|
+
/** Whether the command originated from `init()` or an `update()` turn. */
|
|
19
|
+
readonly source: 'init' | 'update';
|
|
20
|
+
/** Index into the handled messages for update-triggered commands. */
|
|
21
|
+
readonly triggerIndex: number | null;
|
|
22
|
+
/** Messages emitted incrementally through `emit(msg)`. */
|
|
23
|
+
readonly emitted: readonly M[];
|
|
24
|
+
/** How the command ultimately settled. */
|
|
25
|
+
readonly resolution: TestRuntimeCommandResolution;
|
|
26
|
+
/** Final returned value when the command settled with a value or error. */
|
|
27
|
+
readonly result?: unknown;
|
|
28
|
+
/** Whether runtime teardown disposed the command's cleanup handle. */
|
|
29
|
+
readonly cleanedUp: boolean;
|
|
30
|
+
/** Whether the command has finished executing. */
|
|
31
|
+
readonly settled: boolean;
|
|
32
|
+
}
|
|
33
|
+
/** Render/model checkpoint captured by a test harness. */
|
|
34
|
+
export interface TestRuntimeSnapshot<Model, M> {
|
|
35
|
+
/** Zero-based snapshot index. */
|
|
36
|
+
readonly index: number;
|
|
37
|
+
/** Whether this frame came from initial render or an update turn. */
|
|
38
|
+
readonly cause: 'init' | 'update';
|
|
39
|
+
/** Message that triggered the update render, when applicable. */
|
|
40
|
+
readonly message?: BusMsg<M>;
|
|
41
|
+
/** Model value visible to the view at this snapshot. */
|
|
42
|
+
readonly model: Model;
|
|
43
|
+
/** Normalized rendered frame. */
|
|
44
|
+
readonly frame: Surface;
|
|
45
|
+
}
|
|
46
|
+
/** Interactive, inspectable test harness for a TEA runtime. */
|
|
47
|
+
export interface TestHarness<Model, M> {
|
|
48
|
+
/** Latest model state. */
|
|
49
|
+
readonly model: Model;
|
|
50
|
+
/** Latest rendered frame. */
|
|
51
|
+
readonly frame: Surface;
|
|
52
|
+
/** All rendered frames in order, including the initial render. */
|
|
53
|
+
readonly frames: readonly Surface[];
|
|
54
|
+
/** Recorded render/model checkpoints. */
|
|
55
|
+
readonly snapshots: readonly TestRuntimeSnapshot<Model, M>[];
|
|
56
|
+
/** All handled runtime messages in delivery order. */
|
|
57
|
+
readonly messages: readonly BusMsg<M>[];
|
|
58
|
+
/** Custom messages emitted or returned by commands. */
|
|
59
|
+
readonly emittedMessages: readonly M[];
|
|
60
|
+
/** Recorded command lifecycle outcomes. */
|
|
61
|
+
readonly commands: readonly TestRuntimeCommandRecord<M>[];
|
|
62
|
+
/** Milliseconds elapsed on the active runtime clock. */
|
|
63
|
+
readonly elapsed: number;
|
|
64
|
+
/** Whether the harness is still accepting steps. */
|
|
65
|
+
readonly running: boolean;
|
|
66
|
+
/** Return the latest snapshot. */
|
|
67
|
+
snapshot(): TestRuntimeSnapshot<Model, M>;
|
|
68
|
+
/** Wait until in-flight commands settle. */
|
|
69
|
+
settle(): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
70
|
+
/** Feed a single scripted step through the runtime. */
|
|
71
|
+
step(step: ScriptStep<M>): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
72
|
+
/** Feed multiple scripted steps through the runtime. */
|
|
73
|
+
run(steps: ScriptStep<M>[]): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
74
|
+
/** Emit a key step. */
|
|
75
|
+
press(key: string, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
76
|
+
/** Emit a resize step. */
|
|
77
|
+
resize(columns: number, rows: number, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
78
|
+
/** Emit a pulse step. */
|
|
79
|
+
pulse(dt: number, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
80
|
+
/** Emit a mouse step. */
|
|
81
|
+
mouse(message: MouseMsg, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
82
|
+
/** Emit a custom application message directly. */
|
|
83
|
+
emit(msg: M, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
84
|
+
/** Stop the runtime and dispose retained command cleanups. */
|
|
85
|
+
teardown(): Promise<void>;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=driver-harness-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-harness-contract.d.ts","sourceRoot":"","sources":["../src/driver-harness-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-harness-contract.js","sourceRoot":"","sources":["../src/driver-harness-contract.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BusMsg } from './eventbus.js';
|
|
2
|
+
import type { HarnessState, ScriptStep, TestRuntimeSnapshot } from './driver-contract.js';
|
|
3
|
+
export declare function latestSnapshot<Model, M>(state: HarnessState<Model, M>): TestRuntimeSnapshot<Model, M>;
|
|
4
|
+
export declare function captureSnapshot<Model, M>(state: HarnessState<Model, M>, cause: 'init' | 'update', message?: BusMsg<M>): TestRuntimeSnapshot<Model, M>;
|
|
5
|
+
export declare function settleHarness<Model, M>(state: HarnessState<Model, M>): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
6
|
+
export declare function processHarnessStep<Model, M>(state: HarnessState<Model, M>, step: ScriptStep<M>): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
7
|
+
export declare function teardownHarness<Model, M>(state: HarnessState<Model, M>): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=driver-harness-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-harness-state.d.ts","sourceRoot":"","sources":["../src/driver-harness-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAO9B,wBAAgB,cAAc,CAAC,KAAK,EAAE,CAAC,EACrC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,GAC5B,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,CAM/B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,CAAC,EACtC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAC7B,KAAK,EAAE,MAAM,GAAG,QAAQ,EACxB,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAClB,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,CAa/B;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,CAAC,EAC1C,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,GAC5B,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAGxC;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAC/C,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAC7B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAIxC;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,CAAC,EAC5C,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { dispatchScriptStep, isStopped, normalizeFrame, } from './driver-runtime.js';
|
|
2
|
+
export function latestSnapshot(state) {
|
|
3
|
+
const snapshot = state.snapshots.at(-1);
|
|
4
|
+
if (snapshot === undefined) {
|
|
5
|
+
throw new Error('testRuntime: no snapshots captured');
|
|
6
|
+
}
|
|
7
|
+
return snapshot;
|
|
8
|
+
}
|
|
9
|
+
export function captureSnapshot(state, cause, message) {
|
|
10
|
+
const frame = normalizeFrame(state.app, state.model, state.currentSize);
|
|
11
|
+
state.frames.push(frame);
|
|
12
|
+
state.options?.onFrame?.(frame, state.frames.length - 1);
|
|
13
|
+
const snapshot = {
|
|
14
|
+
index: state.snapshots.length,
|
|
15
|
+
cause,
|
|
16
|
+
message,
|
|
17
|
+
model: state.model,
|
|
18
|
+
frame,
|
|
19
|
+
};
|
|
20
|
+
state.snapshots.push(snapshot);
|
|
21
|
+
return snapshot;
|
|
22
|
+
}
|
|
23
|
+
export async function settleHarness(state) {
|
|
24
|
+
await state.bus.drain();
|
|
25
|
+
return latestSnapshot(state);
|
|
26
|
+
}
|
|
27
|
+
export async function processHarnessStep(state, step) {
|
|
28
|
+
if (isStopped(state.runtime))
|
|
29
|
+
return latestSnapshot(state);
|
|
30
|
+
await dispatchScriptStep(state.bus, state.clock, state.runtime, step);
|
|
31
|
+
return settleHarness(state);
|
|
32
|
+
}
|
|
33
|
+
export async function teardownHarness(state) {
|
|
34
|
+
if (state.runtime.tornDown)
|
|
35
|
+
return;
|
|
36
|
+
state.runtime.tornDown = true;
|
|
37
|
+
state.runtime.running = false;
|
|
38
|
+
state.bus.stopPulse();
|
|
39
|
+
state.bus.dispose();
|
|
40
|
+
await Promise.resolve();
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=driver-harness-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-harness-state.js","sourceRoot":"","sources":["../src/driver-harness-state.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,cAAc,CAC5B,KAA6B;IAE7B,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAA6B,EAC7B,KAAwB,EACxB,OAAmB;IAEnB,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACxE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAkC;QAC9C,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;QAC7B,KAAK;QACL,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK;KACN,CAAC;IACF,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAA6B;IAE7B,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACxB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA6B,EAC7B,IAAmB;IAEnB,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAA6B;IAE7B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ;QAAE,OAAO;IACnC,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9B,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IACtB,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACpB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TestHarness, TestRuntimeOptions } from './driver-contract.js';
|
|
2
|
+
import type { App } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Start a TEA app inside an inspectable deterministic test harness.
|
|
5
|
+
*
|
|
6
|
+
* The harness renders the initial frame, settles init commands, and then lets
|
|
7
|
+
* callers feed steps while inspecting snapshots, messages, command outcomes,
|
|
8
|
+
* and cleanup disposal.
|
|
9
|
+
*/
|
|
10
|
+
export declare function testRuntime<Model, M>(app: App<Model, M>, options?: TestRuntimeOptions): Promise<TestHarness<Model, M>>;
|
|
11
|
+
//# sourceMappingURL=driver-harness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-harness.d.ts","sourceRoot":"","sources":["../src/driver-harness.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAGV,WAAW,EACX,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAW9B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,CAAC,EACxC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAClB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAyEhC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { resolveClock, } from '@flyingrobots/bijou';
|
|
2
|
+
import { createEventBus } from './eventbus.js';
|
|
3
|
+
import { installBCSSResolver } from './css/install.js';
|
|
4
|
+
import { isResizeMsg } from './types.js';
|
|
5
|
+
import { createHarnessApi } from './driver-harness-api.js';
|
|
6
|
+
import { observeCommand } from './driver-harness-command.js';
|
|
7
|
+
import { captureSnapshot, teardownHarness, } from './driver-harness-state.js';
|
|
8
|
+
import { createDriverRuntimeState, initialSize, } from './driver-runtime.js';
|
|
9
|
+
/**
|
|
10
|
+
* Start a TEA app inside an inspectable deterministic test harness.
|
|
11
|
+
*
|
|
12
|
+
* The harness renders the initial frame, settles init commands, and then lets
|
|
13
|
+
* callers feed steps while inspecting snapshots, messages, command outcomes,
|
|
14
|
+
* and cleanup disposal.
|
|
15
|
+
*/
|
|
16
|
+
export async function testRuntime(app, options) {
|
|
17
|
+
const clock = resolveClock(options?.ctx);
|
|
18
|
+
const start = clock.now();
|
|
19
|
+
const bus = createEventBus({ clock });
|
|
20
|
+
const frames = [];
|
|
21
|
+
const snapshots = [];
|
|
22
|
+
const messages = [];
|
|
23
|
+
const emittedMessages = [];
|
|
24
|
+
const commands = [];
|
|
25
|
+
if (options?.ctx != null) {
|
|
26
|
+
installBCSSResolver(options.ctx, options.css);
|
|
27
|
+
}
|
|
28
|
+
if (options?.pulseFps !== false) {
|
|
29
|
+
bus.startPulse(options?.pulseFps ?? options?.ctx?.runtime.refreshRate ?? 60);
|
|
30
|
+
}
|
|
31
|
+
const [initialModel, initialCommands] = (() => {
|
|
32
|
+
try {
|
|
33
|
+
return app.init();
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
bus.stopPulse();
|
|
37
|
+
bus.dispose();
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
})();
|
|
41
|
+
const state = {
|
|
42
|
+
app,
|
|
43
|
+
options,
|
|
44
|
+
bus,
|
|
45
|
+
clock,
|
|
46
|
+
start,
|
|
47
|
+
runtime: createDriverRuntimeState(),
|
|
48
|
+
frames,
|
|
49
|
+
snapshots,
|
|
50
|
+
messages,
|
|
51
|
+
emittedMessages,
|
|
52
|
+
commands,
|
|
53
|
+
model: initialModel,
|
|
54
|
+
currentSize: initialSize(options?.ctx),
|
|
55
|
+
nextCommandId: 0,
|
|
56
|
+
};
|
|
57
|
+
bus.onQuit(() => {
|
|
58
|
+
state.runtime.running = false;
|
|
59
|
+
});
|
|
60
|
+
bus.on((msg) => {
|
|
61
|
+
if (!state.runtime.running)
|
|
62
|
+
return;
|
|
63
|
+
state.messages.push(msg);
|
|
64
|
+
const [model, commands] = app.update(msg, state.model);
|
|
65
|
+
state.model = model;
|
|
66
|
+
if (isResizeMsg(msg)) {
|
|
67
|
+
state.currentSize = {
|
|
68
|
+
width: Math.max(0, msg.columns),
|
|
69
|
+
height: Math.max(0, msg.rows),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
captureSnapshot(state, 'update', msg);
|
|
73
|
+
const triggerIndex = state.messages.length - 1;
|
|
74
|
+
for (const command of commands) {
|
|
75
|
+
bus.runCmd(observeCommand(state, command, 'update', triggerIndex));
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
try {
|
|
79
|
+
captureSnapshot(state, 'init');
|
|
80
|
+
for (const command of initialCommands) {
|
|
81
|
+
bus.runCmd(observeCommand(state, command, 'init', null));
|
|
82
|
+
}
|
|
83
|
+
await bus.drain();
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
await teardownHarness(state);
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
return createHarnessApi(state);
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=driver-harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-harness.js","sourceRoot":"","sources":["../src/driver-harness.ts"],"names":[],"mappings":"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"}
|