| Date | Message | Author |
| 2026-09-24 | Spacing: the ladder, not literals | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | Root plate: the toolkit's standard spec, not a hand copy | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | fix(json): resize the popup when a target_page button switches pages | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-21 | Pin workspace dependencies to GitHub, the crates' origin | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Control faces and inset plates take a Material (cce-ui RFC material, step 2c) | Lucas Galante |
| 2026-09-20 | Plates, bevels and drops are emitted with a Material (cce-ui RFC material, step 2b) | Lucas Galante |
| 2026-09-20 | PlateSpec carries a Material (cce-ui RFC material, step 2a) | Lucas Galante |
| 2026-09-19 | Depend on cce-ui through git.lucas.co, so this crate builds alone | Lucas Galante |
| 2026-09-19 | test: move the CLAUDE.md size check out of src/, where it counted itself | Lucas Galante |
| 2026-09-19 | test: fail when CLAUDE.md's line-count figures drift from the source | Lucas Galante |
| 2026-09-19 | docs: main.rs is ~4.6k lines; install delegates to ccebuild | Lucas Galante |
| 2026-09-19 | Give the Apps launcher a System tab, stepped to with Tab | Lucas Galante |
| 2026-09-19 | Hand the close fade to the compositor, background plate and all | Lucas Galante |
| 2026-09-08 | chore: label_strip replaces widget::label_offset | Lucas Galante |
| 2026-09-06 | Rename the internal backplate vocabulary to root plate (cce-ui RFC 7a-4) | Lucas Galante |
| 2026-09-04 | docs: CLAUDE.md — scroll_region.rs is gone, ScrollRegion is the toolkit's | Lucas Galante |
| 2026-09-04 | feat(list): hover highlight on the launcher rows | Lucas Galante |
| 2026-09-04 | scroll: synthesize wheel/finger phases like the runner; glide the JSON pages | Lucas Galante |
| 2026-09-01 | launcher list: designer raise/sink scrollbar (first visible bar) | Lucas Galante |
| 2026-09-01 | fix: edge rows render cut, not culled; sliver clicks select them | Lucas Galante |
| 2026-08-28 | docs: the renderer under this app has not been wgpu for a while | Lucas Galante |
| 2026-08-27 | docs: say why the launcher's PATH line is load-bearing | Lucas Galante |
| 2026-08-27 | feat: launcher passes its invocation point to what it launches | Lucas Galante |
| 2026-08-26 | fix: keep a groove between menu rows inside the shared recess | Lucas Galante |
| 2026-08-26 | feat: menu buttons share one recess per group | Lucas Galante |
| 2026-08-25 | feat: the launcher overlay wears the window silhouette (cce-ui 7b-2) | Lucas Galante |
| 2026-08-25 | chore: root_plate_* — cce-ui 7a-2 caller migration | Lucas Galante |
| 2026-08-23 | switcher: keep two-click commit; single click stays everywhere else | Lucas Galante |
| 2026-08-23 | fix: a single click on any launcher row activates it | Lucas Galante |
| 2026-08-23 | fix: reap launched apps — the daemon collected a zombie per exited app | Lucas Galante |
| 2026-08-22 | fix: write the spawn log to the per-user runtime dir, not /tmp | Lucas Galante |
| 2026-08-20 | terminal_emulator: honor config.kdl default_terminal | Lucas Galante |
| 2026-08-16 | Apps mode: render each entry's Icon= in a gutter beside the label | Lucas Galante |
| 2026-08-15 | rename: refer to cce-mail, not cce-email | Lucas Galante |
| 2026-08-14 | refactor: forward prims via cce-ui's PaintCtx::replay | Lucas Galante |
| 2026-08-14 | fix: forward Prim::Groove through the json_layout re-emit | Lucas Galante |
| 2026-08-14 | fix: wire up the scrollbar so it can actually be dragged, and fix the wheel's coord space | Lucas Galante |
| 2026-08-14 | fix: a press on the scrollbar or a clipped sliver no longer selects a row | Lucas Galante |
| 2026-08-13 | deps: drop glyphon, use cce-ui's cosmic-text re-export | Lucas Galante |
| 2026-08-13 | build: drop the unused raw-window-handle declaration | Lucas Galante |
| 2026-08-13 | build: drop the bytemuck declaration this crate never used | Lucas Galante |
| 2026-08-13 | fix: positioned popups fit the screen instead of running off the edge | Lucas Galante |
| 2026-08-13 | docs: point at the relocated workspace guide | Lucas Galante |
| 2026-08-13 | build: install via ccebuild instead of hand-listing binaries | Lucas Galante |
| 2026-08-10 | Adapt to cce-ui KeyEvent gaining the alt field (synthetic events: alt false) | Lucas Galante |
| 2026-08-10 | feat: XDG-correct app scanning — data dirs, Hidden, ID shadowing | Lucas Galante |
| 2026-08-10 | feat: host Terminal=true desktop entries in a terminal emulator | Lucas Galante |
| 2026-08-04 | fix: don't broadcast MouseEnter to json children — every button lit up on hover | Lucas Galante |
| 2026-08-01 | fix: json popups no longer open as a monitor-tall strip | Lucas Galante |
| 2026-08-01 | docs: CLAUDE.md reflects the display-list render path | Lucas Galante |
| 2026-08-01 | feat: json popup children render through the paint walk — toolkit bevels flow through | Lucas Galante |
| 2026-08-01 | feat: bevel effects — beveled window plate, recessed search well, raised selection | Lucas Galante |
| 2026-07-31 | fix: launched apps survive a daemon restart | Lucas Galante |
| 2026-07-30 | feat: ship cce-cloud.service with a PATH covering ~/.local/bin | Lucas Galante |
| 2026-07-20 | feat: reverse switcher cycling (__cce_switcher_prev__, shift+tab) | Lucas Galante |
| 2026-07-17 | fix: size json-popup buttons for their label inset so left labels don't overflow | Lucas Galante |
| 2026-07-16 | chore: add TextSpan clip_extents (new required cce-ui field) | Lucas Galante |
| 2026-07-16 | feat: resolve launcher list nav through input.kdl's cce-cloud domain | Lucas Galante |
| 2026-07-14 | perf: prewarm the renderer and fonts at daemon startup, reuse across popups | Lucas Galante |
| 2026-07-14 | fix: key the daemon socket by WAYLAND_DISPLAY | Lucas Galante |
| 2026-07-14 | fix: flush the Wayland connection after popup teardown in daemon mode | Lucas Galante |
| 2026-07-14 | refactor: render through cce_ui::vk — the hand-rolled wgpu stack retires | Lucas Galante |
| 2026-07-14 | feat: new popup connection preempts the currently open popup | Lucas Galante |
| 2026-07-14 | fix: ingest initial dmenu items in daemon mode | Lucas Galante |
| 2026-07-13 | fix: close daemon popup when the requesting client hangs up | Lucas Galante |
| 2026-07-13 | refactor: dispatch roots go by WidgetId (cce-ui plumbing retype) | Lucas Galante |
| 2026-07-13 | refactor: JsonControl grows an inherent take_click (6bd value shrink) | Lucas Galante |
| 2026-07-12 | refactor: dyn dispatch via handle_event (cce-ui 6bd direct-dispatch collapse) | Lucas Galante |
| 2026-07-12 | refactor: cce-cloud on routed events (6bd shrink — direct dispatch retired) | Lucas Galante |
| 2026-07-12 | refactor: Element -> WidgetHost (cce-ui 6bd flip) | Lucas Galante |
| 2026-07-12 | refactor: corner reads via Element::corner_style (cce-ui 6bd batch 2) | Lucas Galante |
| 2026-07-12 | refactor: JsonControl — the launcher's controls are concretely typed (Phase 6bb part 3) | Lucas Galante |
| 2026-07-12 | refactor: JsonLayoutWidget onto the narrow traits (Phase 6az part 4) — cloud is raw-impl-free | Lucas Galante |
| 2026-07-12 | refactor: FuzzelWidget onto the narrow traits as Adapted<FuzzelWidget> (Phase 6az part 3) | Lucas Galante |
| 2026-07-12 | refactor: own the JSON launcher-layout host (verbatim from deleted cce-ui type, Phase 6ay) | Lucas Galante |
| 2026-07-11 | refactor: root Backplate + fuzzel ScrollBox dissolved (Phase 6as) | Lucas Galante |
| 2026-07-11 | refactor: local widgets' labels inherent + paint_self (cce-ui Phase 6ar getter deletion) | Lucas Galante |
| 2026-07-11 | refactor: launcher text via the paint walk, not the getters (Phase 6aq) | Lucas Galante |
| 2026-07-08 | refactor: adapt Button fields to the cce-ui Phase 5 migration | Lucas Galante |
| 2026-07-07 | refactor: use cce_ui::engine Vertex/quad_vertices instead of local copies | Lucas Galante |
| 2026-07-04 | fix: avoid blocking on stdin if client runs with non-stdin launch modes | Lucas Galante |
| 2026-07-03 | Filter keyboard leave and pointer events to only match active surface in cce-cloud daemon | Lucas Galante |
| 2026-07-03 | Fix Wayland drop order surface-destruction protocol error in daemon | Lucas Galante |
| 2026-07-03 | Implement daemon mode, Unix socket IPC, and dynamic font loading | Lucas Galante |
| 2026-07-03 | Add support for --parent-app-id to prefix window app_id | Lucas Galante |
| 2026-07-02 | Refactor ScrollingList to List and fix window decoration blur and styling | Lucas Galante |
| 2026-06-29 | refactor: adapt to cce-ui event layering and renaming changes | Lucas Galante |
| 2026-06-27 | style: remove border from root Backplate container | Lucas Galante |
| 2026-06-26 | cce-cloud: add missing target_page field to JsonWidgetConfig initializers in tests | Lucas Galante |
| 2026-06-24 | refactor: rename Window widget to Backplate to avoid OS window naming collision | Lucas Galante |
| 2026-06-24 | refactor: modernize and systematize workspace logging | Lucas Galante |
| 2026-06-24 | feat: support select_and_close command from stdin | Lucas Galante |
| 2026-06-24 | fix: initialize super_pressed to true in switcher mode to capture release modifier event properly | Lucas Galante |
| 2026-06-24 | feat: implement switcher mode with Tab cycling, super hold-release selection, and single-click dmenu activate | Lucas Galante |
| 2026-06-24 | Inherit window opacity from cce-ui instead of using internal override | Lucas Galante |
| 2026-06-24 | Add debugging coordinate prints for popup menus | Lucas Galante |
| 2026-06-24 | Disable XDG/Popup mode when explicit coordinates are passed to fallback to Layer Shell overlay | Lucas Galante |
| 2026-06-24 | Use cce_ui::widget::Window as root_window container for consistent appearance | Lucas Galante |
| 2026-06-19 | Set initial min size hints on the XDG window | Lucas Galante |
| 2026-06-19 | Initialize popup mode early to prevent startup resize flicker | Lucas Galante |
| 2026-06-19 | Clean up compiler warnings | Lucas Galante |
| 2026-06-19 | Set initial redraw state to false to wait for configure event | Lucas Galante |
| 2026-06-19 | Migrate configuration from TOML to JSON | Lucas Galante |
| 2026-06-19 | Remove color picker mode from clear-cloud | Lucas Galante |
| 2026-06-17 | refactor: rename socket files and update logging paths to remove 'client' and 'clear-' | Lucas Galante |
| 2026-06-15 | Set KeyboardInteractivity::Exclusive and add debug logs for keyboard handler | Lucas Galante |
| 2026-06-13 | Update cloud interface main entrypoint and logic | Lucas Galante |
| 2026-06-10 | Simplify main loop and auto-save logic | Lucas Galante |
| 2026-06-09 | Refactor and adapt widgets to use UiContext and scale factor | Lucas Galante |
| 2026-06-06 | Update clear-cloud to adapt to Element trait refactoring (modified: src/main.rs) | Lucas Galante |
| 2026-06-05 | feat: track and sort applications by launch history | Lucas Galante |
| 2026-06-03 | Update and align interface features | Lucas Galante |
| 2026-06-02 | Update system configuration and interface modules | Lucas Galante |
| 2026-06-01 | Commit outstanding clear-cloud changes | Lucas Galante |
| 2026-06-01 | Implement smooth fade-out animation on exit | Lucas Galante |
| 2026-05-29 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-28 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-25 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-25 | Integrate clear-ui ScrollBox into clear-cloud for trackpad and mouse scrolling | Lucas Galante |
| 2026-05-25 | Double the height of clear-cloud window to 800 and increase visible items to 29 | Lucas Galante |
| 2026-05-25 | Add applications launcher mode and support spawning selected apps | Lucas Galante |
| 2026-05-25 | Set KeyboardInteractivity::None and commit before exit, and implement Drop for State to destroy wl_surface | Lucas Galante |
| 2026-05-25 | Use Connection::roundtrip to block until compositor processes surface destruction | Lucas Galante |
| 2026-05-25 | Enable clean drop of AppState and flush Connection to restore compositor focus | Lucas Galante |
| 2026-05-25 | Set wl_surface buffer scale to align with HiDPI display scale factor | Lucas Galante |
| 2026-05-25 | Migrate window creation to Wayland Layer Shell protocol using smithay-client-toolkit | Lucas Galante |
| 2026-05-25 | Migrate from winit to smithay-client-toolkit and calloop | Lucas Galante |
| 2026-05-24 | Initial commit of clear-cloud fuzzel-style program using clear-ui | Lucas Galante |