# Compatibility Matrix
This matrix tracks what is currently validated, what is expected to work, and what is still pending hardware confirmation.
Legend:
- `Validated`: covered by CI and/or deterministic integration checks
- `Expected`: should work based on implementation and constraints, not yet formally validated here
- `Planned`: roadmap item not yet implemented/verified
## Build and Feature Profiles
| `std` default feature set | Validated | `.github/workflows/rust.yml` (`check`, `test`, `examples`) | Main desktop/simulator validation path |
| `--no-default-features --features row_width_240` | Validated | `.github/workflows/rust.yml` (`embedded-budget` matrix) | Constrained/no_std-style check + clippy + telemetry guard |
| `desktop-unbounded` | Expected | Local/demo usage | Intended for unconstrained desktop profiling |
| Alternate row widths (`row_width_96/160/320`) | Validated | `.github/workflows/rust.yml` (`embedded-budget` matrix) | Per-feature constrained check + clippy + telemetry guard |
## Rendering Pipeline Compatibility
| Record/execute command buffer pipeline | Validated | Integration tests + examples | Canonical rendering path |
| Deterministic command recording | Validated | `tests/integration_tests.rs` | Snapshot-style command parity tests |
| Golden-output regression digests | Validated | `tests/integration_tests.rs` | Points + lines digest checks |
| Telemetry counters (record/execute) | Validated | Integration tests + demo HUD | Includes fallback signal |
| Fail-soft fallback APIs | Validated | Integration tests + demos | Explicit/selector/decimation fallback variants |
## CI Budget Guard Coverage
| `CI_TELEMETRY` | Validated | telemetry guard script + tests | `fallback_used=0` |
| `CI_TELEMETRY_STRESS` | Validated | telemetry guard script + tests | `fallback_used=0` |
| `CI_TELEMETRY_FAILSOFT` | Validated | telemetry guard script + tests | `fallback_used=1`, expected budget kind |
## Backends and Runtime Targets
| `embedded-graphics-simulator` desktop path | Validated | Examples + CI examples build | Primary interactive demo environment |
| Generic `DrawTarget` execution path | Validated | Integration tests | Core renderer backend-agnostic path |
| Hardware SPI/LTDC/DMA2D board backends | Planned | Roadmap | Needs board-specific implementation and smoke tests |
| Hardware-in-the-loop runs | Planned | Roadmap | Not yet in CI |
## Architecture Coverage
| Cortex-M33 balanced profile flow | Validated | Default caps + demos/tests + `profile-budget` CI matrix | Current default embedded profile path |
| Cortex-M4 balanced profile flow | Validated | `.github/workflows/rust.yml` (`profile-budget` matrix, `EMBEDDED_3DGFX_CAPS=m4`) | Explicit CI telemetry/budget validation path |
| Cortex-M3 balanced profile flow | Validated | `.github/workflows/rust.yml` (`profile-budget` matrix, `EMBEDDED_3DGFX_CAPS=m3`) | Explicit CI telemetry/budget validation path |
| Cortex-M55 perf profile flow | Validated | `.github/workflows/rust.yml` (`profile-budget` matrix + `m55-perf-budget`) | Explicit CI telemetry/budget validation with profile-specific lane |
## Operational Docs Coverage
| Backend integration checklist | Validated | `docs/backend-integration-checklist.md` | Board/backend bring-up steps and smoke criteria |
| Memory sizing/tuning guide | Validated | `docs/memory-sizing-guide.md` | Buffer formulas, cap sizing, and pre-ship checklist |
| no_std frame-path architecture | Validated | `docs/no-std-architecture.md` | Frame-path allocation boundaries and guard rails |
| CI performance baseline policy | Validated | `docs/perf-baselines.md` | Telemetry thresholds, lanes, and update process |
| Rendering performance evidence | Validated | `docs/rendering-performance-evidence.md` | Dirty-region/tile-bin evidence and buffering impact |
| Hardware profiling guide | Validated | `docs/hardware-profiling.md` | DWT/RTT/ITM hook usage and board profiling flow |
| Hardware smoke workflow guide | Validated | `docs/hardware-smoke-tests.md` | Self-hosted workflow, log markers, and artifact process |
| Asset pipeline and streaming guide | Validated | `docs/asset-pipeline.md` | Offline conversion, chunk format, cooperative loader, and CI budget reporting |
## How to Extend This Matrix
When adding a new backend/profile/board:
1. Add a deterministic test or CI job that exercises it.
2. Add threshold/telemetry assertions where possible.
3. Update this matrix row from `Expected`/`Planned` to `Validated`.
4. Link the validating workflow step or test name in the row notes.