diff options
Diffstat (limited to 'GEMINI.md')
| -rw-r--r-- | GEMINI.md | 55 |
1 files changed, 13 insertions, 42 deletions
@@ -84,48 +84,19 @@ IMPORTANT: - Keep PROJECT_CONTEXT.md focused on current status - Keep TODO.md focused on active/next tasks only -# ============================================ -# CURRENT STATE SNAPSHOT (Gemini-Specific) -# ============================================ -<state_snapshot> - <overall_goal> - Produce a cross-platform (Windows, macOS, Linux) 64-kilobyte demoscene production. This is achieved through a C++ codebase utilizing WebGPU for graphics (with a hybrid SDF/rasterization pipeline) and a real-time procedural audio engine for sound, with a heavy focus on size-optimization at all stages. - </overall_goal> - - <active_constraints> - - All tests passing (36/36 - 100%). - - Strict 64k final binary size target. - - Adherence to project coding style and contribution guidelines is mandatory. - </active_constraints> - - <key_knowledge> - - **Workspace System:** The project is organized into self-contained workspaces (e.g., `workspaces/main`, `workspaces/test`) managed by a `workspace.cfg` file, separating demo-specific content from a `common/` directory that holds shared shaders and resources. Selection is done at build time with `-DDEMO_WORKSPACE=<name>`. - - **Build & Asset Pipeline:** A modular CMake system orchestrates the build. It uses host-native tools (`asset_packer`, `seq_compiler`, `tracker_compiler`) to parse manifest files (`assets.txt`, `timeline.seq`, `music.track`) and compile assets directly into the binary as C++ data, including procedural asset generation. - - **Audio Engine:** A real-time, sample-accurate audio engine with a tracker system for sequencing patterns from `.track` files. It features procedural synthesis from spectrograms (FFT-based IDCT), variable tempo that is decoupled from visual timing, and an abstracted backend for testing and offline rendering (`WavDumpBackend`). - - **Graphics & Rendering:** The renderer uses WebGPU (wgpu-native) and WGSL shaders. It employs a hybrid technique, rasterizing proxy geometry (cubes) and then performing SDF raymarching within the fragment shader. The 3D system supports BVH acceleration, and there's a pipeline for importing OBJ models. - - **Sequence & Timing:** Visuals are defined in `.seq` files using a beat-based timeline that is compiled into physical seconds. Shaders receive a `CommonPostProcessUniforms` buffer containing both physical time (`time`) for constant-speed animations and musical time (`beat_time`, `beat_phase`) for syncing with the audio playback clock. - - **CNN Post-Processing:** The project features a sophisticated CNN post-processing pipeline (CNNv2) for visual stylization. This includes a full Python/PyTorch training toolchain, a binary weight format, and a WebGPU-based validation tool. The network uses 7D parametric static features (RGBD, UV, sin, bias) for rich, position-aware effects. - - **Development Workflow:** There is a strong emphasis on tooling and process, including a visual timeline editor, audio analysis tools, a web-based CNN debugger, strict coding standards enforced by `clang-format`, and a comprehensive pre-commit script (`./scripts/check_all.sh`). - </key_knowledge> +# Role: Senior Systems Engineer (C++ Focus) - <artifact_trail> - - `GEMINI.md`: This file, synchronized with CLAUDE.md structure - - `PROJECT_CONTEXT.md`: Current system status - - `TODO.md`: Active priorities (Task #5 in progress) - </artifact_trail> +## Response Style +- **Extreme Brevity:** Provide direct answers. No "Sure, I can help," "I hope this helps," or "Here is the code." +- **Code-First:** Lead with the solution or the code block. +- **Explain on Demand:** Do not explain *how* the code works unless explicitly asked with "Why?" or "Explain." +- **No Markdown Fluff:** Avoid bolding every other word. Use standard technical formatting. - <recent_actions> - - **File Hierarchy Cleanup:** Major reorganization of the project structure, establishing the `workspaces/` and `common/` directories and eliminating ~100 redundant files (especially shaders). - - **CNNv2 Training Pipeline:** Fixed critical checkpointing bugs and streamlined the output of the training scripts for faster iteration. - - **Effect Render API Refactor:** Simplified the `Effect::render` API and fixed uniform initialization bugs across 19 effects. - - **CNN Shader Testing Tool:** Implemented `tools/cnn_test` for offline GPU-accelerated validation of trained CNN models. - - **Effect Source Hierarchy Cleanup**: Refactored the effects system by splitting `src/gpu/demo_effects.h` into individual header files for each effect, creating 10 new headers, moving class definitions, updating `.cc` files with new includes, fixing missing `#include` statements, creating a common `particle_defs.h`, and cleaning up `demo_effects.h`. Verified by passing all 34 tests. handoff(Gemini): - </recent_actions> +## Technical Preferences +- **C++ Standards:** Default to C++20/C++23 unless specified otherwise. +- **Style:** Prefer Modern C++ (RAII, templates, constexpr, STL) over C-style patterns. +- **Nomenclature:** Use standard engineering terminology (e.g., "O(n) complexity," "pointer aliasing," "cache miss") without defining the terms. - <task_state> - 1. [IN PROGRESS] Task #5: Spectral Brush Editor (Priority 1) - 2. [PENDING] Task #18: 3D System Enhancements (Priority 4) - 3. [RECURRENT] Task #50: WGSL Modularization (Priority 4) - 4. [PENDING] Tracker Humanization & Sample Offset (Priority 3) - </task_state> -</state_snapshot>
\ No newline at end of file +## Interaction Protocol +- If a query is ambiguous, provide the most likely technical solution rather than asking for clarification. +- Treat the user as a peer with expert-level knowledge. |
