{"_id":"@bun-win32/terminal","_rev":"6-47ff2a85ff2c494b0fc460888012f36e","name":"@bun-win32/terminal","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"@bun-win32/terminal","version":"1.0.0","keywords":["bun","ffi","win32","windows","terminal","tui","ansi","vt","renderer","game","typescript"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/terminal@1.0.0","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"87f1a24b4452a332cf10fdd3006fcff803ba2efc","tarball":"https://registry.npmjs.org/@bun-win32/terminal/-/terminal-1.0.0.tgz","fileCount":21,"integrity":"sha512-74g7aezz/YF5rAYP6XE1Js6LDKDffz8bKlPlpt0qKW0NbZNEPpzSwmyFs6cRu3To+k2PhYgjtUmJaVoNO8rYIw==","signatures":[{"sig":"MEUCIAthI4bd/JQkt8GcJETkHRttuB9UbhYOAtTPt44CqTiEAiEAlXRN6cjqBbcRHt2R1tf9xVBNG66Z4xVTXOIk78epJxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157538},"main":"./index.ts","type":"module","module":"index.ts","shasum":"87f1a24b4452a332cf10fdd3006fcff803ba2efc","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:clawd":"bun ./example/clawd.ts","example:video":"bun ./example/video.ts","example:cinema":"bun ./example/cinema.ts","example:orbits":"bun ./example/orbits.ts","example:powder":"bun ./example/powder.ts","example:desktop":"bun ./example/desktop.ts","example:gba-tty":"bun ./example/gba-tty.ts","example:inkwell":"bun ./example/inkwell.ts","example:swarm3d":"bun ./example/swarm3d.ts","example:reaction":"bun ./example/reaction.ts","example:fineprint":"bun ./example/fineprint.ts","example:flowfield":"bun ./example/flowfield.ts","example:fluid-ink":"bun ./example/fluid-ink.ts","example:chromascii":"bun ./example/chromascii.ts","example:claude-tui":"bun ./example/claude-tui.ts","example:galaxy-tty":"bun ./example/galaxy-tty.ts","example:glyphstorm":"bun ./example/glyphstorm.ts","example:torus-knot":"bun ./example/torus-knot.ts","example:video-term":"bun ./example/video-term.ts","example:gameboy-tty":"bun ./example/gameboy-tty.ts","example:mandel-dive":"bun ./example/mandel-dive.ts","example:claude-spark":"bun ./example/claude-spark.ts","example:voxel-flight":"bun ./example/voxel-flight.ts","example:blackhole-tty":"bun ./example/blackhole-tty.ts","example:raycaster-term":"bun ./example/raycaster-term.ts","example:term-dashboard":"bun ./example/term-dashboard.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-74g7aezz/YF5rAYP6XE1Js6LDKDffz8bKlPlpt0qKW0NbZNEPpzSwmyFs6cRu3To+k2PhYgjtUmJaVoNO8rYIw==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/terminal"},"_npmVersion":"10.8.3","description":"High-performance terminal rendering engine — pixel framebuffer, TUI, FFI input, plugins — for Bun on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.2","@bun-win32/kernel32":"1.0.23"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/terminal_1.0.0_1780521395180_0.7444172334839316","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bun-win32/terminal","version":"1.1.0","keywords":["bun","ffi","win32","windows","terminal","tui","ansi","vt","renderer","game","typescript"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/terminal@1.1.0","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"ed54f745db31d4fd09ed7dfb288632c11236c36a","tarball":"https://registry.npmjs.org/@bun-win32/terminal/-/terminal-1.1.0.tgz","fileCount":21,"integrity":"sha512-BswHyaMJhSeE3IgDVHdQzXBzPe1PmPHDMJtDR4rKJhA5jP3FxwZsQz85L/4xFBQxYQux1paY3ft9aywTnr9PgQ==","signatures":[{"sig":"MEUCIHbjorjHam3fzkwSmPpim9sEB24KHbfHMMJGPtVsPcptAiEA3nFrtIKAeHiY3Bq8QT1nwBHRcfCEBH0Qe/gXQElPa1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178330},"main":"./index.ts","type":"module","module":"index.ts","shasum":"ed54f745db31d4fd09ed7dfb288632c11236c36a","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:clawd":"bun ./example/clawd.ts","example:video":"bun ./example/video.ts","example:cinema":"bun ./example/cinema.ts","example:orbits":"bun ./example/orbits.ts","example:powder":"bun ./example/powder.ts","example:desktop":"bun ./example/desktop.ts","example:gba-tty":"bun ./example/gba-tty.ts","example:inkwell":"bun ./example/inkwell.ts","example:swarm3d":"bun ./example/swarm3d.ts","example:reaction":"bun ./example/reaction.ts","example:fineprint":"bun ./example/fineprint.ts","example:flowfield":"bun ./example/flowfield.ts","example:fluid-ink":"bun ./example/fluid-ink.ts","example:chromascii":"bun ./example/chromascii.ts","example:claude-tui":"bun ./example/claude-tui.ts","example:emberfield":"bun ./example/emberfield.ts","example:galaxy-tty":"bun ./example/galaxy-tty.ts","example:glyphstorm":"bun ./example/glyphstorm.ts","example:torus-knot":"bun ./example/torus-knot.ts","example:video-term":"bun ./example/video-term.ts","example:gameboy-tty":"bun ./example/gameboy-tty.ts","example:mandel-dive":"bun ./example/mandel-dive.ts","example:claude-spark":"bun ./example/claude-spark.ts","example:voxel-flight":"bun ./example/voxel-flight.ts","example:blackhole-tty":"bun ./example/blackhole-tty.ts","example:raycaster-term":"bun ./example/raycaster-term.ts","example:term-dashboard":"bun ./example/term-dashboard.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-BswHyaMJhSeE3IgDVHdQzXBzPe1PmPHDMJtDR4rKJhA5jP3FxwZsQz85L/4xFBQxYQux1paY3ft9aywTnr9PgQ==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/terminal"},"_npmVersion":"10.8.3","description":"High-performance terminal rendering engine — pixel framebuffer, TUI, FFI input, plugins — for Bun on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.2","@bun-win32/kernel32":"1.0.24"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/terminal_1.1.0_1780539761600_0.6918985839103111","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@bun-win32/terminal","version":"1.1.1","keywords":["bun","ffi","win32","windows","terminal","tui","ansi","vt","renderer","game","typescript"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/terminal@1.1.1","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"d266fc6f5986d77d8e70e3795b3123cc90335730","tarball":"https://registry.npmjs.org/@bun-win32/terminal/-/terminal-1.1.1.tgz","fileCount":21,"integrity":"sha512-WnnpJiI3BbX94VjL0B9yRScKBDArrh2M4mAtYymKBLyF40FK5m4ZhjmvIJgNONi49kBuIME+YchR8622BRZyBw==","signatures":[{"sig":"MEYCIQC5WdoqvSdQMffHSkcDelDwqc4m22NcBnhk2G3unGwyVwIhAMLQw3Qd4lnlqP5hqgYOv8V0EPMww082OfcSiEwtshBH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178330},"main":"./index.ts","type":"module","module":"index.ts","shasum":"d266fc6f5986d77d8e70e3795b3123cc90335730","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:clawd":"bun ./example/clawd.ts","example:video":"bun ./example/video.ts","example:cinema":"bun ./example/cinema.ts","example:orbits":"bun ./example/orbits.ts","example:powder":"bun ./example/powder.ts","example:desktop":"bun ./example/desktop.ts","example:gba-tty":"bun ./example/gba-tty.ts","example:inkwell":"bun ./example/inkwell.ts","example:swarm3d":"bun ./example/swarm3d.ts","example:reaction":"bun ./example/reaction.ts","example:fineprint":"bun ./example/fineprint.ts","example:flowfield":"bun ./example/flowfield.ts","example:fluid-ink":"bun ./example/fluid-ink.ts","example:chromascii":"bun ./example/chromascii.ts","example:claude-tui":"bun ./example/claude-tui.ts","example:emberfield":"bun ./example/emberfield.ts","example:galaxy-tty":"bun ./example/galaxy-tty.ts","example:glyphstorm":"bun ./example/glyphstorm.ts","example:torus-knot":"bun ./example/torus-knot.ts","example:video-term":"bun ./example/video-term.ts","example:gameboy-tty":"bun ./example/gameboy-tty.ts","example:mandel-dive":"bun ./example/mandel-dive.ts","example:claude-spark":"bun ./example/claude-spark.ts","example:voxel-flight":"bun ./example/voxel-flight.ts","example:blackhole-tty":"bun ./example/blackhole-tty.ts","example:raycaster-term":"bun ./example/raycaster-term.ts","example:term-dashboard":"bun ./example/term-dashboard.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-WnnpJiI3BbX94VjL0B9yRScKBDArrh2M4mAtYymKBLyF40FK5m4ZhjmvIJgNONi49kBuIME+YchR8622BRZyBw==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/terminal"},"_npmVersion":"10.8.3","description":"High-performance terminal rendering engine — pixel framebuffer, TUI, FFI input, plugins — for Bun on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.2","@bun-win32/kernel32":"1.0.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/terminal_1.1.1_1780663407171_0.6226329636077661","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@bun-win32/terminal","version":"1.1.2","keywords":["bun","ffi","win32","windows","terminal","tui","ansi","vt","renderer","game","typescript"],"author":"Stev Peifer <stev.p@outlook.com>","license":"MIT","_id":"@bun-win32/terminal@1.1.2","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"548ac36a83d444dc7c75213b231bd5c8a00ede18","tarball":"https://registry.npmjs.org/@bun-win32/terminal/-/terminal-1.1.2.tgz","fileCount":21,"integrity":"sha512-edUITIsTcSN4n2TKI0tHuw25IaUBuC+joy1VnR/3WiIp8iFGsfQCL87OiWxy2EPol1JPrLBnTjGLKURPsCU1uQ==","signatures":[{"sig":"MEUCIBole1TcnAnjb4qq8ndvzGT98DSeA8ZciAPPvpUbGItbAiEApFWh7Ex7SGRkIvoyHXI5yDPxWvSnPbPBOZKubGpdx3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177601},"main":"./index.ts","type":"module","module":"index.ts","shasum":"548ac36a83d444dc7c75213b231bd5c8a00ede18","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:clawd":"bun ./example/clawd.ts","example:video":"bun ./example/video.ts","example:cinema":"bun ./example/cinema.ts","example:orbits":"bun ./example/orbits.ts","example:powder":"bun ./example/powder.ts","example:desktop":"bun ./example/desktop.ts","example:gba-tty":"bun ./example/gba-tty.ts","example:inkwell":"bun ./example/inkwell.ts","example:swarm3d":"bun ./example/swarm3d.ts","example:reaction":"bun ./example/reaction.ts","example:fineprint":"bun ./example/fineprint.ts","example:flowfield":"bun ./example/flowfield.ts","example:fluid-ink":"bun ./example/fluid-ink.ts","example:chromascii":"bun ./example/chromascii.ts","example:claude-tui":"bun ./example/claude-tui.ts","example:emberfield":"bun ./example/emberfield.ts","example:galaxy-tty":"bun ./example/galaxy-tty.ts","example:glyphstorm":"bun ./example/glyphstorm.ts","example:torus-knot":"bun ./example/torus-knot.ts","example:video-term":"bun ./example/video-term.ts","example:gameboy-tty":"bun ./example/gameboy-tty.ts","example:mandel-dive":"bun ./example/mandel-dive.ts","example:claude-spark":"bun ./example/claude-spark.ts","example:voxel-flight":"bun ./example/voxel-flight.ts","example:blackhole-tty":"bun ./example/blackhole-tty.ts","example:raycaster-term":"bun ./example/raycaster-term.ts","example:term-dashboard":"bun ./example/term-dashboard.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-edUITIsTcSN4n2TKI0tHuw25IaUBuC+joy1VnR/3WiIp8iFGsfQCL87OiWxy2EPol1JPrLBnTjGLKURPsCU1uQ==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/terminal"},"_npmVersion":"10.8.3","description":"High-performance terminal rendering engine — pixel framebuffer, TUI, FFI input, plugins — for Bun on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.4","@bun-win32/kernel32":"1.0.26"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/terminal_1.1.2_1781642963670_0.8716333726189163","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@bun-win32/terminal","version":"2.0.0","keywords":["bun","ffi","win32","windows","terminal","tui","ansi","vt","renderer","game","typescript"],"author":"Stev Peifer <stev.p@outlook.com>","license":"MIT","_id":"@bun-win32/terminal@2.0.0","maintainers":[{"name":"obscuritysrl","email":"stev.p@outlook.com"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"51d8a9f69f55aeb64971cf1767a225d244011f65","tarball":"https://registry.npmjs.org/@bun-win32/terminal/-/terminal-2.0.0.tgz","fileCount":21,"integrity":"sha512-zP/diMzBdPGvq+cvyiJ1iOP3YLnrCT1ShPn39InRjPOLLnbhrA4SwiJZuz/3X69Ja6b2AXX/6OEQ30wcqNqkqw==","signatures":[{"sig":"MEUCIQCEKdDtNINQ+OyQL72fMw3mHgFdRloYUwHOz/4NXHDJTQIgCIxQtFkaZstEUF25lyNqMuf8TOlpAHjsuzcfgWiIbjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176123},"main":"./index.ts","type":"module","module":"index.ts","shasum":"51d8a9f69f55aeb64971cf1767a225d244011f65","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:clawd":"bun ./example/clawd.ts","example:video":"bun ./example/video.ts","example:cinema":"bun ./example/cinema.ts","example:orbits":"bun ./example/orbits.ts","example:powder":"bun ./example/powder.ts","example:desktop":"bun ./example/desktop.ts","example:gba-tty":"bun ./example/gba-tty.ts","example:inkwell":"bun ./example/inkwell.ts","example:swarm3d":"bun ./example/swarm3d.ts","example:reaction":"bun ./example/reaction.ts","example:fineprint":"bun ./example/fineprint.ts","example:flowfield":"bun ./example/flowfield.ts","example:fluid-ink":"bun ./example/fluid-ink.ts","example:chromascii":"bun ./example/chromascii.ts","example:claude-tui":"bun ./example/claude-tui.ts","example:emberfield":"bun ./example/emberfield.ts","example:galaxy-tty":"bun ./example/galaxy-tty.ts","example:glyphstorm":"bun ./example/glyphstorm.ts","example:torus-knot":"bun ./example/torus-knot.ts","example:video-term":"bun ./example/video-term.ts","example:gameboy-tty":"bun ./example/gameboy-tty.ts","example:mandel-dive":"bun ./example/mandel-dive.ts","example:claude-spark":"bun ./example/claude-spark.ts","example:voxel-flight":"bun ./example/voxel-flight.ts","example:blackhole-tty":"bun ./example/blackhole-tty.ts","example:raycaster-term":"bun ./example/raycaster-term.ts","example:term-dashboard":"bun ./example/term-dashboard.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev.p@outlook.com"},"_integrity":"sha512-zP/diMzBdPGvq+cvyiJ1iOP3YLnrCT1ShPn39InRjPOLLnbhrA4SwiJZuz/3X69Ja6b2AXX/6OEQ30wcqNqkqw==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/terminal"},"_npmVersion":"10.8.3","description":"High-performance terminal rendering engine — pixel framebuffer, TUI, FFI input, plugins — for Bun on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"@bun-win32/core":"2.0.0","@bun-win32/kernel32":"2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/terminal_2.0.0_1782436131726_0.48512494081755353","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"author":"Stev Peifer <stev.p@outlook.com>","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dependencies":{"@bun-win32/core":"2.0.1","@bun-win32/kernel32":"2.0.1"},"description":"High-performance terminal rendering engine — pixel framebuffer, TUI, FFI input, plugins — for Bun on Windows.","devDependencies":{"@types/bun":"latest"},"exports":{".":"./index.ts"},"license":"MIT","module":"index.ts","name":"@bun-win32/terminal","peerDependencies":{"typescript":"^5"},"private":false,"publishConfig":{"access":"public"},"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","repository":{"type":"git","url":"git://github.com/ObscuritySRL/bun-win32.git","directory":"packages/terminal"},"type":"module","version":"2.0.1","main":"./index.ts","keywords":["bun","ffi","win32","windows","terminal","tui","ansi","vt","renderer","game","typescript"],"sideEffects":false,"engines":{"bun":">=1.1.0"},"scripts":{"example:blackhole-tty":"bun ./example/blackhole-tty.ts","example:chromascii":"bun ./example/chromascii.ts","example:cinema":"bun ./example/cinema.ts","example:claude-spark":"bun ./example/claude-spark.ts","example:claude-tui":"bun ./example/claude-tui.ts","example:clawd":"bun ./example/clawd.ts","example:desktop":"bun ./example/desktop.ts","example:emberfield":"bun ./example/emberfield.ts","example:fineprint":"bun ./example/fineprint.ts","example:flowfield":"bun ./example/flowfield.ts","example:fluid-ink":"bun ./example/fluid-ink.ts","example:galaxy-tty":"bun ./example/galaxy-tty.ts","example:gameboy-tty":"bun ./example/gameboy-tty.ts","example:gba-tty":"bun ./example/gba-tty.ts","example:glyphstorm":"bun ./example/glyphstorm.ts","example:inkwell":"bun ./example/inkwell.ts","example:mandel-dive":"bun ./example/mandel-dive.ts","example:orbits":"bun ./example/orbits.ts","example:powder":"bun ./example/powder.ts","example:raycaster-term":"bun ./example/raycaster-term.ts","example:reaction":"bun ./example/reaction.ts","example:swarm3d":"bun ./example/swarm3d.ts","example:term-dashboard":"bun ./example/term-dashboard.ts","example:torus-knot":"bun ./example/torus-knot.ts","example:video":"bun ./example/video.ts","example:video-term":"bun ./example/video-term.ts","example:voxel-flight":"bun ./example/voxel-flight.ts"},"_id":"@bun-win32/terminal@2.0.1","_integrity":"sha512-cTpy6iJPzAiBAhvCISOcxA5AINgV+bA0As4odkfX5aK1iipfVSuZzA4YC22szjPmbY4biHhRe9nr2UJG88TdJw==","_nodeVersion":"26.3.0","_npmVersion":"10.8.3","shasum":"478c6a78187d38f1d4ba1ee8d3c1bd8d4eb9367f","dist":{"integrity":"sha512-cTpy6iJPzAiBAhvCISOcxA5AINgV+bA0As4odkfX5aK1iipfVSuZzA4YC22szjPmbY4biHhRe9nr2UJG88TdJw==","shasum":"478c6a78187d38f1d4ba1ee8d3c1bd8d4eb9367f","tarball":"https://registry.npmjs.org/@bun-win32/terminal/-/terminal-2.0.1.tgz","fileCount":21,"unpackedSize":176123,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDDw+OsGNfIWeb+8FeYqJAzLEeOHLJdZ4tk6ALoSse9tAIhAIPLxuOM0Jb2Th0dsps8VIOfjYPZUylw7BSgduyV0YsT"}]},"_npmUser":{"name":"obscuritysrl","email":"stev.p@outlook.com"},"directories":{},"maintainers":[{"name":"obscuritysrl","email":"stev.p@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/terminal_2.0.1_1782438246396_0.18423418714809991"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-03T21:16:34.949Z","modified":"2026-06-26T01:44:06.690Z","1.0.0":"2026-06-03T21:16:35.348Z","1.1.0":"2026-06-04T02:22:41.895Z","1.1.1":"2026-06-05T12:43:27.325Z","1.1.2":"2026-06-16T20:49:23.836Z","2.0.0":"2026-06-26T01:08:51.967Z","2.0.1":"2026-06-26T01:44:06.585Z"},"bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"author":"Stev Peifer <stev.p@outlook.com>","license":"MIT","homepage":"https://github.com/ObscuritySRL/bun-win32#readme","keywords":["bun","ffi","win32","windows","terminal","tui","ansi","vt","renderer","game","typescript"],"repository":{"type":"git","url":"git://github.com/ObscuritySRL/bun-win32.git","directory":"packages/terminal"},"description":"High-performance terminal rendering engine — pixel framebuffer, TUI, FFI input, plugins — for Bun on Windows.","maintainers":[{"name":"obscuritysrl","email":"stev.p@outlook.com"}],"readme":"# @bun-win32/terminal\n\nExtreme-performance terminal rendering engine — pixel framebuffer + TUI, FFI input — for [Bun](https://bun.sh) on Windows.\n\n## Overview\n\nTwo surfaces share one zero-allocation core that streams diffed frames over a single write:\n\n- **`Term`** — a 24-bit RGB framebuffer rendered as Unicode block glyphs (`half`/`quad`/`sextant`/`octant`/`braille`/`ascii`), at tens of thousands of frames per second of frame production.\n- **`CharTerm`** — a character-cell grid for terminal user interfaces (box drawing, shading, bold).\n\nInput arrives through `ReadConsoleInputW` (real key **up/down** + repeat + modifiers, mouse, resize) — beyond what ANSI stdin can report. Drive a surface directly, or hand a spec to `run` / `runText` for a managed live loop with headless `CAPTURE_PNG` and `BENCH` modes.\n\n## Features\n\n- Sub-cell modes (`half`/`quad`/`sextant`/`octant`/`braille`/`ascii`), diff strategies (`exact`/`threshold`/`none`), colour depths (`truecolor`/`256`/`16`) with optional ordered (Bayer) dithering.\n- Drawing: `setPixel`/`addPixel`/`blendPixel`/`plate`/`text`, shapes `line`/`rect`/`fillRect`/`circle`/`fillCircle`/`addCircle` (soft additive glow)/`blit`, and a clip rectangle.\n- FFI keyboard (key up/down) + mouse + window-resize + focus + paste events; high-resolution frame pacing.\n- Damage regions (`markDamage`) for partial redraws on mostly-static surfaces.\n- DEC synchronized output (tear-free), a pluggable frame sink (record / pipe), and PNG export.\n- A machine-readable `CAPABILITIES` manifest for runtime feature discovery.\n\n## Requirements\n\nBun on Windows 10/11.\n\n## Installation\n\n```sh\nbun add @bun-win32/terminal\n```\n\n## Quick Start\n\n```ts\nimport { run } from '@bun-win32/terminal';\n\nawait run({\n  title: 'Demo',\n  frame: (surface, time) => {\n    surface.clear(0, 0, 0);\n    surface.fillCircle(surface.width / 2, surface.height / 2, 8, 255, 180, 60);\n  },\n});\n```\n\n> [!NOTE]\n> AI agents: see `AI.md` for the capability→API table and copy-paste recipes for every persona.\n\n## Examples\n\nTwenty-seven runnable demos live in `example/` (games, TUIs, video, procedural scenes):\n\n```sh\nbun run example/raycaster-term.ts     # a playable raycaster (game)\nbun run example/term-dashboard.ts     # an interactive command-center (TUI)\nbun run example/emberfield.ts         # octant + dithering + addCircle glow showcase\nTERM_MODE=braille bun run example/fineprint.ts   # the resolution test-card\n```\n\n## Notes\n\n- Windows only; consumes `@bun-win32/kernel32` for console I/O.\n- The console is restored on exit/crash; ESC and Ctrl-C always quit a live loop.\n- **SAL types & naming:** nullability is in the **type** — `Optional<T>` (formally optional, SAL `_*opt_`) and `Nullable<T>` (plain `[in]`/`[out]` the docs say can be NULL), the null sentinel derived from `T` (`null` for pointers `LP*`/`P*`, `0n` for handles/by-value addresses); direction is in the **parameter name** — `_out` (`_Out_`), `_in_out` (`_Inout_`), `_In_` bare. See `AI.md` and the repo `AGENTS.md`.\n","readmeFilename":"README.md"}