From 6e42681b719d7ec97c4225ca321225979bf87b56 Mon Sep 17 00:00:00 2001 From: Aaron Fenyes Date: Fri, 1 Nov 2024 20:49:00 -0700 Subject: [PATCH] Stop `Assembly::realize` from reacting to itself Previously, `realize` both tracked and updated the element vectors, so calling it in a reactive context could start a feedback loop. --- app-proto/src/assembly.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app-proto/src/assembly.rs b/app-proto/src/assembly.rs index 6119939..7b7c015 100644 --- a/app-proto/src/assembly.rs +++ b/app-proto/src/assembly.rs @@ -151,7 +151,7 @@ impl Assembly { for (_, elt) in elts { let index = elt.index; gram_to_be.push_sym(index, index, 1.0); - guess_to_be.set_column(index, &elt.rep.get_clone()); + guess_to_be.set_column(index, &elt.rep.get_clone_untracked()); } (gram_to_be, guess_to_be) @@ -193,7 +193,7 @@ impl Assembly { if success { // read out the solution - for (_, elt) in self.elements.get_clone() { + for (_, elt) in self.elements.get_clone_untracked() { elt.rep.update( |rep| rep.set_column(0, &config.column(elt.index)) );