mirror of
https://github.com/Heretek-AI/godot-opencode.git
synced 2026-11-10 02:11:30 -10:00
40 lines
1.7 KiB
Markdown
40 lines
1.7 KiB
Markdown
# API — godot-opencode 1.0.0
|
|
|
|
## Bridge tools (`godot_*`)
|
|
|
|
| Tool | Bridge method | Purpose |
|
|
|---|---|---|
|
|
| `godot_editor_state` | `editor_state` | Editor state snapshot |
|
|
| `godot_scene_get_hierarchy` | `scene_get_hierarchy` | Scene hierarchy |
|
|
| `godot_node_get_properties` | `node_get_properties` | Node properties |
|
|
| `godot_session_activate` | `session_activate` | Session switch |
|
|
| `godot_capture_viewport` | `capture_viewport` | Viewport PNG (base64), stale fallback past 1000 ms |
|
|
| `godot_shader_generate` | `generate_shader` | spatial/canvas-item shader + uniforms |
|
|
| `godot_theme_apply_style` | `apply_stylebox` | StyleBoxFlat / font / color overrides |
|
|
|
|
Companion dispatch adds: `frame_aabb`, `capture_status`,
|
|
`inject_uniform`, `list_uniforms`, `inspect_theme`,
|
|
`apply_font_override`, plus the Phase ≤4 node/signal/resource set.
|
|
|
|
## TypeScript modules
|
|
|
|
- `src/vision/viewport.ts` — `frameAABB`, `isStaleFrame`,
|
|
`buildCaptureParams`, `parseCaptureResult`, `executeCaptureViewport`,
|
|
`MAIN_LOOP_STALL_MSEC = 1000`.
|
|
- `src/studio/shaders.ts` — `generateShader`, `injectUniform`,
|
|
`listUniforms`, `buildStyleBoxFlat`, `applyStyleOverride`,
|
|
`buildFontOverride`.
|
|
- `src/indexer/project.ts` — `parseTscn`, `parseProjectGodot`,
|
|
`indexProject(fs)`, `renderArchitectureMap`.
|
|
- `src/verify/production.ts` — `runProductionPipeline` (mock-friendly
|
|
E2E orchestrator; stages: `devStory, scene, script, signal, hudStyle,
|
|
gut, headless, viewport`).
|
|
- `src/studio/commands.ts` — `/setup-godot /adr /dev-story /story-done
|
|
/gate-check`.
|
|
|
|
## Status model
|
|
|
|
`ok | error | unavailable | timeout`, plus pipeline-tolerated
|
|
`unavailable-tolerated` (no binary) and `stale-tolerated` (stalled main
|
|
loop). Tolerated statuses keep CI green without an engine.
|