Add 'Freeze Real Time' and 'Boundless Footprint' nodes as alternatives to using 'Memoize Impure' (#2509)

* WIP debugging

* Only create parent ref if var args are used in context + Cleanup

* Eval nodes with None instead of relying on MemoImpure

* Remove unused imports

* Show parent in debug output

* Remove TODO comment
This commit is contained in:
Dennis Kobert 2025-04-02 13:31:52 +02:00 committed by GitHub
parent bc03941174
commit 8d8e2edc5f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 93 additions and 25 deletions

View file

@ -237,7 +237,7 @@ async fn render<'a: 'n, T: 'n + GraphicElementRendered + WasmNotSend>(
let footprint = render_config.viewport;
let ctx = OwnedContextImpl::default()
.with_footprint(footprint)
.with_time(render_config.time.time)
.with_real_time(render_config.time.time)
.with_animation_time(render_config.time.animation_time.as_secs_f64())
.into_context();
ctx.footprint();
@ -246,10 +246,10 @@ async fn render<'a: 'n, T: 'n + GraphicElementRendered + WasmNotSend>(
let render_params = RenderParams::new(render_config.view_mode, None, false, hide_artboards, for_export);
let data = data.eval(ctx.clone()).await;
let editor_api = editor_api.eval(ctx.clone()).await;
let editor_api = editor_api.eval(None).await;
#[cfg(all(feature = "vello", target_arch = "wasm32"))]
let surface_handle = _surface_handle.eval(ctx.clone()).await;
let surface_handle = _surface_handle.eval(None).await;
let use_vello = editor_api.editor_preferences.use_vello();
#[cfg(all(feature = "vello", target_arch = "wasm32"))]