feat(skill_tree): canvas ImDrawList + ring layout + cards (0109b)
Render anillos concentricos + sectores radiales por dominio con ImDrawList. 166 nodos pintados con label ID, tooltip on hover, picking O(N), pan+zoom. Decisiones: - Pivote desde graph_renderer GPU a ImDrawList CPU. 166 nodos no justifican pipeline GPU; ahorra ~120 LOC y init_gl_loader. - 5 rings: done / in-progress / unlocked / locked / deferred. - 18 sectores = 18 dominios canonicos (dev/TAXONOMY.md), labels en aro exterior. - Issues = circulos, flows = rombos para diferencial visual. - Lock-unlock derivado: pendiente_unlocked vs pendiente_locked segun depends. - Animacion lerp 1s ease-in-out entre prev/current position en cambios de status entre reloads. - HUD strip: LV + XP + conteos por bucket. - Pan: drag derecho/medio. Zoom: rueda centrada en cursor. uses_functions: - parse_md_frontmatter_cpp_core (ya existia desde 0109a) - compute_ring_layout_cpp_core (NUEVA, pure, 10/10 tests, 142 assertions) Self-test: 166 nodes, parse_errors=0, unmapped=0, exit 0. Breakdown: done=77 in-progress=2 unlocked=64 locked=22 deferred=1. Sigue: 0109c (Inspector con DoD parseado y uses_functions linkables). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
add_imgui_app(skill_tree
|
||||
main.cpp
|
||||
${CMAKE_SOURCE_DIR}/functions/core/parse_md_frontmatter.cpp
|
||||
${CMAKE_SOURCE_DIR}/functions/core/compute_ring_layout.cpp
|
||||
)
|
||||
target_include_directories(skill_tree PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user