| Date | Message | Author |
| 2026-10-09 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-09 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-09 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-09 | refactor: walk linked children by id; dialog tests insert | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | refactor(dialog): the dropdown is an Embedded child; colour stamps unboxed | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | refactor: widget slots are handles the context owns | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | refactor(render): widgets paint themselves, not through the legacy tuple views | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | refactor: WidgetHostExt; drop the plate_bevel branches | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | refactor(panes): the pane geometry is the designer's own | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | refactor(focus): drive focus through UiContext::focus_widget / unfocus_widget | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | refactor(focus): focus the dialog's dropdown through UiContext | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | fix(keyboard): keep Tab for the node palette now that the toolkit's Tab walk is on by default | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-08 | refactor: build the app with Application::create | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | refactor: hold widgets in Owned boxes (cce-ui Owned<W>) | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | refactor: register widgets by reference (UiContext::register_host) | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | perf(spreadsheet): read the colour and group columns once | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | perf(viewport): build the fill and the vector markers on every core | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | perf(replay): copy the cached simulation state once a frame | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | feat(spreadsheet): the plate is as wide as its table | Lucas Galante |
| 2026-10-07 | feat(spreadsheet): a group's column header is g:<name> | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | perf(sim): raise the checkpoint budget to 4 GB a simnet | Lucas Galante |
| 2026-10-07 | perf(wire): share a mesh's topology with its copies, and write the wire vertices in parallel | Lucas Galante |
| 2026-10-07 | fix(viewport): the background quad is a screen_space draw | Lucas Galante |
| 2026-10-07 | feat(network): do not draw the node graph's grid lines | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | refactor(layout): remove the docks | Lucas Galante |
| 2026-10-07 | perf(replay): budget checkpoints by size, and build the wire edges alone | Lucas Galante |
| 2026-10-07 | refactor(docks): remove the dock tab system | Lucas Galante |
| 2026-10-07 | refactor(network): remove the second network editor | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | perf(visualize): read columns and a group mask, no longer quadratic | Lucas Galante |
| 2026-10-07 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-07 | fix(network): a second editor hidden behind the network loads closed | Lucas Galante |
| 2026-10-07 | perf(spreadsheet): fill the table with columns of values, and write the disk cache only when a frame is solved | Lucas Galante |
| 2026-10-07 | refactor(network): the network menu has no Plate page | Lucas Galante |
| 2026-10-07 | refactor(network): take the network out of the docks | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | perf(markers): draw every marker kind as one instanced sphere | Lucas Galante |
| 2026-10-06 | refactor(network): remove the network plate; ctrl+drag box-selects | Lucas Galante |
| 2026-10-06 | feat(network): a scroll over the plateless network orbits unless it begins on a node | Lucas Galante |
| 2026-10-06 | perf(sim): play back solved frames without a step, and refill the table and markers faster | Lucas Galante |
| 2026-10-06 | feat(network): the plate is off by default, its menu a page of the viewport's | Lucas Galante |
| 2026-10-06 | feat(network): a node tint of its own, and dark names on a light one | Lucas Galante |
| 2026-10-06 | feat(playbar): show the cached and the stale frames of the simulations | Lucas Galante |
| 2026-10-06 | fix(render): a raised scrollbar no longer stacks on its idle copy | Lucas Galante |
| 2026-10-06 | feat(network): node names get a compressed floor | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat(playbar): drop the accent playhead line | Lucas Galante |
| 2026-10-06 | fix(viewport): the viewer-state line goes back up a row | Lucas Galante |
| 2026-10-06 | feat(playbar): the shelf meets the side lips in a cove | Lucas Galante |
| 2026-10-06 | feat(viewport): remove the scale readout above the playbar | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat(nodes): Diffuse and Concentrate nodes that flow a value over a surface | Lucas Galante |
| 2026-10-06 | fix(playbar): play every frame, slowing down rather than skipping | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat(playbar): the playbar is a shelf of the window's bottom edge | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat(menus): a plate's rows are a Plate page of its pane's menu | Lucas Galante |
| 2026-10-06 | feat(playbar): attach the playbar to the window's bottom edge | Lucas Galante |
| 2026-10-06 | fix(network): a dragged node always snaps to a cell it could land on | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat(params): the HUD stops above the spreadsheet and scrolls | Lucas Galante |
| 2026-10-06 | feat(visualizers): edit the attribute visualizers in the params HUD | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat(params): the plate collapses into a small circle with no rows | Lucas Galante |
| 2026-10-06 | feat(develop): Direction names the attribute points move along | Lucas Galante |
| 2026-10-06 | fix(network): a config edit to the grid spacing applies at once | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat(network): dropping a node on a node swaps their places | Lucas Galante |
| 2026-10-06 | feat(params): the params plate is back, fitted to the rows | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat(params): the params pane is a HUD on the scene, under every plate | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat(params): the params pane can drop its plate, and does by default | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat(attribute): Composite's Length is the length of Name | Lucas Galante |
| 2026-10-06 | feat(attribute): Composite writes a Result and folds Source C and D | Lucas Galante |
| 2026-10-06 | perf(scene): present the evaluated scene by reference | Lucas Galante |
| 2026-10-06 | feat(attribute): Remap's From range can come from the input | Lucas Galante |
| 2026-10-06 | perf(page): recompose a shown page only when its chain changed | Lucas Galante |
| 2026-10-06 | fix(controls): dialog query line, playbar and breadcrumb at the toolkit's heights | Lucas Galante |
| 2026-10-06 | Defer per-event title and settings work to the frame | Lucas Galante |
| 2026-10-06 | feat(dialog): a visualizer's Manual Range is one float2 row | Lucas Galante |
| 2026-10-06 | feat: a range's two ends are one float2 row | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat(scrollbars): the params pane's bar fades rather than flips | Lucas Galante |
| 2026-10-06 | fix: the Attribute node's Group row is shown only where it is read | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | feat: the spreadsheet's scrollbars sink behind its plate | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-06 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-05 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-05 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-05 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-05 | fix: the transport and the dialog's marks are cce-icons glyphs | Lucas Galante |
| 2026-10-05 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-05 | feat(osk): the command palette's query says it takes typing | Lucas Galante |
| 2026-10-05 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-05 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-05 | fix(render): show pane focus with the shader off and with the network plate off | Lucas Galante |
| 2026-10-05 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-03 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-03 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-03 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-03 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-03 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-03 | feat: a turning dialog's rows fade in with their text | Lucas Galante |
| 2026-10-03 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | feat: the dialog turns in and out of the menu it was opened from, animated | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | feat: menu rows that lead somewhere turn the menu, by a press or a side swipe | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | feat: an Environment node lights both views from one sun | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | feat: the traced viewport's backdrop is the Background Color | Lucas Galante |
| 2026-10-02 | feat: the root is the object level; geometry goes in a Geometry node | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-02 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | fix: an open dropdown in the params pane is its trigger's plate grown | Lucas Galante |
| 2026-10-01 | refactor: a parameter's name is an identifier, and the pane shows its label | Lucas Galante |
| 2026-10-01 | feat: the Attribute node's Attribute Name row is labelled Name | Lucas Galante |
| 2026-10-01 | feat: the playbar has previous and next frame buttons, which its menu can hide | Lucas Galante |
| 2026-10-01 | refactor: the generators' texture coordinates are uv, not UV | Lucas Galante |
| 2026-10-01 | refactor: the generators' normal attribute is N, not Norm | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | feat: the params pane separates groups of parameters | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | feat: the Attribute Value row's range adapts to the value | Lucas Galante |
| 2026-10-01 | feat: the Attribute node's Value is a control as wide as its target, or another attribute | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | feat: a dialog's choice rows are the params pane's dropdowns | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | feat: a dialog's choice rows are dropdowns | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | docs: cce-ui's KDL writer escapes strings now | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | feat: attribute visualizers, edited in the dialog | Lucas Galante |
| 2026-10-01 | refactor: the plate corner circles are gone; their rows are in each plate's right-click menu | Lucas Galante |
| 2026-10-01 | feat: a paste on a wire is spliced into its chain | Lucas Galante |
| 2026-10-01 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-10-01 | feat: a node added on a wire is wired into its chain | Lucas Galante |
| 2026-10-01 | feat: deleting a node joins the nodes it was wired between | Lucas Galante |
| 2026-10-01 | feat: the network menu's Add Node turns the menu into the list | Lucas Galante |
| 2026-09-30 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-30 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-30 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-30 | fix: a trackpad flick over the viewport coasts after the lift | Lucas Galante |
| 2026-09-30 | Merge branch 'claude/param-descriptions' | Lucas Galante |
| 2026-09-30 | feat: an expression wire is drawn to the node it evaluates to | Lucas Galante |
| 2026-09-30 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-30 | feat: every wire is drawn, each into its own port | Lucas Galante |
| 2026-09-30 | fix: a choice row's arrows are cce-icons chevrons, sized from its font | Lucas Galante |
| 2026-09-30 | refactor: a page has no Orientation row | Lucas Galante |
| 2026-09-30 | Merge remote-tracking branch 'origin/main' into claude/param-descriptions | Lucas Galante |
| 2026-09-30 | refactor: the Remesh subnet's switch is transfer_switch1, not result1 | Lucas Galante |
| 2026-09-30 | feat: a page's size is its Width and Height, and a preset writes them | Lucas Galante |
| 2026-09-30 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-30 | feat: node wires have a style, a Settings row; a config edit repaints | Lucas Galante |
| 2026-09-30 | Merge main into claude/param-descriptions | Lucas Galante |
| 2026-09-30 | refactor: the palette has no Camera Pivot Size row | Lucas Galante |
| 2026-09-30 | feat: the Remesh is a subnet of nodes you can dive into | Lucas Galante |
| 2026-09-30 | refactor: a camera node has no Square Aspect or Show Camera Pivot | Lucas Galante |
| 2026-09-30 | refactor: Visualize's Blend has no Mix; a save holding it loads as Set | Lucas Galante |
| 2026-09-30 | feat: a parameter's right-click menu says what the parameter does | Lucas Galante |
| 2026-09-30 | fix: MCP's enter asks is_enterable, so an empty simnet can be entered | Lucas Galante |
| 2026-09-30 | fix: the palette's sliders read the wheel as up is more, a natural finger too | Lucas Galante |
| 2026-09-30 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-30 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-30 | feat: an edit inside a simnet is in from the next frame | Lucas Galante |
| 2026-09-30 | feat: the playbar has a right-click menu | Lucas Galante |
| 2026-09-30 | fix: the transfer copy is Remesh's, not Relax's | Lucas Galante |
| 2026-09-30 | feat: Transfer carries groups, and Relax has a copy of it | Lucas Galante |
| 2026-09-29 | fix: a remesh keeps a grouped point | Lucas Galante |
| 2026-09-29 | feat: a control in the palette lifts under the pointer | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | fix: Point Marker Size reads in world units, as Group Marker Size does | Lucas Galante |
| 2026-09-29 | feat: a Group Markers dialog marks the scene's point groups | Lucas Galante |
| 2026-09-29 | fix: what is drawn over the scene is placed by the camera as it is | Lucas Galante |
| 2026-09-29 | feat: the camera pans | Lucas Galante |
| 2026-09-29 | feat: the spreadsheet shows the point groups first, as 1 and 0 | Lucas Galante |
| 2026-09-29 | perf: a remesh costs a third of what it did, and settles | Lucas Galante |
| 2026-09-29 | test: where a project's simulation spends its time | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | fix: a point number under a plate is not drawn | Lucas Galante |
| 2026-09-29 | fix: the point numbers keep their dimming across a scene rebuild | Lucas Galante |
| 2026-09-29 | fix: a node inside a simnet is read as the scene shows it | Lucas Galante |
| 2026-09-29 | fix: vk-smoke names the frame's damage | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | feat: Rename is a row of the node's menu, and a command | Lucas Galante |
| 2026-09-29 | feat: a rename is undoable | Lucas Galante |
| 2026-09-29 | feat: adding, deleting, moving and wiring nodes are undoable | Lucas Galante |
| 2026-09-29 | feat: parameter edits are undoable | Lucas Galante |
| 2026-09-29 | feat: Reset Parameters is undoable | Lucas Galante |
| 2026-09-29 | refactor: the Custom preset is retired | Lucas Galante |
| 2026-09-29 | feat: the cameras and the parameter presets are commands | Lucas Galante |
| 2026-09-29 | refactor: the menubars dispatch only what no command does | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | feat: selected spreadsheet rows are marked in the scene | Lucas Galante |
| 2026-09-29 | fix: New Project from the palette starts a project | Lucas Galante |
| 2026-09-29 | fix: the camera pivot's size leaves its line width alone | Lucas Galante |
| 2026-09-29 | feat: the Camera Pivot Size slider runs 0 to 1 | Lucas Galante |
| 2026-09-29 | feat: a Camera Pivot Size slider in the viewport menu | Lucas Galante |
| 2026-09-29 | feat: Show Camera Pivot is a row of the viewport menu | Lucas Galante |
| 2026-09-29 | refactor: Show Points is retired for Show Point Markers | Lucas Galante |
| 2026-09-29 | fix: a project loaded before the first configure opens clean | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | refactor: drop uniform_background, which the graph no longer has | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | refactor: the network lattice reads graph.grid_color, and has no cell fill | Lucas Galante |
| 2026-09-29 | feat: the Normal node writes vertex normals, cusped | Lucas Galante |
| 2026-09-29 | feat: vertex markers and vertex normals | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | docs: the traced image is unlit | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | feat: the path tracer draws the image, in the viewport and in thumbnails | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | feat: the viewport's image is mipmapped | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | Merge remote-tracking branch 'origin/main' into claude/2d-features | Lucas Galante |
| 2026-09-29 | feat: shapes and text on an image are placed by handles in the viewport | Lucas Galante |
| 2026-09-29 | feat: the viewport menu's Style and Markers are flyout submenus | Lucas Galante |
| 2026-09-29 | Merge remote-tracking branch 'origin/main' into claude/2d-features | Lucas Galante |
| 2026-09-29 | feat: 2D images stand in the viewport, sized in pixels or real units | Lucas Galante |
| 2026-09-29 | feat: primitive and vertex overlays, and the viewport menu's settings on two pages | Lucas Galante |
| 2026-09-29 | fix: point numbers and line annotations are dimmed by the fill in front of them | Lucas Galante |
| 2026-09-29 | test: the bypassed page test says how many pixels differ | Lucas Galante |
| 2026-09-29 | test: a bypassed page node passes its sheet through | Lucas Galante |
| 2026-09-29 | feat: a node can be bypassed | Lucas Galante |
| 2026-09-29 | test: the detangle node's settings tried on a project | Lucas Galante |
| 2026-09-29 | perf: detangle's Surface method finds what is near once, and on every core | Lucas Galante |
| 2026-09-29 | feat: detangle sees a fold through its own neighbourhood | Lucas Galante |
| 2026-09-29 | feat: detangle's edges meet edges | Lucas Galante |
| 2026-09-29 | feat: detangle knows a point's side inside a simnet, and can hold a step to a length | Lucas Galante |
| 2026-09-29 | feat: detangle's Surface method, and a measure of what crosses | Lucas Galante |
| 2026-09-29 | fix: the spreadsheet and the group markers follow the frame and upstream edits | Lucas Galante |
| 2026-09-29 | perf: the spreadsheet and the group markers share the sim cache | Lucas Galante |
| 2026-09-29 | perf: a simnet keeps checkpoints, and a backward scrub resumes from one | Lucas Galante |
| 2026-09-29 | perf: detangle builds its topology once, ends when nothing separates, reuses its grid | Lucas Galante |
| 2026-09-29 | feat: the pull's Strength is a slider | Lucas Galante |
| 2026-09-29 | fix: Composite broadcasts a single number across a vector | Lucas Galante |
| 2026-09-29 | feat: Per Frame — the pull's amount accounts for the substep size | Lucas Galante |
| 2026-09-29 | feat: Strength and Scale By on the Attribute node's Modify | Lucas Galante |
| 2026-09-29 | fix: a detached pane window syncs, and its trackballs follow the camera | Lucas Galante |
| 2026-09-29 | feat: the trackball follows the viewport camera | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | test: a scroll over the trackball rolls the pull node's vector | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-29 | feat: the trackball on float3 rows — on the pull node's vector by default | Lucas Galante |
| 2026-09-29 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | test: a trackpad swipe over a float3 band turns that component | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | fix: the row menu's Control is the control drawn, its Type the type that control sets | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | feat: the Attribute node's Value shows as a float3 row when its target is three wide | Lucas Galante |
| 2026-09-28 | feat: Repeat Playback setting — the playbar wraps or stops at the end | Lucas Galante |
| 2026-09-28 | fix: the simnet disk cache carries what its last substep consumed | Lucas Galante |
| 2026-09-28 | test: playback frame and last-substep anchoring | Lucas Galante |
| 2026-09-28 | fix: a simnet's interior view and pull arrows anchor at the last substep | Lucas Galante |
| 2026-09-28 | fix: playback builds the scene for the frame the playbar shows | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | test: a trackpad swipe over a spinbox row steps it | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | fix: a captured pointer hovers no pane, and the release hands it back | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | fix: the dialog's spin rows land as draw-time values too | Lucas Galante |
| 2026-09-28 | fix: dialog sliders land as draw-time values, not through the full apply | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | docs: the relief shape shows the shader key and the retired window_manager block | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | docs: the relief's flat geometry keys are retired, not aliases | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | docs: relief.depth is retired, not an alias | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | docs: the plate.bevel_width override is retired | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | docs: the pane plates' style parameters and the relief config shape | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | docs: name the relief profile keys by their wall/edge spelling | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | docs: the viewport lip and the pane plates share one roll width | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | refactor: the dialog plate is the menu plate — one config block, no override | Lucas Galante |
| 2026-09-28 | feat: the row menu reads out the parameter's raw type string | Lucas Galante |
| 2026-09-28 | feat: the row menu reads out the declared min, max and step | Lucas Galante |
| 2026-09-28 | feat: the row menu reads out the parameter's expression flag | Lucas Galante |
| 2026-09-28 | feat: the row menu reads out the parameter's name, label and condition | Lucas Galante |
| 2026-09-28 | feat: the row menu reads out the parameter's template default | Lucas Galante |
| 2026-09-28 | feat: the row menu reads out a control's range and a choice's options | Lucas Galante |
| 2026-09-28 | refactor: the row menu's Value readout uses a programmer's type names | Lucas Galante |
| 2026-09-28 | feat: a parameter's row menu reads out its control kind and its value type | Lucas Galante |
| 2026-09-28 | feat: attribute and group parameter kinds — the pane's pickers follow the kind | Lucas Galante |
| 2026-09-28 | docs: CloudPopup is gone from cce-ui | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-28 | refactor: remove the triangle soup | Lucas Galante |
| 2026-09-28 | docs: drop two stale roadmap notes (box resolver, shift+hjkl) from shapeshifter.md | Lucas Galante |
| 2026-09-27 | fix: status messages survive window events | Lucas Galante |
| 2026-09-27 | feat: get_state reports the status line | Lucas Galante |
| 2026-09-26 | feat: typed parameter values (typed values, phases 3-4) | Lucas Galante |
| 2026-09-26 | feat: parameter kinds and typed readers (typed values, phases 0-2) | Lucas Galante |
| 2026-09-26 | feat: Pull Arrow Scale lengthens the pull arrows, default 1 | Lucas Galante |
| 2026-09-26 | feat: a selected pull draws arrows of what it moves | Lucas Galante |
| 2026-09-26 | fix: plates loaded at startup fit the real window, not the placeholder | Lucas Galante |
| 2026-09-26 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-25 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-25 | fix: hide Move To Own Plate when no dock is free | Lucas Galante |
| 2026-09-25 | fix: a detached window no longer writes its layout into the sync channel | Lucas Galante |
| 2026-09-25 | fix: a detached window's autosave no longer resets the main window's view | Lucas Galante |
| 2026-09-25 | fix: a shrunk window no longer shrinks the plates for good | Lucas Galante |
| 2026-09-25 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-25 | fix: refresh Cargo.lock to the pinned git revs | Lucas Galante |
| 2026-09-25 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-25 | fix(vk-smoke): a lost surface fails the smoke test instead of panicking | Lucas Galante |
| 2026-09-25 | fix: a cursor step no longer writes one node's params into the next | Lucas Galante |
| 2026-09-25 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-25 | feat: a GPU setting picks the integrated or discrete card | Lucas Galante |
| 2026-09-25 | feat: wire opacity is a setting of its own, apart from polygon opacity | Lucas Galante |
| 2026-09-25 | test: a shortened viewport menu scrolls and picks the scrolled row | Lucas Galante |
| 2026-09-25 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-25 | fix: the scene starts at the network plate's edge | Lucas Galante |
| 2026-09-25 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-25 | fix: far-side wires no longer paint over a see-through fill | Lucas Galante |
| 2026-09-25 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-25 | refactor: remove the reference cube viewport guide | Lucas Galante |
| 2026-09-25 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-25 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-25 | fix: drop an unneeded mut on the plate corner menu's separator closure | Lucas Galante |
| 2026-09-25 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-25 | feat: a Show Grid switch in the viewport menu's Guides group | Lucas Galante |
| 2026-09-25 | feat: a Show Origin switch in a new Guides group of the viewport menu | Lucas Galante |
| 2026-09-25 | feat: the viewport menu's point overlays get a group of their own | Lucas Galante |
| 2026-09-25 | feat: a Show Point Normals switch in the viewport menu's points group | Lucas Galante |
| 2026-09-25 | feat: a Show Point Numbers switch in the viewport menu's points group | Lucas Galante |
| 2026-09-25 | feat: a Show Point Markers switch in the viewport menu's points group | Lucas Galante |
| 2026-09-25 | feat: a Show Points switch at the head of the viewport menu's points group | Lucas Galante |
| 2026-09-25 | feat: the viewport menu's display rows in three separated groups | Lucas Galante |
| 2026-09-25 | feat: a Group Marker Scale slider in the viewport menu | Lucas Galante |
| 2026-09-25 | feat: a Point Marker Size slider in the viewport menu | Lucas Galante |
| 2026-09-25 | feat: a Point Size slider in the viewport menu | Lucas Galante |
| 2026-09-25 | feat: a Wire Thickness slider in the viewport menu | Lucas Galante |
| 2026-09-25 | feat: the viewport menu's opacity is a wheel slider | Lucas Galante |
| 2026-09-25 | feat: Show Occluded — a translucent fill shows what it hides, sorted back to front | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | feat: projects save and restore their display settings | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | feat: the viewport menu sets the display mode — wireframe, flat or smooth shading, polygon opacity | Lucas Galante |
| 2026-09-24 | feat: the Alt+D dialog compresses its backdrop harder than the panes | Lucas Galante |
| 2026-09-24 | feat: Ctrl+Up rewinds the playbar to the start frame and pauses it | Lucas Galante |
| 2026-09-24 | feat: the settings are rows of the command palette, with a Group Marker Scale row | Lucas Galante |
| 2026-09-24 | fix: point markers wind outward, so the fill's back-face cull no longer hides them | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | feat: the wrangle's Code row applies on ctrl+enter, and a script error flags its line | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | feat: the Collision test runs on the GPU — the second Phase 7 step 4 operator | Lucas Galante |
| 2026-09-24 | feat: Relax's Springs mode runs on the GPU — the first Phase 7 step 4 operator | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | docs(shapeshifter): Phase 7 step 4 started — the compute-job API is in cce-ui | Lucas Galante |
| 2026-09-24 | feat: retire OpenCL and both kernel backends | Lucas Galante |
| 2026-09-24 | feat: Sphere, Box, Plane and Extrude are native nodes, not kernel subnets | Lucas Galante |
| 2026-09-24 | fix: a code parameter never becomes an expression | Lucas Galante |
| 2026-09-24 | feat: the wrangle node — a Rhai script run once per element | Lucas Galante |
| 2026-09-24 | refactor: TreeScope is public, with a constructor, for the wrangle's ch() | Lucas Galante |
| 2026-09-24 | docs(shapeshifter): Phase 7 step 2 — expr.rs stays for parameters, Rhai is the wrangle only | Lucas Galante |
| 2026-09-24 | feat: parameter expressions — ch() references by path, arithmetic, and the row menu | Lucas Galante |
| 2026-09-24 | docs(shapeshifter): Phase 7 — the scripting layer, and compute through the renderer | Lucas Galante |
| 2026-09-24 | fix: the viewport's wheel orbits the camera that is actually active | Lucas Galante |
| 2026-09-24 | fix: a merged-in parameter lands at the template's position, not the end | Lucas Galante |
| 2026-09-24 | feat: the Sphere has a Method dropdown — UV, Icosphere, Cube | Lucas Galante |
| 2026-09-24 | fix: Frame All fits the node labels, not just the bodies | Lucas Galante |
| 2026-09-23 | refactor: retire the root meta node; settings are settings, not nodes | Lucas Galante |
| 2026-09-23 | refactor: the point overlays are a view setting, not a node property | Lucas Galante |
| 2026-09-23 | fix: the OpenCL ICD was corrupting unrelated file descriptors | Lucas Galante |
| 2026-09-23 | test: refuse source that builds a path the user owns | Lucas Galante |
| 2026-09-23 | fix: the last two test temp dirs are scoped to the process | Lucas Galante |
| 2026-09-23 | fix: the grid tests run on a lattice of their own, not the machine's | Lucas Galante |
| 2026-09-23 | fix: cargo test no longer overwrites the user's own settings | Lucas Galante |
| 2026-09-23 | fix: a default project that is missing at launch is not forgotten | Lucas Galante |
| 2026-09-23 | feat: the palette heads with the open project's path | Lucas Galante |
| 2026-09-23 | feat: dragging a selected node carries the whole selection | Lucas Galante |
| 2026-09-23 | feat: an expansion drag settles onto what it caught | Lucas Galante |
| 2026-09-23 | feat: shift+hjkl extends the network selection | Lucas Galante |
| 2026-09-22 | feat: the expanded cursor selects every node inside it | Lucas Galante |
| 2026-09-22 | feat: the network grid cursor expands by dragging | Lucas Galante |
| 2026-09-22 | feat: the network editor right-clicks to a context menu | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | feat: get_state reports the network grid geometry | Lucas Galante |
| 2026-09-22 | fix: the palette's zoom band runs out to the chord column's edge | Lucas Galante |
| 2026-09-22 | fix: context menu rows resolve through the toolkit's PAD-aware row_at | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | fix: the dialog owns right presses while it is open | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | feat: the wheel turns the palette's zoom slider | Lucas Galante |
| 2026-09-22 | feat: a zoom slider row heads the Commands list while the network pane is focused | Lucas Galante |
| 2026-09-22 | feat: the node body has its own size; the grid pitch only places it | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | feat: the network grid has one size per axis, and nodes sit on its crossings | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | feat: the Embryo is a template of nodes; hull node, Scatter Surface mode, Relax Repel mode | Lucas Galante |
| 2026-09-21 | fix: a kernel's parent-parameter fallback reads the parent resolved | Lucas Galante |
| 2026-09-21 | feat: parameter references, sibling-first inputs, and a Switch node | Lucas Galante |
| 2026-09-21 | fix: dived into a simnet, visible children draw as the current step sees them | Lucas Galante |
| 2026-09-21 | feat: node names are lowercase, as Houdini's are | Lucas Galante |
| 2026-09-21 | feat: node names carry no whitespace | Lucas Galante |
| 2026-09-21 | fix: Show Cube, Show Grid, Show Origin and Circular Pane survive the next parameter edit | Lucas Galante |
| 2026-09-21 | feat: the Embryo node, ported from hou-control's developer_embryo | Lucas Galante |
| 2026-09-21 | feat: Plane gains the same Color toggle as the Sphere | Lucas Galante |
| 2026-09-21 | feat: Sphere gains a Color toggle | Lucas Galante |
| 2026-09-21 | fix: a press on the spreadsheet's column header sorts the column, not the camera | Lucas Galante |
| 2026-09-21 | feat: dialog Commands rows draw switches for toggle commands, and flip in place | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-21 | Wireframe: setting a wire colour turns single-colour mode on | Lucas Galante |
| 2026-09-21 | Scene file: the viewport settings load from the file, and the Default Camera view is saved | Lucas Galante |
| 2026-09-21 | Frame All: centre the Default Camera view on the geometry, not the origin | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-21 | Pin workspace dependencies to GitHub, the crates' origin | Lucas Galante |
| 2026-09-21 | Settings: Wireframe Single Color beside Wireframe Color | Lucas Galante |
| 2026-09-21 | Dialog list: cce-mail's scrollbar — sink-behind pills on the plate's centre line | Lucas Galante |
| 2026-09-21 | Command palette: Wireframe Color, a row that previews the colour and lands on Settings | Lucas Galante |
| 2026-09-21 | Command palette: toggle_wireframe, the Render node's Show Wireframe as a command | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Dialog: note the scroll gesture before dispatching a wheel to a pane | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Dialog: set_page re-clamps the scroll instead of snapping to the selection | Lucas Galante |
| 2026-09-20 | Sync parameters to the project only when a tick changed a value | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Dialog: the commands list scrolls in pixels through the DE scroll model | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Node bodies get their own backdrop compression (graph node_compression) | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Network pane: stop painting the graph's own background over the plate | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Network pane: the grid is flat lines again (paint_grid) | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Network pane: carve the grid relief into the plate before the wires | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | The network plate is the pane material verbatim, not scaled by the fade | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Plates, bevels and drops are emitted with a Material (cce-ui RFC material, step 2b) | Lucas Galante |
| 2026-09-20 | PlateSpec carries a Material (cce-ui RFC material, step 2a) | Lucas Galante |
| 2026-09-20 | scratch: drop two captured test-error logs | Lucas Galante |
| 2026-09-19 | Depend on cce-ui through git.lucas.co, so this crate builds alone | Lucas Galante |
| 2026-09-19 | refactor: retire the cce-cloud popups; every picker is the plate dialog | Lucas Galante |
| 2026-09-19 | feat: an Alt+D dialog that runs commands and edits the display settings | Lucas Galante |
| 2026-09-19 | test: move the CLAUDE.md size check out of src/, where it counted itself | Lucas Galante |
| 2026-09-19 | test: fail when CLAUDE.md's line-count figures drift from the source | Lucas Galante |
| 2026-09-19 | docs: app.rs is ~8k lines; install delegates to ccebuild | Lucas Galante |
| 2026-09-19 | test(geometry): a node type with no resolver cannot pass silently again | Lucas Galante |
| 2026-09-19 | feat(mold): GEM Mold Shell, thickness driven by curvature | Lucas Galante |
| 2026-09-19 | docs(page): verify the reconnect fix, and record how | Lucas Galante |
| 2026-09-19 | feat(network): Escape deselects, and the deselect sticks | Lucas Galante |
| 2026-09-19 | feat(viewport): dragging empty scene orbits the camera | Lucas Galante |
| 2026-09-19 | fix(page): drop the page image when the renderer is replaced | Lucas Galante |
| 2026-09-19 | feat(network): the overlay spans the window, and routes by what it draws | Lucas Galante |
| 2026-09-19 | feat(network): the plate is optional, so the graph can overlay the scene | Lucas Galante |
| 2026-09-19 | feat(network): auto-layout, as a layered assignment on the existing grid | Lucas Galante |
| 2026-09-19 | feat(network): keyboard graph navigation, as the plugin's own scheme | Lucas Galante |
| 2026-09-18 | feat(viewer-state): a framework, proven by a second tool that is not a curve | Lucas Galante |
| 2026-09-18 | feat(commands): one registry, so a command can be found, bound and run | Lucas Galante |
| 2026-09-18 | feat(page): a 2D page context, so the COP family has somewhere to live | Lucas Galante |
| 2026-09-18 | feat(volume): signed distance fields, so shelling and booleans are possible | Lucas Galante |
| 2026-09-18 | fix(export): borrow the target node, do not clone it | Lucas Galante |
| 2026-09-18 | feat(export): STL and OBJ, so the work can leave the app | Lucas Galante |
| 2026-09-18 | feat(phase4): a native grid, and one polygon for four create operators | Lucas Galante |
| 2026-09-18 | feat(params): rows that appear only when they apply | Lucas Galante |
| 2026-09-18 | feat(phase4): transfer, valence and deform | Lucas Galante |
| 2026-09-18 | feat(phase4): copy, soft transform, selection by attribute, and bare points | Lucas Galante |
| 2026-09-18 | feat(phase4): normal, bounds, distance, connectivity and cull | Lucas Galante |
| 2026-09-18 | feat(subdivide): four triangles where there was one | Lucas Galante |
| 2026-09-18 | feat(phase3): collision, and the spatial index three operators wanted | Lucas Galante |
| 2026-09-18 | feat(phase3): develop, an incremental remesher, and a winding fix underneath both | Lucas Galante |
| 2026-09-18 | feat(simnet): an explicit seed frame, and a disk cache that survives a restart | Lucas Galante |
| 2026-09-18 | feat(simnet): substeps, and a dt the chain can scale by | Lucas Galante |
| 2026-09-18 | feat(visualize): a simulation you can look at | Lucas Galante |
| 2026-09-18 | feat(simnet): live and derivative data, declared and enforced at the step boundary | Lucas Galante |
| 2026-09-18 | fix: context menu labels in the menu font | Lucas Galante |
| 2026-09-18 | feat(neighbour): Align and Lead steer directions; Charge is a proposal | Lucas Galante |
| 2026-09-18 | feat(attribute): the attribute vocabulary — remap, clip, normalize, composite, promote, analysis, time | Lucas Galante |
| 2026-09-18 | feat(neighbour): one node for Diffuse, Concentrate, Migrate and Bleed | Lucas Galante |
| 2026-09-18 | feat(kernel): deformers run over points and bind named attributes | Lucas Galante |
| 2026-09-18 | feat(detail): the pipeline's currency is a Detail | Lucas Galante |
| 2026-09-18 | feat(detail): the native generators build real geometry | Lucas Galante |
| 2026-09-18 | feat(detail): points, vertices, primitives and detail — the Phase 0 container | Lucas Galante |
| 2026-09-18 | docs: a proposal for porting the Shapeshifter toolsets into the designer | Lucas Galante |
| 2026-09-11 | idle_poll_interval: tick polls a channel the runner cannot see | Lucas Galante |
| 2026-09-09 | feat(viewport): a declared world unit, a scale readout, and View 1:1 | Lucas Galante |
| 2026-09-08 | feat(playbar): the timeline is a band | Lucas Galante |
| 2026-09-06 | Rename the internal backplate vocabulary to root plate (cce-ui RFC 7a-4) | Lucas Galante |
| 2026-09-06 | fix(title): a plate resize, collapse or re-dock dirties the title | Lucas Galante |
| 2026-09-06 | feat(project): save plate sizes and positions in the view state | Lucas Galante |
| 2026-09-04 | refactor(scroll): let the Graph glide and coast the pan, drop the app-side kinetic model | Lucas Galante |
| 2026-09-03 | refactor: curve viewer state undo rides the toolkit's History and routing | Lucas Galante |
| 2026-09-03 | feat: undo/redo in the curve viewer state | Lucas Galante |
| 2026-09-02 | feat: rename the Add node to Points, with a Shape dropdown | Lucas Galante |
| 2026-09-02 | feat: added nodes start with their display flag off | Lucas Galante |
| 2026-09-02 | feat: exclusive per-directory geometry visibility (display-flag semantics) | Lucas Galante |
| 2026-09-01 | feat: curve_set_points MCP action | Lucas Galante |
| 2026-09-01 | docs: the curve viewer state and the pattern it sets for future ones | Lucas Galante |
| 2026-09-01 | feat: native variable-point Curve node with a viewer state for point editing | Lucas Galante |
| 2026-09-01 | feat: Curve node — cubic Bézier strip from four control points | Lucas Galante |
| 2026-09-01 | feat: the parameters pane and spreadsheet can pin to one editor | Lucas Galante |
| 2026-09-01 | feat: the viewport can pin to one editor | Lucas Galante |
| 2026-09-01 | feat: the viewport follows the active editor's level | Lucas Galante |
| 2026-09-01 | feat: the spreadsheet follows selection in either editor | Lucas Galante |
| 2026-09-01 | feat: the parameters pane follows selection in either editor | Lucas Galante |
| 2026-09-01 | feat: tab and pane state ride save files completely | Lucas Galante |
| 2026-09-01 | fix: the fronted second network editor wears the focus ring | Lucas Galante |
| 2026-09-01 | feat: the Add Tab page carries a Back row | Lucas Galante |
| 2026-09-01 | feat: Add Tab is a page, not a row per candidate | Lucas Galante |
| 2026-09-01 | feat: the plate menu's tab section is a radio group | Lucas Galante |
| 2026-09-01 | feat: the plate corner menu groups its rows with separators | Lucas Galante |
| 2026-09-01 | feat: a second network editor, opened as a tab | Lucas Galante |
| 2026-08-31 | feat: plates support tabs, managed through the corner menus | Lucas Galante |
| 2026-08-31 | fix: context menus draw as the toolkit's frosted plate | Lucas Galante |
| 2026-08-30 | fix: Escape closes an open context menu before cancelling a connection | Lucas Galante |
| 2026-08-30 | feat: consume the graph's wire-splice drop | Lucas Galante |
| 2026-08-30 | feat: the Collision node marks contact as a group | Lucas Galante |
| 2026-08-28 | fix: the network breadcrumb floats clear of the plate's edge | Lucas Galante |
| 2026-08-28 | feat: the network breadcrumb floats in front of the plate | Lucas Galante |
| 2026-08-28 | fix: the node View toggle is project data | Lucas Galante |
| 2026-08-28 | docs: McpAction, and glyphon is not a dependency here | Lucas Galante |
| 2026-08-27 | fix: the scene viewer lip is the window-edge roll overlay | Lucas Galante |
| 2026-08-27 | fix: the scene viewer lip rolls at the window-edge width | Lucas Galante |
| 2026-08-27 | fix: the network cursor traces the DE corner shape | Lucas Galante |
| 2026-08-27 | feat: the network cursor is the focus glint | Lucas Galante |
| 2026-08-26 | refactor: the drop-target glow is one Prim::Glow | Lucas Galante |
| 2026-08-26 | feat: the drop-target glow is an animated vignette | Lucas Galante |
| 2026-08-26 | feat: uniform network background; drop-target cell glows during drags | Lucas Galante |
| 2026-08-26 | fix: a transport press while playing always pauses | Lucas Galante |
| 2026-08-26 | feat: Down arrow plays the timeline in reverse | Lucas Galante |
| 2026-08-26 | fix: the sphere template winds CCW-outward — the raster ball was inside-out | Lucas Galante |
| 2026-08-26 | feat: the graph fills the network plate; the breadcrumb floats over it | Lucas Galante |
| 2026-08-26 | docs: spreadsheet pane is a subtree painter now (cce-ui@f1cd939) | Lucas Galante |
| 2026-08-26 | refactor: the spreadsheet pane paints through its widget | Lucas Galante |
| 2026-08-26 | refactor: the params pane paints through its widget (cce-ui paint_ui) | Lucas Galante |
| 2026-08-26 | fix: the breadcrumb paints through its widget (the cce-ui restyle shows) | Lucas Galante |
| 2026-08-26 | feat: pane state persists in project saves | Lucas Galante |
| 2026-08-26 | feat: expose playbar state in MCP get_state | Lucas Galante |
| 2026-08-26 | feat: arrow-key playbar transport in every context | Lucas Galante |
| 2026-08-26 | feat: random group selection and a Relax tissue solver | Lucas Galante |
| 2026-08-26 | feat: interior display for simnets and pass-through subnets | Lucas Galante |
| 2026-08-25 | feat: viewport shows only the network editor's current level | Lucas Galante |
| 2026-08-25 | refactor: corner dots draw via plate_dock::draw_corner_dot (7c-2) | Lucas Galante |
| 2026-08-25 | refactor: plate corner delegates to cce_ui::widget::plate_dock (7c-1) | Lucas Galante |
| 2026-08-25 | refactor: pane_plate_radii delegates to PlateSpec (cce-ui 7b-1) | Lucas Galante |
| 2026-08-25 | chore: root_plate_corner_radius — 7a-2 caller migration (vk-smoke) | Lucas Galante |
| 2026-08-25 | feat: attribute/group pickers on the param pane (textpick rows) | Lucas Galante |
| 2026-08-25 | feat: Guides Point Marker Color | Lucas Galante |
| 2026-08-25 | feat: meta Point Normals — per-node normal whiskers | Lucas Galante |
| 2026-08-25 | feat: Session becomes the root meta node; Guides gains Point Marker Size | Lucas Galante |
| 2026-08-25 | feat: meta Wireframe — per-node wire overlay | Lucas Galante |
| 2026-08-25 | feat: the meta node — per-node preferences, with point markers and numbers | Lucas Galante |
| 2026-08-25 | feat: Plane Center controls + resolution-control coverage | Lucas Galante |
| 2026-08-25 | docs: the loader's template-evolution merge in CLAUDE.md | Lucas Galante |
| 2026-08-25 | feat: loader merges template evolution into saved instances | Lucas Galante |
| 2026-08-25 | feat: Sphere construction controls — Rows, Columns, Center | Lucas Galante |
| 2026-08-25 | fix: Scatter evaluates when dispatched — drop the double cycle guard | Lucas Galante |
| 2026-08-25 | feat: the Attribute node — create, modify, and delete vertex attributes | Lucas Galante |
| 2026-08-25 | feat: selecting a Group node marks its member points in the viewport | Lucas Galante |
| 2026-08-24 | fix: give the remaining MCP actions the syncs the interactive tail provides | Lucas Galante |
| 2026-08-24 | fix: MCP select refreshes the spreadsheet pane like a click does | Lucas Galante |
| 2026-08-24 | feat: dragging a plate's corner dot repositions it — dock swap | Lucas Galante |
| 2026-08-24 | feat: adjust the pane layout by dragging the corner dots; spreadsheet Full Width | Lucas Galante |
| 2026-08-24 | render: the plate corner triggers are solid dots | Lucas Galante |
| 2026-08-24 | fix: picking a recent file no longer also fires the Open action | Lucas Galante |
| 2026-08-24 | feat: Ctrl+Shift+S = Save As; Shift+letter chords actually match | Lucas Galante |
| 2026-08-24 | feat: the Session node — one permanent root container for session settings | Lucas Galante |
| 2026-08-24 | feat: CPU reference backend for node kernels | Lucas Galante |
| 2026-08-23 | fix: file choosers open at the loaded project's directory | Lucas Galante |
| 2026-08-23 | feat: Main's "Set As Default" — open the current project at startup | Lucas Galante |
| 2026-08-23 | refactor: one is_enterable predicate for Enter/double-click/`i` | Lucas Galante |
| 2026-08-23 | feat: simnet — a network that iterates its chain over the timeline | Lucas Galante |
| 2026-08-23 | feat: reattach a detached pane from the parent's corner menu | Lucas Galante |
| 2026-08-23 | feat: detach any plate into its own window | Lucas Galante |
| 2026-08-23 | feat: plate corner control — a menu trigger on every plate's top-right | Lucas Galante |
| 2026-08-23 | refactor: retire Main's Style section — DE chrome is config-owned | Lucas Galante |
| 2026-08-23 | refactor: generate the widget roster from one list | Lucas Galante |
| 2026-08-23 | refactor: split the widget roster out of app.rs into src/slots.rs | Lucas Galante |
| 2026-08-22 | render: drop the unused slot_plate_radii helper | Lucas Galante |
| 2026-08-21 | feat: View utility node — the pane toggles' new home | Lucas Galante |
| 2026-08-21 | render: restore the scene viewer's relief rim on the corrected arc | Lucas Galante |
| 2026-08-21 | render: window-corner arcs read the shared radius, not the app override | Lucas Galante |
| 2026-08-21 | render: flat stroke replaces the scene viewer's relief lip | Lucas Galante |
| 2026-08-21 | render: the scene viewer's relief rim spans the whole window backplate | Lucas Galante |
| 2026-08-20 | render: pane plates wear the window arc on window corners | Lucas Galante |
| 2026-08-20 | fix: stop overriding the renderer's window-corner clip | Lucas Galante |
| 2026-08-20 | render: network cells and the empty-cell cursor take the superellipse arcs | Lucas Galante |
| 2026-08-16 | Point Icon= at the app's own theme icon | Lucas Galante |
| 2026-08-16 | feat: ship the .desktop entry in this repo | Lucas Galante |
| 2026-08-14 | fix: settle the dropdown animation in the popover z-order test | Lucas Galante |
| 2026-08-14 | chore: refresh Cargo.lock against the current dependency graph | Lucas Galante |
| 2026-08-13 | deps: drop glyphon, use cce-ui's cosmic-text re-export | Lucas Galante |
| 2026-08-13 | build: drop the unused raw-window-handle declaration | Lucas Galante |
| 2026-08-13 | docs: point at the relocated workspace guide | Lucas Galante |
| 2026-08-13 | build: install via ccebuild instead of hand-listing binaries | Lucas Galante |
| 2026-08-03 | feat: one empty cell between utility nodes by default | Lucas Galante |
| 2026-08-03 | feat: Camera Pivot Size moves to the camera nodes | Lucas Galante |
| 2026-08-03 | feat: Grid Thickness, Origin Guide Size, and Grid Color move to Guides | Lucas Galante |
| 2026-08-03 | feat: Reference Cube and Origin Axes toggles move to the Guides node | Lucas Galante |
| 2026-08-03 | feat: Guides utility node owns the grid toggle; Render sits one cell lower | Lucas Galante |
| 2026-08-03 | feat: Group node — box-select prims, points, or edges into a named group | Lucas Galante |
| 2026-08-03 | fix: open popovers occlude the text beneath them | Lucas Galante |
| 2026-07-31 | feat: playbar tick marks | Lucas Galante |
| 2026-07-31 | fix: dismissing the viewport context menu erases it immediately | Lucas Galante |
| 2026-07-31 | feat: viewport context menu with Frame All | Lucas Galante |
| 2026-07-31 | feat: Wire Color is rgba — its alpha is the wireframe's opacity; geometry Opacity is polygons-only | Lucas Galante |
| 2026-07-31 | feat: Wire Thickness slider (1-8 px) | Lucas Galante |
| 2026-07-31 | feat: Point Size at 3 decimal places (slider:0.000:0.100:3) | Lucas Galante |
| 2026-07-31 | fix: Point Size slider range 0-0.1 (was 0.01-0.30) | Lucas Galante |
| 2026-07-31 | feat: wireframe draws atop the fill, with a single-color mode | Lucas Galante |
| 2026-07-31 | feat: Render-node Opacity slider; retire the Wireframe Overlay toggle | Lucas Galante |
| 2026-07-31 | feat: pinch-to-zoom in the 3D viewport | Lucas Galante |
| 2026-07-30 | fix: wireframe overlay wires keep a share of their vertex colors | Lucas Galante |
| 2026-07-30 | feat: point display renders circles, not octahedra | Lucas Galante |
| 2026-07-30 | feat: Render node point display — Render Points / Point Size / Point Color | Lucas Galante |
| 2026-07-30 | fix: sphere kernel colors are signed-normal — world-anchored, trackable | Lucas Galante |
| 2026-07-30 | fix: camera-pivot marker is world-fixed — the last camera-glued draw | Lucas Galante |
| 2026-07-29 | fix: clamp the viewport orbit short of the poles | Lucas Galante |
| 2026-07-29 | fix: viewport scroll orbit moves the camera, not the geometry | Lucas Galante |
| 2026-07-29 | feat: spreadsheet tucks under the network/parameter panes | Lucas Galante |
| 2026-07-29 | feat: spreadsheet pane resizes from its left and right edges | Lucas Galante |
| 2026-07-29 | feat: viewport focus tints its rim; playbar wears the live params fill | Lucas Galante |
| 2026-07-29 | feat: viewport pane wears the plate bevel's rim | Lucas Galante |
| 2026-07-29 | feat: network plate wears the parameter plate's fill and bevel | Lucas Galante |
| 2026-07-24 | feat: right-click context menu on network nodes | Lucas Galante |
| 2026-07-24 | feat: tighter node edge bevel — half the plate roll width | Lucas Galante |
| 2026-07-24 | feat: node bodies wear the parameter plate's fill | Lucas Galante |
| 2026-07-24 | feat: Plate Color — Style section retints the params plate live | Lucas Galante |
| 2026-07-24 | feat: Edge Profile ramp — Style section reshapes the plate roll live | Lucas Galante |
| 2026-07-24 | feat: params scrollbar track and thumb are squircle pills | Lucas Galante |
| 2026-07-24 | fix: stop clobbering the config node color's alpha | Lucas Galante |
| 2026-07-24 | feat: node bodies render as beveled mini-plates | Lucas Galante |
| 2026-07-24 | feat: node bodies take the DE squircle corner family | Lucas Galante |
| 2026-07-23 | feat: draw the section carves' concave throat fillets | Lucas Galante |
| 2026-07-23 | feat: Bevel Profile ramp — Style section reshapes the DE bevels live | Lucas Galante |
| 2026-07-22 | feat: Extrude node | Lucas Galante |
| 2026-07-22 | feat: Wireframe Overlay render setting — wires over shaded prims | Lucas Galante |
| 2026-07-22 | refactor: Viewport Settings section becomes Viewport | Lucas Galante |
| 2026-07-21 | refactor: params reliefs view carries per-corner radii + wall edges | Lucas Galante |
| 2026-07-21 | fix: graph edge-panning waits for a real drag gesture | Lucas Galante |
| 2026-07-21 | feat: focused-pane highlight rides the plate bevel's specular tint | Lucas Galante |
| 2026-07-21 | refactor: Network section — pane visibility, zoom, and detach move in | Lucas Galante |
| 2026-07-21 | refactor: Square Aspect + Show Camera Pivot move from Main to the cameras | Lucas Galante |
| 2026-07-21 | feat: Render utility node — render/display controls (Show Wireframe) | Lucas Galante |
| 2026-07-21 | feat: Plane node width/length + per-axis cell counts | Lucas Galante |
| 2026-07-21 | refactor: remove the dormant in-app NodePalette widget | Lucas Galante |
| 2026-07-21 | feat: add-node palette is a cce-cloud dmenu popup | Lucas Galante |
| 2026-07-21 | feat: Plane node — grid-geometry subnet template | Lucas Galante |
| 2026-07-21 | fix: draw the params sliders' thumb spheres (cce-ui spheres view) | Lucas Galante |
| 2026-07-21 | feat: node-domain opacity (style.surface.graph.node.opacity) | Lucas Galante |
| 2026-07-21 | feat: playbar pane — animation transport strip (PLAYBAR_IDX) | Lucas Galante |
| 2026-07-20 | fix: draw the params pane's control reliefs (cce-ui reliefs view) | Lucas Galante |
| 2026-07-20 | fix: viewport focus border follows the window's curvature-matched corners | Lucas Galante |
| 2026-07-20 | fix: add plate_features to the vk_smoke Frame2D (cce-ui API change) | Lucas Galante |
| 2026-07-18 | refactor: the graph grid's geometry is config-owned, not saved state | Lucas Galante |
| 2026-07-18 | refactor: rename the graph grid's skipped_* keys to gap_* | Lucas Galante |
| 2026-07-18 | feat: draw the params pane's section corner fillets | Lucas Galante |
| 2026-07-18 | refactor: drop the params pane's Help section | Lucas Galante |
| 2026-07-18 | fix: network pane plate no longer draws square corners over its rounded ones | Lucas Galante |
| 2026-07-17 | feat: Main node shows "New" and drops "Show" from toggle labels | Lucas Galante |
| 2026-07-17 | refactor: drop the params-pane arc pass; toggles no longer emit arcs | Lucas Galante |
| 2026-07-17 | feat: params pane draws the toggle rows' border corner arcs | Lucas Galante |
| 2026-07-16 | feat: plate children clip at the plate's rounded corners | Lucas Galante |
| 2026-07-16 | feat: resize cursor over pane edge-resize hotspots and during pane drags | Lucas Galante |
| 2026-07-16 | refactor: drop the csd_titlebar_move override; the default is now opt-in | Lucas Galante |
| 2026-07-16 | feat: designer window is not draggable from an implicit title-bar strip | Lucas Galante |
| 2026-07-16 | feat: param scrollbar depth, plate consolidation, MCP select tool | Lucas Galante |
| 2026-07-16 | feat: Main node boolean settings render as toggles | Lucas Galante |
| 2026-07-16 | fix: popovers draw over widget labels in the display list | Lucas Galante |
| 2026-07-16 | refactor: retire the HTTP API; MCP is the only automation surface | Lucas Galante |
| 2026-07-16 | refactor: node color is config-owned; drop the Network Settings params | Lucas Galante |
| 2026-07-16 | refactor: design.kdl becomes state.kdl; scroll settings are config-owned | Lucas Galante |
| 2026-07-16 | feat: MCP server exposing the automation surface as tools on port 3001 | Lucas Galante |
| 2026-07-16 | refactor: 2D frame onto the engine's display-list paint path | Lucas Galante |
| 2026-07-16 | feat: CCE_DESIGNER_HTTP_PORT overrides the automation API port | Lucas Galante |
| 2026-07-16 | fix: engine-matched line height so labels center in their controls | Lucas Galante |
| 2026-07-16 | fix: draw the params pane controls' rounded backgrounds | Lucas Galante |
| 2026-07-16 | feat: highlight the focused context's pane border; bind cycling via input.kdl | Lucas Galante |
| 2026-07-16 | feat: feed the ShortcutManager table from input.kdl's cce-designer domain | Lucas Galante |
| 2026-07-16 | docs: add CLAUDE.md | Lucas Galante |
| 2026-07-16 | refactor: migrate onto cce-ui's Application/engine::run runner | Lucas Galante |
| 2026-07-14 | feat: --samples flag for --thumbnail | Lucas Galante |
| 2026-07-14 | chore: init env_logger in --thumbnail mode | Lucas Galante |
| 2026-07-14 | feat: --thumbnail — headless path-traced project thumbnails (phase 3) | Lucas Galante |
| 2026-07-14 | fix: HTTP set_param applies settings params like the interactive path | Lucas Galante |
| 2026-07-14 | feat: ray-traced viewport preview (RT-renderer phase 2 consumer) | Lucas Galante |
| 2026-07-14 | test: vk-smoke exercises user image quads (z-ordered under the blur plate) | Lucas Galante |
| 2026-07-14 | refactor: consume cce_ui::vk — the local vk module graduates to the toolkit | Lucas Galante |
| 2026-07-14 | feat: cutover — cce-designer renders on ash (VkRenderer), wgpu retired | Lucas Galante |
| 2026-07-14 | feat: 3D scene stage on ash — depth, offscreen backdrop, real blur source (milestone 3) | Lucas Galante |
| 2026-07-14 | feat: text on ash — cosmic-text + swash into a self-managed glyph atlas (milestone 2) | Lucas Galante |
| 2026-07-14 | feat: raw-Vulkan (ash) renderer foundation + vk-smoke (migration milestone 1) | Lucas Galante |
| 2026-07-13 | refactor: the inert network-panel move scaffolding is deleted | Lucas Galante |
| 2026-07-13 | feat(api): menu_action executes label-matched menu-pane items | Lucas Galante |
| 2026-07-13 | fix(api): menu_click validates its target and replies honestly | Lucas Galante |
| 2026-07-13 | fix(events): params pane gets its own press z-tier above the viewport | Lucas Galante |
| 2026-07-13 | refactor: per-slot draggable/is_dragging matches (the trait shrink) | Lucas Galante |
| 2026-07-13 | refactor(events)!: the event redesign — AppDrag splits app-mode drags out of drag_widget | Lucas Galante |
| 2026-07-13 | refactor: dyn as_ptr call sites become plain casts (as_ptr left WidgetHost) | Lucas Galante |
| 2026-07-13 | refactor: tree walks read ctx.tree directly (children/parent left WidgetHost) | Lucas Galante |
| 2026-07-13 | refactor: dispatch roots go by WidgetId (cce-ui plumbing retype) | Lucas Galante |
| 2026-07-13 | refactor: pane-focus selected-state sync goes concrete (6bd value shrink) | Lucas Galante |
| 2026-07-12 | refactor: dyn dispatch via handle_event (cce-ui 6bd direct-dispatch collapse) | Lucas Galante |
| 2026-07-12 | refactor: designer wheel loop on routed events; press/move cascade deferred (6bd) | Lucas Galante |
| 2026-07-12 | refactor: Element -> WidgetHost (cce-ui 6bd flip) | Lucas Galante |
| 2026-07-12 | refactor: base() Option handling dropped (cce-ui flip part 1) | Lucas Galante |
| 2026-07-12 | refactor: the roster is concretely typed — WidgetSlots replaces Vec<Box<dyn Element>> (Phase 6bb) | Lucas Galante |
| 2026-07-12 | refactor: designer's four raw impls onto the narrow traits (Phase 6az part 5) | Lucas Galante |
| 2026-07-12 | refactor: own Canvas + Viewport3D (verbatim from deleted cce-ui types, Phase 6ay part 2) | Lucas Galante |
| 2026-07-12 | refactor: roster accessors on concrete types (Phase 6aw, option 2) | Lucas Galante |
| 2026-07-12 | refactor(render): drop the dead parent_plate_rect text clamp (Phase 6at) | Lucas Galante |
| 2026-07-11 | refactor: two Plates + root Backplate dissolved (Phase 6as) | Lucas Galante |
| 2026-07-11 | refactor: delete the dead recent-files List + button row | Lucas Galante |
| 2026-07-11 | refactor: local widgets' labels inherent + paint_self (cce-ui Phase 6ar getter deletion) | Lucas Galante |
| 2026-07-11 | refactor: render-loop text via the paint walk, not the getters (Phase 6ap) | Lucas Galante |
| 2026-07-10 | fix: pass load_system_fonts=false to WgpuAdapter::new (Phase 6k signature) | Lucas Galante |
| 2026-07-08 | chore: drop dead scroll_mut helper (ScrollController removed from cce-ui) | Lucas Galante |
| 2026-07-08 | refactor: adapt Button fields to the cce-ui Phase 5 migration | Lucas Galante |
| 2026-07-07 | refactor: use cce_ui::color hex parser instead of a local copy | Lucas Galante |
| 2026-07-07 | refactor: drop hardcoded /home/lsgalante HOME fallback | Lucas Galante |
| 2026-07-07 | refactor: route hardcoded config/font paths through cce_ui XDG helpers | Lucas Galante |
| 2026-07-06 | Consolidate all utility subnets (Network, Viewport, Parameters, Spreadsheet) into the single Main utility subnet | Lucas Galante |
| 2026-07-06 | Fix mouse wheel event propagation to skip viewport backdrop when foreground widget consumes it | Lucas Galante |
| 2026-07-06 | Update designer app, project config, and window loop to use Viewport3D widget | Lucas Galante |
| 2026-07-05 | refactor: migrate recent files list to shared cce-ui KDL implementation | Lucas Galante |
| 2026-07-02 | Refactor ScrollingList to List and fix window decoration blur and styling | Lucas Galante |
| 2026-07-01 | Move all graph/viewport related keys into their respective domains in design.kdl | Lucas Galante |
| 2026-07-01 | Group scroll settings under graph and viewport domains in design.kdl | Lucas Galante |
| 2026-07-01 | Fix scroll lock logic by tracking scroll gesture state in app.rs | Lucas Galante |
| 2026-07-01 | Fix design settings serialization test and make viewport settings optional in KDL | Lucas Galante |
| 2026-07-01 | Add distinct scrolling controls for Graph and Viewport in design.kdl | Lucas Galante |
| 2026-07-01 | Convert grid and background colors to linear space | Lucas Galante |
| 2026-06-29 | Transition from JSON to KDL format configuration | Lucas Galante |
| 2026-06-26 | feat: render extra circles in recursive draw passes | Lucas Galante |
| 2026-06-26 | Enable drag-to-resize on edges for the main window | Lucas Galante |
| 2026-06-24 | refactor: rename Window widget to Backplate to avoid OS window naming collision | Lucas Galante |
| 2026-06-24 | refactor: modernize and systematize workspace logging | Lucas Galante |
| 2026-06-22 | fix: Box root_window to ensure stable pointer for children's parent links | Lucas Galante |
| 2026-06-22 | feat: implement GPU-side rounded corner clipping for 2D UI and 3D Viewport | Lucas Galante |
| 2026-06-22 | refactor: use cce-ui window as root base UI object | Lucas Galante |
| 2026-06-21 | Remove Paginator widget and tab margin spinboxes | Lucas Galante |
| 2026-06-19 | Clean up compiler warnings | Lucas Galante |
| 2026-06-19 | Migrate configuration from TOML to JSON | Lucas Galante |
| 2026-06-19 | Rename clear-inspector-v1 protocol to cce-inspector-v1 | Lucas Galante |
| 2026-06-18 | refactor: update dependencies and rename clear-ui to cce-ui | Lucas Galante |
| 2026-06-16 | Remove column layout initialization from design interface application | Lucas Galante |
| 2026-06-16 | Throttle inspector state updates and update cce-ui references | Lucas Galante |
| 2026-06-16 | Update test errors scratch log | Lucas Galante |
| 2026-06-16 | Refactor: Resolve compilation warnings, deprecated APIs, visibility issues, and redundant HTTP server logic | Lucas Galante |
| 2026-06-13 | Update design interface node configurations, geometry, render, and project logic | Lucas Galante |
| 2026-06-10 | Refactor and split monolithic main.rs into modular window, app, project, render, and graphics files | Lucas Galante |
| 2026-06-09 | Integrate context switcher dropdown with the Paginator sidebar | Lucas Galante |
| 2026-06-09 | Clean up debug legacy label prints | Lucas Galante |
| 2026-06-09 | Refactor and adapt widgets to use UiContext and scale factor | Lucas Galante |
| 2026-06-06 | Update clear-design-interface to adapt to Element trait refactoring (modified: src/main.rs) | Lucas Galante |
| 2026-06-05 | feat: integrate glassmorphism backdrop blur, panel resizing, Action::Save, and various clear-ui widgets | Lucas Galante |
| 2026-06-03 | Update and align interface features | Lucas Galante |
| 2026-06-03 | Update panning API usage and synchronize design-interface | Lucas Galante |
| 2026-06-02 | Update system configuration and interface modules | Lucas Galante |
| 2026-06-01 | Update config path to ccec, change wgpu power preference to LowPower, and add inspector integration | Lucas Galante |
| 2026-05-29 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-28 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-28 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-26 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-26 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-25 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-25 | Migrate from winit to smithay-client-toolkit and calloop | Lucas Galante |
| 2026-05-24 | Update components and system settings | Lucas Galante |
| 2026-05-23 | Use ColorSelector widget from clear-ui for background color selection | Lucas Galante |
| 2026-05-23 | Add viewport background color parameters to configure popup | Lucas Galante |
| 2026-05-23 | Add Viewport configuration tab to dialog and enlarge dialog dimensions | Lucas Galante |
| 2026-05-23 | Add index numbers to pane labels in the viewport menu bars | Lucas Galante |
| 2026-05-23 | Remove vertical viewport rotation clamping to enable infinite rotation | Lucas Galante |
| 2026-05-23 | Implement inertial rotation for the viewport | Lucas Galante |
| 2026-05-23 | Fix grid guide visibility and sync with viewport orbit rotation | Lucas Galante |
| 2026-05-23 | Render Origin vectors in world space using bind_group_3d | Lucas Galante |
| 2026-05-23 | Implement manual two-finger trackpad/scroll viewport rotation around camera pivot | Lucas Galante |
| 2026-05-23 | Implement origin vectors rendering and Guides menu integration | Lucas Galante |
| 2026-05-23 | Implement OpenCL JIT compilation and geometry execution engine support | Lucas Galante |
| 2026-05-23 | Rename Pos and Col spreadsheet headers to dot-separated vector format | Lucas Galante |
| 2026-05-23 | Fix typo in spreadsheet pane menubar title | Lucas Galante |
| 2026-05-23 | Rename project to clear-design-interface and update titles | Lucas Galante |
| 2026-05-23 | Enhance main layout and screenshot configuration | Lucas Galante |
| 2026-05-22 | Implement network pane inertial panning and trackpad 2-finger scroll | Lucas Galante |
| 2026-05-22 | Propagate mouse wheel events to widgets and sync slider parameters | Lucas Galante |
| 2026-05-22 | Update default grid size to 80x40 | Lucas Galante |
| 2026-05-22 | Persist network cursor grid highlights when mouse leaves the network pane | Lucas Galante |
| 2026-05-22 | Implement Camera node template, custom bounds, and dynamic camera selection in Viewport | Lucas Galante |
| 2026-05-22 | Make viewport grid visible by default | Lucas Galante |
| 2026-05-22 | Add sphere node parameter settings and slider controls | Lucas Galante |
| 2026-05-21 | Implement canvas zoom functionality using -/= keys | Lucas Galante |
| 2026-05-20 | Initial commit: basic clear-designer using clear-ui | Lucas Galante |