asciiquack / asciifrog 🦆🐸🌊✨
A lightweight, zero-dependency terminal rubber-companion and VS Code Sidebar Extension for debugging, drifting, and dreaming.
\ | / .--.
.-'---'-. .-( ).
--( O u O )-- ( )
'-.---.-' `------'
/ | \
(o)(o) __
( u ) ~ ≈ ∽ ~ ≈ ∽ ~ ≈ <(o·)___
( ) ≈ ∽ ~ ≈ ∽ ~ ≈ ∽ (·····/
`------' ∽ ~ ≈ ∽ ~ ≈ ∽ ~ `---'
Inspired by the classic asciiaquarium, this app brings a peaceful, floating rubber companion right into your workspace (featuring a special chibi frog mode for JY! 🐸💖). Run it as a standalone Python TUI in your terminal or install the Asciiquack VS Code Sidebar Extension for the ultimate companion programming experience! 💖
🚀 Modes of Operation
📺 1. TUI Mode (Terminal User Interface)
Built entirely in Python 3.14+ using the standard library and raw ANSI escape codes. Extremely lightweight, fast, and runs in any terminal emulator.
Quick Start:
git clone git@github.com:SinsuSquid/asciiquack.git
cd asciiquack
python3 main.py
Packaging as Binary:
You can package the TUI into a standalone executable using PyInstaller:
pip install pyinstaller
pyinstaller --onefile --name asciiquack main.py
Find your compiled binary in the dist/ directory!
A native VS Code extension that renders the pond in a dedicated Webview View in your Activity Bar. Re-coded in HTML/CSS/JS with:
- Cyberpunk Dark Theme: Neon-green frogs, gold-yellow ducks, and glowing text shadows.
- CRT Scanline Effects: A vintage digital screen texture overlaid on the pond.
- Auto-fitting Horizontal Grid: Automatically detects and scales the columns count (
gridWidth) to match your VS Code sidebar width on resize, preventing horizontal scrollbars.
- Draggable Vertical Resizer: Drag the bottom border handle up or down (showing a double-sided
ns-resize cursor) to manually resize the animation row height!
- High-Performance Rendering: Uses zero-allocation primitive arrays and a delta-time decoupled animation loop to keep waves running at a smooth, constant speed regardless of window scale.
- Interactive UI Buttons: Click buttons or use keyboard shortcuts to interact.

🛒 Marketplace Installation:
Install it directly from the VS Code Marketplace, or search for Asciiquack in the Extensions view (Ctrl+Shift+X) inside your editor!
📦 Local VSIX Installation:
Install the pre-compiled extension bundle directly into VS Code:
code --install-extension asciiquack-0.1.4.vsix
Launching in Development:
- Open this repository in VS Code.
- Run
npm install to setup development types.
- Press
F5 (or select "Run Extension" in the Debug panel) to launch the Extension Development Host.
- Click the yellow pixel-art duck icon in the Activity Bar!
🎮 Controls & Shortcuts
The following keybindings work in TUI Mode and most also in VS Code Extension Mode (when the input field is not focused). Keys marked (TUI only) apply exclusively to the terminal app:
| Key / Control |
Action |
Enter / Send |
Send a message to your companion |
Tab / 🎨 Color |
Cycle colors (Yellow ↔ Green ↔ Cyan ↔ Magenta ↔ Red ↔ White) |
H / 🎩 Hat |
Cycle through hats (None, Top Hat, Cap, Flower, Crown, Beret, Wizard, Bow) 🎩👑🎀 |
F / 🌾 Feed |
Feed breadcrumbs to the pond 🥨 |
A / 🔄 Swap |
Switch between animal species (Duck ↔ Frog) |
C / 💬 Chat |
Toggle Conversation Log: Hides the console log and dynamically expands the pond animation height! |
M / 🗺️ Menu |
Toggle Menu: Hides/shows the menu bar and expands the animation to full screen! (TUI only) |
ESC |
Exit the pond safely. (TUI only) |
🛠️ Tech Stack
- Python 3.14+ & Raw ANSI Escape Sequences (TUI Engine)
- Node.js, VS Code Extension API, and HTML5/CSS3/JavaScript (VS Code Webview Engine)
- PIL / Pillow (build-time only, for icon optimization)
- Love and Animal Magic 💖🦆🐸
Made with ✨ by SinsuSquid and their loyal CLI Assistant.
The pond experiences tidal waves due to unusually strong lunar gravity. The frog and duck have adapted. 🌕