Roadmap
Patin grows in visible, testable stages. Visible shell features are examples and templates that validate toolkit APIs; they are not automatically instantiated by the library:
- Foundation — establish the pinned Rust project, documentation, checks, license, and publishing automation.
- First surface — connect as a Wayland client, create a top layer-shell surface, reserve its exclusive zone, and fill it with a solid color.
- Rendering — introduce drawing primitives and a correctly scaled clock
using
tiny-skiaandcosmic-text. - Input — handle pointer and multitouch input; tapping a visible target changes bar state without affecting application focus.
- UI core — add internal row, column, and stack layout, styling, hit-testing, damage tracking, and reusable components.
- Service adapters — design optional provider interfaces from demonstrated battery, network, audio, notification, and media examples.
- Session lock — provide an independently launched, multi-output
ext-session-lock-v1composition with physical/touch password entry and PAM authentication. - Composition templates — exercise phone navigation, launchers, quick settings, notifications, and keyboard control without making them defaults.
- Compositor integration — add a replaceable adapter for 0xin workspace state and commands.
CPU rendering comes first. A GPU renderer is considered only after measurement shows a real performance need.