Vendor iris, the in-house UI library, at iris/
Iris's decision: it lives in this repository for now, included by path, with its history left in the iris/iris repository on the gitea remote (this is its main at 7b54aaf, byte-identical to the public GitHub copy). It gets its own repository back once it has proved itself here. RUST.md's I0 records the decision and what the first build said: the tree does not compile on the current nightly because const_trait_impl now requires traits to be declared 'const trait', which is the first item of I0b. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
0f8ba49f4a
commit
4ab26f068e
93 files changed
+12665
-12
No files matched your search
@@ -447,19 +447,40 @@ accepted.
|
||||
### The iris track
|
||||
|
||||
These build iris up to carry the app. Each is a feature added to iris
|
||||
with a pass condition, in dependency order. Work in iris's own repository,
|
||||
pinned here by commit, and record in this file what each step measured.
|
||||
with a pass condition, in dependency order. Work in `iris/` in this
|
||||
repository on the `rustify` branch, and record in this file what each
|
||||
step measured.
|
||||
|
||||
- [ ] **I0 — bring iris in-house.** Decide where it lives — the
|
||||
recommendation is a repository of its own on the gitea remote,
|
||||
consumed here the way `wg-app-link` is (a submodule pinned to a
|
||||
commit), so the app and the library version-lock and the library
|
||||
stays usable by the desktop app on its own. Pin a dated nightly in
|
||||
`rust-toolchain.toml`; list every `#![feature]` gate with what it is
|
||||
for, so each can be retired when it stabilises. Get `cargo build`,
|
||||
`clippy` and `fmt` clean at the defaults and the `tabs` example
|
||||
running in a window. Pass: a fresh clone builds unattended from the
|
||||
pinned toolchain.
|
||||
- [x] **I0a — where iris lives (decided 2026-09-04).** For now it is
|
||||
**vendored at `iris/` in this repository**, history not carried,
|
||||
and consumed by path. Iris's decision: keep it close while it is
|
||||
being reshaped for this app, and give it back its own repository —
|
||||
`iris/iris` on the gitea remote, which already holds the full
|
||||
244-commit history, on a branch of its own — once it has proved
|
||||
itself. The vendored tree is that repository's `main` at
|
||||
`7b54aaf` ("readme", 2026-01-29), byte-identical to the public
|
||||
GitHub copy, so a later reconciliation has a known base. A crate
|
||||
that uses it says `iris = { path = "../iris" }`.
|
||||
- [ ] **I0b — make it build here.** Pin a dated nightly in
|
||||
`iris/rust-toolchain.toml` (the machine has
|
||||
`nightly-x86_64-unknown-linux-gnu`, rustc 1.100.0-nightly
|
||||
2026-08-25); list every `#![feature]` gate with what it is for, so
|
||||
each can be retired when it stabilises. Get `cargo build`, `clippy`
|
||||
and `fmt` clean at the defaults and the `tabs` example running in a
|
||||
window (this VM has no display: a headless compositor is what
|
||||
`emu` uses for the emulator, and the same trick serves here).
|
||||
Pass: a fresh clone builds unattended from the pinned toolchain.
|
||||
**Measured 2026-09-04**: `cargo +nightly check` on that nightly
|
||||
fails in `iris-core` with 36 errors, all one cause — the
|
||||
`const_trait_impl` feature changed shape between January and
|
||||
August: `impl const Trait for T` is now rejected with "expected a
|
||||
trait, found type" unless the trait itself is declared
|
||||
`const trait`, at seven sites (`num.rs`, `align.rs`, `axis.rs`,
|
||||
`pos.rs`, `color.rs`, `math.rs`, `vec2.rs`), and the unresolved
|
||||
`UiVec2`/`Vec2`/`impl_op` imports cascade from those. That is the
|
||||
nightly-drift risk in one build; the fix is mechanical (declare
|
||||
the traits `const trait`), and it is the first item of I0b rather
|
||||
than pinning back to a January nightly, which would only defer it.
|
||||
- [ ] **I1 — the text stack decision.** iris uses cosmic-text; the
|
||||
transcript needs rich inline spans (links, code chips, colour),
|
||||
selection across many widgets with the platform's handles on the
|
||||
|
||||
Reference in new issue
Block a user