# Project Notes ## Target Hardware: AYN Thor - AYN Thor main display: 6-inch AMOLED, 1920 x 1080, 120Hz. - AYN Thor secondary display: 3.92-inch AMOLED, 1240 x 1080, 60Hz. - AYN Thor UI sizing must be designed against Android CSS/layout viewport, not physical framebuffer pixels. - Approximate Thor CSS viewports: main display 960 x 540, secondary display 620 x 540. - Test top-screen UI only against the main display viewport, and bottom-screen UI only against the secondary display viewport. ## Input Requirements - Every game screen, menu, dialog, overlay, and gameplay interaction must be fully navigable by controller at all times. - Controller navigation must not depend on touch, mouse, keyboard, or hidden developer-only shortcuts. - Focus state must always be visible and predictable when controller navigation is active. - Avoid interaction patterns that trap focus, lose focus, or require precise pointer input. ## Architecture Requirements - Keep systems modular and scoped by responsibility. - Prefer small reusable modules/components over large files with mixed concerns. - Keep shared game logic independent from platform-specific web or mobile wrappers whenever practical. - Apply game changes to both web version and mobile app version. ## Performance Requirements - Treat CPU, GPU, memory, battery, and startup cost as first-class constraints. - Avoid unnecessary per-frame allocations, polling, timers, layout work, and re-renders. - Keep assets sized appropriately for Thor displays; do not ship oversized textures, images, audio, or data blobs without need. - Prefer event-driven updates and cached calculations for UI and game systems. - Profile or measure when changing hot paths, rendering, animation, input handling, asset loading, or persistent state. ## Build Requirements - User rebuilds app; do not rebuild APK unless explicitly requested.