Seregon/StratoSDK

StratoSDK is a framework with a declarative approach similar to Flutter/React, written and designed entirely for Rust.

Rust/27.3 KB/No license
TODO.md
StratoSDK / TODO.md
1This todo list/goal list is ordered by: **Priority (P)**, **Difficulty (D)**, **Complexity (C)** and **Value (V)** on a scale of 1–5 (5 = maximum).
2This todolist will be updated periodically as the project evolves.
3 
4---
5 
6## 🏁 Core Engine Fundamentals
7 
8* [x] 1. Cross-platform event loop – P5 D3 C3 V5
9* [x] **2. Virtual DOM / diff engine** – P5 D4 C4 V5
10* [x] **3. Flexbox layout system (Taffy)** – P5 D3 C3 V5
11* [x] **4. Reactive state management (signals/store)** – P5 D4 C4 V5
12* [x] **5. Hot reload / live preview** – P5 D4 C4 V5
13* [x] **6. Theming & dark mode support** – P5 D2 C2 V5
14* [x] **7. Plugin system / custom components** – P5 D4 C4 V5
15* [ ] **8. Internal routing (multi-page)** – P4 D3 C3 V4
16* [ ] **9. Integrated DevTools (inspector)** – P4 D4 C4 V5
17* [ ] **10. State persistence to disk** – P4 D2 C2 V4
18 
19---
20 
21## 🎨 Rendering and Graphics
22 
23* [x] 11\. Multi-platform `wgpu` backend – P5 D4 C4 V5
24* [ ] 12\. 2D vector layer (lyon) – P5 D3 C3 V5
25* [x] 13\. Advanced text shaping (swash/harfbuzz) – P5 D4 C4 V5
26* [ ] 14\. GPU text caching (glyph atlas) – P5 D3 C3 V5
27* [ ] 15\. Timeline animations – P4 D4 C4 V5
28* [ ] 16\. Custom shader effects – P3 D4 C4 V4
29* [ ] 17\. HiDPI/Retina support – P4 D3 C3 V5
30* [ ] 18\. Gradients, blur, shadows – P4 D3 C3 V4
31* [ ] 19\. Video embedding – P3 D4 C4 V3
32* [ ] 20\. Optional 3D engine – P2 D5 C5 V4
33 
34---
35 
36## 🧩 Basic Widget Set
37 
38* [x] 21\. Button – P5 D2 C2 V5
39* [x] 22\. Label/Text – P5 D2 C2 V5
40* [x] 23\. TextInput/Password – P5 D3 C3 V5
41* [x] 24\. Checkbox/Radio – P5 D2 C2 V5
42* [x] 25\. Slider/Progress – P5 D3 C3 V4
43* [ ] 26\. ListView/ScrollView – P5 D3 C3 V5
44* [x] 27\. Grid/Stack container – P5 D3 C3 V5
45* [ ] 28\. MenuBar/ContextMenu – P4 D3 C3 V4
46* [ ] 29\. Tabs – P4 D3 C3 V4
47* [ ] 30\. TreeView – P4 D4 C4 V4
48* [ ] 31\. Table/DataGrid – P4 D4 C4 V5
49* [ ] 32\. Date/Time picker – P3 D3 C3 V3
50* [ ] 33\. Color picker – P3 D3 C3 V3
51* [ ] 34\. Rich text editor – P3 D4 C4 V4
52* [ ] 35\. File dialog – P4 D3 C3 V4
53 
54---
55 
56## 🔌 Integration and Platform
57 
58* [ ] 36\. Windows/macOS/Linux backend – P5 D3 C3 V5
59* [ ] 37\. WebAssembly (wasm-bindgen) – P5 D4 C4 V5
60* [ ] 38\. Mobile (Android/iOS) – P3 D5 C5 V4
61* [ ] 39\. Native drag & drop – P4 D3 C3 V4
62* [ ] 40\. System notifications – P3 D3 C3 V3
63* [ ] 41\. Clipboard API – P5 D2 C2 V5
64* [ ] 42\. File system access – P4 D3 C3 V4
65* [ ] 43\. Multimedia (audio) – P3 D3 C3 V3
66* [ ] 44\. OpenGL fallback – P3 D4 C4 V3
67* [ ] 45\. WebSocket & HTTP client – P4 D3 C3 V4
68 
69---
70 
71## 🧱 Architecture and Dev Experience
72 
73* [ ] 46\. CLI `StratoSDK` (scaffold, build, serve) – P5 D3 C3 V5
74* [ ] 47\. File-based configuration (ron/toml) – P5 D2 C2 V4
75* [ ] 48\. Macro `view!{}` DSL – P5 D4 C4 V5
76* [ ] 49\. Type-safe props and state – P5 D3 C3 V5
77* [ ] 50\. Async/await friendly – P4 D3 C3 V4
78* [ ] 51\. Snapshot testing – P4 D3 C3 V4
79* [ ] 52\. Internationalization (i18n) – P4 D3 C3 V4
80* [ ] 53\. Accessibility (a11y/ARIA) – P4 D4 C4 V5
81* [ ] 54\. Hot-module reload – P4 D4 C4 V5
82* [ ] 55\. Error boundaries – P4 D3 C3 V4
83* [ ] 56\. State persistence between reload – P4 D3 C3 V4
84* [ ] 57\. Code splitting/lazy loading – P3 D4 C4 V4
85* [ ] 58\. Server-side rendering (SSR) – P2 D5 C5 V3
86* [ ] 59\. Integration testing harness – P3 D3 C3 V4
87* [ ] 60\. Telemetry/metrics API – P3 D3 C3 V4
88 
89---
90 
91## ⚡ Performance & Optimization
92 
93* [ ] 61\. Incremental rendering diff – P5 D4 C4 V5
94* [ ] 62\. GPU resource pooling – P4 D4 C4 V5
95* [ ] 63\. Texture atlas management – P4 D3 C3 V5
96* [ ] 64\. Frame scheduling / vsync – P4 D3 C3 V4
97* [ ] 65\. Profiling hooks (tracing) – P4 D3 C3 V4
98* [ ] 66\. Memory arena allocator – P3 D4 C4 V4
99* [ ] 67\. Binary size optimization – P3 D3 C3 V4
100* [ ] 68\. Lazy font loading – P3 D2 C2 V3
101* [ ] 69\. Shader compilation cache – P4 D3 C3 V4
102* [ ] 70\. Asset pipeline (compression) – P3 D3 C3 V4
103 
104---
105 
106## 🎁 UX & Extra
107 
108* [ ] 71\. Built-in themes gallery – P3 D2 C2 V3
109* [ ] 72\. Material/Fluent design kits – P4 D3 C3 V4
110* [ ] 73\. Vector icons pack – P3 D2 C2 V3
111* [ ] 74\. Gesture support (touch/pen) – P4 D3 C3 V4
112* [ ] 75\. Global undo/redo – P3 D3 C3 V4
113* [ ] 76\. State time-travel debugger – P3 D4 C4 V4
114* [ ] 77\. Data-binding to external DB – P3 D3 C3 V4
115* [ ] 78\. Graph/Chart widgets – P3 D3 C3 V4
116* [ ] 79\. Markdown viewer – P3 D2 C2 V3
117* [ ] 80\. Drag-resize panels – P3 D3 C3 V3
118* [ ] 81\. Multi-window support – P4 D3 C3 V4
119* [ ] 82\. Split-view/docking system – P3 D4 C4 V4
120* [ ] 83\. Notification center – P3 D3 C3 V3
121* [ ] 84\. File system watcher – P3 D2 C2 V3
122* [ ] 85\. Screenshot API – P2 D2 C2 V2
123* [ ] 86\. App packaging tool (installer) – P3 D3 C3 V4
124* [ ] 87\. Cloud sync APIs – P2 D3 C3 V3
125* [ ] 88\. VR/AR experimental – P1 D5 C5 V3
126* [ ] 89\. GPU-based particle system – P2 D4 C4 V3
127* [ ] 90\. Built-in charting DSL – P2 D4 C4 V3
128* [ ] 91\. Custom shader editor – P2 D5 C5 V3
129* [ ] 92\. Integrated AI/ML inference – P1 D5 C5 V3
130* [ ] 93\. Scripting engine (Lua/JS) – P2 D4 C4 V4
131* [ ] 94\. Remote debugging via browser – P2 D4 C4 V3
132* [ ] 95\. Visual UI designer WYSIWYG – P3 D5 C5 V5
133* [ ] 96\. Component marketplace – P1 D4 C4 V3
134* [ ] 97\. Plugin store – P1 D4 C4 V3
135* [ ] 98\. Data-flow visual editor – P1 D5 C5 V3
136* [ ] 99\. Cloud build service – P1 D4 C4 V2
137* [ ] 100\. Enterprise support toolkit – P1 D4 C4 V3
138 
139---
140 
141## Micro framework for building web applications
142 
143## ⚡ Core & Routing
144 
145* [ ] 1\. Route decorator / registration – P5 D3 C3 V5
146* [ ] 2\. Dynamic URL parameters – P5 D3 C3 V5
147* [ ] 3\. Route matching / dispatch – P5 D4 C4 V5
148* [ ] 4\. HTTP method handling / callbacks – P5 D3 C3 V5
149* [ ] 5\. Middleware support (before/after request hooks) – P4 D4 C4 V4
150* [ ] 6\. Error handling / 404 / 500 – P5 D3 C3 V5
151* [ ] 7\. Route grouping / blueprints – P4 D3 C3 V4
152 
153---
154 
155## 🖼️ GUI Components & Layout
156 
157* [ ] 8\. Widget system (Button, Label, TextInput, etc.) – P5 D4 C4 V5
158* [ ] 9\. Layout managers (HBox, VBox, Grid) – P5 D4 C4 V5
159* [ ] 10\. Event binding (click, hover, input) – P5 D4 C4 V5
160* [ ] 11\. Dynamic component rendering – P4 D4 C4 V4
161* [ ] 12\. Template system / JSX-like syntax – P4 D5 C4 V5
162* [ ] 13\. Component nesting – P4 D3 C3 V4
163* [ ] 14\. Re-render / diffing support – P4 D4 C4 V5
164 
165---
166 
167## ⚡ Performance & Optimization
168 
169* [ ] 15\. Incremental rendering diff – P5 D4 C4 V5
170* [ ] 16\. GPU resource pooling – P4 D4 C4 V5
171* [ ] 17\. Texture atlas management – P4 D3 C3 V5
172* [ ] 18\. Frame scheduling / vsync – P4 D3 C3 V4
173* [ ] 19\. Profiling hooks (tracing) – P4 D3 C3 V4
174* [ ] 20\. Memory arena allocator – P3 D4 C4 V4
175* [ ] 21\. Lazy font/component loading – P3 D2 C2 V3
176* [ ] 22\. Shader / render cache – P4 D3 C3 V4
177* [ ] 23\. Asset pipeline (compression, caching) – P3 D3 C3 V4
178 
179---
180 
181## 🔧 Development Tools
182 
183* [ ] 24\. Hot reload / live preview – P5 D4 C4 V5
184* [ ] 25\. Logging system – P4 D2 C3 V4
185* [ ] 26\. Debug overlay / inspector – P4 D3 C4 V5
186* [ ] 27\. Template validation – P3 D2 C3 V3
187* [ ] 28\. Component profiler – P3 D3 C3 V4
188 
189---
190 
191## 🔐 Security
192 
193* [ ] 29\. Input validation / sanitation – P5 D3 C3 V5
194* [ ] 30\. Cross-platform path security – P4 D3 C3 V4
195* [ ] 31\. Event loop isolation (prevent infinite loops) – P4 D4 C4 V4
196* [ ] 32\. Safe default config – P5 D2 C2 V5
197 
198---
199 
200## 🌐 Networking / Integration
201 
202* [ ] 33\. HTTP server bindings / async – P4 D4 C4 V5
203* [ ] 34\. WebSocket support – P3 D4 C4 V4
204* [ ] 35\. JSON serialization / deserialization – P5 D2 C3 V5
205* [ ] 36\. API endpoint decorators – P4 D3 C3 V4
206* [ ] 37\. Middleware for auth / headers – P4 D3 C3 V4
207 
208---
209 
210## 💡 Usability
211 
212* [ ] 38\. Intuitive API – P5 D3 C4 V5
213* [ ] 39\. Clear error messages – P5 D2 C3 V5
214* [ ] 40\. Documentation + examples – P5 D3 C3 V5
215* [ ] 41\. Tutorial projects – P4 D3 C3 V4
216* [ ] 42\. IDE / editor hints (optional type annotations) – P3 D2 C3 V4
217 
218---
219 
220## 🔗 Multi-language & Extensibility
221 
222* [ ] 43\. Python binding / wrapper – P5 D4 C4 V5
223* [ ] 44\. C/C++ FFI bindings – P4 D4 C4 V5
224* [ ] 45\. Plugin system / extensions – P4 D4 C4 V4
225* [ ] 46\. Cross-platform input/output abstraction – P4 D3 C3 V4
226 
227---
228 
229 
230 
231### 💡 How to read it
232 
233* **P (Priority)**: what is needed first to have a usable framework.
234* **D (Difficulty)** and **C (Complexity)**: development effort and number of subsystems involved.
235* **V (Value)**: perceived impact by users.
236 
237 
238