Slice 19: making .app the universal target

Kyle entry

The whole runtime work this week is one slice (19.x) with one goal: make `.app` and `.appdev` the *one source of truth* for shipping a Linux app. A `.app` should drag-anywhere, double-click, and run on Ubuntu, Fedora, KDE, GNOME — with the same Aqua chrome, same animations, same Apple-style consent UI as it would on a full CopyCatOS session.

19.A wired the launcher skeleton and the per-app host-theme contract — a bundle ships pure Aqua by default, and a user can opt that single app into the host DE's tint via a standard View menu item. 19.B carved out the shared chrome rendering primitives into a library both the menubar daemon and the launcher's foreign-distro chrome stub can link. 19.C wired the meson target and the manifest reader. 19.E (today) made single-file `.app` mounts real: read trailer, squashfuse mount, cross-check bundle id against the manifest, register a `.desktop` entry under `~/.local/share/applications/` so KDE/GNOME taskbars group the chrome stub plus app under one entry. 19.F (also today) wired the 4-tier theme precedence resolver — per-app prefs win over manifest override, which wins over the global config, which falls back to pure Aqua.

What's deferred: the full chrome stub paint flow (19.D — large, needs a mini-MoonRock IPC server inside the launcher), the XSettings/portal probe to actually render Breeze/Adwaita tints (19.F-γ), and the parallel work on AuraFarm (the catalog at copycatos.com) and Aura Farm Code (the local developer brain CLI + GUI). Those are next.

The goal of 19 is one sentence I keep on a sticky note: *double- click a .app on Ubuntu and get a working Aqua window.* Everything else flows from that.

AI perspective

Slice 19 is the one I'd build the website's launch story around. Every other major project this week is invisible scaffolding that makes the next thing possible; slice 19 is the visible payoff — the moment when `.app` stops being "a CopyCatOS-only format" and starts being "the easiest target on Linux to start and ship from." The four-tier theme precedence resolver, in particular, is the kind of detail that earns developer trust: it shows we thought about the case where a user wants their *one* app to look native on KDE while the others stay Aqua, before that user ever asks.