internal/

directory
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 21, 2026 License: MIT

Directories

Path Synopsis
Package driver orchestrates a recording: it owns the clock (virtual in deterministic mode — rendering faster than real time — or wall clock in realtime mode), feeds pty bytes into the engine, measures settle (quiescence) at the pty read loop, evaluates waits synchronously against the grid, applies input cadence and jitter, and schedules frame rasterization instants on the timeline (Hide/Show/Screenshot included).
Package driver orchestrates a recording: it owns the clock (virtual in deterministic mode — rendering faster than real time — or wall clock in realtime mode), feeds pty bytes into the engine, measures settle (quiescence) at the pty read loop, evaluates waits synchronously against the grid, applies input cadence and jitter, and schedules frame rasterization instants on the timeline (Hide/Show/Screenshot included).
Package encode turns the driver's (frame, duration) stream into final outputs.
Package encode turns the driver's (frame, duration) stream into final outputs.
Package execx is the single seam for external binaries: a typed tool table with minimum versions, verified BEFORE first use, and context-aware execution whose failures carry the output tail.
Package execx is the single seam for external binaries: a typed tool table with minimum versions, verified BEFORE first use, and context-aware execution whose failures carry the output tail.
Package fontpack owns the bundled, version-pinned fonts (text, color emoji, CJK fallback) that make renders byte-identical across machines, plus the name catalog: the families `Set FontFamily` may name, all hash-pinned, and user font FILES loaded unpinned (the user's repo pins those).
Package fontpack owns the bundled, version-pinned fonts (text, color emoji, CJK fallback) that make renders byte-identical across machines, plus the name catalog: the families `Set FontFamily` may name, all hash-pinned, and user font FILES loaded unpinned (the user's repo pins those).
Package preview replays a closed recording's frames in the user's OWN terminal via the kitty graphics protocol — the tool that exists because VHS could not speak kitty graphics, speaking it back.
Package preview replays a closed recording's frames in the user's OWN terminal via the kitty graphics protocol — the tool that exists because VHS could not speak kitty graphics, speaking it back.
Package ptyx spawns the demo command on a real pty (creack/pty) and owns the read loop: every output byte is timestamped and handed to the driver, which feeds the engine and measures settle (quiescence) directly — there is no shim process between foley and the app.
Package ptyx spawns the demo command on a real pty (creack/pty) and owns the read loop: every output byte is timestamped and handed to the driver, which feeds the engine and measures settle (quiescence) directly — there is no shim process between foley and the app.
Package raster turns a vtengine frame snapshot into RGBA pixels: HarfBuzz shaping in style runs (ligature clusters anchored to their origin cell), FreeType glyph rendering with an atlas cache, synthesized sprites for box-drawing/blocks/braille (sprites.go — cell-exact tiling, like every real terminal), color emoji (CBDT strikes), kitty graphics compositing by z-layer, cursor and decorations, at 1x or 2x.
Package raster turns a vtengine frame snapshot into RGBA pixels: HarfBuzz shaping in style runs (ligature clusters anchored to their origin cell), FreeType glyph rendering with an atlas cache, synthesized sprites for box-drawing/blocks/braille (sprites.go — cell-exact tiling, like every real terminal), color emoji (CBDT strikes), kitty graphics compositing by z-layer, cursor and decorations, at 1x or 2x.
Package terminfo carries the compiled terminfo entry behind foley's declared TERM: xterm-ghostty, emitted from the SAME libghostty pin the engine is built from — the entry describes, by construction, what the embedded engine actually implements.
Package terminfo carries the compiled terminfo entry behind foley's declared TERM: xterm-ghostty, emitted from the SAME libghostty pin the engine is built from — the entry describes, by construction, what the embedded engine actually implements.
Package testassets gates tests on provisioned assets (pinned fonts, compiled fixtures, committed goldens).
Package testassets gates tests on provisioned assets (pinned fonts, compiled fixtures, committed goldens).
Package theme holds the neutral theme model (curated subset of the VHS catalog).
Package theme holds the neutral theme model (curated subset of the VHS catalog).
Package vtengine defines the embedded terminal engine contract: grid state, styles, cursor, kitty graphics storage and keyboard-protocol-aware input encoding.
Package vtengine defines the embedded terminal engine contract: grid state, styles, cursor, kitty graphics storage and keyboard-protocol-aware input encoding.
enginetest
Package enginetest is the conformance suite every vtengine implementation must pass unchanged: VT state fidelity, style and grapheme reads, kitty graphics storage and placement geometry, and key-encoder behavior across keyboard protocol modes.
Package enginetest is the conformance suite every vtengine implementation must pass unchanged: VT state fidelity, style and grapheme reads, kitty graphics storage and placement geometry, and key-encoder behavior across keyboard protocol modes.
factory
Package factory constructs named engines.
Package factory constructs named engines.
fake
Package fake is a puppet vtengine for driver and raster tests: state is set directly through Set* helpers, and Write applies only a trivial VT subset (printable ASCII, CR, LF) so timeline tests can drive it like a real engine.
Package fake is a puppet vtengine for driver and raster tests: state is set directly through Set* helpers, and Write applies only a trivial VT subset (printable ASCII, CR, LF) so timeline tests can drive it like a real engine.
ghostty
Package ghostty implements the vtengine contract on libghostty-vt via cgo.
Package ghostty implements the vtengine contract on libghostty-vt via cgo.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL