fix(shaders_lab): drop zone no longer eats node/slider input + inline tests
The previous InvisibleButton captured mouse events, so you could drag from the Functions palette into the canvas, but node dragging and slider interaction inside the canvas stopped working. Fix: watch the global drag-drop payload without an explicit target. When the mouse releases LMB over the DAG window with a "DAG_NODE_TYPE" payload active, queue an add at that canvas position. No button, no capture. Tests (compiled standalone with preprocessor defines): - dag_compile: 6/6 asserts (empty, single gen, op chain, multi-source blend, Output-driven fragColor, unconnected-Output fallback). - dag_catalog: 8/8 asserts (uniqueness, per-kind input invariants, exactly one Output, body_glsl present & returns, control param indices valid). Build with: g++ -std=c++17 -Icpp/functions -DDAG_COMPILE_TEST cpp/functions/gfx/dag_compile.cpp cpp/functions/gfx/dag_catalog.cpp -o /tmp/dag_compile_test g++ -std=c++17 -Icpp/functions -DDAG_CATALOG_TEST cpp/functions/gfx/dag_catalog.cpp -o /tmp/dag_catalog_test Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
Reference in New Issue
Block a user