All projects

Native components for Linux

Avelino

A Linux implementation of the shared design system using Qt Quick, with explicit visual and platform acceptance.

I designed and built this project independently, using my own resources.

Explore the project

Public repository

Technical documentation

Qt Quick library for Linux. Build, catalog, and package verification guides are in the repository.

Technologies

  • Qt Quick
  • QML
  • Linux
  • Design tokens

01 / Context

The problem behind the project

Linux applications need a native implementation of the same component contracts, with a clear reference for visual and interaction parity.

Avelino is the Linux member of the same design-system family. Its target is a faithful Qt Quick implementation, using preserved Sabella desktop and television renderings as references while keeping Apple implementation code outside the Linux product.

This is an explicit porting and acceptance problem. A component can exist in QML, compile, and appear in a catalog while still being wrong in text shaping, geometry, state handling, physical input, or accessibility.

02 / Implementation

Design and implementation

I build the Linux component candidates, reference tooling, catalog, and acceptance documentation.

I built the Linux token/typography foundation, QML component candidates, catalog, installed-consumer checks, and reference-reproduction tooling. Source artifacts and rendered references carry checksums and provenance so comparisons can be reproduced without depending on a moving sibling checkout.

The work investigates behavior as well as pixels: controlled values versus raw editing, focus ownership, label layout, child clipping, independent action targets, and popup lifecycle. Each candidate keeps consumer content and state instead of replacing them with a painted approximation.

The acceptance process retains failure evidence and separates virtual display/package checks from strict mirror acceptance. Desktop and television remain separate scopes.

03 / Architecture

Architecture and workflow

  1. Freeze the reference

    Recover checksummed historical inputs and rendered reference states.

  2. Implement a Linux candidate

    Map visual and semantic behavior to Qt Quick and Linux-native input/accessibility.

  3. Check a real consumer

    Install the package and exercise a separate application rather than importing source directories.

  4. Compare the full contract

    Assess frames, fonts, symbols, state, raster output, physical input, and reader behavior independently.

04 / Approach

Engineering decisions

One platform boundary

Avelino owns Linux. Apple and Windows implementations remain in their own libraries.

Reproducible visual references

Checksummed source references and rendered fixtures support comparison with the shared component contracts and native reference implementations.

05 / Evidence

Evidence and outcomes

The repository contains per-component source investigations, reference reproduction, catalog captures, and independent consumer checks. Negative results remain part of the evidence instead of being converted into approved visual exceptions.

The current project explicitly distinguishes registered candidates from components that have passed the complete mirror gate. This is a more demanding acceptance bar than a passing QML build.

Source and technical notes

06 / Current scope

Where it stands

Implementation has started. Desktop and television acceptance are pending; registration and passing builds do not establish visual parity.

Full desktop and television acceptance remain pending; the project does not claim completed parity.

Cross-platform text and native interaction can require more work than copying geometry. Platform differences need an explicit decision rather than an undocumented approximation.