uzor-examples 1.2.2

Layered demos for uzor — L1 (raw input coordinator), L2 (context manager + widgets), L3 (layout manager + composites), L4 (App + WindowManager builder).
uzor-examples-1.2.2 is not a library.

Level 1 — uzor as a bare hit-tester

Demonstrates: pull ONLY InputCoordinator from uzor; build winit + vello + widget rendering + widget state entirely by hand. The button below is written ENTIRELY from scratch — uzor's button widget is NOT used.

L1:  InputCoordinator only — user wires platform events manually
L2:  + ContextManager + LayoutManager + ready-made uzor widgets
L4:  uzor-framework — framework owns everything, user provides App trait

Key patterns demonstrated ─────────────────────────

  1. InputCoordinator::begin_frame → register widgets → end_frame
  2. Manual InputState construction from winit events (no EventProcessor)
  3. register_atomic(id, WidgetKind::Custom, rect, Sense::CLICK | Sense::HOVER, &layer)
  4. Click detection via WidgetResponse::clicked in end_frame responses
  5. vello Scene built from scratch — background + rounded rect + no text hack

Surface initialisation uses vello::util::RenderContext (the proven path used by every uzor GPU backend). This avoids the manual wgpu::Instance + SurfaceTargetUnsafe pattern that caused STATUS_STACK_BUFFER_OVERRUN in the previous version.

Run

cargo run -p uzor-examples --bin l1-coord