fix(linux): add missing yaze_gfx_render dependency to yaze_gfx_debug
Fixes linker error on Linux where yaze_gfx_debug.a (performance_dashboard.cc) was calling AtlasRenderer::Get() and AtlasRenderer::GetStats() but wasn't linking against yaze_gfx_render which contains atlas_renderer.cc. Root cause: yaze_gfx_debug was only linking to yaze_gfx_types and yaze_gfx_resource, missing the yaze_gfx_render dependency. This also fixes the undefined reference errors for HttpServer methods which were already properly included in the agent.cmake source list. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
80
docs/public/build/quick-reference.md
Normal file
80
docs/public/build/quick-reference.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# Build & Test Quick Reference
|
||||
|
||||
Use this document as the single source of truth for configuring, building, and testing YAZE across
|
||||
platforms. Other guides (README, CLAUDE.md, GEMINI.md, etc.) should link here instead of duplicating
|
||||
steps.
|
||||
|
||||
## 1. Environment Prep
|
||||
- Clone with submodules: `git clone --recursive https://github.com/scawful/yaze.git`
|
||||
- Run the verifier once per machine:
|
||||
- macOS/Linux: `./scripts/verify-build-environment.sh --fix`
|
||||
- Windows PowerShell: `.\scripts\verify-build-environment.ps1 -FixIssues`
|
||||
|
||||
## 2. Build Presets
|
||||
Use `cmake --preset <name>` followed by `cmake --build --preset <name> [--target …]`.
|
||||
|
||||
| Preset | Platform(s) | Notes |
|
||||
|-------------|-------------|-------|
|
||||
| `mac-dbg`, `lin-dbg`, `win-dbg` | macOS/Linux/Windows | Standard debug builds, tests on by default. |
|
||||
| `mac-ai`, `lin-ai`, `win-ai` | macOS/Linux/Windows | Enables gRPC, agent UI, `z3ed`, and AI runtime. |
|
||||
| `mac-rel`, `lin-rel`, `win-rel` | macOS/Linux/Windows | Optimized release builds. |
|
||||
| `mac-dev`, `lin-dev`, `win-dev` | macOS/Linux/Windows | Development builds with ROM-dependent tests enabled. |
|
||||
| `mac-uni` | macOS | Universal binary (ARM64 + x86_64) for distribution. |
|
||||
| `ci-*` presets | Platform-specific | Mirrors CI matrix; see `CMakePresets.json`. |
|
||||
|
||||
**Verbose builds**: add `-v` suffix (e.g., `mac-dbg-v`, `lin-dbg-v`, `win-dbg-v`) to turn off compiler warning suppression.
|
||||
|
||||
## 3. AI/Assistant Build Policy
|
||||
- Human developers typically use `build` or `build_test` directories.
|
||||
- AI assistants **must use dedicated directories** (`build_ai`, `build_agent`, etc.) to avoid
|
||||
clobbering user builds.
|
||||
- When enabling AI features, prefer the `*-ai` presets and target only the binaries you need
|
||||
(`yaze`, `z3ed`, `yaze_test`, …).
|
||||
- Windows helpers: use `scripts/agents/windows-smoke-build.ps1` for quick builds and `scripts/agents/run-tests.sh` (or its PowerShell equivalent) for test runs so preset + generator settings stay consistent.
|
||||
|
||||
## 4. Common Commands
|
||||
```bash
|
||||
# Debug GUI build (macOS)
|
||||
cmake --preset mac-dbg
|
||||
cmake --build --preset mac-dbg --target yaze
|
||||
|
||||
# Debug GUI build (Linux)
|
||||
cmake --preset lin-dbg
|
||||
cmake --build --preset lin-dbg --target yaze
|
||||
|
||||
# Debug GUI build (Windows)
|
||||
cmake --preset win-dbg
|
||||
cmake --build --preset win-dbg --target yaze
|
||||
|
||||
# AI-enabled build with gRPC (macOS)
|
||||
cmake --preset mac-ai
|
||||
cmake --build --preset mac-ai --target yaze z3ed
|
||||
|
||||
# AI-enabled build with gRPC (Linux)
|
||||
cmake --preset lin-ai
|
||||
cmake --build --preset lin-ai --target yaze z3ed
|
||||
|
||||
# AI-enabled build with gRPC (Windows)
|
||||
cmake --preset win-ai
|
||||
cmake --build --preset win-ai --target yaze z3ed
|
||||
```
|
||||
|
||||
## 5. Testing
|
||||
- Build target: `cmake --build --preset <preset> --target yaze_test`
|
||||
- Run all tests: `./build/bin/yaze_test`
|
||||
- Filtered runs:
|
||||
- `./build/bin/yaze_test --unit`
|
||||
- `./build/bin/yaze_test --integration`
|
||||
- `./build/bin/yaze_test --e2e --show-gui`
|
||||
- `./build/bin/yaze_test --rom-dependent --rom-path path/to/zelda3.sfc`
|
||||
- Preset-based ctest: `ctest --preset dev`
|
||||
|
||||
Environment variables:
|
||||
- `YAZE_TEST_ROM_PATH` – default ROM for ROM-dependent tests.
|
||||
- `YAZE_SKIP_ROM_TESTS`, `YAZE_ENABLE_UI_TESTS` – gate expensive suites.
|
||||
|
||||
## 6. Troubleshooting & References
|
||||
- Detailed troubleshooting: `docs/public/build/troubleshooting.md`
|
||||
- Platform compatibility: `docs/public/build/platform-compatibility.md`
|
||||
- Internal agents must follow coordination protocol in
|
||||
`docs/internal/agents/coordination-board.md` before running builds/tests.
|
||||
49
docs/public/examples/README.md
Normal file
49
docs/public/examples/README.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Examples & Recipes
|
||||
|
||||
Short, task-focused snippets for everyday YAZE workflows. These examples supplement the primary
|
||||
guides (Getting Started, z3ed CLI, Dungeon/Overworld editors) and should remain concise. When in
|
||||
doubt, link back to the relevant guide instead of duplicating long explanations.
|
||||
|
||||
## 1. Launching Common Editors
|
||||
```bash
|
||||
# Open YAZE directly in the Dungeon editor with room cards preset
|
||||
./build/bin/yaze --rom_file=zelda3.sfc \
|
||||
--editor=Dungeon \
|
||||
--cards="Rooms List,Room Graphics,Object Editor"
|
||||
|
||||
# Jump to an Overworld map from the CLI/TUI companion
|
||||
./build/bin/z3ed overworld describe-map --map 0x80 --rom zelda3.sfc
|
||||
```
|
||||
|
||||
## 2. AI/Automation Recipes
|
||||
```bash
|
||||
# Generate an AI plan to reposition an entrance, but do not apply yet
|
||||
./build/bin/z3ed agent plan \
|
||||
--rom zelda3.sfc \
|
||||
--prompt "Move the desert palace entrance 2 tiles north" \
|
||||
--sandbox
|
||||
|
||||
# Resume the plan and apply it once reviewed
|
||||
./build/bin/z3ed agent accept --proposal-id <ID> --rom zelda3.sfc --sandbox
|
||||
```
|
||||
|
||||
## 3. Building & Testing Snippets
|
||||
```bash
|
||||
# Debug build with tests
|
||||
cmake --preset mac-dbg
|
||||
cmake --build --preset mac-dbg --target yaze yaze_test
|
||||
./build/bin/yaze_test --unit
|
||||
|
||||
# AI-focused build in a dedicated directory (recommended for assistants)
|
||||
cmake --preset mac-ai -B build_ai
|
||||
cmake --build build_ai --target yaze z3ed
|
||||
```
|
||||
|
||||
## 4. Quick Verification
|
||||
- Run `./scripts/verify-build-environment.sh --fix` (or the PowerShell variant on Windows) whenever
|
||||
pulling major build changes.
|
||||
- See the [Build & Test Quick Reference](../build/quick-reference.md) for the canonical list of
|
||||
commands and testing recipes.
|
||||
|
||||
Want to contribute another recipe? Add it here with a short description and reference the relevant
|
||||
guide so the examples stay focused.
|
||||
Reference in New Issue
Block a user