Agent skill
debugging
Runtime debugging tools for Nethercore games on all consoles. Covers the F4 Debug Inspector, live value editing, watch variables, frame stepping, and time-scale controls. Use when tuning game parameters at runtime, tracking state over time, or stepping through frames to find bugs.
Install this agent skill to your Project
npx add-skill https://github.com/nethercore-systems/nethercore-ai-plugins/tree/main/nethercore/skills/debugging
Metadata
Additional technical details for this skill
- author
- nethercore-systems
- version
- 1.0.0
SKILL.md
Nethercore Debugging
The debug system is built into the Nethercore player and works with all consoles.
F4 Debug Inspector
Press F4 during development to open the Debug Inspector. This is your primary debugging tool.
Features:
- Live value editing (sliders, toggles, color pickers)
- Read-only watches for monitoring
- Grouped/collapsible organization
- Frame control (pause, step, time scale)
- Zero overhead in release builds
Quick Reference
| Function | Purpose | Call In |
|---|---|---|
debug_register_i32(name, ptr) |
Editable integer | init() |
debug_register_f32(name, ptr) |
Editable float | init() |
debug_register_bool(name, ptr) |
Toggle checkbox | init() |
debug_register_vec3(name, ptr) |
3D position | init() |
debug_register_color(name, ptr) |
RGBA picker | init() |
debug_watch_*(name, ptr) |
Read-only display | init() |
debug_group_begin/end(name) |
Collapsible sections | init() |
Range-Constrained (Sliders)
debug_register_f32_range(b"Speed".as_ptr(), 5, &SPEED, 0.0, 20.0);
debug_register_i32_range(b"Lives".as_ptr(), 5, &LIVES, 0, 10);
Keyboard Shortcuts
| Key | Action |
|---|---|
| F4 | Toggle Debug Inspector |
| F3 | Toggle Runtime Stats |
| F5 | Pause/Resume |
| F6 | Step one frame (when paused) |
| F7/F8 | Decrease/Increase time scale |
Frame Control
fn update() {
if debug_is_paused() != 0 { return; }
let dt = delta_time() * debug_get_time_scale();
// ...
}
Typical Setup
static mut PLAYER_X: f32 = 0.0;
static mut GRAVITY: f32 = 9.8;
static mut GOD_MODE: u8 = 0;
fn init() {
unsafe {
debug_group_begin(b"Player".as_ptr(), 6);
debug_watch_f32(b"X".as_ptr(), 1, &PLAYER_X);
debug_register_f32_range(b"Gravity".as_ptr(), 7, &GRAVITY, 1.0, 50.0);
debug_register_bool(b"God Mode".as_ptr(), 8, &GOD_MODE);
debug_group_end();
}
}
When to Use What
| Scenario | Tool |
|---|---|
| Live parameter tuning | Debug Inspector (F4) |
| Tracking state over time | log() in update() |
| Regression testing | Replay system |
| Finding exact frame of bug | F5 pause + F6 step |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
ffi-reference
ZX fantasy console FFI bindings reference. Documents 250+ functions for rendering, input, audio, camera, transforms, textures, materials, and debug. Includes init-only vs render-only call rules and the coordinate system. Use when writing or debugging ZX FFI calls in game code.
console-specs
ZX fantasy console hardware specifications and resource budgets. Covers resolution (960x540), memory limits (4 MB RAM/VRAM, 16 MB ROM), render modes, audio system (22 kHz, 16 channels), and input layout. Use when planning resource budgets or checking console capabilities.
rendering
ZX rendering techniques and patterns. Covers camera systems (follow, orbit), stencil buffer effects (portals, masks), billboard particles, custom fonts, and render pass management. Use when implementing cameras, visual effects, particle systems, or choosing between 2D and 3D rendering approaches.
optimization
Optimization techniques for Nethercore WASM games. Covers WASM binary size reduction (LTO, wasm-opt), texture and mesh compression, audio optimization, and state size minimization. Use when a ROM exceeds size limits or when reducing build output size.
testing
Testing Nethercore games for determinism and correctness. Covers sync testing, replay recording and playback, debug actions, and desync diagnosis. Use when running sync tests, setting up replay-based regression tests, or diagnosing determinism failures.
publishing
Publishing Nethercore games to nethercore.systems. Covers ROM packaging with nether pack, release builds, platform upload requirements, versioning, and CI/CD pipeline setup with GitHub Actions. Use when preparing a game for release or setting up automated builds.
Didn't find tool you were looking for?