Long coding sessions benefit from small breaks that do not pull you into another app. otak-zen keeps the pause inside VS Code: click the 禅 status bar item, watch a full-panel canvas animation, feed the fish with a click, then click again when you are ready to return.

Quick Start
- Install from the VS Code Marketplace.
- Click the
禅 item in the VS Code status bar.
- Move the pointer across the canvas to influence the fish.
- Click the canvas to add food bursts.
- Click
禅 again to close the Zen Time panel.
You can also run Toggle Zen Time from the Command Palette.
Capabilities
- Status bar toggle: the
禅 item opens and closes the Zen Time Webview.
- Interactive canvas: koi and smaller creatures swim across a full-panel HTML5 canvas.
- Click-to-feed motion: clicking the canvas creates food particles that fish can chase.
- Pointer-aware behavior: fish respond to pointer movement, producing a more organic scene.
- Live settings updates: changing creature counts in VS Code settings updates the open panel.
- Bounded simulation work: food particles and neighbor lookups are bounded to keep animation cost controlled.
- Local-only experience: all rendering runs in the VS Code Webview on your machine.
- Package localization: Marketplace/package metadata, command title, and settings descriptions follow supported VS Code display languages.
How It Works
When VS Code finishes starting, otak-zen creates a status bar item labeled 禅. Activating it:
- Opens a
Zen Time Webview panel.
- Loads the packaged canvas app from
src/zen/.
- Applies a nonce-based content security policy for the Webview script.
- Sends the current
otakZen settings to the Webview after it is ready.
- Re-sends settings when you change
otakZen.smallCreatureCount or otakZen.koiCount.
The Webview stops its animation loop when hidden and resumes when visible again.
Controls
| Action |
Result |
Click the 禅 status bar item |
Open or close Zen Time |
| Move the pointer over the canvas |
Influence fish movement |
| Click the canvas |
Add food bursts |
| Press Space in the Webview |
Toggle per-creature debug parameters |
Settings
| Setting |
Default |
Range |
Description |
otakZen.smallCreatureCount |
35 |
1-100 |
Number of small creatures in the Zen canvas |
otakZen.koiCount |
7 |
1-20 |
Number of koi fish in the Zen canvas |
Supported Scenarios
| otak-zen is built for |
Outside its scope |
| A local, visual break inside VS Code |
Replacing VS Code's built-in Zen Mode layout controls |
| Lightweight ambience during focus sessions |
Timers, task management, or productivity tracking |
| Offline and locked-down environments |
Cloud services, accounts, or external assets |
Security & Privacy
otak-zen is designed to stay local and quiet.
- 100% local rendering: the fish scene runs inside the VS Code Webview.
- Zero network access: no remote images, APIs, analytics, or telemetry calls are used.
- No account or API key: nothing to sign in to, nothing to provision.
- No workspace file writes: the extension reads its packaged Webview files and does not modify your project files.
- Content security policy: the Webview uses a generated nonce for script loading.
- Open source, MIT-licensed: the implementation is auditable on GitHub.
Package Localization
The extension manifest follows your VS Code display language for package-visible text:
English · 日本語 · 简体中文 · 繁體中文 · 한국어 · Tiếng Việt · Español · Português (BR) · Français · Deutsch · हिन्दी · Bahasa Indonesia · Italiano · Русский · العربية · Türkçe
This README is intentionally kept in English only.
Requirements
- VS Code 1.90.0 or newer
- Webview support enabled in VS Code
Installation
Install from the VS Code Marketplace, or run:
ext install odangoo.otak-zen
Build from source (VSIX)
npm install
npm run package
code --install-extension otak-zen-1.3.3.vsix
Reload VS Code afterwards if the extension was already installed.
Troubleshooting
- The
禅 item is missing: reload VS Code and confirm the extension is enabled.
- The panel opens but looks blank: reload the window and check whether Webviews are disabled by policy.
- The animation feels heavy: reduce
otakZen.smallCreatureCount or otakZen.koiCount.
- Settings did not appear to apply: close and reopen Zen Time after changing the setting.
- You expected VS Code's built-in Zen Mode: otak-zen is a visual Webview break, not a layout-hiding command.
More VS Code extensions by odangoo:
| Extension |
Description |
| otak-paste |
Paste optimized screenshots into Markdown assets |
| otak-proxy |
One-click proxy switching for VS Code, Git, npm, and integrated terminals |
| otak-monitor |
Real-time CPU, memory, and disk usage in the status bar |
| otak-committer |
AI-assisted commit messages, pull requests, and issues |
| otak-clipboard |
Copy a folder or the current tab to your clipboard in two clicks |
| otak-clock |
Dual time-zone clock for the status bar |
| otak-pomodoro |
A Pomodoro focus timer built into VS Code |
| otak-restart |
Quick Extension Host and window restart from the status bar |
| otak-lsp |
Japanese morphological analysis with grammar checks, semantic highlights, and hovers |
| otak-usage |
At-a-glance usage statistics for VS Code |
License
Released under the MIT License.