← Cycles
Qnative (provisional) · c8

QGUIkit Cleanup

activekicked off 2026-11-12 — answers `design:c140` D14; steps 1–2 built the same day: the crate renamed `qguikit`, the token bridge moved here and checked in CI, six flaws fixed, the port specs committed; at review stop 1 with three calls; pushed 2026-11-12 on Mark's wordcreated 2026-11-12· last activity 2026-11-12· mode: formula (rulings applied as written), with evolution where a rename meets real code.

design c140's code rulings, in Mark's order (D14):

Why

Design c140 scored QGUIkit against twenty principles: our component system as drawn here in Rust on GPUI, the second surface beside the Vue one in q-nuxt-layer. Where a machine holds the work, the surface is sound. Where a person was meant to remember, it is soft:

  • type and radius set by literals;
  • a crate that holds an engine, a registry, the docs and a parser beside its components;
  • names that half follow the web's;
  • a scorecard stale within a day;
  • small flaws only a reader found.

Mark ruled the fixes on 2026-11-12. This cycle carries them, so the next page ported here starts from a crate that matches its name and the web's vocabulary.

Objective

Done means:

  1. D2: the crate is crates/qguikit, and every use layer:: is use qguikit::. The docs say what QGUIkit is.
  2. D13:
    • the port specs are committed in cycles/c2.expressive-range/specs/;
    • design's bridge fixture carries it_contact;
    • the six flaws are fixed;
    • the token bridge has a --check mode, and CI runs it.

    Review stop 1.
  3. D9:
    • the tour engine, the harness registry and the git-remote parser are out of the component crate;
    • the doc pages are in a docs crate;
    • the seven pantry pieces from the pages are in;
    • there is one of each format helper.
  4. D8: every component carries its Vue name, with a deprecated alias for one release, and the scorecard has a rust column.
  5. D5:
    • type and radius via tokens;
    • motion tokens on both surfaces;
    • the colour leftovers given roles;
    • the lint in CI.

    Review stop 2, with the budget against c2's readings.

Scope

  • This repo: every crate (the rename), crates/layer → crates/qguikit, crates/app/src/pages/*, .github/workflows/build.yml, cycles/c2.expressive-range/specs/.
  • Design (named files only):
    • app/data/worlds/bridge/pilot.json and types.ts;
    • scripts/tokens-to-kit.mjs;
    • brand/component_philosophy.md's motion rule (step 5);
    • c140's records.
  • The layer (step 5 only): motion tokens in tokens.json, released with Mark's word.
  • Out:
    • the slot APIs (design c140 D6: named now, refactored when a component is next touched);
    • keyboard and focus (D7: after V1);
    • the parity register (design c141);
    • /native-port and spec-measure (design, built in the same session).

Key Changes

  • Kick-off (2026-11-12): the cycle opened from design c140 D14. Before it started, main was fast-forwarded to c7 Web Rail (900578f, PR qpoint-io/qnative#1) on Mark's ruling "Merge c7, then clean up". Nothing was pushed.
  • Step 1, the name (2026-11-12, a5ca520, D2):
    • crates/layer → crates/qguikit, with 270 paths in 40 files.
    • lib.rs says what QGUIkit is.
    • The workspace builds clean.
  • Step 2, the small items (2026-11-12, D13):
    • The token bridge moved here from design, with --check and CI's tokens job (8b1af18). Design's private repo was out of reach for CI, and the layer is public. Design keeps a wrapper.
    • Six flaws fixed (be4545f).
    • The ten port specs committed in cycles/c2.expressive-range/specs/, and the bridge's source said (bc60635).
    • In design (uncommitted): the bridge fixture's it_contact synced back, the wrapper, and c140's qdash todo #4.
    • 175 tests pass.
    • The merge thread was still active: it squash-merged c7 as e3ffc94 and reset main to it between this cycle's fast-forward and its first commit. The trees are identical.
  • Pushed (2026-11-12, design c143): on Mark's word ("push this and anything else outstanding"), steps 1–2 (a5ca520 … 40be83f) went to origin/main with the commits stacked on them. Review stop 1's three calls stay open.

Outcome

Artifacts

Qpoint Brand Style Guide