From 4d772b56140babcb564b6b83277197f76bf43d92 Mon Sep 17 00:00:00 2001 From: Arcturus Emrys Date: Sat, 28 Feb 2026 15:40:14 +0000 Subject: [PATCH 1/5] Allow public read access to the node tree --- inox2d/src/puppet.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/inox2d/src/puppet.rs b/inox2d/src/puppet.rs index ce67ff8d..d5ac93b9 100644 --- a/inox2d/src/puppet.rs +++ b/inox2d/src/puppet.rs @@ -167,4 +167,8 @@ impl Puppet { render_ctx.update(&self.nodes, &mut self.node_comps); } } + + pub fn nodes(&self) -> &InoxNodeTree { + &self.nodes + } } From 303e6f33299aeb6de77e6f2d4838e3d51e079cd2 Mon Sep 17 00:00:00 2001 From: Arcturus Emrys Date: Sat, 28 Feb 2026 19:49:47 +0000 Subject: [PATCH 2/5] `InoxNodeUuid` should be `Debug`, and it should be possible to get the inner u32 value. --- inox2d/src/node.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/inox2d/src/node.rs b/inox2d/src/node.rs index 432f3dc2..29850763 100644 --- a/inox2d/src/node.rs +++ b/inox2d/src/node.rs @@ -3,10 +3,16 @@ pub mod drawables; use crate::math::transform::TransformOffset; -#[derive(Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Clone, Copy, Hash, Eq, PartialEq, Debug)] #[repr(transparent)] pub struct InoxNodeUuid(pub(crate) u32); +impl Into for InoxNodeUuid { + fn into(self) -> u32 { + self.0 + } +} + pub struct InoxNode { pub uuid: InoxNodeUuid, pub name: String, From 4b9d87d6ef58f93062348ea4d39b4c3955ca1e70 Mon Sep 17 00:00:00 2001 From: Arcturus Emrys Date: Sun, 1 Mar 2026 15:05:41 +0000 Subject: [PATCH 3/5] Publish the physics constants --- inox2d/src/puppet.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/inox2d/src/puppet.rs b/inox2d/src/puppet.rs index d5ac93b9..2f411c13 100644 --- a/inox2d/src/puppet.rs +++ b/inox2d/src/puppet.rs @@ -168,6 +168,10 @@ impl Puppet { } } + pub fn physics(&self) -> &PuppetPhysics { + &self.physics + } + pub fn nodes(&self) -> &InoxNodeTree { &self.nodes } From 0b6176d25da6ede0e8bf2c6ba5cf1891dbf8d1de Mon Sep 17 00:00:00 2001 From: Arcturus Emrys Date: Sun, 1 Mar 2026 23:05:24 +0000 Subject: [PATCH 4/5] Allow read-only access to the params block. --- inox2d/src/puppet.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/inox2d/src/puppet.rs b/inox2d/src/puppet.rs index 2f411c13..873cd13b 100644 --- a/inox2d/src/puppet.rs +++ b/inox2d/src/puppet.rs @@ -175,4 +175,8 @@ impl Puppet { pub fn nodes(&self) -> &InoxNodeTree { &self.nodes } + + pub fn params(&self) -> &HashMap { + &self.params + } } From 01fbd16d047960409cd1f639cb2fd0f1dc244044 Mon Sep 17 00:00:00 2001 From: Arcturus Emrys Date: Sat, 16 May 2026 18:34:32 +0000 Subject: [PATCH 5/5] Publish the ECS world for read access --- inox2d/src/puppet.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/inox2d/src/puppet.rs b/inox2d/src/puppet.rs index 873cd13b..3dbbce31 100644 --- a/inox2d/src/puppet.rs +++ b/inox2d/src/puppet.rs @@ -176,6 +176,10 @@ impl Puppet { &self.nodes } + pub fn world(&self) -> &World { + &self.node_comps + } + pub fn params(&self) -> &HashMap { &self.params }