feat(shaders_lab): visual node editor (imgui-node-editor) + multi-source

- cpp/vendor/imgui-node-editor: vendorized thedmd/imgui-node-editor v0.9.4
- cpp/functions/gfx/dag_node_editor: new visual pipeline editor replacing dag_panel
- DagStep: source_ids[4] + editor_pos + editor_uid (multi-input support)
- DagNodeDef: num_inputs explicit; circle reclassified as Op
- dag_compile: N inputs per node, topological ordering preserved
- main: use node editor; destroy on shutdown
- patch imgui_extra_math.inl: guard operator*(float, ImVec2) for imgui >= 18955

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-24 21:55:43 +02:00
parent bf5011de93
commit 88fca7b128
89 changed files with 22289 additions and 41 deletions
+11
View File
@@ -43,6 +43,17 @@ if(TRACY_ENABLE)
target_compile_definitions(tracy PUBLIC TRACY_ENABLE)
endif()
# --- Vendor: imgui-node-editor ---
set(NODE_EDITOR_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vendor/imgui-node-editor)
add_library(imgui_node_editor STATIC
${NODE_EDITOR_DIR}/imgui_node_editor.cpp
${NODE_EDITOR_DIR}/imgui_node_editor_api.cpp
${NODE_EDITOR_DIR}/imgui_canvas.cpp
${NODE_EDITOR_DIR}/crude_json.cpp
)
target_include_directories(imgui_node_editor PUBLIC ${NODE_EDITOR_DIR})
target_link_libraries(imgui_node_editor PUBLIC imgui)
# --- Platform dependencies ---
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
# Cross-compile: use vendored or system GLFW, link opengl32/gdi32