kitgit

tirbofish/dropbear · commit

f57db28bed5faab846765d141d4c86fb5f94f291

packing up for tomorrow, got an idea for UI (planning on using asm-like instruction sets. Unverified

Thribhu K <4tkbytes@pm.me> · 2026-01-23 13:25

view full diff

diff --git a/crates/eucalyptus-core/src/lib.rs b/crates/eucalyptus-core/src/lib.rs
index 25f83a6..50a9e1f 100644
--- a/crates/eucalyptus-core/src/lib.rs
+++ b/crates/eucalyptus-core/src/lib.rs
@@ -38,6 +38,7 @@ use crate::physics::collider::ColliderGroup;
 use crate::physics::kcc::KCC;
 use crate::physics::rigidbody::RigidBody;
 use crate::states::{Camera3D, Light, Script, SerializedMeshRenderer};
+use crate::ui::UIComponent;
 
 /// The appdata directory for storing any information.
 ///
@@ -67,6 +68,7 @@ pub fn register_components(
     component_registry.register_with_default::<RigidBody>();
     component_registry.register_with_default::<ColliderGroup>();
     component_registry.register_with_default::<KCC>();
+    component_registry.register_with_default::<UIComponent>();
 
     component_registry.register_converter::<MeshRenderer, SerializedMeshRenderer, _>(
         |_, _, renderer| {
diff --git a/crates/eucalyptus-core/src/ui.rs b/crates/eucalyptus-core/src/ui.rs
index fdf1724..bd919e3 100644
--- a/crates/eucalyptus-core/src/ui.rs
+++ b/crates/eucalyptus-core/src/ui.rs
@@ -22,16 +22,46 @@ pub struct UIComponent {
     pub ui_file: ResourceReference,
 }
 
+// note for tomorrow: use UIInstruction like that of asm
+
+#[derive(Default, Debug)]
+pub enum UIInstruction {
+    #[default]
+    Nothing,
+
+    StartColumn,
+    EndColumn,
+}
+
 pub struct UiContext {
     pub yakui_state: Mutex<Yakui>,
-    pub to_render: Mutex<Vec<Box<dyn FnOnce()>>>,
+    pub instruction_set: Mutex<Vec<UIInstruction>>,
+}
+
+pub fn poll() {
+    UI_CONTEXT.with(|v| {
+        let ctx = v.borrow();
+        let _yakui = ctx.yakui_state.lock();
+        let instructions = ctx.instruction_set.lock().drain(..).collect::<Vec<UIInstruction>>();

Large diffs are not rendered by default. Showing the first 50 of 224 lines. Show full diff