Fix ids for kurt so front end re-uses same ones on executions (#4780)

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* working test;

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fix tests

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* Update src/wasm-lib/tests/executor/main.rs

Co-authored-by: Jonathan Tran <jonnytran@gmail.com>

* Update src/wasm-lib/tests/executor/main.rs

Co-authored-by: Jonathan Tran <jonnytran@gmail.com>

* fix race condition

* fix whoopsie

* fix tsc

* for some dumb ass reason the model executes twice on load

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
This commit is contained in:
Jess Frazelle
2024-12-12 18:06:26 -08:00
committed by GitHub
parent d44dc1b21a
commit ac60082e67
8 changed files with 103 additions and 41 deletions

View File

@ -1895,11 +1895,19 @@ impl ExecutorContext {
};
if cache_result.clear_scene && !self.is_mock() {
// Pop the execution state, since we are starting fresh.
let mut id_generator = exec_state.id_generator.clone();
// We do not pop the ids, since we want to keep the same id generator.
// This is for the front end to keep track of the ids.
id_generator.next_id = 0;
*exec_state = ExecState {
id_generator,
..Default::default()
};
// We don't do this in mock mode since there is no engine connection
// anyways and from the TS side we override memory and don't want to clear it.
self.reset_scene(exec_state, Default::default()).await?;
// Pop the execution state, since we are starting fresh.
*exec_state = Default::default();
}
// TODO: Use the top-level file's path.

View File

@ -69,7 +69,7 @@ async fn do_execute_and_snapshot(
Ok((exec_state, img))
}
async fn new_context(
pub async fn new_context(
units: UnitLength,
with_auth: bool,
project_directory: Option<PathBuf>,