2.5 KiB
2.5 KiB
Gemini Pro 3 Build Setup Guide
Quick iteration setup for maximizing Gemini's effectiveness on YAZE.
One-Time Setup
# Use the dedicated Gemini build script (recommended)
./scripts/gemini_build.sh
# Or manually configure with the Gemini preset
cmake --preset mac-gemini
# Verify setup succeeded
ls build_gemini/compile_commands.json
Fast Rebuild Cycle (~30s-2min)
# Recommended: Use the build script
./scripts/gemini_build.sh # Build yaze (default)
./scripts/gemini_build.sh yaze_test # Build tests
./scripts/gemini_build.sh --fresh # Clean reconfigure
# Or use cmake directly
cmake --build build_gemini -j8 --target yaze
# Rebuild editor library (for src/app/editor/ changes)
cmake --build build_gemini -j8 --target yaze_editor
# Rebuild zelda3 library (for src/zelda3/ changes)
cmake --build build_gemini -j8 --target yaze_lib
Quick Validation (~2-3min)
# Run stable tests (unit + integration, no ROM required)
ctest --test-dir build_gemini -L stable -j4 --output-on-failure
# Run GUI smoke tests only (~1min)
ctest --test-dir build_gemini -L gui --output-on-failure
# Run specific test by name
ctest --test-dir build_gemini -R "OverworldRegression" --output-on-failure
Full Validation (when confident)
# All tests
ctest --test-dir build_gemini --output-on-failure -j4
Format Check (before committing)
# Check format without modifying
cmake --build build_gemini --target format-check
# Auto-format all code
cmake --build build_gemini --target format
Key Directories
| Path | Purpose |
|---|---|
src/app/editor/overworld/ |
Overworld editor modules (8 files) |
src/zelda3/overworld/ |
Overworld data models |
src/zelda3/dungeon/ |
Dungeon data models |
src/app/editor/dungeon/ |
Dungeon editor components |
test/unit/zelda3/ |
Unit tests for zelda3 logic |
test/e2e/ |
GUI E2E tests |
Iteration Strategy
- Make changes to target files
- Rebuild with
cmake --build build_gemini -j8 --target yaze - Test with
ctest --test-dir build_gemini -L stable -j4 - Repeat until all tests pass
Common Issues
Build fails with "target not found"
# Reconfigure (CMakeLists.txt changed)
./scripts/gemini_build.sh --fresh
# Or: cmake --preset mac-gemini --fresh
Tests timeout
# Run with longer timeout
ctest --test-dir build_gemini -L stable --timeout 300
Need to see test output
ctest --test-dir build_gemini -L stable -V # Verbose