StratoSDK is a framework with a declarative approach similar to Flutter/React, written and designed entirely for Rust.
| 1 | [package] |
| 2 | name = "strato-core" |
| 3 | version.workspace = true |
| 4 | edition.workspace = true |
| 5 | authors.workspace = true |
| 6 | license.workspace = true |
| 7 | repository.workspace = true |
| 8 | documentation.workspace = true |
| 9 | description = "Core functionality for StratoSDK framework" |
| 10 | |
| 11 | [dependencies] |
| 12 | # State Management |
| 13 | arc-swap.workspace = true |
| 14 | dashmap.workspace = true |
| 15 | parking_lot.workspace = true |
| 16 | slotmap.workspace = true |
| 17 | smallvec.workspace = true |
| 18 | |
| 19 | # Math |
| 20 | glam.workspace = true |
| 21 | euclid.workspace = true |
| 22 | |
| 23 | # Layout Engine |
| 24 | taffy = "0.4" |
| 25 | tokio = { workspace = true, optional = true, features = ["full"] } |
| 26 | futures.workspace = true |
| 27 | |
| 28 | # Hot reload dependencies |
| 29 | notify = { version = "6.0", optional = true } |
| 30 | tokio-tungstenite = { version = "0.20", optional = true } |
| 31 | futures-util = { version = "0.3", optional = true } |
| 32 | |
| 33 | # Error handling |
| 34 | thiserror.workspace = true |
| 35 | anyhow.workspace = true |
| 36 | |
| 37 | # Serialization |
| 38 | serde = { workspace = true, optional = true } |
| 39 | serde_json = { workspace = true, optional = true } |
| 40 | |
| 41 | # Logging |
| 42 | tracing.workspace = true |
| 43 | tracing-subscriber.workspace = true |
| 44 | chrono = "0.4" |
| 45 | |
| 46 | [dev-dependencies] |
| 47 | pretty_assertions.workspace = true |
| 48 | criterion.workspace = true |
| 49 | |
| 50 | [features] |
| 51 | default = ["serde"] |
| 52 | serde = ["dep:serde", "dep:serde_json", "glam/serde"] |
| 53 | async = ["dep:tokio"] |
| 54 | hot-reload = ["dep:notify", "dep:tokio-tungstenite", "dep:futures-util", "async"] |
| 55 | perf-metrics = [] |
| 56 | |
| 57 | [[bench]] |
| 58 | name = "layout" |
| 59 | harness = false |
| 60 | |
| 61 | [[bench]] |
| 62 | name = "state" |
| 63 | harness = false |
| 64 |