StratoSDK is a framework with a declarative approach similar to Flutter/React, written and designed entirely for Rust.
| 1 | # WarpUI Import Notes |
| 2 | |
| 3 | This directory records the Strato UI import derived from the MIT-scoped WarpUI |
| 4 | crates copied from Warp commit `c61ad5b8a8c3980148f91c76a4ce17d1bf8105fc`. |
| 5 | A follow-up source license re-check against Warp commit |
| 6 | `e9ff9324ea14641326ae62f49e6ba0d39f6954b2` confirmed the same boundary: |
| 7 | `warpui_core` and `warpui` are MIT, while the rest of Warp remains AGPL v3. |
| 8 | |
| 9 | The source-side manifest check confirmed that `crates/warpui_core` and |
| 10 | `crates/warpui` explicitly declare `license = "MIT"`, and that Warp's README |
| 11 | says those crates are MIT while the rest of the repository is AGPL v3. |
| 12 | |
| 13 | The MIT source has been copied into Strato crates and rebranded at the crate |
| 14 | boundary for Strato ownership: |
| 15 | |
| 16 | | Warp source | Strato path | |
| 17 | | --- | --- | |
| 18 | | `crates/warpui_core` | `crates/strato-ui-core` | |
| 19 | | `crates/warpui` | `crates/strato-ui-renderer` | |
| 20 | | `LICENSE-MIT` | `LICENSES/WARPUI-MIT.txt` | |
| 21 | |
| 22 | The imported crates are now workspace members. The copied source no longer |
| 23 | references the AGPL-inherited local Warp crates `markdown_parser`, `sum_tree`, |
| 24 | or `string-offset`; those integration points now use clean-room Strato modules: |
| 25 | |
| 26 | | Removed Warp dependency | Strato replacement | |
| 27 | | --- | --- | |
| 28 | | `markdown_parser` | `crates/strato-ui-core/src/formatted_text.rs` | |
| 29 | | `sum_tree` | `crates/strato-ui-core/src/linear_index.rs` | |
| 30 | | `string-offset` | `crates/strato-ui-core/src/text_offsets.rs` | |
| 31 | |
| 32 | The cleanup pass also removed direct references to `warp_util`, |
| 33 | `settings_value`, `command`, `asset_cache`, and `virtual-fs` from the active |
| 34 | crate manifests and narrow integration points. Those dependencies were not |
| 35 | copied. |
| 36 | |
| 37 | Dependency adaptations made for Strato: |
| 38 | |
| 39 | | Warp dependency shape | Strato resolution | |
| 40 | | --- | --- | |
| 41 | | Warp workspace local crates with AGPL inheritance | Excluded and replaced only by clean-room Strato modules where needed | |
| 42 | | Warp git `cosmic-text` fork | Replaced with crates.io `cosmic-text` | |
| 43 | | Warp git `dwrote-rs` fork | Replaced with crates.io `dwrote` | |
| 44 | | Warp git `font-kit` fork | Replaced with crates.io `font-kit`; Warp-only helper APIs were removed or adapted | |
| 45 | |
| 46 | Known gaps and future cleanup: |
| 47 | |
| 48 | 1. The macOS renderer build script writes a placeholder `shaders.metallib` when |
| 49 | Apple's Metal Toolchain is missing, so `cargo check` can run in developer |
| 50 | environments. Runtime Metal validation still requires installing the Metal |
| 51 | Toolchain. |
| 52 | 2. Color emoji detection from Warp's `font-kit` fork is disabled until Strato |
| 53 | owns a clean implementation against public crates. |
| 54 | 3. A full third-party dependency license report should be generated before |
| 55 | publishing Strato UI crates, although no AGPL Warp dependency is copied or |
| 56 | linked from the imported code. |
| 57 |