How waridosann/pomodorobleach works
Zangetsu is a French, browser-only Pomodoro app. The user configures focus and break intervals, starts a session with an optional intention, and the app records completed focus sessions for the journal and seven-day progress view. Settings and timer history persist locally; personal sword models use separate IndexedDB storage and are rendered in an interactive Three.js scene. The graph covers documented journal, export, audio, accessibility and model-import capabilities; unsampled UI details are linked only where README or indexed references support them.
Main entry points: App.tsx App and Settings UI · model-store.ts Model Store · SwordView.tsx Sword View · sword-scene.ts 3D Sword Scene
Components 16
Pomodoro Experience
- React App Entry
src/main.tsx - App and Settings UI
src/App.tsx - Timer State Logic
src/timer.ts
Journal and Progress
- Session Journal
src/App.tsx - Progress and Goals
src/App.tsx - CSV Export
src/App.tsx
Interactive Sword
- Sword View
src/SwordView.tsx - 3D Sword Scene
src/sword-scene.ts - Model Import and Validation
src/sword-scene.ts
Local Persistence
- Model Store
src/model-store.ts - App Data Storage
src/App.tsx
Sound and Feedback
- Synthesized Audio
src/audio.ts
Other components
- User
- Web Audio API
- Browser Storage APIs
- WebGL and Three.js Runtime
Connections 19
- User → React App Entry: opens app
src/main.tsx - React App Entry → App and Settings UI: renders
src/main.tsx - App and Settings UI → Timer State Logic: updates timer
src/App.tsx - App and Settings UI → App Data Storage: reads and writes
README.md - App Data Storage → Browser Storage APIs: uses localStorage
README.md - App and Settings UI → Session Journal: renders
src/App.tsx - App and Settings UI → Progress and Goals: renders
src/App.tsx - App and Settings UI → CSV Export: exports
src/App.tsx - Timer State Logic → Session Journal: records sessions
src/timer.ts - App and Settings UI → Sword View: loads lazily
src/App.tsx - Sword View → 3D Sword Scene: creates and updates
src/SwordView.tsx - Sword View → Model Store: reads model
src/SwordView.tsx - App and Settings UI → Model Import and Validation: validates model
src/App.tsx - Model Import and Validation → Model Store: saves model
src/App.tsx - 3D Sword Scene → Model Store: loads saved model
src/sword-scene.ts - Model Store → Browser Storage APIs: uses IndexedDB
README.md - 3D Sword Scene → WebGL and Three.js Runtime: renders scene
src/sword-scene.ts - App and Settings UI → Synthesized Audio: controls audio
src/App.tsx - Synthesized Audio → Web Audio API: generates tones
README.md