From bbeec01f772c20398bbb7c73993132f6a60b52d0 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Sun, 12 Jul 2026 11:22:23 -0400 Subject: [PATCH 1/3] Mist init --- .gitignore | 7 +++++++ Cargo.lock | 7 +++++++ Cargo.toml | 10 ++++++++++ Mist.toml | 3 +++ src/main.mist | 3 +++ 5 files changed, 30 insertions(+) create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 Mist.toml create mode 100644 src/main.mist diff --git a/.gitignore b/.gitignore index ad67955..7cfeab2 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,10 @@ target # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ + + +# Added by cargo + +/target + +.mist diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..279cfd2 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "pulse-trader" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..9579612 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "pulse-trader" +version = "0.1.0" +edition = "2024" + +[dependencies] + +[[bin]] +name = "pulse-trader" +path = ".mist/src/main.rs" diff --git a/Mist.toml b/Mist.toml new file mode 100644 index 0000000..642dc37 --- /dev/null +++ b/Mist.toml @@ -0,0 +1,3 @@ +package = "main.mist" +packages = [] +include = [] diff --git a/src/main.mist b/src/main.mist new file mode 100644 index 0000000..7b78a26 --- /dev/null +++ b/src/main.mist @@ -0,0 +1,3 @@ +void main() { + println!("Hello, World!"); +} From fdece39faaf4d1b5dd6188e6f4eb3f825f24ef01 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Sun, 12 Jul 2026 11:47:07 -0400 Subject: [PATCH 2/3] Workspace, and pulse ui --- Cargo.lock | 7 +++++++ Cargo.toml | 7 +++++++ Mist.toml | 2 +- pulse-ui/Cargo.toml | 10 ++++++++++ pulse-ui/Mist.toml | 3 +++ pulse-ui/src/lib.mist | 3 +++ src/main.mist | 2 ++ 7 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 pulse-ui/Cargo.toml create mode 100644 pulse-ui/Mist.toml create mode 100644 pulse-ui/src/lib.mist diff --git a/Cargo.lock b/Cargo.lock index 279cfd2..e7f4d2d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5,3 +5,10 @@ version = 4 [[package]] name = "pulse-trader" version = "0.1.0" +dependencies = [ + "pulse-ui", +] + +[[package]] +name = "pulse-ui" +version = "0.1.0-alpha.0" diff --git a/Cargo.toml b/Cargo.toml index 9579612..610264a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,14 @@ name = "pulse-trader" version = "0.1.0" edition = "2024" +[workspace] +members = ["pulse-ui"] + +[workspace.dependencies] +pulse-ui = { path = "pulse-ui", version = "0.1.0-alpha.0" } + [dependencies] +pulse-ui = { workspace = true } [[bin]] name = "pulse-trader" diff --git a/Mist.toml b/Mist.toml index 642dc37..401c586 100644 --- a/Mist.toml +++ b/Mist.toml @@ -1,3 +1,3 @@ package = "main.mist" packages = [] -include = [] +include = ["pulse-ui"] diff --git a/pulse-ui/Cargo.toml b/pulse-ui/Cargo.toml new file mode 100644 index 0000000..1890d49 --- /dev/null +++ b/pulse-ui/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "pulse-ui" +version = "0.1.0-alpha.0" +edition = "2024" + +[dependencies] + +[lib] +name = "pulse_ui" +path = ".mist/src/lib.rs" diff --git a/pulse-ui/Mist.toml b/pulse-ui/Mist.toml new file mode 100644 index 0000000..a568ef1 --- /dev/null +++ b/pulse-ui/Mist.toml @@ -0,0 +1,3 @@ +package = "lib.mist" +packages = [] +include = [] diff --git a/pulse-ui/src/lib.mist b/pulse-ui/src/lib.mist new file mode 100644 index 0000000..083d0d9 --- /dev/null +++ b/pulse-ui/src/lib.mist @@ -0,0 +1,3 @@ +pub void test() { + println!("Hello, World"); +} diff --git a/src/main.mist b/src/main.mist index 7b78a26..ff5fe30 100644 --- a/src/main.mist +++ b/src/main.mist @@ -1,3 +1,5 @@ void main() { println!("Hello, World!"); + + pulse_ui::test(); } From 3c456ee072790e8d3742812ef200cffdcaef0f78 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Sun, 12 Jul 2026 12:10:06 -0400 Subject: [PATCH 3/3] State management --- pulse-ui/src/StateManagement.mist | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 pulse-ui/src/StateManagement.mist diff --git a/pulse-ui/src/StateManagement.mist b/pulse-ui/src/StateManagement.mist new file mode 100644 index 0000000..603a50d --- /dev/null +++ b/pulse-ui/src/StateManagement.mist @@ -0,0 +1,25 @@ +pub module state_management; + +use std::sync::Arc; +use std::sync::Mutex; +use std::sync::LockResult; +use std::sync::MutexGuard; + +pub trait Dependent +{ + void update(&self); +} + +pub struct State +{ + pub Box dependent; + pub Arc> data; +} + +impl State +{ + LockResult> lock(&self) + { + self.data.lock() + } +}