git.lucas.co / cce-ui
GPU-accelerated UI toolkit (Vulkan)
git clone https://git.lucas.co/cce-ui.git

DateMessageAuthor
2026-09-24feat(motion): a DE-wide animations switch every easing asksLucas Galante
2026-09-24feat(vk): SceneDraw::prelit — a fill whose colours already carry their lightingLucas Galante
2026-09-24fix(graph): a node against the pane's right edge keeps its nameLucas Galante
2026-09-24docs: the standard app — root plate, rungs, and the spacing ladderLucas Galante
2026-09-24Demo on the presets; scripts/style-audit, the conformance checkLucas Galante
2026-09-24The spacing ladder: root, pane and control rungs, and presets that pick oneLucas Galante
2026-09-24The standard root plate: PlateSpec::window, PaintCtx::root_plate, root_plate_insetLucas Galante
2026-09-24feat(parameters): the code row is an editor — gutter, selection, indent, undo, apply on ctrl+enterLucas Galante
2026-09-24feat(vk): compute jobs run many passes in one submission, with ping-pongLucas Galante
2026-09-24feat(vk): the compute-job API — ComputeDevice, Kernel, BindingLucas Galante
2026-09-22Dropdown: the open menu reserves its plate's relief wallLucas Galante
2026-09-22Context menu: PAD-aware row_at / row_y, the drag veto knows the menu, ClearLucas Galante
2026-09-22Text occlusion: a popover's labels are clipped only by popovers above itLucas Galante
2026-09-22Graph: the node body has a size of its own, off the pitchLucas Galante
2026-09-22Graph: one grid pitch per axis; nodes centred on the lattice crossingsLucas Galante
2026-09-21ParametersBg: the scrollbar rides the pane's centre lineLucas Galante
2026-09-21Context menu: size the plate from the label as the renderer shapes itLucas Galante
2026-09-21Context menu: an even pad on every sideLucas Galante
2026-09-21ColorSelector: keep the alpha checker out of the legacy plain-quad viewLucas Galante
2026-09-21ParametersBg: labels inline beside their controls (style.surface.param.label_layout)Lucas Galante
2026-09-21Context menu: a control-scale corner, style.surface.menu.corner_radiusLucas Galante
2026-09-21Popovers compress their backdrop: style.surface.menu.compressionLucas Galante
2026-09-21Plate roll: a shade line on the far edges, the glint's dark counterpartLucas Galante
2026-09-21Plate crest is light-facing: the far edges of a raised plate shade darkLucas Galante
2026-09-21ParametersBg: a trackpad gesture is the pane's from anywhere, overflowing or notLucas Galante
2026-09-20ParametersBg: a trackpad gesture over an overflowing pane scrolls it from anywhereLucas Galante
2026-09-20UiContext::note_scroll_event: the wheel-gesture bookkeeping as a call hosts can makeLucas Galante
2026-09-20ParametersBg: report a value change inside tick separately from animationLucas Galante
2026-09-20ParametersBg: a gesture the pane acquired is not captured by a control sliding under the pointerLucas Galante
2026-09-20Prim::Fill (a material's flat fill) and parameter-row floors with their own compressionLucas Galante
2026-09-20Frost: the near-black guard follows the lift ratio, continuous in compressionLucas Galante
2026-09-20Frost: compression 0 is the identity — the near-black guard only runs with compressionLucas Galante
2026-09-20Prim::Grout: flat colour outside a field of rounded cells; the graph grid uses itLucas Galante
2026-09-20Graph: flat grid lines over the plate, in place of the relief latticeLucas Galante
2026-09-20Graph: the grid relief is gated on visibility, not uniform_backgroundLucas Galante
2026-09-20Graph: the grid is relief carved into the plate, not tinted quadsLucas Galante
2026-09-20Graph: grid cells are the pane's plate, the gaps an overlayLucas Galante
2026-09-20cce-relief: the material sliders seed from and write to the --config targetLucas Galante
2026-09-10test: read the live style instead of pinning it, everywhere leftLucas Galante
2026-09-10test(layout): let the vstack flow read the live style, never pin itLucas Galante
2026-09-20Named materials in config, and cce-relief edits the finish and the frost (RFC material, step 4)Lucas Galante
2026-09-20docs(rfc-material): the step-3 control — default recipe pixel-identical to pre-step-3Lucas Galante
2026-09-20docs: RFC material step 3 done, measured; examples/frost_pair is the visual testLucas Galante
2026-09-20A well floor is cut into its host's material (RFC material, step 3c)Lucas Galante
2026-09-20A frosted flat fill is a zero-depth plate batch (RFC material, step 3b)Lucas Galante
2026-09-20The frost recipe rides the plate's push block, not the window (RFC material, step 3a)Lucas Galante
2026-09-20docs: RFC material step 2 done; CLAUDE.md says where a plate's material now livesLucas Galante
2026-09-20No widget writes the frost sentinel by hand (RFC material, step 2d)Lucas Galante
2026-09-20ControlPlate has a face of Material, or none (RFC material, step 2c)Lucas Galante
2026-09-20The plate prims carry a Material (RFC material, step 2b)Lucas Galante
2026-09-20PlateSpec carries a Material, not a colour and a flag (RFC material, step 2a)Lucas Galante
2026-09-20Drop two empty stray log filesLucas Galante
2026-09-20material: the type, the Finish rename, and one encoding function (RFC step 1)Lucas Galante
2026-09-20docs: RFC — Material, what a plate is made ofLucas Galante
2026-09-20feat(plate): rim refraction — the roll bends what you see through itLucas Galante
2026-09-20docs(plate): the tint that backdrop_compression converges on, and the hex trapLucas Galante
2026-09-19feat(plate): backdrop_compression, a frosted plate's legibility controlLucas Galante
2026-09-19fix(test): per-thread style writes for the registry and colours tooLucas Galante
2026-09-19fix(test): style setters are per-thread under cfg(test), ending the flakeLucas Galante
2026-09-19test: move the CLAUDE.md size check out of src/, where it counted itselfLucas Galante
2026-09-19test: fail when CLAUDE.md's line-count figures drift from the sourceLucas Galante
2026-09-19docs: the icons fallback is ~/projects/cce/cce-icons/svg, not ~/DropboxLucas Galante
2026-09-19control-plate: a flat stance, for a control made of its pane's materialLucas Galante
2026-09-19Widgets: bound every string to the box it was givenLucas Galante
2026-09-19Sections: one content inset, and nothing draws outside its boxLucas Galante
2026-09-19CLAUDE.md: what a reconnect does to GPU handlesLucas Galante
2026-09-19ImageView: say that a borrowed id dies with its rendererLucas Galante
2026-09-19A bundled glyph belongs to a renderer, not to the processLucas Galante
2026-09-19dropdown: a per-widget face for the trigger plateLucas Galante
2026-09-19Every app holds its window open for the compositor's close dissolveLucas Galante
2026-09-19scroll-region: the raise is a cross-fade, not a flipLucas Galante
2026-09-18Button::new_icon: any bundled cce-icons glyph as a plateless icon buttonLucas Galante
2026-09-18fix(menu): draw context-menu labels in the menu fontLucas Galante
2026-09-15docs(input): note gesture chords in the window-manager domainLucas Galante
2026-09-14chore(examples): carve_union_demo takes its size from CCE_DEMO_W/HLucas Galante
2026-09-14fix(ramp): smooth ramps are a monotone cubic, not per-segment smoothstepLucas Galante
2026-09-14fix(relief): lattice crossings meet as hips, not a flat lozengeLucas Galante
2026-09-14fix(relief): mitre the union carve's outer corners like the lattice'sLucas Galante
2026-09-14fix(relief): mitre the lattice wall's outer edge instead of offsetting itLucas Galante
2026-09-14feat(relief): Prim::CarveUnion — several boxes carved or raised as one wallLucas Galante
2026-09-14feat(relief): Prim::Lattice — a periodic well field carved as one surfaceLucas Galante
2026-09-11perf(runner): sleep between ticks while idle instead of turning every 16 msLucas Galante
2026-09-11feat(toggle): the sliding plate is the only style, and it lives in a wellLucas Galante
2026-09-10fix(button_strip): record last_scale on the horizontal path too, or tick redraws every frameLucas Galante
2026-09-10perf(vk): a streaming path for images that change every frameLucas Galante
2026-09-09test(layout): resolve unit slots without touching the process metricLucas Galante
2026-09-09feat(heightfield): export the relief as a height field, in millimetresLucas Galante
2026-09-09feat(relief): a real depth axis — pinned heights, and light split from depthLucas Galante
2026-09-09feat(treelist): show unit-suffixed lengths as lengthsLucas Galante
2026-09-09feat(units): lengths with units, and the display metric they resolve throughLucas Galante
2026-09-09feat(separator): in relief, a groove carved into the plateLucas Galante
2026-09-09fix(adapter): a subtree painter's detached label is drawnLucas Galante
2026-09-09fix(treelist): the fields are arranged in the content rect, not the blockLucas Galante
2026-09-09feat(group): a member's detached label is in the hullLucas Galante
2026-09-09fix(group): a fitted frame stops on the plate's edge on every side; the tab never covers a memberLucas Galante
2026-09-09feat(layout): control_relief is read live; set_control_relief switches itLucas Galante
2026-09-09feat(group): headroom — the room a titled lasso takes above its hullLucas Galante
2026-09-09fix(group): count a labelled member's strip onceLucas Galante
2026-09-09style: flat wells share one frame and no floorLucas Galante
2026-09-09style: one canvas well for every opening you look intoLucas Galante
2026-09-09style: one label font, InfoBox as a plate, Ramp pegs sized to their plotLucas Galante
2026-09-09fix(window_runner): exit when the compositor is gone instead of rejoining its successorLucas Galante
2026-09-09feat(focus): navigation by group — members walk together, chords jump between runsLucas Galante
2026-09-08feat(group): a lasso around registered widgets, fitted to its plate on requestLucas Galante
2026-09-08fix(focus): a widget parked off-screen is not a stopLucas Galante
2026-09-08feat(focus): focus_stepped tells a caching app to rebuild; CCE_FOCUS_DEBUGLucas Galante
2026-09-08fix(focus): the ring survives the flat-host bridgeLucas Galante
2026-09-08fix(focus): list rows and menu items are not Tab stopsLucas Galante
2026-09-08feat(range-slider): the focused end's swell is the one that lightsLucas Galante
2026-09-08feat(focus): RangeSlider is a well — one stop, two endsLucas Galante
2026-09-08feat(focus): ButtonStrip, Breadcrumb and Slider take their places in the walkLucas Galante
2026-09-08fix(focus): reading order buckets stops into rows; a focused Toggle lights its labelLucas Galante
2026-09-08feat: keyboard navigation in plate termsLucas Galante
2026-09-08feat(layout): radii configured per rung — style.control.corner_radiusLucas Galante
2026-09-08feat(paint): ControlPlate — one spec for every control faceLucas Galante
2026-09-08docs: the surface vocabulary — plates, wells and seamsLucas Galante
2026-09-08feat(color-selector): the swatch sits inside the control's recessLucas Galante
2026-09-08feat(spinbox): the wheel steps the valueLucas Galante
2026-09-08feat: the Paginator panel and the ColorSelector swatch round tooLucas Galante
2026-09-08feat(widgets): the square-cornered leaves round like the rest of the toolkitLucas Galante
2026-09-08feat(slider): export the band profile and painterLucas Galante
2026-09-08feat(label)!: one control-label convention, no label-in-recess tabsLucas Galante
2026-09-08feat(slider)!: the band is the only slider styleLucas Galante
2026-09-08feat(layout)!: wells carve inside their rect; strategies place blocks (label row + control)Lucas Galante
2026-09-08feat(layout)!: strategies place content boxes; the label hangs in the gap; the gap is a control heightLucas Galante
2026-09-08feat(layout)!: one spacing rule — occupied heights, one gap, one label inset, one text insetLucas Galante
2026-09-08feat(widgets): the relief idiom for the controls still drawn flatLucas Galante
2026-09-08feat(layout): a labeled control's preferred height counts the label its rect eats; Toggle::with_slideLucas Galante
2026-09-08feat(layout): one fallback height for text controls, one for tracks; defaults for the sizeless widgetsLucas Galante
2026-09-08chore(color): drop the checkbox colour keys nothing reads since the square style wentLucas Galante
2026-09-08feat(checkbox)!: the ring-and-dot mark is the only styleLucas Galante
2026-09-08feat(checkbox): a round style — the ring-and-dot mark cce-list drew by handLucas Galante
2026-09-06Rename the internal backplate vocabulary to root plate (cce-ui RFC 7a-4)Lucas Galante
2026-09-06Remove the backplate read-aliases and deprecated backplate_* getters (7a-3)Lucas Galante
2026-09-06feat(params): widen the row pitch from 8 to 14pxLucas Galante
2026-09-06feat(relief): flush trough for the slide toggle glider and the params-pane dropdownLucas Galante
2026-09-05feat(float3): three standard Slider rows instead of the bespoke flat trackLucas Galante
2026-09-05feat(paint): per-plate corner exponent — `plate_shaped` draws a true circleLucas Galante
2026-09-04fix(shader): keep a focused plate's accent ring off its carved wellsLucas Galante
2026-09-04fix(runner): tick the widget roster once per frame, not twiceLucas Galante
2026-09-03feat(scroll): smooth scrolling — shared ScrollMotion behind every scrolling widgetLucas Galante
2026-09-03fix(config): keep string-list nodes as lists across the JSON round tripLucas Galante
2026-09-03fix(tessellate): floor the plate/bevel corner cap at zeroLucas Galante
2026-09-03config: get_app_name strips the kernel's " (deleted)" markerLucas Galante
2026-09-03feat: undo/redo — History<T>, runner routing, TextBox edit historyLucas Galante
2026-09-03shader2d: the tinted focus ring ends at its silhouetteLucas Galante
2026-09-03render_widget: replay the paint walk in the widget's own orderLucas Galante
2026-09-03dropdown: opt-in menu that replaces the triggerLucas Galante
2026-09-03text_box: clamp click-to-index to the real text, not the shaped placeholderLucas Galante
2026-09-02treelist: drop the hardcoded header background fillLucas Galante
2026-09-02treelist: paint container border as a true ring, not fill-plus-coverLucas Galante
2026-09-01backend: gate near_roll_fallback_tests on debug_assertions tooLucas Galante
2026-09-01spreadsheet: negate wheel deltas to the ScrollRegion sign conventionLucas Galante
2026-09-01text: multiline TextBox reads shaped per-line offsets; normalize Basic-shaping startsLucas Galante
2026-09-01text: the runner shapes every registered widget, so carets stop drifting per-pathLucas Galante
2026-09-01scroll-region: self-contained sink-behind layering + notify_scrolledLucas Galante
2026-09-01scroll-region: shared raise/sink scrollbar activity + edge insetLucas Galante
2026-09-01feat: context menus support separator rowsLucas Galante
2026-09-01docs: record the scroll-virtualization sweep rationale in the RFCLucas Galante
2026-09-01scroll-region: max_scroll/max_scroll_x are pubLucas Galante
2026-09-01feat: shared ScrollRegion + intersection virtualization contractLucas Galante
2026-08-31fix: the breadcrumb hover wash fills the segment's silhouetteLucas Galante
2026-08-30chore: example that fires the near-roll fallback warningLucas Galante
2026-08-30feat: debug builds warn when a near-roll carve loses groupingLucas Galante
2026-08-30docs: record the carve-grouping rationale in the RFCLucas Galante
2026-08-30fix(frost): snapshot for every fill prim, and a blur you can seeLucas Galante
2026-08-30feat: frosted menus — dropdowns and menubar popovers blur what they coverLucas Galante
2026-08-30feat(engine): report in-surface popover rects to the compositorLucas Galante
2026-08-30fix: a pressed choice row claims the params focus like every other rowLucas Galante
2026-08-30feat: dropping a node on a wire splices it inLucas Galante
2026-08-29fix: ASCII text in a monospaced face shapes Basic — no ligaturesLucas Galante
2026-08-29feat: the shared context menu paints itself as a lit plateLucas Galante
2026-08-29fix: a closed dropdown takes Enter only when it is focusedLucas Galante
2026-08-28fix: the well's bevel is the far side of nested-control seamsLucas Galante
2026-08-28feat: the spinbox speaks the DE relief languageLucas Galante
2026-08-28fix: the textpick picker fills its well to the seamLucas Galante
2026-08-28fix: the textpick picker is a flush inset control, not a raised islandLucas Galante
2026-08-28fix: the breadcrumb claims its plate, not the column beneath itLucas Galante
2026-08-28feat: parameter rows breathe on an 8px pitchLucas Galante
2026-08-28feat: the raised breadcrumb face is frosted glassLucas Galante
2026-08-28feat: the breadcrumb run takes a raised stanceLucas Galante
2026-08-28feat: Prim::DropletScrim — the droplet silhouette, filled flat and featheredLucas Galante
2026-08-27icons: default to ~/projects/cce, the workspace's new homeLucas Galante
2026-08-27feat: fill-less roll overlay — negative Plate depth (MODE_ROLL)Lucas Galante
2026-08-27style: the breadcrumb's face follows the dropdown's fill knobLucas Galante
2026-08-27graph: cell_corner_radius is pure geometry — no display gatingLucas Galante
2026-08-27glow: superellipse corners — one corner family with cells and platesLucas Galante
2026-08-27plates: a fill-less tinted plate is a pure focus ringLucas Galante
2026-08-27carves: the focus glint uses the plate's monotonic roll profileLucas Galante
2026-08-27carves: a tinted carve renders the wrapped glint alone — one focus languageLucas Galante
2026-08-27plates: focused = the specular line itself, tinted, wrapped all four sidesLucas Galante
2026-08-27plates: the tint wash follows the corner arcs — inset-SDF bandLucas Galante
2026-08-27plates: quieter tint wash, quadratic falloff — no sharp inner contourLucas Galante
2026-08-26plates: the tinted roll is a wash, not a painted frameLucas Galante
2026-08-26plates: an accent-tinted plate tints its WHOLE rolled edgeLucas Galante
2026-08-26paint: Prim::Glow — a per-vertex-alpha feathered auraLucas Galante
2026-08-26graph: drop_target_cell_rect — the cell an in-flight node drag lands onLucas Galante
2026-08-26feat: ButtonKind::MenuItem — a row that lets its menu own the reliefLucas Galante
2026-08-26breadcrumb: hit() claims only the segment runLucas Galante
2026-08-26spreadsheet: horizontal scrolling — columns floor at a readable widthLucas Galante
2026-08-26spreadsheet: ellipsis only when it says more than a clipped glyphLucas Galante
2026-08-26perf: only re-send an input region when it changesLucas Galante
2026-08-26spreadsheet: ellipsize what the column clamp would cutLucas Galante
2026-08-26spreadsheet: per-column text clamps; the pane is a subtree painterLucas Galante
2026-08-26Fix config test flake: serialize tests that mutate global color stateLucas Galante
2026-08-26paint: Paint::paint_ui — the ui-aware hook paint_self runs; ParametersBg completes itLucas Galante
2026-08-26feat: drag-and-drop destination support (wl_data_device)Lucas Galante
2026-08-25rfc: files' detach retired by product choice (cce-files@f2a89d5); its answers standLucas Galante
2026-08-25rfc: Phase 7 complete — CSD packaging and spec-emission questions answered by cce-files@805be06Lucas Galante
2026-08-25rfc: 7b-2's cce-cloud overlay-silhouette question closed (cce-cloud@4829451)Lucas Galante
2026-08-257b fix: plate_spec double-spanned every window cornerLucas Galante
2026-08-257c-2: draw_corner_dot earned; RFC — cce-files adopts the affordanceLucas Galante
2026-08-257c-1: widget::plate_dock — the plate-corner affordance protocolLucas Galante
2026-08-257b-2: window_silhouette_radius; RFC — nine clients migratedLucas Galante
2026-08-257b-1: PlateSpec — plates carry their role; DemoApp migratesLucas Galante
2026-08-257a-2: backplate_* wrappers deprecated — Phase 7a completeLucas Galante
2026-08-25rfc: 7a-2 caller worklist made explicitLucas Galante
2026-08-257a-1: style.surface.plate.root.* — the canonical root-plate vocabularyLucas Galante
2026-08-25rfc: Phase 7 — droplet push-constant coupling noted as an invariantLucas Galante
2026-08-25rfc: Phase 7 (PROPOSED) — plate unification, backplate becomes a roleLucas Galante
2026-08-25parameters: the textpick button is a raised island in the well's troughLucas Galante
2026-08-25dropdown: popover_anchor — the menu can hang off a larger controlLucas Galante
2026-08-25droplet: contact shadow (DropletSpec::shadow)Lucas Galante
2026-08-25droplet: continuous dome shading and a bottom-weighted rim causticLucas Galante
2026-08-25parameters: the textpick picker is a button nested in the box's recessLucas Galante
2026-08-25parameters: textpick rows — a text box with a completion pickerLucas Galante
2026-08-25fix: raise a client's fd limit so dmabuf feedback cannot exhaust itLucas Galante
2026-08-25graph: the designer's meta (per-node preferences) node has no geometry toggleLucas Galante
2026-08-25button: an icon face has a rect and an opacity a flat host can readLucas Galante
2026-08-24spreadsheet: click a column header to sort (asc → desc → natural)Lucas Galante
2026-08-24droplet: shared spec parser + silhouette resolve, refr/ghost knobsLucas Galante
2026-08-24droplet: core density (DropletSpec::core)Lucas Galante
2026-08-24droplet: superellipse silhouette curves (DropletSpec::curve)Lucas Galante
2026-08-24graph: the geometry toggle is a single-color circleLucas Galante
2026-08-24droplet: continuous bottom arc (DropletSpec::bow)Lucas Galante
2026-08-24droplet: attach-radius taper and belly-off — the oval dewdropLucas Galante
2026-08-24color selector: no field face at all — frame over the host plateLucas Galante
2026-08-24scene: Prim::Droplet — a hanging water-drop material (shader mode 10)Lucas Galante
2026-08-24relief: the flat-path bridge carries Button and Toggle carves tooLucas Galante
2026-08-24color selector: colorless text fieldLucas Galante
2026-08-24text: flat-path widgets shape, so selection and caret stop driftingLucas Galante
2026-08-24graph: cells and cell cursors share the node corner radiusLucas Galante
2026-08-24dropdown/params: pane dropdowns animate, and releases stop leaking throughLucas Galante
2026-08-24fix: sample user images as sRGB, not UNORMLucas Galante
2026-08-24relief: the flat-path bridge carves a TextBox's well tooLucas Galante
2026-08-24graph: session nodes carry no geometry toggle, like utility nodesLucas Galante
2026-08-23graph: double-click detection survives the host's per-event node re-syncLucas Galante
2026-08-22feat: the DE's font families come from config.kdl, not fontconfigLucas Galante
2026-08-22toggle: no color of its own — the control inherits its plateLucas Galante
2026-08-22feat(config): runtime_dir() / cce_runtime_dir() XDG helpersLucas Galante
2026-08-21feat: map grid_cell_width/height config paths onto the compositor IPCLucas Galante
2026-08-21shader2d: relief band contours tightened to true parallels of the arcLucas Galante
2026-08-21config/layout: shared-only reads + window_corner_radiusLucas Galante
2026-08-21Dropdown: menu-button mode drops the selected-row markerLucas Galante
2026-08-21MenuBar: menu buttons get the dropdown-trigger trough on horizontal barsLucas Galante
2026-08-21MenuBar: context-dropdown trigger gets the DE-wide closed-dropdown troughLucas Galante
2026-08-20Dropdowns: transparent face by default, trough offered to flat hostsLucas Galante
2026-08-20UiContext::popover_owner_at — press priority for open popoversLucas Galante
2026-08-20painter: append_widget_plate_radii — caller-supplied plate corner radiiLucas Galante
2026-08-20the (ramp) config value type: RampPreview widget + cce-ramp --key editingLucas Galante
2026-08-20graph: grid cells wear the desktop grid's superellipse cornersLucas Galante
2026-08-19feat: shaped_cluster_offsets — renderer-exact text metrics for hand-rolled fieldsLucas Galante
2026-08-19fix: multiline TextBox selection/caret grid uses the shaped advance, not inked extentLucas Galante
2026-08-19style: the breadcrumb shares the dropdown's corner-radius knobLucas Galante
2026-08-19restyle: the breadcrumb is a flush inset plate, like the dropdownLucas Galante
2026-08-18cce-relief: Cancel button replaces ResetLucas Galante
2026-08-18relief_spec: the (relief) config value type + cce-relief --key editingLucas Galante
2026-08-18tessellator: anti-alias rounded-rect corner fansLucas Galante
2026-08-18runner: pin grid surfaces to buffer scale 1Lucas Galante
2026-08-18fix: a grid app keeps its current size on a you-choose configureLucas Galante
2026-08-17feat: grid-layer client support — Application::grid + grid_patch eventsLucas Galante
2026-08-17config: drop the retired desktop cell_corner_radius reload mappingLucas Galante
2026-08-17fix: predict from the knob curve only when a LUT is actually installedLucas Galante
2026-08-16feat: Application::utility() — declare a content-shaped windowLucas Galante
2026-08-16Cargo.lock: png as a direct dependencyLucas Galante
2026-08-16Add icon module: XDG icon-theme lookup + themed uploadLucas Galante
2026-08-15rename: refer to cce-mail, not cce-emailLucas Galante
2026-08-15refactor: stack cce-relief's sliders; size the window to its contentLucas Galante
2026-08-15feat: port the plate branch; predict the edge roll (partly)Lucas Galante
2026-08-15feat: cce-relief gains an edge selectorLucas Galante
2026-08-15feat: cce-relief draws the real prim under the predictionLucas Galante
2026-08-15feat: cce-relief predicts pixels — the real shading model, sharedLucas Galante
2026-08-15feat: cce-bevel becomes cce-relief, with a shape pickerLucas Galante
2026-08-15feat: Prim::Trough — one lighting pass for the flush inset seamLucas Galante
2026-08-15feat: CCE_PLATE_DEBUG also reports who closed the grouping windowLucas Galante
2026-08-14feat: CCE_PLATE_DEBUG — say which carves group and which fall backLucas Galante
2026-08-14refactor: dispatch plate modes by equality; assert the push-constant budgetLucas Galante
2026-08-14fix: Groove degrades on the legacy path; one Prim forwarding matchLucas Galante
2026-08-14docs: name the family "relief primitives", not "bevels"Lucas Galante
2026-08-14style: the segment run hugs the well's bevel on three sidesLucas Galante
2026-08-14feat: breadcrumb segments abut on a slanted seamLucas Galante
2026-08-14fix: TreeList unlinks its rename editor, which was eating row clicks forever afterLucas Galante
2026-08-14feat: UiContext::unregister_widget, so rebuilt widget Vecs can drop their old idsLucas Galante
2026-08-14fix: a click places the caret; only keyboard focus selects allLucas Galante
2026-08-14fix: identify the tracked cloud popup by exe, not by commLucas Galante
2026-08-14chore: refresh Cargo.lock against the current dependency graphLucas Galante
2026-08-13deps: depend on cosmic-text directly, dropping glyphon and wgpuLucas Galante
2026-08-13docs: point at the relocated workspace guideLucas Galante
2026-08-13build: install via ccebuild instead of hand-listing binariesLucas Galante
2026-08-13test: pin the shared glyph-shader vertex layout at compile timeLucas Galante
2026-08-13fix: describe vertex location 4 on the image pipelineLucas Galante
2026-08-13Survive compositor connection loss: reconnect instead of exitingLucas Galante
2026-08-13feat: Button takes keyboard focus — Enter/Space activation + a focus ringLucas Galante
2026-08-13docs: 6w's accounts/storage ctrl-nav NB is resolvedLucas Galante
2026-08-13docs: popover occlusion verified after the coverage-scan memoLucas Galante
2026-08-12perf: memoize is_coordinate_covered — O(n^2) hover dispatch was starving the loopLucas Galante
2026-08-12debug: trace main-loop dispatch duration under CCE_PRESENT_DEBUGLucas Galante
2026-08-12fix: 200ms vsync-paced render warm-down after activity — hover tracks the cursorLucas Galante
2026-08-12chore: CCE_PRESENT_DEBUG traces the frame-callback lifecycleLucas Galante
2026-08-12fix: InteractiveListItem hover flips report handled — repaint immediatelyLucas Galante
2026-08-11match_key_shortcut: honor the alt modifierLucas Galante
2026-08-11vk: include boundary images in the blur-behind snapshotLucas Galante
2026-08-10KeyEvent: carry the alt modifierLucas Galante
2026-08-10docs: finish the cce-system-settings -> cce-system-interface renameLucas Galante
2026-08-10fix: tree rows and chevrons are cut off by the recessed well's bevelLucas Galante
2026-08-06fix: overflow rim is right/bottom-only — trigger re-click toggles againLucas Galante
2026-08-06feat: runtime overflow margin — popovers extend past the window edgeLucas Galante
2026-08-06feat: relief scrollbar for multiline TextBox; painter sharedLucas Galante
2026-08-06feat: TreeList scrollbar in the relief bevel styleLucas Galante
2026-08-06feat: outside presses always close open popovers (engine-level)Lucas Galante
2026-08-06feat: demo + cce-bevel popovers on the direct PaintCtx pathLucas Galante
2026-08-06fix: popover coverage for the ungated TreeList pressLucas Galante
2026-08-06style: segment buttons ride inside the full-width wellLucas Galante
2026-08-06feat: breadcrumb segments are individual beveled buttonsLucas Galante
2026-08-06feat: the dropdown expands its ACTUAL button surface into the menuLucas Galante
2026-08-05feat: dropdown trigger grows into the menu as one continuous surfaceLucas Galante
2026-08-05feat: Dropdown popover expands/contracts like the status-interface menusLucas Galante
2026-08-05fix: config cache invalidates on per-app override edits tooLucas Galante
2026-08-04Wire copy button and treelist chevrons to the cce-icons setLucas Galante
2026-08-04feat: rasterize_svg — public SVG-to-RGBA helper, extracted from upload_iconLucas Galante
2026-08-04feat: cce-bevel --config <path> retargets save and seeding at any config fileLucas Galante
2026-08-04feat: BevelPreview widget + the (bevel) config type's shared machineryLucas Galante
2026-08-04fix: off-viewport windows deadlocked in the FIFO present throttleLucas Galante
2026-08-04fix: dropped resize request wedged the pending extent, freezing all presentsLucas Galante
2026-08-04fix: carve-host plates are a stack, not a single slotLucas Galante
2026-08-04fix: frame-callback starvation froze apps that went off-screenLucas Galante
2026-08-03refactor: drop the opacity dialog — the per-app config keeps the knobLucas Galante
2026-08-03feat: cce-bevel persists plate opacity to its per-app configLucas Galante
2026-08-03feat: cce-bevel transparency dialogLucas Galante
2026-08-03feat: band-style slider gets capsule endsLucas Galante
2026-08-03fix: cce-bevel opening shrink-wraps the proportional sectionLucas Galante
2026-08-03feat: numbered axes on the cce-bevel cutawayLucas Galante
2026-08-03fix: cce-bevel cutaway keeps proportional axesLucas Galante
2026-08-03feat: cce-bevel edits one profile at a time behind a selectorLucas Galante
2026-08-03feat: per-slider band-style override — cce-bevel adopts itLucas Galante
2026-08-03feat: cce-bevel shows lit cross-sections shaped by sliders, not rampsLucas Galante
2026-08-02fix: pointer Leave mid-gesture ends held drags with synthetic releasesLucas Galante
2026-08-01feat: cce-bevel — the relief-material control interfaceLucas Galante
2026-08-01feat: config-persisted relief profilesLucas Galante
2026-08-01chore: drop leftover bulge_h local in paint_bandLucas Galante
2026-08-01feat: Ramp rework — key pad, hover-scroll steering, foam-cell pegsLucas Galante
2026-08-01feat: Slider2D — a two-axis pad controlLucas Galante
2026-08-01feat: overflow-margin mode — buffer larger than the window geometryLucas Galante
2026-08-01fix: don't clear hover on pointer Leave while a button is heldLucas Galante
2026-08-01feat: feathered-edge AA for lines, arcs, and circle silhouettesLucas Galante
2026-08-01feat: label-less sections carve tabless wells under relief stylingLucas Galante
2026-08-01feat: SectionContext::well_top() — the content-box top edge for exact insetsLucas Galante
2026-07-31feat: Escape dismisses the shared context menu — toolkit-wide defaultLucas Galante
2026-07-31fix: spinbox rows in ParametersBg render their chrome againLucas Galante
2026-07-31feat: adjustable wire width; wires are LINE_LIST edge meshes (polygon-mode LINE is driver-broken)Lucas Galante
2026-07-31feat: per-slider display precision — slider:min:max:decimalsLucas Galante
2026-07-31feat: per-draw opacity on SceneDrawLucas Galante
2026-07-31feat: Application::handle_pinch — first-class trackpad pinch hookLucas Galante
2026-07-31fix: wireframe pass draws both facet sets — culling is winding-unreliable in LINE modeLucas Galante
2026-07-31feat: ColorSelector opens the picker at the control (place-next hint)Lucas Galante
2026-07-31fix: slider scroll feel — kill the quantize snap-back, calibrate trackpad rate, add scroll tracingLucas Galante
2026-07-31fix: slider wheel scrolling glides like the DE's scroll surfaces; param rows own their wheelLucas Galante
2026-07-31fix: trackpad scrolling on sliders converts pixels at 15/notch, not 120Lucas Galante
2026-07-31feat: surface window keyboard focus to apps (handle_focus_change)Lucas Galante
2026-07-31fix: present only the exact extent the logical size and scale call forLucas Galante
2026-07-30rename: launch cce-color-editor as the color picker (was cce-colors)Lucas Galante
2026-07-30fix: standalone build + green tests — complete ArcShaded, fence app_chord docLucas Galante
2026-07-30fix: don't let the resume output bounce halve windows or crash the barLucas Galante
2026-07-30refactor: drop toggle button_color/button_opacity — state colors own the slide buttonLucas Galante
2026-07-30feat: toggle button_color alpha is its opacity; state color keys win over border fallbackLucas Galante
2026-07-30feat: optional style.control.toggle.button_color — recolors only the slide buttonLucas Galante
2026-07-30fix: overlay wires pass at equal depth — the camera-facing lattice vanishedLucas Galante
2026-07-30fix: scene light is azimuthal wrap-shaded — a vertical light anchors nothingLucas Galante
2026-07-30feat: flat-shaded world lighting in the raster 3D passLucas Galante
2026-07-30fix: band slider scroll latch + wider halo + ungated pane forwardingLucas Galante
2026-07-30fix: the params pane swallows every wheel over itLucas Galante
2026-07-30fix: band slider accepts scrolls spatially — no gesture-initiator gateLucas Galante
2026-07-30feat: band slider sits in a shape-conforming recessed wellLucas Galante
2026-07-30feat: band slider wheel-capture halo conforms to the drawn shapeLucas Galante
2026-07-30refactor: relief material lives at style.surface.relief; add section depth keyLucas Galante
2026-07-30refactor: section style keys live at style.container.sectionLucas Galante
2026-07-30fix: slide toggle label is fixed left — text shows through the gliderLucas Galante
2026-07-30feat: slide toggle button is glass — translucent fill, unconditional bevelLucas Galante
2026-07-30feat: opt-in 'slide' toggle style — half-width button gliding with the stateLucas Galante
2026-07-30feat: opt-in 'band' slider style — full-range band swelling at the valueLucas Galante
2026-07-29feat: Prim::Boss carries a specular tint like RecessLucas Galante
2026-07-29feat: Spreadsheet pane wears the parameter plate's fill and bevelLucas Galante
2026-07-29feat: TextBox focus = tinted recess rim; uniform backgroundLucas Galante
2026-07-29tune: darken the focused carve's complementary shadow (0.38 -> 0.22)Lucas Galante
2026-07-29feat: complementary shadow tint on focused carves; app-drivable rim flagLucas Galante
2026-07-28style: drop the focus wash on multiline TextBoxesLucas Galante
2026-07-28feat: focus lights the TreeList recess rim instead of washing the treeLucas Galante
2026-07-28feat: relief-style sections fill their allocated rect — layout gap IS the visual gapLucas Galante
2026-07-28feat: section_relief hatch — hosts can render SectionContext frames as sunken wellsLucas Galante
2026-07-28chore: drop the CONFIGURE_NEW_SIZE debug eprintln from the configure handlerLucas Galante
2026-07-27feat: MenuBar dropdowns paint in the Dropdown widget's popover idiomLucas Galante
2026-07-27feat: per-widget TextBox line-wrap override (with_line_wrap)Lucas Galante
2026-07-27fix: multiline TextBox focus click places caret instead of select-allLucas Galante
2026-07-24feat: taller ramp rows in the params paneLucas Galante
2026-07-24feat: GraphController::node_at — topmost node under a pointLucas Galante
2026-07-24feat: param_plate_fill helper + share blur snapshot across a runLucas Galante
2026-07-24feat: live color picking — the picker streams while it stays openLucas Galante
2026-07-24feat: params plate tint is config- and runtime-settableLucas Galante
2026-07-24feat: custom edge profile — a second ramp LUT for the plate rollLucas Galante
2026-07-24feat: truncate the plate roll's descent at 0.8 of the quadrantLucas Galante
2026-07-24feat: ease the blur kernel stride back to 2.5pxLucas Galante
2026-07-24feat: stronger blur-behind — full frost, wider kernelLucas Galante
2026-07-24feat: blur-behind plates sample the real frame-so-farLucas Galante
2026-07-24feat: wider params scrollbar, inset further from the pane edgeLucas Galante
2026-07-24fix: section carve's top-right corner renders roundLucas Galante
2026-07-24feat: rounder section corners on a taller title tabLucas Galante
2026-07-23feat: axis numbers on the ramp graph's gridlinesLucas Galante
2026-07-23fix: tab's right wall ends at the fillet tangent — it ghosted through the arcLucas Galante
2026-07-23feat: concave fillets — composed carves get rounded inside cornersLucas Galante
2026-07-23fix: composed carve pieces crossfade at interior seams — walls notchedLucas Galante
2026-07-23style: wider graph-to-strip gap in the ramp; section corner radius doubledLucas Galante
2026-07-23feat: labeled sliders carve their label tab too — the section idiomLucas Galante
2026-07-23refactor: labeled dropdown's tab is a plain carve-out — the section idiomLucas Galante
2026-07-23feat: ramp graph reads as an opening cut through the plateLucas Galante
2026-07-23refactor: labeled dropdown inset rises only over the label — a text-width tabLucas Galante
2026-07-23fix: labeled inset's top slope stays inside the inset — it washed upwardLucas Galante
2026-07-23feat: labeled dropdowns expand their inset upward — label rides the slopeLucas Galante
2026-07-23feat: icon-face buttons + upload_icon; ramp delete becomes the x icon tileLucas Galante
2026-07-23feat: ramp curve draws as a vector polyline; control strip re-laidLucas Galante
2026-07-23feat: cce-ramp — a standalone popup hosting the Ramp widgetLucas Galante
2026-07-23fix: bevel-profile LUT tapers to zero at the band's ends — faces facetedLucas Galante
2026-07-23feat: ramp-defined bevel profiles — carve walls reshape from a user curveLucas Galante
2026-07-23feat: params sections pack controls on a narrow channel; tab fuses to bodyLucas Galante
2026-07-23feat: targeted CJK/emoji fallback fonts + resolvable generic familiesLucas Galante
2026-07-23fix: ListRow skips the border idiom — rows were painted the button border colorLucas Galante
2026-07-23chore: export get_text_buffer_laid_out through engineLucas Galante
2026-07-23fix: exempt ListRow buttons from the raised inset-plate reliefLucas Galante
2026-07-22feat: per-draw wire tint + depth-biased wireframe pipelineLucas Galante
2026-07-22style: steeper rocker tiltLucas Galante
2026-07-22feat: graph ports float outside their node and hover-highlight reliablyLucas Galante
2026-07-22fix: rocker faces are lit by the DE light, not a hardcoded washLucas Galante
2026-07-22style: rocker faces reflect the DE lightLucas Galante
2026-07-22fix: edge-suppressed carves never group into a plate's CSG featuresLucas Galante
2026-07-22style: rocker toggle halves are flat steps, not tilted planesLucas Galante
2026-07-22fix: section labels follow the title tab; tighter control insetLucas Galante
2026-07-22style: params pane gains real horizontal breathing roomLucas Galante
2026-07-22style: rocker toggle faces carry beveled edgesLucas Galante
2026-07-22fix: collapsed sections keep their label and match the expanded tab insetLucas Galante
2026-07-22fix: ColorSelector paints a control-height well, not its whole rectLucas Galante
2026-07-22style: section title centers within the tab carve itselfLucas Galante
2026-07-22style: section tab carve is one title-box heightLucas Galante
2026-07-22style: section recess is a text-width tab flowing into the bodyLucas Galante
2026-07-22style: section carves merge title and body into one recessLucas Galante
2026-07-22feat: CCE_FORCE_SCALE — forced-scale mode for scale-1 foreign compositorsLucas Galante
2026-07-21fix: fall back to system fonts when the bundled fonts dir yields nothingLucas Galante
2026-07-21style: rocker toggles pivot as flat angled faces, not stepped plateausLucas Galante
2026-07-21feat: rocker toggles — state half raised, other recessed, gradient goneLucas Galante
2026-07-21feat: beveled plate borders with a specular tint (focused-pane highlight)Lucas Galante
2026-07-21style: widen the params-pane section-to-section gap (2x ROW_GAP)Lucas Galante
2026-07-21feat: params-pane sections carve as inset wells under control_reliefLucas Galante
2026-07-21feat: wireframe scene pipeline (SceneDraw::wireframe)Lucas Galante
2026-07-21fix: params-pane reliefs and thumbs exclude the detached top labelLucas Galante
2026-07-21fix: serve the params sliders' fill, readout, and thumb to legacy hostsLucas Galante
2026-07-21feat: node-domain opacity for the graph (style.surface.graph.node.opacity)Lucas Galante
2026-07-21fix: span-correct concentric radii for corner_frame nestingLucas Galante
2026-07-21feat: corner_frame concentric adjustment applies to the inset reliefLucas Galante
2026-07-21style: recess the Breadcrumb, no background fillLucas Galante
2026-07-21style: tighten the inset_plate groove to a VLucas Galante
2026-07-21feat: flush inset relief for buttons and dropdownsLucas Galante
2026-07-21feat: backplate_padding + backplate_gap config keysLucas Galante
2026-07-21style: recess the TreeList like a text box wellLucas Galante
2026-07-21feat: ImageView widget over Prim::Image, demoed in the galleryLucas Galante
2026-07-21feat: fit_rect image-fitting helper (Contain with max_upscale / Stretch)Lucas Galante
2026-07-21refactor: remove PreviewState (moved into cce-files)Lucas Galante
2026-07-21fix: char-boundary-safe truncation in the preview paneLucas Galante
2026-07-20chore: drop unneeded mut on the corner-stroke closureLucas Galante
2026-07-20feat: ParametersBg reliefs view — control_relief for legacy-view hostsLucas Galante
2026-07-20fix: window-corner clip gets the curvature-matched span, like platesLucas Galante
2026-07-20fix: window-corner cut follows the squircle family too, with AA featherLucas Galante
2026-07-20fix: rounded-rect clip follows the squircle corner family, with AA featherLucas Galante
2026-07-20feat: control_relief — DE-wide default for the demo's relief stylingLucas Galante
2026-07-20feat: sphere-lit slider thumb — Prim::Sphere, shader mode 5Lucas Galante
2026-07-20fix: one shared height for the demo's control rowLucas Galante
2026-07-20feat: sunken slider track — carve a well instead of raising a ridgeLucas Galante
2026-07-20feat: soften the plate-to-bar transition wallLucas Galante
2026-07-20fix: pair set_buffer_scale with a matching-size present; exit on fatal protocol errorsLucas Galante
2026-07-20feat: per-pixel SDF-lit plate system — CSG carves, squircle corners, control reliefsLucas Galante
2026-07-19feat: light the plate face — the flat-fill-to-object fixLucas Galante
2026-07-19feat: narrow the default bevel_width from 14 to 9.3 logical pxLucas Galante
2026-07-19fix: paint bevel shading as light/shadow overlays with a curvature termLucas Galante
2026-07-18feat: shade bevels as surfaces — gradient roll-off, rims vs steps, PlateLucas Galante
2026-07-18feat: add a Recess paint primitive and a recessed MenuBarLucas Galante
2026-07-18feat: csd_resize_borders hook, off by defaultLucas Galante
2026-07-18feat: config keys for the graph grid's cell gapsLucas Galante
2026-07-18feat: draw each params section as one continuous outlineLucas Galante
2026-07-18feat: left-align button and toggle labels in the params paneLucas Galante
2026-07-18fix: make the toggle gradient fade perceptually evenLucas Galante
2026-07-18fix: even out the params pane's section gapsLucas Galante
2026-07-18feat: clicking a params section title collapses the sectionLucas Galante
2026-07-18fix: size menu-button dropdowns to their display text, not the widest optionLucas Galante
2026-07-18fix: lay text out against the extent the frame will actually render atLucas Galante
2026-07-17fix: breadcrumb segments abut as one continuous path stringLucas Galante
2026-07-17fix: measure section titles in the parsed label font, not the spec stringLucas Galante
2026-07-17fix: section title box measures the real label run so long titles fitLucas Galante
2026-07-17feat: param sections box their title and connect it to the content boxLucas Galante
2026-07-17fix: StatusBar implements Paint::text_font — the walk re-fonts prim labelsLucas Galante
2026-07-17fix: StatusBar paint prim carries the configured statusbar font familyLucas Galante
2026-07-17feat: statusbar styling moves to style.surface.statusbarLucas Galante
2026-07-17fix: TreeList add-key button width derives from label + button paddingLucas Galante
2026-07-17fix: align_text_y drops its hardcoded -2px nudge — true vertical centeringLucas Galante
2026-07-17feat: toggle state half fades in a gradient instead of a borderLucas Galante
2026-07-17feat: parameter panel bool rows are Toggles instead of CheckboxesLucas Galante
2026-07-16feat: rounded-rect clipping so plate children cut off at rounded cornersLucas Galante
2026-07-16refactor: CSD title-bar move is opt-inLucas Galante
2026-07-16feat: split the implicit CSD title-bar move into an opt-out hookLucas Galante
2026-07-16feat: param scrollbar sits an eighth of the pane width in from the rightLucas Galante
2026-07-16fix: sunk param scrollbar ignores hover; only scrolling raises itLucas Galante
2026-07-16feat: param scrollbar sinks behind the pane plate when idleLucas Galante
2026-07-16feat: tools-only MCP server module so apps expose actions to AI agentsLucas Galante
2026-07-16feat(scene): circular clips, text alpha, adaptive fans — designer migration prereqsLucas Galante
2026-07-16feat: rounded_quads getter so legacy plain-quad hosts get control backgroundsLucas Galante
2026-07-16fix: map ISO_Left_Tab to NamedKey::Tab so Shift+Tab chords reach appsLucas Galante
2026-07-16feat(input): app_chord helper for per-app binding resolutionLucas Galante
2026-07-16feat(input): pointer input settings in input.kdl with per-app scroll overridesLucas Galante
2026-07-16feat: input.kdl — domain-scoped keybindingsLucas Galante
2026-07-16feat(engine): defaulted Application hooks for renderer-owning appsLucas Galante
2026-07-15feat(treelist): clip row text at its column edgeLucas Galante
2026-07-15fix(context): self-heal a stale drag grab on the next fresh pressLucas Galante
2026-07-15fix(spinbox): -/+ clicks step visibly while in edit modeLucas Galante
2026-07-14perf: share the Vulkan instance process-wide and cache WGSL compilesLucas Galante
2026-07-14feat(vk): à-trous denoiser for the path tracerLucas Galante
2026-07-14feat(vk): tier-2 hardware ray queries + CCE_VK_DEVICE selection (phase 4)Lucas Galante
2026-07-14feat(vk): RtOffscreen — headless path-traced rendering (phase 3 seam)Lucas Galante
2026-07-14feat(vk): tier-1 compute path tracer (RT-renderer phase 2)Lucas Galante
2026-07-14fix(vk): retain staged text vertices across framesLucas Galante
2026-07-14feat: VkCore split + user images in the 2D pass (RT-renderer phase 1)Lucas Galante
2026-07-14refactor: the wgpu API surface retires — cce_ui is Vulkan-onlyLucas Galante
2026-07-14feat: raw-Vulkan (ash) backend — VkRenderer moves in, the engine runner renders on itLucas Galante
2026-07-13feat(process): CloudPopup + CloudPopupTracker — the shared cce-cloud popup patternLucas Galante
2026-07-13docs(rfc): ctrl-nav re-verified on the live session post-restart (0-diff round-trips)Lucas Galante
2026-07-13docs(rfc): ctrl-nav spot-check passed — modifier injection (cce 114ef89) + the utf8 control-transform bug it caught (ec511f4)Lucas Galante
2026-07-13fix(backend): ctrl+letter shortcuts get the keysym, not the control-transformed utf8Lucas Galante
2026-07-13docs(rfc): inert panel-move scaffolding recorded as deleted (cce-designer 00e148a)Lucas Galante
2026-07-13docs(rfc): designer HTTP menu holes fixed — menu_click validated, menu_action addedLucas Galante
2026-07-13docs(rfc): SpreadsheetResize passed — the collapsed-pane report was a misdiagnosisLucas Galante
2026-07-13docs(rfc): TI ControlPanel scrollbar thumb drag spot-check passedLucas Galante
2026-07-13docs(rfc): spot-check pending notes updated with the 2026-07-13 pass resultsLucas Galante
2026-07-13fix(backend): route pointer Enter's position to handle_pointer_moveLucas Galante
2026-07-13fix(context): multi-root press dispatch no longer wipes the armed drag targetLucas Galante
2026-07-13refactor(painter)!: the paint walk takes shared borrows — slice 5, the retype program is completeLucas Galante
2026-07-13refactor(widget)!: draggable/is_dragging leave WidgetHost — 49->47 (the CP endgame)Lucas Galante
2026-07-13docs(rfc): the designer event redesign recorded — AppDrag split, deferral closedLucas Galante
2026-07-13refactor(widget)!: as_ptr/as_ptr_mut leave WidgetHost — 50->48Lucas Galante
2026-07-13refactor(widget)!: children/parent leave WidgetHost — no trait method returns a raw pointer (52->50)Lucas Galante
2026-07-13refactor(context)!: propagate_event roots are WidgetIds — the plumbing retypeLucas Galante
2026-07-13refactor(widget): dead Control subtrait deleted (6bd value-shrink rider)Lucas Galante
2026-07-13refactor(widget)!: the value/polling block leaves WidgetHost — 59->52 (6bd)Lucas Galante
2026-07-12refactor(widget): dead widgets FontPreview / LayoutPreview / Sidebar deletedLucas Galante
2026-07-12fix(widget): ramp preset selection lands — eager child registration made coverage occlude the compositeLucas Galante
2026-07-12fix(widget): ramps complete their internal forwarding and unlink (6bd self-routing, the TreeList rule)Lucas Galante
2026-07-12fix(widget): TreeList is self-routing — its embedded children unlink from the ctx tree (the recorded 6as routing latents)Lucas Galante
2026-07-12docs(rfc): record the direct-dispatch collapse — WidgetHost 67->59Lucas Galante
2026-07-12refactor(widget)!: the direct-dispatch block collapses into handle_event (6bd)Lucas Galante
2026-07-12docs(rfc): routed-events tail complete; direct-dispatch collapse designedLucas Galante
2026-07-12fix(widget): routed drags reach the Input drag hooks — the silent-drop gapLucas Galante
2026-07-12docs(rfc): the flip is DONE — Element deleted, WidgetHost is the traitLucas Galante
2026-07-12refactor(widget)!: Element is DELETED — the trait is WidgetHost (6bd flip)Lucas Galante
2026-07-12refactor(widget)!: base() is guaranteed — the flip part 1 (6bd)Lucas Galante
2026-07-12docs(rfc): record 6bd batch 4 — tree-link methods landed pre-flip, Element 69->67Lucas Galante
2026-07-12refactor(widget)!: set_parent/add_child off Element — linking is a tree op (6bd)Lucas Galante
2026-07-12docs(rfc): parent-pointer snapshot change landed early — all five were deadLucas Galante
2026-07-12refactor(widget)!: stored parent pointers retired — the 6bd pre-flip snapshot changeLucas Galante
2026-07-12docs(rfc): record the second 6bd shrink batch — Element 73->69Lucas Galante
2026-07-12refactor(widget)!: second Element shrink batch — 4 methods off (6bd)Lucas Galante
2026-07-12docs(rfc): record the first 6bd shrink batch — Element 79->73, bridge goneLucas Galante
2026-07-12refactor(widget)!: first Element shrink batch — 6 methods off, bridge deleted (6bd)Lucas Galante
2026-07-12docs(rfc): 6bd phases 2+3 dissolve into the flip; measured WidgetHost blueprint recordedLucas Galante
2026-07-12docs(rfc): record 6bd phase 1 — ContextAction enum landedLucas Galante
2026-07-12refactor(widget)!: context-menu actions become one enum method (6bd phase 1)Lucas Galante
2026-07-12docs(rfc): the Element endgame design (6bd) — WidgetHost trait replacement, four phasesLucas Galante
2026-07-12refactor(widget): fold zero-override container hooks (6bc census round)Lucas Galante
2026-07-12docs(rfc): record 6bc slice 3 — dead container child storage deletedLucas Galante
2026-07-12refactor(widget): delete dead container child-ptr storage (Phase 6bc slice 3)Lucas Galante
2026-07-12docs(rfc): record 6bc slices 1+2 — focus, popovers, context-menu id-keyedLucas Galante
2026-07-12refactor(widget)!: popovers + context-menu target keyed by WidgetId (Phase 6bc slice 2)Lucas Galante
2026-07-12refactor(widget)!: focus stores keyed by WidgetId (Phase 6bc slice 1)Lucas Galante
2026-07-12docs(rfc): the 6bc borrowed-pointer retype design — WidgetId is the handleLucas Galante
2026-07-12docs(rfc): record 6bb part 3 — no owned type-erased widget storage remainsLucas Galante
2026-07-12docs(rfc): record 6bb part 2 — roster phase complete, no erased roster storage remainsLucas Galante
2026-07-12docs(rfc): record 6bb — designer roster concretely typedLucas Galante
2026-07-12refactor(widget)!: serialize_widgets takes dyn refs, not boxes (Phase 6bb)Lucas Galante
2026-07-12docs(rfc): record the 6ba dyn-surface census — the trait IS the machinery surfaceLucas Galante
2026-07-12docs(rfc): Phase 6az COMPLETE — Element has one production implementorLucas Galante
2026-07-12refactor(widget)!: ButtonStrip onto the narrow traits — Element has ONE implementor (Phase 6az complete)Lucas Galante
2026-07-12docs(rfc): record 6az part 6 — cce-test-interface raw-impl-freeLucas Galante
2026-07-12docs(rfc): record 6az part 5 — cce-designer raw-impl-freeLucas Galante
2026-07-12docs(rfc): record 6az parts 3+4 — cce-cloud raw-impl-freeLucas Galante
2026-07-12docs(rfc): record 6az part 2 — settings ScrollBar on the narrow traitsLucas Galante
2026-07-12docs(rfc): record Phase 6az start — app-local Element impls onto narrow traitsLucas Galante
2026-07-12docs(rfc): record 6ay part 2 — Canvas + Viewport3D app-side; ButtonStrip is the last raw implLucas Galante
2026-07-12refactor(widget)!: Canvas + Viewport3D move into cce-designer (Phase 6ay part 2)Lucas Galante
2026-07-12docs(rfc): record Phase 6ay — JsonLayoutWidget moved app-sideLucas Galante
2026-07-12refactor(widget)!: JsonLayoutWidget moves into cce-cloud; Justification stays (Phase 6ay)Lucas Galante
2026-07-12docs(rfc): record 6ax part 2 — Container deletedLucas Galante
2026-07-12refactor(widget)!: DELETE Container — both consumers dissolved (Phase 6ax part 2)Lucas Galante
2026-07-12docs(rfc): record Phase 6ax — dead raw-widget sweepLucas Galante
2026-07-12refactor(widget)!: DELETE Header, VBox, HBox, Svg — zero constructors (Phase 6ax)Lucas Galante
2026-07-12docs(rfc): record the 6aw capability-system deletionLucas Galante
2026-07-12refactor(widget)!: DELETE the as_*_controller capability system (Phase 6aw)Lucas Galante
2026-07-12docs(rfc): controller-capability decision resolved — option 2, Switcher deleted (6aw)Lucas Galante
2026-07-12refactor(widget)!: DELETE Switcher — zero constructors (Phase 6aw)Lucas Galante
2026-07-12docs(rfc): record Phase 6av — ScrollBar deleted, ScrollBox off ElementLucas Galante
2026-07-12refactor(widget)!: DELETE ScrollBar (moved into settings); ScrollBox demoted off Element (Phase 6av)Lucas Galante
2026-07-12docs(rfc): record the 6au stranded-method foldLucas Galante
2026-07-12refactor(widget): fold check_out_of_bounds + transform_event_for_child (6au follow-up)Lucas Galante
2026-07-12docs(rfc): record Phase 6au — Layer + Page deleted, Paginator pages foldedLucas Galante
2026-07-12refactor(widget)!: DELETE Layer + Page; Paginator's empty page stack folds away (Phase 6au)Lucas Galante
2026-07-12docs(rfc): record 6as gallery/type-deletion and the 6at constant-fold sweepLucas Galante
2026-07-12refactor(widget): constant-fold and delete the dead backplate/plate flags (Phase 6at)Lucas Galante
2026-07-11refactor(widget)!: DELETE Backplate, Plate, List, ControlPanel, SectionContainer(+SectionHeader) (Phase 6as)Lucas Galante
2026-07-11docs(rfc): leaf sweep complete — every widget on the narrow traitsLucas Galante
2026-07-11refactor(ramp)!: Ramp + ColorRamp onto the narrow traits — every widget is across (Phase 6as)Lucas Galante
2026-07-11refactor(color-selector): ColorSelector onto the narrow traits (Phase 6as leaf sweep)Lucas Galante
2026-07-11refactor(font-selector): FontSelector onto the narrow traits (Phase 6as leaf sweep)Lucas Galante
2026-07-11refactor(keybind): KeybindRecorder onto the narrow traits (Phase 6as leaf sweep)Lucas Galante
2026-07-11refactor(trackpad): Trackpad onto the narrow traits (Phase 6as leaf sweep)Lucas Galante
2026-07-11docs(rfc): controller-pair retirement scope corrected — live capability dispatch, needs designLucas Galante
2026-07-11docs(rfc): record TreeList across — Phase 6as; known-latent routing items notedLucas Galante
2026-07-11refactor(treelist)!: TreeList onto the narrow traits — the last widget is across (Phase 6as)Lucas Galante
2026-07-11docs(rfc): record Phase 6as teardown progress + staged TreeList conversion planLucas Galante
2026-07-11feat(model): Input hooks for the tree context-menu actions (TreeList conversion prep)Lucas Galante
2026-07-11refactor(widget): delete five call-less Element methods (Phase 6as prep)Lucas Galante
2026-07-11docs(rfc): record Phase 6ar — per-widget text getters deleted; text has one pathLucas Galante
2026-07-11refactor(widget)!: DELETE the per-widget text getters from Element (Phase 6ar)Lucas Galante
2026-07-11docs(rfc): record Phase 6aq — walk getter-use consolidated; 6ap consumer-audit correctedLucas Galante
2026-07-11refactor(scene): consolidate the walk's text-getter use to one fonted default (Phase 6aq)Lucas Galante
2026-07-11docs(rfc): record Phase 6ap — designer off the getters; all app-side getter consumers goneLucas Galante
2026-07-11docs(rfc): record Phase 6ao — hand-aggregate apps off the getters; display-manager UAF fixedLucas Galante
2026-07-11feat(painter): append_widget_text — subtree text prims for hand-aggregate hostsLucas Galante
2026-07-10docs(rfc): record Phase 6an — render_widget text off the getters via the paint walkLucas Galante
2026-07-10refactor(layout): render_widget emits text via the paint walk, not the legacy gettersLucas Galante
2026-07-10docs(rfc): record Phase 6am — dead widgets deleted; text-getter deletion gated on designer + render_widget + 4 appsLucas Galante
2026-07-10refactor(widget): delete dead SplitBox / MultiControl / KeybindsControl — no app constructs themLucas Galante
2026-07-10docs(rfc): record Phase 6al — legacy view*/text_items/text_areas deleted; single paint path is the only frameLucas Galante
2026-07-10refactor(engine): delete the legacy view*/text_items/text_areas path — display_list is the only frameLucas Galante
2026-07-10docs(rfc): record Phase 6ak — status-interface across; ALL SIX legacy-path apps done; trait deletion unblockedLucas Galante
2026-07-10feat(label): StyledLabel::into_prim + LabelPrim — emit a measured label as a display-list Text primLucas Galante
2026-07-10docs(rfc): record Phase 6aj — layout-interface across; boxed-text feature consumedLucas Galante
2026-07-10feat(scene): boxed text prims — word-wrap + h/v alignment for placed text boxesLucas Galante
2026-07-10docs(rfc): record Phase 6ai — email across (4 of 6); flip fixed invisible textLucas Galante
2026-07-10docs(rfc): record Phase 6ah — display-manager across; Dropbox-revert repo hazardLucas Galante
2026-07-10docs(rfc): record Phase 6ag — authenticator across; the flip fixed invisible textLucas Galante
2026-07-10docs(rfc): record Phase 6af — test-interface across; migration recipe for the remaining fiveLucas Galante
2026-07-10feat!: delete the global widget::popovers registry (Phase 6ae, legacy deletion part 1)Lucas Galante
2026-07-10feat: DemoApp — the demo rewritten as the reference Application (Phase 6ad)Lucas Galante
2026-07-10docs(rfc): record Phase 6ac — data-editor routed; routed-events/scene-layout item completeLucas Galante
2026-07-10docs(rfc): record Phase 6ab — text-editor on routed events + scene-solver layoutLucas Galante
2026-07-10docs(rfc): record Phase 6aa — data-editor SplitBox dissolved; TreeList deferred to Element deletionLucas Galante
2026-07-10docs(rfc): record Phase 6z — files' List dissolved; app embedded-base-freeLucas Galante
2026-07-10docs(rfc): record Phase 6y — files' SplitBoxes + pane containers dissolvedLucas Galante
2026-07-10feat(engine)!: delete the render-only xdg popup path (Phase 6x)Lucas Galante
2026-07-10docs(rfc): record Phase 6w — settings SectionContainer dissolved; app embedded-base-freeLucas Galante
2026-07-10docs(rfc): record Phase 6v — settings List/ScrollBox dissolved; inner wheel + scrollbar fixedLucas Galante
2026-07-09docs(rfc): record Phase 6u — settings Switcher+Page dissolved; System page revivedLucas Galante
2026-07-09docs(rfc): record Phase 6t — settings popovers in-frame; draws_own_popovers; popup-path endgameLucas Galante
2026-07-09feat(engine): Application::draws_own_popovers — opt out of the render-only xdg popupLucas Galante
2026-07-09docs(rfc): record Phase 6s — settings root+StatusBar dissolved; corner_frame; popup-anchor noteLucas Galante
2026-07-09feat(dropdown): app-owned corner_frame — concentric cut without a Backplate ancestorLucas Galante
2026-07-09docs(rfc): record Phase 6r — colors + files roots dissolved; tuple-order contractLucas Galante
2026-07-09docs(rfc): record Phase 6q — cce-fonts fully embedded-base-freeLucas Galante
2026-07-09docs(rfc): record Phase 6p — fonts root+Plates dissolved; app-owned dispatchLucas Galante
2026-07-09docs(rfc): record Phase 6o — cce-graph embedded-base-freeLucas Galante
2026-07-09docs(rfc): record Phase 6n — graph root dissolved; input holes; re-park ruleLucas Galante
2026-07-09fix(input): popover areas veto window drags; render-only popups take no inputLucas Galante
2026-07-09docs(rfc): record Phase 6m — root-Backplate dissolution recipe (data-editor first)Lucas Galante
2026-07-09feat(context): drag_allowed_at — window dragging for dissolved root BackplatesLucas Galante
2026-07-09docs(rfc): record Phase 6l — TextAttrs + cce-fonts flip; all ten adopters acrossLucas Galante
2026-07-09feat(scene): TextAttrs — italic/weight on display-list text primsLucas Galante
2026-07-09docs(rfc): record Phase 6k — load_system_fonts hook; fonts-flip blocker is style/weight primsLucas Galante
2026-07-09feat(engine): Application::load_system_fonts — system fonts in the render FontSystemLucas Galante
2026-07-09docs(rfc): record Phase 6j — cce-graph flip; image-quad latent loss fixedLucas Galante
2026-07-09docs(rfc): record Phase 6i — 6d trap fixed in the walk; cce-data-editor flipLucas Galante
2026-07-09feat(scene): walk text for legacy containers and subtree painters (6d trap fix)Lucas Galante
2026-07-09docs(rfc): record Phase 6h — cce-text-editor flip + Paint::text_fontLucas Galante
2026-07-09feat(scene): Paint::text_font — per-widget content font on the paint walkLucas Galante
2026-07-09docs(rfc): record Phase 6g — dl-text popover clamp + cce-system-settings flipLucas Galante
2026-07-09feat(engine): popover-occlusion clamp for display-list textLucas Galante
2026-07-09docs(rfc): record Phase 6f — cce-files flips display_list_text; app-side occlusion patternLucas Galante
2026-07-09docs(rfc): record Phase 6e — cce-colors flips display_list_text; app-side FontSystem hazardLucas Galante
2026-07-09feat(scene): paint walk carries per-widget fonts and clip rects (Phase 6d)Lucas Galante
2026-07-09feat(engine): display_list receives frame size and scale (Phase 6)Lucas Galante
2026-07-09docs(rfc): Phase 6 plan — definition of done, 6a/6b recorded, per-app orderLucas Galante
2026-07-09feat(engine): display-list text — Prim::Text carries font+bounds, backend renders it (Phase 6a)Lucas Galante
2026-07-09docs(rfc): record Phase 5t — deferred leaves migrated; Phase 5 completeLucas Galante
2026-07-09feat(widget): migrate the deferred leaves — Float3, LayoutPreview, PreviewState, StatusBar (Phase 5t)Lucas Galante
2026-07-09docs(rfc): record Phase 5s — ParametersBg migratedLucas Galante
2026-07-09feat(widget): migrate ParametersBg (Phase 5s)Lucas Galante
2026-07-09docs(rfc): record Phase 5r — Paginator migratedLucas Galante
2026-07-09feat(widget): migrate Paginator (Phase 5r)Lucas Galante
2026-07-09docs(rfc): record Phase 5q — TextBox migratedLucas Galante
2026-07-09feat(widget): migrate TextBox (Phase 5q)Lucas Galante
2026-07-08docs(rfc): record Phase 5p — Dropdown migratedLucas Galante
2026-07-08feat(widget): migrate Dropdown (Phase 5p)Lucas Galante
2026-07-08docs(rfc): designer A/B for Phase 5o verified (HTTP-API-driven, pixel-equivalent)Lucas Galante
2026-07-08docs(rfc): record Phase 5o — MenuBar migrated, Menu deletedLucas Galante
2026-07-08feat(widget): migrate MenuBar; delete dead Menu (Phase 5o)Lucas Galante
2026-07-08docs(rfc): record Phase 5n — container concern + Switcher/ContentBgLucas Galante
2026-07-08feat(widget): the container concern + first containers: Switcher, ContentBg (Phase 5n)Lucas Galante
2026-07-08docs(rfc): record Phase 5m — Graph + dual-geometry escape hatchLucas Galante
2026-07-08feat(widget): migrate Graph + the legacy dual-geometry escape hatch (Phase 5m)Lucas Galante
2026-07-08docs(rfc): record Phase 5l — Spreadsheet + tick/scroll surfaceLucas Galante
2026-07-08feat(widget): migrate Spreadsheet + the tick/scroll adapter surface (Phase 5l)Lucas Galante
2026-07-08docs(rfc): record Phase 5k — controller capabilities + Breadcrumb/NodeLucas Galante
2026-07-08feat(widget): migrate Node — Param + Geom controller capabilities (Phase 5k)Lucas Galante
2026-07-08feat(widget): migrate Breadcrumb — first controller widget (Phase 5k)Lucas Galante
2026-07-08feat(widget): controller-capability forwarding on the adapter (Phase 5k)Lucas Galante
2026-07-08feat(widget): migrate InteractiveListItem (Phase 5j)Lucas Galante
2026-07-08feat(widget): migrate InfoBox, FontPreview, Sidebar, Splitter, Panel, Spinbox (Phase 5i)Lucas Galante
2026-07-08feat(widget): migrate Slider + RangeSlider; EventCtx + drag hooks + direct-dispatch fixes (Phase 5h)Lucas Galante
2026-07-08feat(widget): migrate Label (Phase 5g)Lucas Galante
2026-07-08feat(widget): migrate Button, the widest-radius widget (Phase 5f)Lucas Galante
2026-07-08feat(widget): migrate Checkbox + Toggle, the first interactive widgets (Phase 5e)Lucas Galante
2026-07-08feat(widget): migrate Separator, StatusDot, UsageBar leaves (Phase 5d)Lucas Galante
2026-07-08feat(widget): migrate ProgressBar to the narrow traits (Phase 5c)Lucas Galante
2026-07-08feat(widget): Input concern trait + adapter event forwarding (Phase 5b)Lucas Galante
2026-07-08docs: add CLAUDE.md (crate guide for Claude Code)Lucas Galante
2026-07-08feat(widget): narrow Layout/Paint traits + Adapted bridge (Phase 5a)Lucas Galante
2026-07-07feat(scene): Animated<T> animation primitive - tween + spring + easing (Phase 4)Lucas Galante
2026-07-07feat(scene): render() always builds a DisplayList - single paint path for all apps (Phase 3)Lucas Galante
2026-07-07feat(scene): paint_root_into for composing multiple top-level widgets (Phase 3)Lucas Galante
2026-07-07feat(scene): renders_own_subtree escape hatch for legacy subtree painters (Phase 3)Lucas Galante
2026-07-07fix(scene): leaf widgets emit their own all_rounded_quads in paint_self (Phase 3)Lucas Galante
2026-07-07feat(scene): route render() through the DisplayList behind an opt-in (Phase 3 backend)Lucas Galante
2026-07-07feat(scene): border/bevel/arc prims; paint_self mirrors push_widget_vertices (Phase 3)Lucas Galante
2026-07-07feat(scene): paint walk — one traversal of the widget tree to a DisplayList (Phase 3)Lucas Galante
2026-07-07feat(scene): DisplayList + PaintCtx clip/transform stack (Phase 3 foundation)Lucas Galante
2026-07-07feat(scene): Dropdown::intrinsic_size (content-sized leaf set complete)Lucas Galante
2026-07-07feat(scene): Plate engine_layout hook for bridge-driven layout (Phase 2b)Lucas Galante
2026-07-07feat(scene): Button::intrinsic_size (content-sizing fan-out, Phase 2b)Lucas Galante
2026-07-07feat(scene): content sizing — Label::intrinsic_size + engine proof (Phase 2b)Lucas Galante
2026-07-07feat(scene): opaque-leaf boundary + parent-supplied child styles; SplitBox hooks (Phase 2b)Lucas Galante
2026-07-07feat(scene): widget<->layout-engine bridge + Element layout hooks (Phase 2b)Lucas Galante
2026-07-07feat(scene): stack + grid layout modes and flex shrinkLucas Galante
2026-07-07feat(scene): hand-rolled two-phase layout engine (Phase 2a)Lucas Galante
2026-07-07docs: RFC for the cce-ui core rebuildLucas Galante
2026-07-07feat(scene): generational node arena + arena-backed widget tree (Phase 1)Lucas Galante
2026-07-07perf: remove per-frame text-area debug logging from render()Lucas Galante
2026-07-07fix(widget): make SplitBox aggregate its children like a real containerLucas Galante
2026-07-07feat(engine): opt-in wlr-layer-shell support for ApplicationLucas Galante
2026-07-07feat(config,ipc): typed config accessors and a shared IPC socket moduleLucas Galante
2026-07-07refactor(color): use shared hex parsers in internal widgetsLucas Galante
2026-07-07feat(color): add public hex color parsers (single source of truth)Lucas Galante
2026-07-07feat(widget): add SplitBox container widgetLucas Galante
2026-07-07fix: default UI font to Berkeley Mono instead of the uninstalled "Outfit"Lucas Galante
2026-07-07feat: add create_font_system_with_system_fonts variantLucas Galante
2026-07-07feat(config): add cached_config/cached_config_content helpersLucas Galante
2026-07-07refactor: drop hardcoded /home/lsgalante HOME fallbackLucas Galante
2026-07-07feat(config): add config_home/data_home/cce_config_dir XDG helpersLucas Galante
2026-07-07refactor: resolve bundled font/icon dirs via helpers, not hardcoded pathsLucas Galante
2026-07-07refactor: resolve font dir via $CCE_FONTS_DIR / $HOME instead of hardcoded pathLucas Galante
2026-07-06style: adjust List rect to encompass the search box inside the list container background and bordersLucas Galante
2026-07-06feat: optionally integrate search box at bottom of List elementLucas Galante
2026-07-06Optimize load_recent_files by avoiding synchronous disk existance checks on UI threadLucas Galante
2026-07-06Remove superceded get_input_path function and replace calls with get_config_pathLucas Galante
2026-07-06Refactor font config getters and parsers in layout.rs to exact key matchLucas Galante
2026-07-06Populate overlay_rects in window_runner text_areas using active popovers from ui_contextLucas Galante
2026-07-06Complete config exact key matching, dynamic list row auto-scaling, and font database validator warningsLucas Galante
2026-07-06Fix list_font parsing to not be overwritten by list_font_colorLucas Galante
2026-07-06Implement widget_font for List to support style.data.list.font settingLucas Galante
2026-07-06Unify ColumnarList and List into a single List widget with dynamic columns supportLucas Galante
2026-07-06Implement ColumnarList widget and automatic scroll clipping bounds checkLucas Galante
2026-07-06Support input.touchpad.natural_scroll mapping and horizontal panning direction inversionLucas Galante
2026-07-06Round tree row and bottom separator corners at the bottom of the containerLucas Galante
2026-07-06Support style.control.button.font mapping and button layout font resolutionLucas Galante
2026-07-06Position Add Key button next to search bar with a popoverLucas Galante
2026-07-06Fix dropdown text fade-out logic so it only fades when text overflowsLucas Galante
2026-07-06Allow ButtonStrip to inherit menubar font and configure MenuBar menus to use itLucas Galante
2026-07-06Optimize KDL annotation lookup with batch APILucas Galante
2026-07-06Implement vertical scrolling, scrollbar dragging, and clipping of scrolled out elements in ParametersBgLucas Galante
2026-07-06Add bounds hit test check to Viewport3D mouse_wheelLucas Galante
2026-07-06Refactor 3D Viewport into standalone Viewport3D widgetLucas Galante
2026-07-05Expose VStack context fields and fix row layout Y trackingLucas Galante
2026-07-05Implement Font config centralization and LRU cache in cce-uiLucas Galante
2026-07-05Remove text line height scaling multiplier (set to 1.0) in cce-uiLucas Galante
2026-07-05Use dynamic control font size in Dropdown text layout calculationLucas Galante
2026-07-05Use center_text_y layout helper for dropdown text and arrow alignmentLucas Galante
2026-07-05Apply optical centering offset of -1.0px to dropdown text and arrowLucas Galante
2026-07-05Vertically center text and arrow in Dropdown using mathematical bounding box centerLucas Galante
2026-07-05Refactor and fix scale factor sidebar scaling bugLucas Galante
2026-07-05feat: add support for checkbox styling config keysLucas Galante
2026-07-05feat: add support for style.control.textbox... config styling mappingsLucas Galante
2026-07-05feat: add spinbox background_color, button_color, button_hover_color, and text_color KDL styling propertiesLucas Galante
2026-07-05feat: draw spinbox text box background and border fully underneath buttonsLucas Galante
2026-07-05fix: implement set_rect override for RangeSlider to fix negative height offset bugLucas Galante
2026-07-05feat: add rangeslider height KDL configuration supportLucas Galante
2026-07-05fix: implement toggled/untoggled split border rendering for Toggle in all_rounded_quadsLucas Galante
2026-07-05feat: add toggle background_color configuration and fix border rendering in all_rounded_quadsLucas Galante
2026-07-05feat: add progressbar height KDL configuration supportLucas Galante
2026-07-05fix: implement progressbar background and fill rendering as rounded quadsLucas Galante
2026-07-05feat: add config-backed color keys for progressbar and rangeslider controlsLucas Galante
2026-07-05fix: render every character individually in dropdown to avoid spacing mismatchesLucas Galante
2026-07-05fix: set fade alpha target to 1.0 to match opaque background overrideLucas Galante
2026-07-05fix: make dropdown background opaque to prevent subpixel anti-aliasing artifacts on transparent surfacesLucas Galante
2026-07-05clean: remove temporary test_berkeley_mono_measure unit testLucas Galante
2026-07-05fix: implement mathematical cell-width metrics for mono-spaced text fadingLucas Galante
2026-07-05fix: return the actual drawn track background color in Ramp::colorLucas Galante
2026-07-05fix: dynamically query parent widget color for exact background blendingLucas Galante
2026-07-05fix: blend transparent dropdown background with control panel color for text fade-outLucas Galante
2026-07-05fix: enforce sequential spacing constraints for all faded characters to prevent overlapsLucas Galante
2026-07-05fix: ensure faded characters do not overlap prefix string boundsLucas Galante
2026-07-05fix: skip rendering heavily faded characters to prevent dark background artifactsLucas Galante
2026-07-05fix: parse font family name to prevent proportional fallback and set fade width to 24pxLucas Galante
2026-07-05fix: change dropdown label fade-out width from 40px to 12px to preserve spacing on all readable textLucas Galante
2026-07-05fix: compute dropdown label character positions using prefix layout advance metrics to preserve spacing and kerningLucas Galante
2026-07-05feat: add character-by-character color fadeout for long dropdown labelsLucas Galante
2026-07-05feat: make vec2i configuration entries lossless in roundtripsLucas Galante
2026-07-05feat: add config.kdl keys style.control.control_panel.{color,border_color,padding,gap} for cce-uiLucas Galante
2026-07-05fix: change ControlPanel background to ramp_background_color to provide a solid dark backdrop for child controlsLucas Galante
2026-07-05fix: change ControlPanel background color to list_bg_color to enhance child control vibrancy and contrastLucas Galante
2026-07-05fix: set correct layout heights for ControlPanel widgets and add missing Enable and Bevel togglesLucas Galante
2026-07-05fix: remove duplicate background and borders from ControlPanel extra_quads to prevent opacity overlap on childrenLucas Galante
2026-07-05feat: position labels manually and make dropdowns/slider label-less for full blue background fillLucas Galante
2026-07-05feat: render Ramp container background/border as rounded quads to prevent clipping childrenLucas Galante
2026-07-05feat: adjust Ramp dropdown layout heights to 40.0 for proper border renderingLucas Galante
2026-07-05feat: scale Ramp graph height dynamically based on widget heightLucas Galante
2026-07-05feat: enclose dropdown controls inside Ramp element container border and make them width-responsiveLucas Galante
2026-07-05feat: implement preferred_height for Ramp widget to allocate space for dropdownsLucas Galante
2026-07-05feat: constrain dropdown popovers within Ramp parent element bordersLucas Galante
2026-07-05Implement ReverseMosaicLayout with proportional scalingLucas Galante
2026-07-05Implement MosaicLayout using dynamic 2D Guillotine Bin PackingLucas Galante
2026-07-05Merge PageLayout and ContainerLayout traits, unify Page widget layoutLucas Galante
2026-07-05Refactor layouts to use localized state instead of global thread-local staticsLucas Galante
2026-07-05Refactor run to instantiate App after first roundtrip so correct scale factor is set during new()Lucas Galante
2026-07-05Support right-aligned titles in MenuBar and resolve rounded corners overlapping bugsLucas Galante
2026-07-05Introduce delegate_wl_callback macro helper to streamline frame callback throttling in custom window event loopsLucas Galante
2026-07-05Implement configuration support and unit tests for column_gapLucas Galante
2026-07-05Adjust ColumnLayout to dynamically factor in widget label_offset when advancing heightLucas Galante
2026-07-05Support row-based side-by-side control groups in ColumnLayout and refactor ControlPanel to use H-rowsLucas Galante
2026-07-05Refactor ControlPanel layout to use ColumnLayout and fix status bar font parsing and text alignmentLucas Galante
2026-07-04Support layout positioning for Bevel Depth spinbox inside ControlPanel containerLucas Galante
2026-07-04Support window_manager.bevel_depth configuration key and dynamically evaluate bevel depth in push_plate_bevel_verticesLucas Galante
2026-07-04Shrink backplate background bounding box by bevel thickness when bevel is enabled to avoid overlapping seamsLucas Galante
2026-07-04Prioritize bevel rendering over solid border in push_widget_vertices to avoid rendering overlapping flat bordersLucas Galante
2026-07-04Update plate bevel rendering to shade the plate's base color directly and retain its alphaLucas Galante
2026-07-04Integrate bevel rendering capability natively into Backplate container widgetLucas Galante
2026-07-04Add Line Type dropdown (Linear/Bezier) to Ramp element with cubic Hermite spline interpolationLucas Galante
2026-07-04Support window_manager.light_source_position configuration and evaluate dynamic bevel shading in push_plate_bevel_verticesLucas Galante
2026-07-04Implement half-borders for Toggle widget and support style.control.toggle.border_color in KDLLucas Galante
2026-07-04Exclude rounded child background from flat quads in ControlPanel::extra_quadsLucas Galante
2026-07-04Implement rounded corners and child solid borders in ControlPanelLucas Galante
2026-07-04Fix ScrollBox mouse input consuming and clean up loggingLucas Galante
2026-07-04Implement full draggable/popover coordinate translation delegation on ControlPanelLucas Galante
2026-07-04Implement ScrollBox delegation and spacing updates for ControlPanelLucas Galante
2026-07-04Create and register ControlPanel container widget class in cce-uiLucas Galante
2026-07-04Increase float Ramp curve resolution to 600 slices for smooth visual line renderingLucas Galante
2026-07-04Implement custom hit_test for Ramp element to correctly capture clicks inside child dropdown popover regionLucas Galante
2026-07-04Configure preset dropdown in float Ramp to expand downward by defaultLucas Galante
2026-07-04Enable preset dropdown in float Ramp to always open upwardLucas Galante
2026-07-04Add preset dropdown with selectable ramp presets (Linear, Bevel Raised/Sunken, Peak, Valley) to the float Ramp controlLucas Galante
2026-07-04Implement change tracking and tick methods for ColorRamp and Ramp elementsLucas Galante
2026-07-04Draw border around ramp elements and enclose all controls inside themLucas Galante
2026-07-04Implement set_rect for ProgressBar to account for label offsetLucas Galante
2026-07-04Implement set_rect for Dropdown to account for label offsetLucas Galante
2026-07-04Rename color ramp to ColorRamp and implement Houdini-style float RampLucas Galante
2026-07-04Implement new Houdini-style Ramp control element and styling keysLucas Galante
2026-07-04Add open_upward layout direction setting to Dropdown widgetLucas Galante
2026-07-04Implement set_rect override for Slider to isolate label heightLucas Galante
2026-07-04Add support for button_height configurationLucas Galante
2026-07-04Implement dropdown upward opening, dynamic sizing, and section container fixesLucas Galante
2026-07-04Fix: respect widget visibility in Element::all_rounded_quads default implementationLucas Galante
2026-07-04Support configurable plate blur setting in config.kdl, defaulting to falseLucas Galante
2026-07-04Support configurable plate color and border styles in config.kdlLucas Galante
2026-07-04fix: round bottom corners of Graph widget extra quads to preserve window corner roundingLucas Galante
2026-07-04feat: support textbox background and background_edit color configuration keysLucas Galante
2026-07-04Support output display brightness settings type annotations and testsLucas Galante
2026-07-03test: add regression test for section collapsing under query filtersLucas Galante
2026-07-03Fix keybind detection and type annotation reading for the delete keyLucas Galante
2026-07-03feat: expose graph_node_delete style mapping and keybind tag supportLucas Galante
2026-07-03feat: implement grid_snap_enabled getter for graph image snappingLucas Galante
2026-07-03fix: implement rect bounds method on Graph Element to fix pixel clippingLucas Galante
2026-07-03fix: draw rounded_quads before quads to prevent background overlaying foreground elementsLucas Galante
2026-07-03feat: implement native Wayland touchpad pinch gestures using zwp_pointer_gestures_v1Lucas Galante
2026-07-03fix: sync modifier key states in update_modifiers and mouse_wheel eventsLucas Galante
2026-07-03Fix text invisibility in cce-files by defaulting to system monospace font when generic sans-serif query fails to matchLucas Galante
2026-07-03feat: support style.data.list.font_color in configuration and widgetsLucas Galante
2026-07-03Fix render_widget to draw all_rounded_quads and fix unquoted KDL section identifiersLucas Galante
2026-07-03Add right-click Copy Path context menu to Breadcrumb widgetLucas Galante
2026-07-03feat: add support for Ctrl-scroll pinch zoom on Graph canvasLucas Galante
2026-07-03Support collapsing tree sections when search filters are activeLucas Galante
2026-07-03feat: implement load_recent_files and save_recent_files helpers using app recent-files.kdlLucas Galante
2026-07-03Implement recursive all_rounded_quads for Backplate to fix child selection highlightingLucas Galante
2026-07-03fix: draw Graph elements in all_rounded_quads to prevent Backplate coverageLucas Galante
2026-07-03feat: support custom fonts for Graph and Node elements in cce-uiLucas Galante
2026-07-03feat: support app-specific configuration files overrideLucas Galante
2026-07-03Optimize font loading and vertical status bar text alignment/spacingLucas Galante
2026-07-03Add vertical text formatting support using IS_VERTICAL global flagLucas Galante
2026-07-03Fix status bar modules click resize hover logicLucas Galante
2026-07-03Fix status bar modules cursor resize hover logic, add color tests, improve dropdown rendering, and treelist editingLucas Galante
2026-07-03Apply srgb_to_linear to color previews in TreeList to match widget renderingLucas Galante
2026-07-03Allow window dragging from menubar and statusbar empty background areasLucas Galante
2026-07-03Added style.data.textbox.placeholder_text_color configuration property keyLucas Galante
2026-07-03Added style.control.dropdown.color key to the dropdown domainLucas Galante
2026-07-03Added support for separators in Dropdown widgetLucas Galante
2026-07-03Added style.surface.backplate.menubar and style.surface.backplate.statusbar styling domainsLucas Galante
2026-07-03Added style.data.textbox.multiline.border_width configuration supportLucas Galante
2026-07-03Added Cear option to search TextBox context menuLucas Galante
2026-07-03Merged input.kdl path and configurations into config.kdlLucas Galante
2026-07-03Skipped flat background quads for Backplate and Plate when rounded corners are activeLucas Galante
2026-07-03Added select_and_show_key and scroll_to_selected_key support to TreeListLucas Galante
2026-07-03Called reload_config inside lazy_init_style_registry to initialize static style locks at startupLucas Galante
2026-07-03Moved style.data.textbox.line_wrap to style.data.textbox.multiline.line_wrap and restricted to multiline textboxesLucas Galante
2026-07-03Added update_on_type to TextBox to support real-time character-by-character search updates in TreeListLucas Galante
2026-07-03Implemented scroll dragging directly in on_cursor_moved of ScrollBox to support all Wayland window clientsLucas Galante
2026-07-03Added scroll changes sync to TreeList::tick to trigger text layout updates during draggingLucas Galante
2026-07-03Delegated drag lifecycle events (draggable, drag_begin, drag_update, drag_end) from TreeList to ScrollBoxLucas Galante
2026-07-03Reset scrollbar_dragging to false on mouse release or clicking away to prevent blocking tree item interactionsLucas Galante
2026-07-03Prevented hover and click events on tree rows when cursor is over or dragging the scrollbarLucas Galante
2026-07-03Implemented scrollbar click-to-jump and drag-to-scroll functionality in ScrollBoxLucas Galante
2026-07-03Extended tree row backgrounds and separator lines symmetrically to the right edge of the list containerLucas Galante
2026-07-02Finalized logical pixel offset scaling on text shaping coordinates cache inside TextBoxLucas Galante
2026-07-02Scaled cached character offsets by DPI scale_factor to convert shaper physical coordinates back to logical pixelsLucas Galante
2026-07-02Implemented prepare_text on TreeList to delegate font shaper offset calculations to the search box childLucas Galante
2026-07-02Implemented exact glyphon-shaping character offset measurement and mouse click index mapping inside TextBox, resolving all font fallback and monospace caret/selection misalignment issuesLucas Galante
2026-07-02Aligned single-line TextBox caret vertical coordinate in all_rounded_quads methodLucas Galante
2026-07-02Aligned single-line TextBox caret vertical coordinate with text y alignmentLucas Galante
2026-07-02Made TreeList container border static to prevent dynamic focus colors from tinting the semi-transparent backgroundLucas Galante
2026-07-02Added option to hide ScrollBox background and disabled it in TreeList to expose tree_background_colorLucas Galante
2026-07-02Fixed searchbox mouse click focus propagationLucas Galante
2026-07-02Added style.data.tree.open_search configuration support for tree searchbox keybindLucas Galante
2026-07-02Added focus_search method to TreeListLucas Galante
2026-07-02Add search box to TreeList in cce-uiLucas Galante
2026-07-02Migrate all input configurations and keybindings to input.kdlLucas Galante
2026-07-02Support loading and saving keybindings to keybinds.kdlLucas Galante
2026-07-02Refactor ScrollingList to List and fix window decoration blur and stylingLucas Galante
2026-07-01Add public getters for grid properties on Graph widgetLucas Galante
2026-07-01Fix popover rendering support in MenuBarLucas Galante
2026-07-01Fix KDL type annotation quoting for special chars and add desktop_grid_scale mappingLucas Galante
2026-07-01Preserve type annotations in KDL config serialization by tracking key pathLucas Galante
2026-07-01Remove flaky test_real_config_kdl from cce-ui testsLucas Galante
2026-07-01Update desktop solid color config key mapping in layout.rsLucas Galante
2026-07-01Update unit tests for type annotations and add test_real_config_kdlLucas Galante
2026-07-01Populate and display type annotations in Type columnLucas Galante
2026-07-01Fix tree header label bounds using index mappingLucas Galante
2026-07-01Add Key, Type and Value headers to TreeListLucas Galante
2026-07-01Support connector_activation_radius style configurationLucas Galante
2026-07-01Add size and color settings for node wire connectorsLucas Galante
2026-07-01Add Delete key option to TreeList context menuLucas Galante
2026-07-01Implement style.data.textbox.line_wrap configuration and horizontal scrolling supportLucas Galante
2026-07-01Fix slider mouse wheel hit test to match entire widget boundsLucas Galante
2026-07-01Fix graph node text label disappearance when partially cut off on the leftLucas Galante
2026-07-01Fix color space handling, add Oklab conversions and fix notifier/designer color mismatchesLucas Galante
2026-07-01Implement dynamic scrollbar layering (behind on idle, on top on scroll) and tree opacity/blur configurationsLucas Galante
2026-07-01Implement customizable scrollbar style configurations (width, track_color, thumb_color) under style.control.scrollbarLucas Galante
2026-07-01Completely implement and fix TreeList::all_rounded_quads body for items and separatorsLucas Galante
2026-07-01Fix text label color space conversion and correct sRGB colors in tree configurationLucas Galante
2026-07-01Fix separator, item background, and cursor visibility in rounded tree/spinbox elementsLucas Galante
2026-07-01Expose and support all color styling keys in style.data.tree domainLucas Galante
2026-07-01Fix tree container and spinbox corner radius config pick-up and stylingLucas Galante
2026-07-01Implement StyleRegistry, CornerRadii struct, and standardized rounded border rendering across all widgetsLucas Galante
2026-07-01Use engine-rendered rounded backgrounds and solid borders for ScrollingList and TreeList to correctly apply corner_radius configuration keyLucas Galante
2026-07-01Add right-click context menu with expand/collapse options to domain headers in TreeListLucas Galante
2026-07-01Add style.data namespace support and tree.corner_radius config keyLucas Galante
2026-07-01Support nested key_bindings inside input node in config.kdlLucas Galante
2026-07-01Map built-in keybindings to cce control spawn commands in UILucas Galante
2026-07-01Implement hierarchical keybindings and dynamic TextBox text measurementLucas Galante
2026-07-01Remove JSON config fallback support and write keybindings as KDLLucas Galante
2026-07-01Support dynamic update of style font inside TextBoxLucas Galante
2026-07-01Rename style.surfaces keys to style.surfaceLucas Galante
2026-07-01Fix selection highlight layout order overlap with rounded cornersLucas Galante
2026-07-01Add vertical scrolling and mouse wheel support to TextBoxLucas Galante
2026-07-01Implement right-click context menu with key path label, Copy Key, and Copy Value on TreeList rowsLucas Galante
2026-07-01Support custom display text and trigger always-on-click for Dropdown as a menu buttonLucas Galante
2026-06-30Fix Backplate corner rounding under negative alpha/blur and prevent duplicate square background quad drawingLucas Galante
2026-06-30Implement dynamic rounded corners for MenuBar and StatusBar widgetsLucas Galante
2026-06-29Support style.surfaces.backplate.color, blur, and corner_radius configuration propertiesLucas Galante
2026-06-29Fix panic during popup layout by safely checking popover_rect return optionLucas Galante
2026-06-29Implement Z-index sorting in propagate_event_impl and registry query fallback in is_coordinate_coveredLucas Galante
2026-06-29Register popovers in thread-local ACTIVE_POPOVERS to allow Wayland popup subsurface creationLucas Galante
2026-06-29Add get_kdl_type_annotation helper and update_kdl_in_memory type-preservationLucas Galante
2026-06-29Add unit test for spinbox click event handlingLucas Galante
2026-06-29Add unit test for spinbox_button_padding config parsingLucas Galante
2026-06-29Add support for style.spinbox.button_paddingLucas Galante
2026-06-29Rearrange spinbox button layout to put minus and plus on the rightLucas Galante
2026-06-29clean: remove style.background.color and legacy TOML-related migration logicLucas Galante
2026-06-29Rename desktop.background to desktop.background_colorLucas Galante
2026-06-29Implement text fade-out and bounds clipping for long values in FontSelectorLucas Galante
2026-06-29Remove temporary test_kdl_syntax testLucas Galante
2026-06-29Pass alpha flag to cce-colors when running with alpha, and set just_changed inside tickLucas Galante
2026-06-29Support KDL color type mapping to rgb and rgba based on lengthLucas Galante
2026-06-29Map style.status.background_color and background_blur, and remove box_opacity mappingLucas Galante
2026-06-29Remove style.border domain layout variables and mapping mechanismsLucas Galante
2026-06-29Remove fourth column separator and position unselected color preview inside the third columnLucas Galante
2026-06-29Introduce (font) type signature in TreeList labels for font propertiesLucas Galante
2026-06-29Add vertical column dividers and unselected color leaf preview to TreeListLucas Galante
2026-06-29Fix tree widget click event interaction by explicitly implementing blocks_backplate_drag on TreeList and ScrollBoxLucas Galante
2026-06-29Implement TreeList widget and display key type signaturesLucas Galante
2026-06-29Refactor path parsing to Option C config structure and add focus-on-right-click support for TextBoxLucas Galante
2026-06-29Group configuration styling properties into nested nodes (Option C)Lucas Galante
2026-06-29Transition from JSON to KDL format configurationLucas Galante
2026-06-29Support drawing TextBox selection highlights when not actively editingLucas Galante
2026-06-29Add standardized XDG portal file dialog module using rfdLucas Galante
2026-06-29Fix titlebar drag check to exclude clicks on active widgetsLucas Galante
2026-06-29Support XDG Base Directory specification for config pathsLucas Galante
2026-06-28Update default color interface command name to cce-colorsLucas Galante
2026-06-28Update app_id check for renamed cce-statusLucas Galante
2026-06-28Update layout section padding to be uniform and align button/keybinds widgetsLucas Galante
2026-06-28Do not clear tick_receivers in clear_hierarchy to preserve dynamic widget behaviors on layout rebuildLucas Galante
2026-06-28Add last_font tracking to ButtonStrip to trigger SVG label regeneration on font changesLucas Galante
2026-06-28Always return background color quad in Backplate/Plate all_quadsLucas Galante
2026-06-28Restore default all_quads and implement background quad filtering for rounded children in container all_quadsLucas Galante
2026-06-28Implement range() on Spinbox and override layout_ignore to return trueLucas Galante
2026-06-28Implement all_rounded_quads recursively and skip flat background quads for rounded widgetsLucas Galante
2026-06-28Implement layout_ignore for interactive controls to prevent Plate concentric ring layout overridesLucas Galante
2026-06-28Configure FontSelector to spawn cce-fonts asynchronously to prevent UI freezingLucas Galante
2026-06-28Support dynamic scrollinglist_justification and scrollinglist_font for ListRow buttonsLucas Galante
2026-06-28Configure Backplate to dynamically fall back to page_low_color() by defaultLucas Galante
2026-06-28Configure Backplate to dynamically retrieve corner radius from config by defaultLucas Galante
2026-06-28Add scrollinglist_font and scrollinglist_justification settings to layout configLucas Galante
2026-06-28Re-export FontSelector from container/scrolling_list moduleLucas Galante
2026-06-28style: unify Section/SectionContext side and bottom spacing to scale with section_paddingLucas Galante
2026-06-28feat: implement independent widget fonts for Button, ButtonStrip, Labels, Dropdown, TextBox, Spinbox, and SliderLucas Galante
2026-06-28Support global font_selector_font configuration and render FontSelector widgets using itLucas Galante
2026-06-28Support solid borders in render_widget to fix Toggle borders on manually laid-out pagesLucas Galante
2026-06-28Expose ParametersBg collections and scan them all in get_child_widget_for_quad to fix Toggle borders rendering in manual layoutsLucas Galante
2026-06-28Draw solid border on top of extra quads when bounds match the child widget, restoring Toggle extra_quads backgroundLucas Galante
2026-06-28Fix Toggle border rendering by removing redundant full-size extra quadLucas Galante
2026-06-28Add placeholder examples to KeybindRow text inputsLucas Galante
2026-06-28Customize Toggle widget background and border styleLucas Galante
2026-06-28Implement atomic config writes and rolling configuration backupsLucas Galante
2026-06-27Implement slider corner radius configurationLucas Galante
2026-06-27Fix Spinbox and Slider change propagation by setting just_changed = trueLucas Galante
2026-06-27feat: Route scroll navigation keys to hovered scrollable widgets if they are not focusedLucas Galante
2026-06-27fix: Map PageUp, PageDown, Home, End keysyms in wayland window runnerLucas Galante
2026-06-27feat: Add Page Up, Page Down, Home, and End keys to scrolling interfacesLucas Galante
2026-06-26fix: check surfaces window_opacity prior to legacy layout-level fallback keys in active_backplate_opacityLucas Galante
2026-06-26Fix slider scroll events not propagating change statusLucas Galante
2026-06-26fix: strip (deleted) suffix from resolved app name in MultiControl config pathLucas Galante
2026-06-26fix: enforce 5ms minimum threshold for scroll sequence updatesLucas Galante
2026-06-26feat: implement multi-control reordering, scrolled page hit-testing, and slider scroll locksLucas Galante
2026-06-26Remove nested section padding clamp of 8.0px to align nested child section borders with parent widgets under any configured paddingLucas Galante
2026-06-26Align grid-aligned widgets with sub-section borders by applying padding inset in SectionContext::widgetLucas Galante
2026-06-26Enable scrolling on RangeSlider by implementing mouse_wheelLucas Galante
2026-06-26fix: immediately retry get_current_texture on surface configure to avoid skipped frames during resizeLucas Galante
2026-06-26Re-export link_parent_child under widget namespaceLucas Galante
2026-06-26feat: render node port connectors as circles with hover highlightsLucas Galante
2026-06-26Register and link Paginator children in the layout phase to prevent hierarchy reset drag interferenceLucas Galante
2026-06-26Fix sidebar page tabs clicking by registering Paginator as Widget and implementing wants_tickLucas Galante
2026-06-26Fix backplate drag interfering with pointer events on scrolled widgets and apply UI updatesLucas Galante
2026-06-26Initialize last_col to usize::MAX and apply spacing to all columns when emptyLucas Galante
2026-06-26Fix grid layout spacing vertical alignment, scroll bar crash, and duplicate headersLucas Galante
2026-06-26Implement layout() in Switcher to propagate layout pass to active childLucas Galante
2026-06-26Revamp cce-ui event handling with decoupling, coordinate relativization, pointer grabbing, and semantic drag/hover/focus eventsLucas Galante
2026-06-26widget: introduce ContainerLayout strategies and SectionContainerLucas Galante
2026-06-25Register Paginator internal sidebar_menu and pages in widget_registry to prevent window-drag swallowing on sidebar clickLucas Galante
2026-06-25Change cursor icon to resize cursors when hovering over resize border zones of CSD windowsLucas Galante
2026-06-25Resolve window dragging issue on backplate click by introducing blocks_backplate_dragLucas Galante
2026-06-25Fix cce-ui compilation and pointer comparison warnings for scrollbarLucas Galante
2026-06-25Create ScrollBar widget and integrate automatically into Page objectsLucas Galante
2026-06-25Add nested page navigation/submenu support in JsonLayoutWidgetLucas Galante
2026-06-25Update active_backplate_opacity to read new config keys with legacy fallbackLucas Galante
2026-06-24refactor: rename Window widget to Backplate to avoid OS window naming collisionLucas Galante
2026-06-24Restrict window drag to non-interactive area and fix testLucas Galante
2026-06-24Optimize performance: cache text labels and styled labelsLucas Galante
2026-06-24refactor: modernize and systematize workspace loggingLucas Galante
2026-06-24Implement window opacity per window layout modeLucas Galante
2026-06-24fix: disable CSD drag/resize for cce-status-interfaceLucas Galante
2026-06-24perf: implement TextBufferCache and scroll event coalescing to avoid redundant font shaping and paint overheadLucas Galante
2026-06-24Fix window move and resize seat lookup fallbackLucas Galante
2026-06-24Support default draggable Window objects via ui_context providerLucas Galante
2026-06-22Implement ImagePreviewData and update PreviewState for image preview supportLucas Galante
2026-06-22Implement Wayland frame callback throttling to resolve window flickeringLucas Galante
2026-06-22Add config metadata and display file/key info in widget context menuLucas Galante
2026-06-22Move common config reading/writing logic into cce-uiLucas Galante
2026-06-22Refactor Paginator to use Page instead of PlateLucas Galante
2026-06-22fix: resolve color selector executable location dynamicallyLucas Galante
2026-06-22feat: implement CPU bounds clipping for Window descendantsLucas Galante
2026-06-22Add process::spawn_detached helper to automatically reap child processesLucas Galante
2026-06-21Implement reactive updates, event propagation, layout and clipping improvementsLucas Galante
2026-06-21Decouple measurement SVG canvas height from button size with safety buffer to prevent clippingLucas Galante
2026-06-21Implement dynamic exact-width measuring pass for vertical ButtonStrip labelsLucas Galante
2026-06-21Increase estimate_width safety scaling factor to 1.30 to completely prevent clippingLucas Galante
2026-06-21Fix button overlapping and text clipping by scaling estimate_width by 1.15Lucas Galante
2026-06-21Add vertical safety buffer to prevent clipping of rotated labels in ButtonStripLucas Galante
2026-06-21Dynamically calculate sidebar_w based on button sizes in PaginatorLucas Galante
2026-06-21Update ButtonStrip to support dynamic button padding changes and exact text sizing at 0 paddingLucas Galante
2026-06-21Use cce-ui Paginator widget instead of MenuBar vertical page switcherLucas Galante
2026-06-21Recreate Paginator widget as a simple layout switcher with vertical ButtonStripLucas Galante
2026-06-21Remove Paginator widget and tab margin spinboxesLucas Galante
2026-06-21layout: align vertical menubar y_offset and padding with button_padding configurationLucas Galante
2026-06-21layout: fix text cutoff in menubar buttons by using actual menubar font-size and button_paddingLucas Galante
2026-06-21layout: calculate menubar button sizes based on text labels instead of parent spaceLucas Galante
2026-06-21feat: support global window_corner_radius configurationLucas Galante
2026-06-21feat: add scrollinglist entry background and highlight color configurationLucas Galante
2026-06-20cce-ui: Implement PreviewState as a self-contained custom widget implementing ElementLucas Galante
2026-06-20cce-ui: Add PreviewState as a generic display state objectLucas Galante
2026-06-20feat(layout): add custom column span support in AdaptiveGridLucas Galante
2026-06-20Separate window_opacity and menubar_opacity configuration in cce-uiLucas Galante
2026-06-20fix: update spacing logic to accumulate offset instead of flattening columns heightLucas Galante
2026-06-20style: cap parent section columns count to 2 to improve layout readabilityLucas Galante
2026-06-20feat: render nested sections side-by-side in 2+ column parents and restrict nested controls to single columnLucas Galante
2026-06-19Update AdaptiveGrid to support wide-spanning sectionsLucas Galante
2026-06-19cce-ui: Remove ccec config path and fix child widget font propagationLucas Galante
2026-06-19Implement standardized flex layouts (ColumnLayout, RowLayout) in cce-uiLucas Galante
2026-06-19Robust scrollbar thumb height calculation to prevent clamp panicsLucas Galante
2026-06-19Clean up compiler warningsLucas Galante
2026-06-19Migrate configuration from TOML to JSONLucas Galante
2026-06-19Add BREADCRUMB_FONT layout static, parsing, getter/setter, and override widget_font in BreadcrumbLucas Galante
2026-06-19Implement adaptive grid layout for SectionContextLucas Galante
2026-06-19Implement editable KeybindsControl widgetLucas Galante
2026-06-19Fix sticky menubar button highlights on window leave and mouse releaseLucas Galante
2026-06-19Use read_opacity_if_configured for sidebar_bg_colorLucas Galante
2026-06-19Fix hex color parsers to be quote-resilientLucas Galante
2026-06-19Rename clear-inspector-v1 protocol to cce-inspector-v1Lucas Galante
2026-06-18Read window color from /surfaces/window_colorLucas Galante
2026-06-18Parse window_opacity config and use it for page and sidebar backgroundsLucas Galante
2026-06-18Migrate configuration from TOML to JSONLucas Galante
2026-06-18Restrict vertical icon splitting in ButtonStrip to single-character iconsLucas Galante
2026-06-18Add page and layer background color and opacity supportLucas Galante
2026-06-18cce-ui: add support for toggle corner radius and plate opacity/corner radius layout parametersLucas Galante
2026-06-18Implement engine-level CSD window dragging and resizingLucas Galante
2026-06-18Set buffer scale directly on active popup surface to resolve 2x initial scale glitchLucas Galante
2026-06-18Round up popup dimensions to integer values to prevent Wayland buffer/scale protocol errorsLucas Galante
2026-06-18Implement JsonLayoutWidget as_ptr_mut and add null target pointer safety checks for context menusLucas Galante
2026-06-18Fix remaining missing as_ptr/as_ptr_mut widget overrides and apply strict anchor rect bounds clampingLucas Galante
2026-06-18Fix spinbox right-click crash and implement missing container pointer castsLucas Galante
2026-06-18Introduce Window container widget in cce-uiLucas Galante
2026-06-18Fix spinbox right-click crash and Wayland popup sizing bugsLucas Galante
2026-06-17Fix context menu dangling pointer crash, resolve mutability UB, and migrate application config from TOML to JSONLucas Galante
2026-06-17Support context menu in active_popup surface and completely disable main canvas overlay text clippingLucas Galante
2026-06-17Disable popover text clipping so Wayland popup naturally draws over underlying text on z axisLucas Galante
2026-06-17Allow partial text overlap with overlays by moving left boundary instead of collapsingLucas Galante
2026-06-17Close context menu on Escape key press in demoLucas Galante
2026-06-17Fix overlay text clipping to only affect overlapping Y rangesLucas Galante
2026-06-16Implement standalone widget styling support for MultiControl and add Dropdown corner radius config and spinbox controlLucas Galante
2026-06-16Add font_selector_corner_radius configuration support to layout and FontSelector widgetLucas Galante
2026-06-16Implement MultiControl widget, Popover menus, and standardize vertical text alignment across cce-uiLucas Galante
2026-06-16Fix disappearing color previews: increase extra_corners check tolerance to 1.5Lucas Galante
2026-06-16Add color_selector_corner_radius setting and implement it on ColorSelector widgetLucas Galante
2026-06-16Add textbox_corner_radius layout setting and TextBox stylingLucas Galante
2026-06-16Rename GridLayout to AdaptiveGridLucas Galante
2026-06-16Remove column layout capability from Plate and PaginatorLucas Galante
2026-06-16Implement button padding in layout and use it in ButtonStripLucas Galante
2026-06-16layout: make button size dependent on text length in ButtonStripLucas Galante
2026-06-16Optimize widget serialization and throttle inspector state updates to compositorLucas Galante
2026-06-16Refactor parameters panel layout to use native widget labels and full-width widgetsLucas Galante
2026-06-16feat: propagate selective corner rounding flags to GPU vertex generatorLucas Galante
2026-06-16Restrict rounded corner calculation to visual area (excl. label offset) and make Spinbox base background transparentLucas Galante
2026-06-16Implement rounded_corners for Spinbox widget to enable rounded corners on outer buttonsLucas Galante
2026-06-16Rearrange Spinbox layout and expose corner radius propertyLucas Galante
2026-06-15Revert window_runner text scale factor to 1.0 and implement automated TextItem::new constructorLucas Galante
2026-06-15Fix HiDPI scale rendering for text areas in window runnerLucas Galante
2026-06-15Fix text rendering over popovers by clipping normal text areas in window_runner.rsLucas Galante
2026-06-15Add popover_bg_color configuration and use it for dropdown/menu popoversLucas Galante
2026-06-15Support dynamic breadcrumb background color and render its background boxLucas Galante
2026-06-15Implement ScrollingList background color configuration and fix Makefile install target pathLucas Galante
2026-06-15Standardize vertical text alignment and center TextBox vertically with TEXT_LINE_HEIGHT_MULTIPLIERLucas Galante
2026-06-15Rename paginator_tab_label_color to menubar_tab_label_colorLucas Galante
2026-06-15Support dynamic PageLayout strategies on Page container widgetLucas Galante
2026-06-13Refactor UI layout, update widgets (button, checkbox, color_selector, dropdown, graph) and window runnerLucas Galante
2026-06-10Add gap width spinbox, layout improvements, and switcher/page/layer container widgetsLucas Galante
2026-06-09Implement ButtonStrip widget and integrate with MenuBar and PaginatorLucas Galante
2026-06-09Fix duplicate overlapping menu bar titles when hiddenLucas Galante
2026-06-09Refactor and adapt widgets to use UiContext and scale factorLucas Galante
2026-06-06Refactor widgets to Element trait, split widget.rs, and implement FontSelector (modified: src/color.rs, src/engine.rs, src/layout.rs and 8 others)Lucas Galante
2026-06-05feat: add scale module, custom vertex rendering, Column/Grid/Radial layout strategies, and Plate widgetLucas Galante
2026-06-03Update paginator rotated tab sizing and layout parametersLucas Galante
2026-06-03Make ColorSelector.editing public to allow other layout applications to query hover/focus statesLucas Galante
2026-06-03Move trackpad panning handling to Graph widgetLucas Galante
2026-06-03Remove active tab underline indicator in Paginator horizontal modeLucas Galante
2026-06-03Add horizontal top-tabs option to Paginator widgetLucas Galante
2026-06-03Implement frosted glass blur effect for Dropdown popover and include recent UI enhancementsLucas Galante
2026-06-02Update system configuration and interface modulesLucas Galante
2026-06-01Introduce strongly-typed LogicalPosition and LogicalSize to avoid scaling mismatchesLucas Galante
2026-06-01Add clear-inspector-v1 protocol and widget serialization support in clear-uiLucas Galante
2026-05-29Update system configuration and interface modulesLucas Galante
2026-05-28fix: allow special characters in TextBoxLucas Galante
2026-05-28feat: add password masking support to TextBoxLucas Galante
2026-05-28Update system configuration and interface modulesLucas Galante
2026-05-26Update system configuration and interface modulesLucas Galante
2026-05-26Update system configuration and interface modulesLucas Galante
2026-05-26feat: implement TextItem and StyledLabel with strikethrough in clear-ui libraryLucas Galante
2026-05-25Update system configuration and interface modulesLucas Galante
2026-05-25Migrate from winit to smithay-client-toolkit and calloopLucas Galante
2026-05-24Update components and system settingsLucas Galante
2026-05-23layout: add declarative row layout helper to SectionLucas Galante
2026-05-23Implement parameters row layout, hit test, and hover alignmentLucas Galante
2026-05-23Style adjustment: enhance transparency and fine-tune colorsLucas Galante
2026-05-22Implement vertical scrolling and scrolling velocity/inertia in Spreadsheet widgetLucas Galante
2026-05-22Implement scroll wheel support on sliders and demo appLucas Galante
2026-05-22Close MenuBar submenu when clicking on an already open menu headingLucas Galante
2026-05-22Support custom slider ranges and dynamic menu items updatingLucas Galante
2026-05-22Update parameter UI widgets and slider supportLucas Galante
2026-05-21Add Breadcrumb widget, Section layout helper, and unit testsLucas Galante
2026-05-20Remove taffy, add origin-relative Column layout systemLucas Galante
2026-05-19Add Toggle, Checkbox, Slider, and ProgressBar widgetsLucas Galante
2026-05-19Initial commit: clear-ui GPU-accelerated UI frameworkLucas Galante