This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a Vue 3 + Vite application that creates experimental multi-window browser interactions. The application opens multiple browser windows in animated patterns (circular arrangements, sine waves) as a creative exploration of browser window APIs.
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production build
- Vue 3 SPA using
<script setup>composition API - Vite for build tooling and development server
- Component-based architecture with three main interactive buttons
App.vue- Main application layout with vertical button listCircleWindowsButton.vue- Opens 8 windows in circular pattern around randomized center pointNewWindowButton.vue- Opens single window with random dimensions and positionSineWaveAnimationButton.vue- Creates animated wave patterns with multiple windows
All components follow a consistent pattern:
- Calculate window positions and dimensions
- Use
window.open()with specific features (no menubar, toolbar, etc.) - Apply visual styling (pastel colors, rainbow hues)
- Auto-close windows after 5-10 seconds using
setTimeout - Store window references for animation control (SineWave component)
- Maintains
animatedWindowsarray with window references and metadata - Uses
requestAnimationFramefor smooth 60fps animations - Implements multiple wave algorithms: static sine wave, traveling wave, true traveling wave
- Provides cleanup functions to stop animations and close windows
This is a creative experiment exploring:
- Multi-window orchestration as a library concept
- Animated patterns (fireworks, waves, boids/flocking behavior)
- Visual effects with browser windows as UI primitives
- Potential for intuitive window manipulation APIs