3.1. App harness — with_node_editor_app + with_node_editor_recording_app, thin node-editor delegates over imgui_playwright’s with_imgui_app / with_recording_app
The integration-test entry point. with_node_editor_app(feature_path) <| $(app)
{ ... } spawns daslang-live against a node-editor feature with both the
dasImgui and dasImguiNodeEditor modules loaded, runs the block against the live
app, then shuts down — panicking on ready-timeout, test-timeout, or non-zero exit
so the surrounding [test] fails.
It is a thin delegate over dasImgui’s imgui_playwright::with_imgui_app: the
only node-editor-specific knowledge is loading the node-editor module alongside
dasImgui (a daspkg dependency, so it loads after it) and resolving
modules/dasImguiNodeEditor/... feature paths under the node-editor module
root. All the spawn / port / headless / worker-index / ready / shutdown machinery
lives once in with_imgui_app.
3.1.1. App harness
- with_node_editor_app(feature_path: string; body: block<(app:ImguiApp):void> )
def with_node_editor_app (feature_path: string; body: block<(app:ImguiApp):void>)
- Arguments:
feature_path : string
body : block<(app: ImguiApp):void>
3.1.1.1. with_node_editor_recording_app
- with_node_editor_recording_app(feature_path: string; output_apng_basename: string; max_seconds: int; body: block<(app:ImguiApp):void> )
def with_node_editor_recording_app (feature_path: string; output_apng_basename: string; max_seconds: int; body: block<(app:ImguiApp):void>)
- Arguments:
feature_path : string
output_apng_basename : string
max_seconds : int
body : block<(app: ImguiApp):void>
- with_node_editor_recording_app(feature_path: string; output_apng_basename: string; max_seconds: int; fps: int; body: block<(app:ImguiApp):void> )