@inhuman.tools/quickdraw 0.0.0-stage → 0.2.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.md +7 -0
- package/README.md +101 -2
- package/aurora.vert +168 -0
- package/dist/bench/host.d.ts +62 -0
- package/dist/bench/host.d.ts.map +1 -0
- package/dist/bench/host.js +77 -0
- package/dist/bench/host.js.map +1 -0
- package/dist/bench/main.d.ts +6 -0
- package/dist/bench/main.d.ts.map +1 -0
- package/dist/bench/main.js +118 -0
- package/dist/bench/main.js.map +1 -0
- package/dist/bench/model.d.ts +36 -0
- package/dist/bench/model.d.ts.map +1 -0
- package/dist/bench/model.js +112 -0
- package/dist/bench/model.js.map +1 -0
- package/dist/bench/tea.d.ts +14 -0
- package/dist/bench/tea.d.ts.map +1 -0
- package/dist/bench/tea.js +6 -0
- package/dist/bench/tea.js.map +1 -0
- package/dist/bench/view.d.ts +9 -0
- package/dist/bench/view.d.ts.map +1 -0
- package/dist/bench/view.js +88 -0
- package/dist/bench/view.js.map +1 -0
- package/dist/bench/worker.d.ts +6 -0
- package/dist/bench/worker.d.ts.map +1 -0
- package/dist/bench/worker.js +46 -0
- package/dist/bench/worker.js.map +1 -0
- package/dist/buffer/bgfx-mark.d.ts +32 -0
- package/dist/buffer/bgfx-mark.d.ts.map +1 -0
- package/dist/buffer/bgfx-mark.js +43 -0
- package/dist/buffer/bgfx-mark.js.map +1 -0
- package/dist/buffer/index.d.ts +191 -0
- package/dist/buffer/index.d.ts.map +1 -0
- package/dist/buffer/index.js +353 -0
- package/dist/buffer/index.js.map +1 -0
- package/dist/capabilities/env.d.ts +23 -0
- package/dist/capabilities/env.d.ts.map +1 -0
- package/dist/capabilities/env.js +35 -0
- package/dist/capabilities/env.js.map +1 -0
- package/dist/capabilities/index.d.ts +13 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +13 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/parse.d.ts +41 -0
- package/dist/capabilities/parse.d.ts.map +1 -0
- package/dist/capabilities/parse.js +86 -0
- package/dist/capabilities/parse.js.map +1 -0
- package/dist/capabilities/probe.d.ts +37 -0
- package/dist/capabilities/probe.d.ts.map +1 -0
- package/dist/capabilities/probe.js +75 -0
- package/dist/capabilities/probe.js.map +1 -0
- package/dist/capabilities/sequences.d.ts +33 -0
- package/dist/capabilities/sequences.d.ts.map +1 -0
- package/dist/capabilities/sequences.js +36 -0
- package/dist/capabilities/sequences.js.map +1 -0
- package/dist/capabilities/types.d.ts +25 -0
- package/dist/capabilities/types.d.ts.map +1 -0
- package/dist/capabilities/types.js +5 -0
- package/dist/capabilities/types.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/input/decode.d.ts +167 -0
- package/dist/input/decode.d.ts.map +1 -0
- package/dist/input/decode.js +825 -0
- package/dist/input/decode.js.map +1 -0
- package/dist/input/draft.d.ts +85 -0
- package/dist/input/draft.d.ts.map +1 -0
- package/dist/input/draft.js +276 -0
- package/dist/input/draft.js.map +1 -0
- package/dist/input/index.d.ts +3 -0
- package/dist/input/index.d.ts.map +1 -0
- package/dist/input/index.js +3 -0
- package/dist/input/index.js.map +1 -0
- package/dist/input/prompt-blocks.d.ts +58 -0
- package/dist/input/prompt-blocks.d.ts.map +1 -0
- package/dist/input/prompt-blocks.js +48 -0
- package/dist/input/prompt-blocks.js.map +1 -0
- package/dist/input/rich-draft.d.ts +46 -0
- package/dist/input/rich-draft.d.ts.map +1 -0
- package/dist/input/rich-draft.js +391 -0
- package/dist/input/rich-draft.js.map +1 -0
- package/dist/input/rich-hit.d.ts +17 -0
- package/dist/input/rich-hit.d.ts.map +1 -0
- package/dist/input/rich-hit.js +89 -0
- package/dist/input/rich-hit.js.map +1 -0
- package/dist/input/rich-intake.d.ts +16 -0
- package/dist/input/rich-intake.d.ts.map +1 -0
- package/dist/input/rich-intake.js +22 -0
- package/dist/input/rich-intake.js.map +1 -0
- package/dist/input/rich-paint.d.ts +13 -0
- package/dist/input/rich-paint.d.ts.map +1 -0
- package/dist/input/rich-paint.js +18 -0
- package/dist/input/rich-paint.js.map +1 -0
- package/dist/internals/bgfx/index.d.ts +17 -0
- package/dist/internals/bgfx/index.d.ts.map +1 -0
- package/dist/internals/bgfx/index.js +17 -0
- package/dist/internals/bgfx/index.js.map +1 -0
- package/dist/internals/bgfx/materialize.d.ts +31 -0
- package/dist/internals/bgfx/materialize.d.ts.map +1 -0
- package/dist/internals/bgfx/materialize.js +117 -0
- package/dist/internals/bgfx/materialize.js.map +1 -0
- package/dist/internals/bgfx/opacity.d.ts +37 -0
- package/dist/internals/bgfx/opacity.d.ts.map +1 -0
- package/dist/internals/bgfx/opacity.js +76 -0
- package/dist/internals/bgfx/opacity.js.map +1 -0
- package/dist/internals/bgfx/registry.d.ts +13 -0
- package/dist/internals/bgfx/registry.d.ts.map +1 -0
- package/dist/internals/bgfx/registry.js +24 -0
- package/dist/internals/bgfx/registry.js.map +1 -0
- package/dist/internals/bgfx/sab-layout.d.ts +61 -0
- package/dist/internals/bgfx/sab-layout.d.ts.map +1 -0
- package/dist/internals/bgfx/sab-layout.js +107 -0
- package/dist/internals/bgfx/sab-layout.js.map +1 -0
- package/dist/internals/bgfx/shader-frame-host.d.ts +22 -0
- package/dist/internals/bgfx/shader-frame-host.d.ts.map +1 -0
- package/dist/internals/bgfx/shader-frame-host.js +165 -0
- package/dist/internals/bgfx/shader-frame-host.js.map +1 -0
- package/dist/internals/bgfx/shadertoy-catalog.d.ts +41 -0
- package/dist/internals/bgfx/shadertoy-catalog.d.ts.map +1 -0
- package/dist/internals/bgfx/shadertoy-catalog.js +200 -0
- package/dist/internals/bgfx/shadertoy-catalog.js.map +1 -0
- package/dist/internals/bgfx/shadertoy-gl.d.ts +38 -0
- package/dist/internals/bgfx/shadertoy-gl.d.ts.map +1 -0
- package/dist/internals/bgfx/shadertoy-gl.js +283 -0
- package/dist/internals/bgfx/shadertoy-gl.js.map +1 -0
- package/dist/internals/bgfx/types.d.ts +51 -0
- package/dist/internals/bgfx/types.d.ts.map +1 -0
- package/dist/internals/bgfx/types.js +14 -0
- package/dist/internals/bgfx/types.js.map +1 -0
- package/dist/internals/bgfx-worker.d.ts +6 -0
- package/dist/internals/bgfx-worker.d.ts.map +1 -0
- package/dist/internals/bgfx-worker.js +131 -0
- package/dist/internals/bgfx-worker.js.map +1 -0
- package/dist/layout/birth.d.ts +77 -0
- package/dist/layout/birth.d.ts.map +1 -0
- package/dist/layout/birth.js +148 -0
- package/dist/layout/birth.js.map +1 -0
- package/dist/layout/children.d.ts +5 -0
- package/dist/layout/children.d.ts.map +1 -0
- package/dist/layout/children.js +19 -0
- package/dist/layout/children.js.map +1 -0
- package/dist/layout/chrome_frame.d.ts +254 -0
- package/dist/layout/chrome_frame.d.ts.map +1 -0
- package/dist/layout/chrome_frame.js +1080 -0
- package/dist/layout/chrome_frame.js.map +1 -0
- package/dist/layout/chrome_mask.d.ts +40 -0
- package/dist/layout/chrome_mask.d.ts.map +1 -0
- package/dist/layout/chrome_mask.js +150 -0
- package/dist/layout/chrome_mask.js.map +1 -0
- package/dist/layout/engine.d.ts +49 -0
- package/dist/layout/engine.d.ts.map +1 -0
- package/dist/layout/engine.js +1269 -0
- package/dist/layout/engine.js.map +1 -0
- package/dist/layout/flex.d.ts +36 -0
- package/dist/layout/flex.d.ts.map +1 -0
- package/dist/layout/flex.js +111 -0
- package/dist/layout/flex.js.map +1 -0
- package/dist/layout/grid.d.ts +36 -0
- package/dist/layout/grid.d.ts.map +1 -0
- package/dist/layout/grid.js +126 -0
- package/dist/layout/grid.js.map +1 -0
- package/dist/layout/index.d.ts +30 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +30 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/layout/indication.d.ts +34 -0
- package/dist/layout/indication.d.ts.map +1 -0
- package/dist/layout/indication.js +68 -0
- package/dist/layout/indication.js.map +1 -0
- package/dist/layout/length.d.ts +18 -0
- package/dist/layout/length.d.ts.map +1 -0
- package/dist/layout/length.js +24 -0
- package/dist/layout/length.js.map +1 -0
- package/dist/layout/live_paint.d.ts +145 -0
- package/dist/layout/live_paint.d.ts.map +1 -0
- package/dist/layout/live_paint.js +255 -0
- package/dist/layout/live_paint.js.map +1 -0
- package/dist/layout/markdown.d.ts +22 -0
- package/dist/layout/markdown.d.ts.map +1 -0
- package/dist/layout/markdown.js +167 -0
- package/dist/layout/markdown.js.map +1 -0
- package/dist/layout/measure.d.ts +46 -0
- package/dist/layout/measure.d.ts.map +1 -0
- package/dist/layout/measure.js +307 -0
- package/dist/layout/measure.js.map +1 -0
- package/dist/layout/paint-hotkey.d.ts +45 -0
- package/dist/layout/paint-hotkey.d.ts.map +1 -0
- package/dist/layout/paint-hotkey.js +152 -0
- package/dist/layout/paint-hotkey.js.map +1 -0
- package/dist/layout/paint.d.ts +25 -0
- package/dist/layout/paint.d.ts.map +1 -0
- package/dist/layout/paint.js +189 -0
- package/dist/layout/paint.js.map +1 -0
- package/dist/layout/paint_theme.d.ts +85 -0
- package/dist/layout/paint_theme.d.ts.map +1 -0
- package/dist/layout/paint_theme.js +76 -0
- package/dist/layout/paint_theme.js.map +1 -0
- package/dist/layout/progress.d.ts +31 -0
- package/dist/layout/progress.d.ts.map +1 -0
- package/dist/layout/progress.js +83 -0
- package/dist/layout/progress.js.map +1 -0
- package/dist/layout/selection.d.ts +136 -0
- package/dist/layout/selection.d.ts.map +1 -0
- package/dist/layout/selection.js +312 -0
- package/dist/layout/selection.js.map +1 -0
- package/dist/layout/selection_gesture.d.ts +88 -0
- package/dist/layout/selection_gesture.d.ts.map +1 -0
- package/dist/layout/selection_gesture.js +239 -0
- package/dist/layout/selection_gesture.js.map +1 -0
- package/dist/layout/selection_paint.d.ts +47 -0
- package/dist/layout/selection_paint.d.ts.map +1 -0
- package/dist/layout/selection_paint.js +320 -0
- package/dist/layout/selection_paint.js.map +1 -0
- package/dist/layout/serialize.d.ts +49 -0
- package/dist/layout/serialize.d.ts.map +1 -0
- package/dist/layout/serialize.js +437 -0
- package/dist/layout/serialize.js.map +1 -0
- package/dist/layout/squeeze.d.ts +58 -0
- package/dist/layout/squeeze.d.ts.map +1 -0
- package/dist/layout/squeeze.js +239 -0
- package/dist/layout/squeeze.js.map +1 -0
- package/dist/layout/text.d.ts +44 -0
- package/dist/layout/text.d.ts.map +1 -0
- package/dist/layout/text.js +230 -0
- package/dist/layout/text.js.map +1 -0
- package/dist/layout/theme_store.d.ts +21 -0
- package/dist/layout/theme_store.d.ts.map +1 -0
- package/dist/layout/theme_store.js +133 -0
- package/dist/layout/theme_store.js.map +1 -0
- package/dist/layout/types.d.ts +564 -0
- package/dist/layout/types.d.ts.map +1 -0
- package/dist/layout/types.js +2 -0
- package/dist/layout/types.js.map +1 -0
- package/dist/layout/visual_draft.d.ts +60 -0
- package/dist/layout/visual_draft.d.ts.map +1 -0
- package/dist/layout/visual_draft.js +199 -0
- package/dist/layout/visual_draft.js.map +1 -0
- package/dist/lexicon/color.d.ts +22 -0
- package/dist/lexicon/color.d.ts.map +1 -0
- package/dist/lexicon/color.js +6 -0
- package/dist/lexicon/color.js.map +1 -0
- package/dist/lexicon/index.d.ts +15 -0
- package/dist/lexicon/index.d.ts.map +1 -0
- package/dist/lexicon/index.js +15 -0
- package/dist/lexicon/index.js.map +1 -0
- package/dist/lexicon/prominence.d.ts +46 -0
- package/dist/lexicon/prominence.d.ts.map +1 -0
- package/dist/lexicon/prominence.js +73 -0
- package/dist/lexicon/prominence.js.map +1 -0
- package/dist/lexicon/quarantine.d.ts +21 -0
- package/dist/lexicon/quarantine.d.ts.map +1 -0
- package/dist/lexicon/quarantine.js +15 -0
- package/dist/lexicon/quarantine.js.map +1 -0
- package/dist/lexicon/roles.d.ts +37 -0
- package/dist/lexicon/roles.d.ts.map +1 -0
- package/dist/lexicon/roles.js +52 -0
- package/dist/lexicon/roles.js.map +1 -0
- package/dist/lexicon/tiers.d.ts +18 -0
- package/dist/lexicon/tiers.d.ts.map +1 -0
- package/dist/lexicon/tiers.js +17 -0
- package/dist/lexicon/tiers.js.map +1 -0
- package/dist/measure/index.d.ts +43 -0
- package/dist/measure/index.d.ts.map +1 -0
- package/dist/measure/index.js +120 -0
- package/dist/measure/index.js.map +1 -0
- package/dist/render.d.ts +72 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +164 -0
- package/dist/render.js.map +1 -0
- package/dist/runtime/agents_keys.d.ts +8 -0
- package/dist/runtime/agents_keys.d.ts.map +1 -0
- package/dist/runtime/agents_keys.js +24 -0
- package/dist/runtime/agents_keys.js.map +1 -0
- package/dist/runtime/agents_peek.d.ts +44 -0
- package/dist/runtime/agents_peek.d.ts.map +1 -0
- package/dist/runtime/agents_peek.js +96 -0
- package/dist/runtime/agents_peek.js.map +1 -0
- package/dist/runtime/agents_preview.d.ts +27 -0
- package/dist/runtime/agents_preview.d.ts.map +1 -0
- package/dist/runtime/agents_preview.js +122 -0
- package/dist/runtime/agents_preview.js.map +1 -0
- package/dist/runtime/box_bus.d.ts +144 -0
- package/dist/runtime/box_bus.d.ts.map +1 -0
- package/dist/runtime/box_bus.js +74 -0
- package/dist/runtime/box_bus.js.map +1 -0
- package/dist/runtime/clipboard-image.d.ts +20 -0
- package/dist/runtime/clipboard-image.d.ts.map +1 -0
- package/dist/runtime/clipboard-image.js +62 -0
- package/dist/runtime/clipboard-image.js.map +1 -0
- package/dist/runtime/copy_toast.d.ts +46 -0
- package/dist/runtime/copy_toast.d.ts.map +1 -0
- package/dist/runtime/copy_toast.js +117 -0
- package/dist/runtime/copy_toast.js.map +1 -0
- package/dist/runtime/echo.d.ts +41 -0
- package/dist/runtime/echo.d.ts.map +1 -0
- package/dist/runtime/echo.js +112 -0
- package/dist/runtime/echo.js.map +1 -0
- package/dist/runtime/frame.d.ts +79 -0
- package/dist/runtime/frame.d.ts.map +1 -0
- package/dist/runtime/frame.js +258 -0
- package/dist/runtime/frame.js.map +1 -0
- package/dist/runtime/index.d.ts +16 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +16 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/key_buffer.d.ts +19 -0
- package/dist/runtime/key_buffer.d.ts.map +1 -0
- package/dist/runtime/key_buffer.js +24 -0
- package/dist/runtime/key_buffer.js.map +1 -0
- package/dist/runtime/keys.d.ts +66 -0
- package/dist/runtime/keys.d.ts.map +1 -0
- package/dist/runtime/keys.js +220 -0
- package/dist/runtime/keys.js.map +1 -0
- package/dist/runtime/paint_snapshot.d.ts +9 -0
- package/dist/runtime/paint_snapshot.d.ts.map +1 -0
- package/dist/runtime/paint_snapshot.js +8 -0
- package/dist/runtime/paint_snapshot.js.map +1 -0
- package/dist/runtime/paint_source.d.ts +266 -0
- package/dist/runtime/paint_source.d.ts.map +1 -0
- package/dist/runtime/paint_source.js +532 -0
- package/dist/runtime/paint_source.js.map +1 -0
- package/dist/runtime/present_loop.d.ts +11 -0
- package/dist/runtime/present_loop.d.ts.map +1 -0
- package/dist/runtime/present_loop.js +46 -0
- package/dist/runtime/present_loop.js.map +1 -0
- package/dist/runtime/present_profile.d.ts +58 -0
- package/dist/runtime/present_profile.d.ts.map +1 -0
- package/dist/runtime/present_profile.js +130 -0
- package/dist/runtime/present_profile.js.map +1 -0
- package/dist/runtime/raster.d.ts +24 -0
- package/dist/runtime/raster.d.ts.map +1 -0
- package/dist/runtime/raster.js +43 -0
- package/dist/runtime/raster.js.map +1 -0
- package/dist/runtime/renderer.d.ts +151 -0
- package/dist/runtime/renderer.d.ts.map +1 -0
- package/dist/runtime/renderer.js +1607 -0
- package/dist/runtime/renderer.js.map +1 -0
- package/dist/runtime/screenshot.d.ts +9 -0
- package/dist/runtime/screenshot.d.ts.map +1 -0
- package/dist/runtime/screenshot.js +111 -0
- package/dist/runtime/screenshot.js.map +1 -0
- package/dist/runtime/selection_host.d.ts +41 -0
- package/dist/runtime/selection_host.d.ts.map +1 -0
- package/dist/runtime/selection_host.js +190 -0
- package/dist/runtime/selection_host.js.map +1 -0
- package/dist/runtime/stderr_hold.d.ts +16 -0
- package/dist/runtime/stderr_hold.d.ts.map +1 -0
- package/dist/runtime/stderr_hold.js +23 -0
- package/dist/runtime/stderr_hold.js.map +1 -0
- package/dist/runtime/thought_birth.d.ts +25 -0
- package/dist/runtime/thought_birth.d.ts.map +1 -0
- package/dist/runtime/thought_birth.js +122 -0
- package/dist/runtime/thought_birth.js.map +1 -0
- package/dist/runtime/thought_collapsed.d.ts +35 -0
- package/dist/runtime/thought_collapsed.d.ts.map +1 -0
- package/dist/runtime/thought_collapsed.js +94 -0
- package/dist/runtime/thought_collapsed.js.map +1 -0
- package/dist/runtime/tty.d.ts +58 -0
- package/dist/runtime/tty.d.ts.map +1 -0
- package/dist/runtime/tty.js +130 -0
- package/dist/runtime/tty.js.map +1 -0
- package/dist/theme/ansi16.d.ts +34 -0
- package/dist/theme/ansi16.d.ts.map +1 -0
- package/dist/theme/ansi16.js +181 -0
- package/dist/theme/ansi16.js.map +1 -0
- package/dist/theme/ansi256.d.ts +15 -0
- package/dist/theme/ansi256.d.ts.map +1 -0
- package/dist/theme/ansi256.js +94 -0
- package/dist/theme/ansi256.js.map +1 -0
- package/dist/theme/ground.d.ts +8 -0
- package/dist/theme/ground.d.ts.map +1 -0
- package/dist/theme/ground.js +11 -0
- package/dist/theme/ground.js.map +1 -0
- package/dist/theme/index.d.ts +10 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +10 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/region.d.ts +42 -0
- package/dist/theme/region.d.ts.map +1 -0
- package/dist/theme/region.js +105 -0
- package/dist/theme/region.js.map +1 -0
- package/dist/theme/resolver.d.ts +126 -0
- package/dist/theme/resolver.d.ts.map +1 -0
- package/dist/theme/resolver.js +366 -0
- package/dist/theme/resolver.js.map +1 -0
- package/dist/theme/salience.d.ts +90 -0
- package/dist/theme/salience.d.ts.map +1 -0
- package/dist/theme/salience.js +208 -0
- package/dist/theme/salience.js.map +1 -0
- package/dist/theme/seeds.d.ts +113 -0
- package/dist/theme/seeds.d.ts.map +1 -0
- package/dist/theme/seeds.js +52 -0
- package/dist/theme/seeds.js.map +1 -0
- package/dist/theme/selection.d.ts +94 -0
- package/dist/theme/selection.d.ts.map +1 -0
- package/dist/theme/selection.js +135 -0
- package/dist/theme/selection.js.map +1 -0
- package/dist/theme/theme.d.ts +41 -0
- package/dist/theme/theme.d.ts.map +1 -0
- package/dist/theme/theme.js +34 -0
- package/dist/theme/theme.js.map +1 -0
- package/dist/widgets/composer-caret.d.ts +47 -0
- package/dist/widgets/composer-caret.d.ts.map +1 -0
- package/dist/widgets/composer-caret.js +90 -0
- package/dist/widgets/composer-caret.js.map +1 -0
- package/dist/widgets/composer-click.d.ts +30 -0
- package/dist/widgets/composer-click.d.ts.map +1 -0
- package/dist/widgets/composer-click.js +89 -0
- package/dist/widgets/composer-click.js.map +1 -0
- package/dist/widgets/composer-command.d.ts +64 -0
- package/dist/widgets/composer-command.d.ts.map +1 -0
- package/dist/widgets/composer-command.js +127 -0
- package/dist/widgets/composer-command.js.map +1 -0
- package/dist/widgets/composer-frame.d.ts +74 -0
- package/dist/widgets/composer-frame.d.ts.map +1 -0
- package/dist/widgets/composer-frame.js +284 -0
- package/dist/widgets/composer-frame.js.map +1 -0
- package/dist/widgets/composer-picker.d.ts +89 -0
- package/dist/widgets/composer-picker.d.ts.map +1 -0
- package/dist/widgets/composer-picker.js +240 -0
- package/dist/widgets/composer-picker.js.map +1 -0
- package/dist/widgets/diff.d.ts +11 -0
- package/dist/widgets/diff.d.ts.map +1 -0
- package/dist/widgets/diff.js +19 -0
- package/dist/widgets/diff.js.map +1 -0
- package/dist/widgets/expand.d.ts +28 -0
- package/dist/widgets/expand.d.ts.map +1 -0
- package/dist/widgets/expand.js +94 -0
- package/dist/widgets/expand.js.map +1 -0
- package/dist/widgets/index.d.ts +126 -0
- package/dist/widgets/index.d.ts.map +1 -0
- package/dist/widgets/index.js +455 -0
- package/dist/widgets/index.js.map +1 -0
- package/dist/widgets/internals/arrival-lang.d.ts +88 -0
- package/dist/widgets/internals/arrival-lang.d.ts.map +1 -0
- package/dist/widgets/internals/arrival-lang.js +211 -0
- package/dist/widgets/internals/arrival-lang.js.map +1 -0
- package/dist/widgets/internals/diff-expand.d.ts +93 -0
- package/dist/widgets/internals/diff-expand.d.ts.map +1 -0
- package/dist/widgets/internals/diff-expand.js +1106 -0
- package/dist/widgets/internals/diff-expand.js.map +1 -0
- package/dist/widgets/internals/embedded-syntax.d.ts +62 -0
- package/dist/widgets/internals/embedded-syntax.d.ts.map +1 -0
- package/dist/widgets/internals/embedded-syntax.js +465 -0
- package/dist/widgets/internals/embedded-syntax.js.map +1 -0
- package/dist/widgets/internals/markdown-expand.d.ts +57 -0
- package/dist/widgets/internals/markdown-expand.d.ts.map +1 -0
- package/dist/widgets/internals/markdown-expand.js +980 -0
- package/dist/widgets/internals/markdown-expand.js.map +1 -0
- package/dist/widgets/internals/overlay-syntax.d.ts +24 -0
- package/dist/widgets/internals/overlay-syntax.d.ts.map +1 -0
- package/dist/widgets/internals/overlay-syntax.js +90 -0
- package/dist/widgets/internals/overlay-syntax.js.map +1 -0
- package/dist/widgets/internals/pierre-parse/cleanLastNewline.d.ts +6 -0
- package/dist/widgets/internals/pierre-parse/cleanLastNewline.d.ts.map +1 -0
- package/dist/widgets/internals/pierre-parse/cleanLastNewline.js +8 -0
- package/dist/widgets/internals/pierre-parse/cleanLastNewline.js.map +1 -0
- package/dist/widgets/internals/pierre-parse/constants.d.ts +13 -0
- package/dist/widgets/internals/pierre-parse/constants.d.ts.map +1 -0
- package/dist/widgets/internals/pierre-parse/constants.js +13 -0
- package/dist/widgets/internals/pierre-parse/constants.js.map +1 -0
- package/dist/widgets/internals/pierre-parse/detachString.d.ts +3 -0
- package/dist/widgets/internals/pierre-parse/detachString.d.ts.map +1 -0
- package/dist/widgets/internals/pierre-parse/detachString.js +24 -0
- package/dist/widgets/internals/pierre-parse/detachString.js.map +1 -0
- package/dist/widgets/internals/pierre-parse/index.d.ts +8 -0
- package/dist/widgets/internals/pierre-parse/index.d.ts.map +1 -0
- package/dist/widgets/internals/pierre-parse/index.js +8 -0
- package/dist/widgets/internals/pierre-parse/index.js.map +1 -0
- package/dist/widgets/internals/pierre-parse/parseDiffFromFile.d.ts +15 -0
- package/dist/widgets/internals/pierre-parse/parseDiffFromFile.d.ts.map +1 -0
- package/dist/widgets/internals/pierre-parse/parseDiffFromFile.js +39 -0
- package/dist/widgets/internals/pierre-parse/parseDiffFromFile.js.map +1 -0
- package/dist/widgets/internals/pierre-parse/parsePatchFiles.d.ts +11 -0
- package/dist/widgets/internals/pierre-parse/parsePatchFiles.d.ts.map +1 -0
- package/dist/widgets/internals/pierre-parse/parsePatchFiles.js +621 -0
- package/dist/widgets/internals/pierre-parse/parsePatchFiles.js.map +1 -0
- package/dist/widgets/internals/pierre-parse/types.d.ts +73 -0
- package/dist/widgets/internals/pierre-parse/types.d.ts.map +1 -0
- package/dist/widgets/internals/pierre-parse/types.js +7 -0
- package/dist/widgets/internals/pierre-parse/types.js.map +1 -0
- package/dist/widgets/internals/syntax.d.ts +55 -0
- package/dist/widgets/internals/syntax.d.ts.map +1 -0
- package/dist/widgets/internals/syntax.js +261 -0
- package/dist/widgets/internals/syntax.js.map +1 -0
- package/dist/widgets/markdown.d.ts +14 -0
- package/dist/widgets/markdown.d.ts.map +1 -0
- package/dist/widgets/markdown.js +9 -0
- package/dist/widgets/markdown.js.map +1 -0
- package/dist/widgets/shadow-stream.d.ts +88 -0
- package/dist/widgets/shadow-stream.d.ts.map +1 -0
- package/dist/widgets/shadow-stream.js +359 -0
- package/dist/widgets/shadow-stream.js.map +1 -0
- package/dist/widgets/speech.d.ts +36 -0
- package/dist/widgets/speech.d.ts.map +1 -0
- package/dist/widgets/speech.js +238 -0
- package/dist/widgets/speech.js.map +1 -0
- package/dist/widgets/stream-birth.d.ts +13 -0
- package/dist/widgets/stream-birth.d.ts.map +1 -0
- package/dist/widgets/stream-birth.js +70 -0
- package/dist/widgets/stream-birth.js.map +1 -0
- package/dist/widgets/syntax-boot.d.ts +25 -0
- package/dist/widgets/syntax-boot.d.ts.map +1 -0
- package/dist/widgets/syntax-boot.js +181 -0
- package/dist/widgets/syntax-boot.js.map +1 -0
- package/dist/widgets/text.d.ts +16 -0
- package/dist/widgets/text.d.ts.map +1 -0
- package/dist/widgets/text.js +14 -0
- package/dist/widgets/text.js.map +1 -0
- package/dist/widgets/transcript.d.ts +44 -0
- package/dist/widgets/transcript.d.ts.map +1 -0
- package/dist/widgets/transcript.js +106 -0
- package/dist/widgets/transcript.js.map +1 -0
- package/doom.vert +1840 -0
- package/fonts/DejaVuSans.ttf +0 -0
- package/fonts/DejaVuSansMono.ttf +0 -0
- package/fonts/LICENSE-DejaVu.txt +187 -0
- package/fonts/README.md +6 -0
- package/gradient.vert +75 -0
- package/package.json +147 -3
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-local birth frontier for live stream peeks.
|
|
3
|
+
*
|
|
4
|
+
* Walks declared `live.kind === "birth"` ops in the visible tree, steps W,
|
|
5
|
+
* and hands the map to paint. Only the last site in tape order crawls;
|
|
6
|
+
* earlier sites snap W = T so they paint solid (missing W would rest at
|
|
7
|
+
* T − tipWindow and leave a dim tail). Does not rebuild widget constructors.
|
|
8
|
+
*/
|
|
9
|
+
import { birthFrontierLive, createBirthFrontier, stepBirthFrontier, } from "../layout/index.js";
|
|
10
|
+
export function collectBirthSites(node, out = [], seen = new Set()) {
|
|
11
|
+
if (typeof node !== "object" || node === null)
|
|
12
|
+
return out;
|
|
13
|
+
const rec = node;
|
|
14
|
+
if (rec.type === "disclosure") {
|
|
15
|
+
const visible = rec.collapsed === false ? (rec.children ?? []) : [rec.summary];
|
|
16
|
+
for (const child of visible)
|
|
17
|
+
collectBirthSites(child, out, seen);
|
|
18
|
+
return out;
|
|
19
|
+
}
|
|
20
|
+
if (rec.live?.kind === "birth" && !seen.has(rec.live.siteId)) {
|
|
21
|
+
seen.add(rec.live.siteId);
|
|
22
|
+
out.push({ siteId: rec.live.siteId, T: rec.live.T });
|
|
23
|
+
}
|
|
24
|
+
if (Array.isArray(rec.children)) {
|
|
25
|
+
for (const c of rec.children)
|
|
26
|
+
collectBirthSites(c, out, seen);
|
|
27
|
+
}
|
|
28
|
+
return out;
|
|
29
|
+
}
|
|
30
|
+
export function stepThoughtBirthLedger(roots, frontiers, nowMs) {
|
|
31
|
+
const sites = [];
|
|
32
|
+
const seen = new Set();
|
|
33
|
+
for (const root of roots) {
|
|
34
|
+
for (const site of collectBirthSites(root)) {
|
|
35
|
+
if (seen.has(site.siteId))
|
|
36
|
+
continue;
|
|
37
|
+
seen.add(site.siteId);
|
|
38
|
+
sites.push(site);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return stepLatestBirthSites(sites, frontiers, nowMs);
|
|
42
|
+
}
|
|
43
|
+
/** Step frontiers from an already-collected site list (Paint DOM path). */
|
|
44
|
+
export function stepThoughtBirthFromSites(sites, frontiers, nowMs) {
|
|
45
|
+
return stepLatestBirthSites(sites, frontiers, nowMs);
|
|
46
|
+
}
|
|
47
|
+
export function stepThoughtBirthFromSnapshot(snapshot, frontiers, nowMs) {
|
|
48
|
+
const roots = [];
|
|
49
|
+
const tree = snapshot.tree;
|
|
50
|
+
if (tree && typeof tree === "object") {
|
|
51
|
+
if (tree.root != null)
|
|
52
|
+
roots.push(tree.root);
|
|
53
|
+
if (tree.boxes && typeof tree.boxes === "object") {
|
|
54
|
+
const ids = new Set(Object.values(tree.boxes));
|
|
55
|
+
for (const id of ids) {
|
|
56
|
+
if (typeof id === "number")
|
|
57
|
+
roots.push(snapshot.getBox(id));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return stepThoughtBirthLedger(roots, frontiers, nowMs);
|
|
62
|
+
}
|
|
63
|
+
function stepLatestBirthSites(sites, frontiers, nowMs) {
|
|
64
|
+
const unique = [];
|
|
65
|
+
const seen = new Set();
|
|
66
|
+
for (const site of sites) {
|
|
67
|
+
if (seen.has(site.siteId))
|
|
68
|
+
continue;
|
|
69
|
+
seen.add(site.siteId);
|
|
70
|
+
unique.push(site);
|
|
71
|
+
}
|
|
72
|
+
const latestId = unique.at(-1)?.siteId;
|
|
73
|
+
const inject = new Map();
|
|
74
|
+
for (const site of unique) {
|
|
75
|
+
const field = stepOneBirthSite(site, frontiers, nowMs, {
|
|
76
|
+
resolve: site.siteId !== latestId,
|
|
77
|
+
});
|
|
78
|
+
if (field != null)
|
|
79
|
+
inject.set(site.siteId, field);
|
|
80
|
+
}
|
|
81
|
+
for (const id of frontiers.keys()) {
|
|
82
|
+
if (!seen.has(id))
|
|
83
|
+
frontiers.delete(id);
|
|
84
|
+
}
|
|
85
|
+
return inject;
|
|
86
|
+
}
|
|
87
|
+
function stepOneBirthSite(site, frontiers, nowMs, opts) {
|
|
88
|
+
const T = site.T;
|
|
89
|
+
if (T <= 0) {
|
|
90
|
+
frontiers.delete(site.siteId);
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
if (opts?.resolve === true) {
|
|
94
|
+
const resolved = {
|
|
95
|
+
W: T,
|
|
96
|
+
T,
|
|
97
|
+
lastStepMs: nowMs,
|
|
98
|
+
sealed: true,
|
|
99
|
+
lastAdvanceMs: nowMs,
|
|
100
|
+
v: 0,
|
|
101
|
+
};
|
|
102
|
+
frontiers.set(site.siteId, resolved);
|
|
103
|
+
return { W: T };
|
|
104
|
+
}
|
|
105
|
+
const prev = frontiers.get(site.siteId);
|
|
106
|
+
const next = stepBirthFrontier(prev == null ? createBirthFrontier() : { ...prev, sealed: false }, {
|
|
107
|
+
T,
|
|
108
|
+
nowMs,
|
|
109
|
+
sealed: false,
|
|
110
|
+
});
|
|
111
|
+
frontiers.set(site.siteId, next);
|
|
112
|
+
return { W: next.W };
|
|
113
|
+
}
|
|
114
|
+
/** Any frontier still animating? Present arms its live timer off this. */
|
|
115
|
+
export function anyThoughtBirthLive(frontiers) {
|
|
116
|
+
for (const state of frontiers.values()) {
|
|
117
|
+
if (birthFrontierLive(state))
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=thought_birth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thought_birth.js","sourceRoot":"","sources":["../../src/runtime/thought_birth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-local thought expand/collapse — display only.
|
|
3
|
+
* ThinkingStream stamps `onClick: { type: "toggle_collapsed", blockId }`; bare click
|
|
4
|
+
* flips `collapsed` on the disclosure. Both branches already live in the tree.
|
|
5
|
+
*/
|
|
6
|
+
import type { PaintSnapshot } from "./frame.js";
|
|
7
|
+
export type ToggleCollapsedClick = {
|
|
8
|
+
readonly type: "toggle_collapsed";
|
|
9
|
+
readonly blockId: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function isToggleCollapsedClick(value: unknown): value is ToggleCollapsedClick;
|
|
12
|
+
/**
|
|
13
|
+
* Walk hit meta + byKey parent chain for toggle_collapsed.
|
|
14
|
+
* Accepts raw HitMeta or elementAt's `{ key, meta }` wrapper.
|
|
15
|
+
*/
|
|
16
|
+
export declare function toggleCollapsedFromHit(hit: {
|
|
17
|
+
onClick?: unknown;
|
|
18
|
+
parent?: string;
|
|
19
|
+
key?: string;
|
|
20
|
+
} | {
|
|
21
|
+
key: string;
|
|
22
|
+
meta: {
|
|
23
|
+
onClick?: unknown;
|
|
24
|
+
parent?: string;
|
|
25
|
+
key?: string;
|
|
26
|
+
};
|
|
27
|
+
} | null | undefined, byKey: Map<string, {
|
|
28
|
+
onClick?: unknown;
|
|
29
|
+
parent?: string;
|
|
30
|
+
key?: string;
|
|
31
|
+
}>): ToggleCollapsedClick | null;
|
|
32
|
+
/** `collapsedOverrides`: blockId → collapsed. Absent key → wire node.collapsed. */
|
|
33
|
+
export declare function applyThoughtCollapsed(node: unknown, collapsedOverrides: ReadonlyMap<string, boolean>): unknown;
|
|
34
|
+
export declare function paintSnapshotWithThoughtCollapsed(snapshot: PaintSnapshot, collapsedOverrides: ReadonlyMap<string, boolean>): PaintSnapshot;
|
|
35
|
+
//# sourceMappingURL=thought_collapsed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thought_collapsed.d.ts","sourceRoot":"","sources":["../../src/runtime/thought_collapsed.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAKpF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EACC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC3E,IAAI,GACJ,SAAS,EACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACvE,oBAAoB,GAAG,IAAI,CA6B7B;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAmC9G;AAED,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,aAAa,EACvB,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/C,aAAa,CAQf"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export function isToggleCollapsedClick(value) {
|
|
2
|
+
if (typeof value !== "object" || value === null)
|
|
3
|
+
return false;
|
|
4
|
+
const rec = value;
|
|
5
|
+
if (rec.type !== "toggle_collapsed")
|
|
6
|
+
return false;
|
|
7
|
+
return typeof rec.blockId === "string";
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Walk hit meta + byKey parent chain for toggle_collapsed.
|
|
11
|
+
* Accepts raw HitMeta or elementAt's `{ key, meta }` wrapper.
|
|
12
|
+
*/
|
|
13
|
+
export function toggleCollapsedFromHit(hit, byKey) {
|
|
14
|
+
let cur = hit && "meta" in hit && hit.meta ? hit.meta : hit;
|
|
15
|
+
const seen = new Set();
|
|
16
|
+
while (cur) {
|
|
17
|
+
if (isToggleCollapsedClick(cur.onClick))
|
|
18
|
+
return cur.onClick;
|
|
19
|
+
const parent = cur.parent;
|
|
20
|
+
if (!parent || seen.has(parent))
|
|
21
|
+
break;
|
|
22
|
+
seen.add(parent);
|
|
23
|
+
cur = byKey.get(parent);
|
|
24
|
+
}
|
|
25
|
+
const startKey = hit && "meta" in hit && hit.meta
|
|
26
|
+
? (hit.meta.key ?? hit.key)
|
|
27
|
+
: hit && "key" in hit
|
|
28
|
+
? hit.key
|
|
29
|
+
: undefined;
|
|
30
|
+
if (startKey) {
|
|
31
|
+
let key = startKey;
|
|
32
|
+
while (key.includes(":")) {
|
|
33
|
+
const parentKey = key.slice(0, key.lastIndexOf(":"));
|
|
34
|
+
if (seen.has(parentKey))
|
|
35
|
+
break;
|
|
36
|
+
seen.add(parentKey);
|
|
37
|
+
const meta = byKey.get(parentKey);
|
|
38
|
+
if (meta && isToggleCollapsedClick(meta.onClick))
|
|
39
|
+
return meta.onClick;
|
|
40
|
+
key = parentKey;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
/** `collapsedOverrides`: blockId → collapsed. Absent key → wire node.collapsed. */
|
|
46
|
+
export function applyThoughtCollapsed(node, collapsedOverrides) {
|
|
47
|
+
if (typeof node !== "object" || node === null)
|
|
48
|
+
return node;
|
|
49
|
+
const rec = node;
|
|
50
|
+
if (rec.type === "disclosure" && isToggleCollapsedClick(rec.onClick)) {
|
|
51
|
+
const { blockId } = rec.onClick;
|
|
52
|
+
if (collapsedOverrides.has(blockId)) {
|
|
53
|
+
return { ...rec, collapsed: collapsedOverrides.get(blockId) };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
let changed = false;
|
|
57
|
+
let summary = rec.type === "disclosure" ? rec.summary : undefined;
|
|
58
|
+
if (summary) {
|
|
59
|
+
const next = applyThoughtCollapsed(summary, collapsedOverrides);
|
|
60
|
+
if (next !== summary) {
|
|
61
|
+
summary = next;
|
|
62
|
+
changed = true;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
let children = rec.children;
|
|
66
|
+
if (Array.isArray(children)) {
|
|
67
|
+
const next = children.map((child) => {
|
|
68
|
+
const c = applyThoughtCollapsed(child, collapsedOverrides);
|
|
69
|
+
if (c !== child)
|
|
70
|
+
changed = true;
|
|
71
|
+
return c;
|
|
72
|
+
});
|
|
73
|
+
if (changed)
|
|
74
|
+
children = next;
|
|
75
|
+
}
|
|
76
|
+
if (!changed)
|
|
77
|
+
return node;
|
|
78
|
+
return {
|
|
79
|
+
...rec,
|
|
80
|
+
summary,
|
|
81
|
+
children,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export function paintSnapshotWithThoughtCollapsed(snapshot, collapsedOverrides) {
|
|
85
|
+
if (collapsedOverrides.size === 0)
|
|
86
|
+
return snapshot;
|
|
87
|
+
return {
|
|
88
|
+
tree: snapshot.tree,
|
|
89
|
+
getBox(id) {
|
|
90
|
+
return applyThoughtCollapsed(snapshot.getBox(id), collapsedOverrides);
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=thought_collapsed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thought_collapsed.js","sourceRoot":"","sources":["../../src/runtime/thought_collapsed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TTY lifecycle: ordered setup/teardown for alt-screen apps.
|
|
3
|
+
* Single owner of mode brackets. Leave-alt is LAST.
|
|
4
|
+
*/
|
|
5
|
+
export type TtyOptions = {
|
|
6
|
+
/** Mode 2026 synchronized output — env-flag only for MVP (no DECRQM probe) */
|
|
7
|
+
sync2026?: boolean;
|
|
8
|
+
hideCursor?: boolean;
|
|
9
|
+
noWrap?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type TtySession = {
|
|
12
|
+
readonly entered: boolean;
|
|
13
|
+
/** Ordered enter sequences (for tests / write) */
|
|
14
|
+
enterBytes(): string;
|
|
15
|
+
/**
|
|
16
|
+
* Just the input-mode brackets, closed — mouse, paste, focus, kitty,
|
|
17
|
+
* modifyOtherKeys. The leading part of {@link exitBytes}, available on its own
|
|
18
|
+
* because it has to be written EARLIER than the rest: a host that drops raw
|
|
19
|
+
* mode first hands the shell a terminal still reporting mouse events, and the
|
|
20
|
+
* SGR bytes for the next click land as garbage on the prompt. Idempotent
|
|
21
|
+
* (DECRST of an already-reset mode is a no-op), so writing it here and again
|
|
22
|
+
* inside `exitBytes` costs nothing and keeps one spelling of the bytes.
|
|
23
|
+
*/
|
|
24
|
+
inputModesOffBytes(): string;
|
|
25
|
+
/** Ordered teardown — leave-alt last */
|
|
26
|
+
exitBytes(): string;
|
|
27
|
+
/**
|
|
28
|
+
* CUP park. CSI row;colH is 1-based — a 0-based write parks off-screen.
|
|
29
|
+
* Clamps to ≥1.
|
|
30
|
+
*/
|
|
31
|
+
parkCursor(row: number, col: number): string;
|
|
32
|
+
markEntered(): void;
|
|
33
|
+
markExited(): void;
|
|
34
|
+
};
|
|
35
|
+
export declare function createTtySession(opts?: TtyOptions): TtySession;
|
|
36
|
+
/**
|
|
37
|
+
* Host-owned 1003 any-motion. `enterBytes` never sends this — hover flood
|
|
38
|
+
* is scoped to slash-complete presence, and to copy-toast after its 3s arm
|
|
39
|
+
* (move dismisses the plaque). Written on the edge only.
|
|
40
|
+
*
|
|
41
|
+
* 1000/1002/1003 are mutually exclusive. `1003l` does not fall back to
|
|
42
|
+
* press+drag tracking — it drops mouse reporting entirely, so the
|
|
43
|
+
* terminal keeps the pointer (system selection, 1007 wheel-as-arrows)
|
|
44
|
+
* until the next `1003h`. Off re-asserts the enterBytes mouse set.
|
|
45
|
+
*/
|
|
46
|
+
export declare function mouseAnyMotionBytes(on: boolean): string;
|
|
47
|
+
/**
|
|
48
|
+
* OSC 22 pointer shape (CSS cursor names; kitty / ghostty / xterm).
|
|
49
|
+
* `pointer` = clickable hit (`intent: activate`). `default` restores the
|
|
50
|
+
* I-beam / arrow. Written on the edge only — `enterBytes` never sends this.
|
|
51
|
+
* `exitBytes` restores default so the shell does not inherit a hand.
|
|
52
|
+
*
|
|
53
|
+
* Rejected: a `cursor` field on LayoutNode. TTY shape is host-owned, same
|
|
54
|
+
* as 1003; the layout already says clickable via intent.
|
|
55
|
+
*/
|
|
56
|
+
export type MousePointerShape = "default" | "pointer";
|
|
57
|
+
export declare function mousePointerBytes(shape: MousePointerShape): string;
|
|
58
|
+
//# sourceMappingURL=tty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tty.d.ts","sourceRoot":"","sources":["../../src/runtime/tty.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,MAAM,UAAU,GAAG;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,UAAU,IAAI,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,kBAAkB,IAAI,MAAM,CAAC;IAC7B,wCAAwC;IACxC,SAAS,IAAI,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,WAAW,IAAI,IAAI,CAAC;IACpB,UAAU,IAAI,IAAI,CAAC;CACpB,CAAC;AAuDF,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,UAAe,GAAG,UAAU,CA2DlE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAGvD;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAElE"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TTY lifecycle: ordered setup/teardown for alt-screen apps.
|
|
3
|
+
* Single owner of mode brackets. Leave-alt is LAST.
|
|
4
|
+
*/
|
|
5
|
+
const ENTER_ALT = "\u001B[?1049h";
|
|
6
|
+
const ERASE_DISPLAY = "\u001B[2J";
|
|
7
|
+
const CUP_HOME = "\u001B[H";
|
|
8
|
+
/**
|
|
9
|
+
* Build a session. Does not touch process.stdout — caller writes.
|
|
10
|
+
* Teardown order (TERMINAL L2/L3):
|
|
11
|
+
* 1. keyboard / paste modes off (kitty pop, modifyOtherKeys, bracketed paste)
|
|
12
|
+
* 2. ?2026l if was on
|
|
13
|
+
* 3. CSI r (release scroll region)
|
|
14
|
+
* 4. ?7h autowrap on
|
|
15
|
+
* 5. ?25h show cursor
|
|
16
|
+
* 6. CUP bottom + CR LF
|
|
17
|
+
* 7. ?1049l leave alt LAST
|
|
18
|
+
*
|
|
19
|
+
* Keyboard / focus opt-in (OpenTUI / Ink / crossterm / Bubble Tea pattern):
|
|
20
|
+
* - CSI > 4 ; 2 m — xterm modifyOtherKeys mode 2 (Shift+Enter on partial
|
|
21
|
+
* terminals). Must precede kitty setup: iTerm clears kitty flags when
|
|
22
|
+
* modifyOtherKeys is enabled.
|
|
23
|
+
* - CSI > 31 u then CSI = 31 ; 1 u — kitty progressive: flag 1
|
|
24
|
+
* (disambiguate) | 2 (press / repeat / release) | 4 (shifted / base
|
|
25
|
+
* layout keys) | 8 (report all keys as escape codes) | 16 (associated
|
|
26
|
+
* text). Push so `CSI < u` restores the prior entry; SET is the spec's
|
|
27
|
+
* primary request (terminals that ignore push). Flag 8 delivers
|
|
28
|
+
* **Cmd/Super+letter** (e.g. Cmd+Z → CSI 122;9u) and isolated
|
|
29
|
+
* Super/Control as `{ type: "mod" }` (`CSI 57444;9u` press — super bit
|
|
30
|
+
* set). Flag 8 also stops UTF-8 letters — flag 16 puts the OS glyph in
|
|
31
|
+
* CSI field 3 so Shift/Caps/layout stay insertable. Flag 4 is the
|
|
32
|
+
* shifted-subfield fallback when field 3 is absent. Flag 2 is the
|
|
33
|
+
* release (`:3`) so the chrome modifier layer can drop. Decoder must
|
|
34
|
+
* accept plain CSI-u printables when this is on.
|
|
35
|
+
* - CSI ? 2004 h — bracketed paste
|
|
36
|
+
* - CSI ? 1004 h — focus in/out (CSI I / CSI O)
|
|
37
|
+
* - CSI ? 1000 h + ? 1002 h + ? 1006 h — SGR mouse press/release plus
|
|
38
|
+
* cell-motion-while-held, for drag-select (never ?1003 any-motion flood)
|
|
39
|
+
* - CSI ? 1007 h — alternate scroll: alt-screen wheel → cursor keys when
|
|
40
|
+
* mouse reporting is inactive (macOS Option is the native bypass)
|
|
41
|
+
*/
|
|
42
|
+
/**
|
|
43
|
+
* The input-mode brackets, closed. A free function rather than a method so
|
|
44
|
+
* `exitBytes` can reuse it without a `this` binding a destructured caller would
|
|
45
|
+
* lose.
|
|
46
|
+
*/
|
|
47
|
+
function inputModesOff() {
|
|
48
|
+
return [
|
|
49
|
+
"\u001B[?1006l", // SGR mouse off
|
|
50
|
+
"\u001B[?1002l", // cell-motion off
|
|
51
|
+
"\u001B[?1000l", // mouse tracking off
|
|
52
|
+
"\u001B[?1003l", // any-motion off (defensive)
|
|
53
|
+
"\u001B[?1007l", // alternate scroll off
|
|
54
|
+
"\u001B[?1004l", // focus report off
|
|
55
|
+
"\u001B[?2004l", // bracketed paste off
|
|
56
|
+
"\u001B[<u", // kitty keyboard pop
|
|
57
|
+
"\u001B[>4;0m", // modifyOtherKeys off
|
|
58
|
+
].join("");
|
|
59
|
+
}
|
|
60
|
+
export function createTtySession(opts = {}) {
|
|
61
|
+
let entered = false;
|
|
62
|
+
const sync2026 = opts.sync2026 === true;
|
|
63
|
+
const hideCursor = opts.hideCursor !== false;
|
|
64
|
+
const noWrap = opts.noWrap !== false;
|
|
65
|
+
return {
|
|
66
|
+
get entered() {
|
|
67
|
+
return entered;
|
|
68
|
+
},
|
|
69
|
+
markEntered() {
|
|
70
|
+
entered = true;
|
|
71
|
+
},
|
|
72
|
+
markExited() {
|
|
73
|
+
entered = false;
|
|
74
|
+
},
|
|
75
|
+
enterBytes() {
|
|
76
|
+
const parts = [ENTER_ALT, ERASE_DISPLAY, CUP_HOME];
|
|
77
|
+
if (hideCursor)
|
|
78
|
+
parts.push("\u001B[?25l");
|
|
79
|
+
if (noWrap)
|
|
80
|
+
parts.push("\u001B[?7l");
|
|
81
|
+
if (sync2026)
|
|
82
|
+
parts.push("\u001B[?2026h");
|
|
83
|
+
// Input enhancements — ignored by unsupported terminals.
|
|
84
|
+
// Enable the fallback first: iTerm clears kitty flags on this request.
|
|
85
|
+
parts.push("\u001B[>4;2m", "\u001B[>31u", "\u001B[=31;1u", "\u001B[?2004h", "\u001B[?1004h", "\u001B[?1000h", "\u001B[?1002h", "\u001B[?1006h", "\u001B[?1007h");
|
|
86
|
+
return parts.join("");
|
|
87
|
+
},
|
|
88
|
+
inputModesOffBytes() {
|
|
89
|
+
return inputModesOff();
|
|
90
|
+
},
|
|
91
|
+
exitBytes() {
|
|
92
|
+
// 1 keyboard / paste / focus / mouse off before paint teardown
|
|
93
|
+
const parts = [
|
|
94
|
+
inputModesOff(),
|
|
95
|
+
mousePointerBytes("default"),
|
|
96
|
+
"\u001B[?2026l",
|
|
97
|
+
"\u001B[r",
|
|
98
|
+
"\u001B[?7h",
|
|
99
|
+
"\u001B[?25h",
|
|
100
|
+
"\u001B[999;1H\r\n",
|
|
101
|
+
"\u001B[?1049l",
|
|
102
|
+
];
|
|
103
|
+
return parts.join("");
|
|
104
|
+
},
|
|
105
|
+
parkCursor(row, col) {
|
|
106
|
+
const r = Math.max(1, Math.floor(row));
|
|
107
|
+
const c = Math.max(1, Math.floor(col));
|
|
108
|
+
return `\u001B[${r};${c}H`;
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Host-owned 1003 any-motion. `enterBytes` never sends this — hover flood
|
|
114
|
+
* is scoped to slash-complete presence, and to copy-toast after its 3s arm
|
|
115
|
+
* (move dismisses the plaque). Written on the edge only.
|
|
116
|
+
*
|
|
117
|
+
* 1000/1002/1003 are mutually exclusive. `1003l` does not fall back to
|
|
118
|
+
* press+drag tracking — it drops mouse reporting entirely, so the
|
|
119
|
+
* terminal keeps the pointer (system selection, 1007 wheel-as-arrows)
|
|
120
|
+
* until the next `1003h`. Off re-asserts the enterBytes mouse set.
|
|
121
|
+
*/
|
|
122
|
+
export function mouseAnyMotionBytes(on) {
|
|
123
|
+
if (on)
|
|
124
|
+
return "\u001B[?1003h";
|
|
125
|
+
return "\u001B[?1003l\u001B[?1000h\u001B[?1002h\u001B[?1006h";
|
|
126
|
+
}
|
|
127
|
+
export function mousePointerBytes(shape) {
|
|
128
|
+
return `\u001B]22;${shape}\u0007`;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=tty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tty.js","sourceRoot":"","sources":["../../src/runtime/tty.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Polarity-preserving ANSI16 degradation for semantic roles.
|
|
3
|
+
*
|
|
4
|
+
* Nearest-RGB quantization collapses hue (error→yellow, etc.). This table
|
|
5
|
+
* pins each role to a hue-preserving slot so category is never lost.
|
|
6
|
+
* Legibility > category preservation > tier separation.
|
|
7
|
+
*
|
|
8
|
+
* Literal RGB (syntax highlight, no role) degrades via nearest-RGB on the
|
|
9
|
+
* classic 0–15 xterm palette — hue-preserving slots stay role-only.
|
|
10
|
+
*/
|
|
11
|
+
import type { Rgb, SemanticRole } from "../lexicon/index.js";
|
|
12
|
+
export type CanvasPolarity = "dark" | "light";
|
|
13
|
+
export type Ansi16Slot = number;
|
|
14
|
+
/**
|
|
15
|
+
* Named ANSI slot → theme role whose hue/chroma we keep. Bright and dim
|
|
16
|
+
* share a role; SGR 1 is weight. Inverse of {@link ansi16Slot} (role → slot).
|
|
17
|
+
* Black/white land on furniture/voice, not a claimed gray RGB.
|
|
18
|
+
*/
|
|
19
|
+
export declare const ANSI16_ROLE: readonly ["muted", "error", "success", "warning", "code", "running", "auto", "foreground", "muted", "error", "success", "emphasis", "code", "running", "accent", "foreground"];
|
|
20
|
+
/** Prominence ≥ this → loud tier; below → soft. */
|
|
21
|
+
export declare const LOUD_THRESHOLD = 0.8;
|
|
22
|
+
/** Nearest ANSI16 index for an sRGB triple (0–255). Euclidean in sRGB. */
|
|
23
|
+
export declare function nearestAnsi16(r: number, g: number, b: number): Ansi16Slot;
|
|
24
|
+
export declare function nearestAnsi16FromRgb(rgb: Rgb): Ansi16Slot;
|
|
25
|
+
/** Decode ANSI16 index to approximate RGB (xterm defaults). */
|
|
26
|
+
export declare function ansi16ToRgb(index: number): Rgb;
|
|
27
|
+
/**
|
|
28
|
+
* Canvas polarity from ground OKLCH L.
|
|
29
|
+
* `null` / undefined → reference ground polarity (dark).
|
|
30
|
+
*/
|
|
31
|
+
export declare function canvasPolarity(groundLightness: number | null | undefined): CanvasPolarity;
|
|
32
|
+
/** Resolve role → ANSI16 slot for polarity + prominence. */
|
|
33
|
+
export declare function ansi16Slot(role: SemanticRole, polarity: CanvasPolarity, prominence?: number): Ansi16Slot;
|
|
34
|
+
//# sourceMappingURL=ansi16.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ansi16.d.ts","sourceRoot":"","sources":["../../src/theme/ansi16.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC;AAC9C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,WAAW,gLAiBoB,CAAC;AAE7C,mDAAmD;AACnD,eAAO,MAAM,cAAc,MAAM,CAAC;AAsBlC,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAgBzE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAEzD;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAI9C;AAmFD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAGzF;AAMD,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,SAAI,GAAG,UAAU,CAKnG"}
|