Skip to content

Commit 3e215cb

Browse files
author
Milkii Brewster
committed
docs: update INTEGRATION.md for session 15 (canvas-node-placement)
1 parent 43f6ce0 commit 3e215cb

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

INTEGRATION.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Carla Integration Branch Configuration
22

3-
Last updated: 2026-03-31 (session 14)
3+
Last updated: 2026-03-31 (session 15)
44
URL: https://gist.github.com/mxmilkiib/9c883e2022e978d9098311cbe4e2f875
55
[RFC 2119](https://datatracker.ietf.org/doc/html/rfc2119)
66

@@ -126,9 +126,9 @@ These are direct commits on `integrated` that fix regressions introduced by PR m
126126

127127
## Branch and Integration Status Outline
128128

129-
**Summary**: 0 need attention, 0 awaiting review, 19 local-only, 0 secondary patches, 14 upstream PRs merged to integrated, 0 merged upstream
129+
**Summary**: 0 need attention, 0 awaiting review, 20 local-only, 0 secondary patches, 14 upstream PRs merged to integrated, 0 merged upstream
130130

131-
Integration built 2026-03-31 (session 14): merged canvas-fit-padding; zoom_fit pads viewport 12% + re-centres minimap; plugin browser always created regardless of canvas mode; 77 tests passing.
131+
Integration built 2026-03-31 (session 15): node collision avoidance in CanvasGetNewGroupPos (footprint rect); PORT_TYPE_NULL cables now amber-yellow via line_null theme colour; plasmashell + pavucontrol nodes placed below all others on creation; 77 tests passing.
132132
Qt6 frontend active: `qt_config.py` regenerated to `qt = 6`; `make generate-ui` regenerates `ui_*.py` with `pyuic6`; `make check` verifies syntax + UI import; `make test` runs pytest suite (`tests/test_frontend.py` 17 + `tests/test_settings_dialog.py` 15 + `tests/test_executables.py` 7 + `tests/test_plugin_browser.py` 19 + `tests/test_disk_tree.py` 19 = 77 tests; offscreen Qt).
133133
Patchbay port signal fix: `PatchbayPortAddedCallback` and `PatchbayPortChangedCallback` emits were missing `value3` (portGroupId); `slot_handlePatchbayPortChangedCallback` was missing the `portGroupId` param. Caused repeated `TypeError` in `carla-jack-multi`/`carla-jack-single` on every JACK port event.
134134
GitHub Actions IRC notification disabled on fork via `if: false` in `.github/workflows/irc.yml`.
@@ -188,6 +188,7 @@ These branches are pushed to `mxmilkiib/Carla` and merged into `integrated`, but
188188
- [x] **bugfix/2026.03mar.30-settings-bool-sync**`QSafeSettings.value()` now explicitly converts raw string "true"/"false" returns to Python bool; fixes StartWithPatchbay (and any other bool setting) silently falling back to defaultValue on PyQt6 builds where type coercion returns a str — merged 2026-03-30
189189
- [x] **feature/2026.03mar.30-disk-tree-collapse-persist**`fileTreeView` expanded dirs persisted across restarts via `fExpandedDirs` set + `DiskExpandedDirs` QSettings key; `b_disk_collapse` button added to disk tab header (Collapse All); `slot_fileTreeExpanded`/`slot_fileTreeCollapsed` track state; `_restoreExpandedDirs` schedules restore 300 ms after load via QTimer; `RAYSESSION_NOTES.md` survey of implementable RaySession features — merged 2026-03-30
190190
- [x] **bugfix/2026.03mar.30-jack-timebase-nframes** — guard `nframes > 0` at the call site in `handleJackTimebaseCallback` before passing to `fillJackTimeInfo`; eliminates noisy `CARLA_SAFE_ASSERT_RETURN(newFrames > 0)` messages when JACK calls the timebase callback during transport relocation — merged 2026-03-30
191+
- [x] **feature/2026.03mar.31-canvas-node-placement**`CanvasGetNewGroupPos` uses a 160×30 footprint-rect intersect check instead of point-in-rect to prevent node overlap; `line_null`/`line_null_sel` amber-yellow added to all 5 theme variants; `else` fallback in `canvasline.py` + `canvasbezierline.py` for `PORT_TYPE_NULL` cables; `_BELOW_ALL_CLIENTS` (`plasmashell`, `pavucontrol`) placed below all other nodes via `_canvas_max_node_bottom()` in `slot_handlePatchbayClientAddedCallback` — merged 2026-03-31
191192
- [x] **feature/2026.03mar.31-canvas-fit-padding**`zoom_fit` now adds 12% padding (min 50 scene units) to the `fitInView` rect; returns padded `QRectF`; `slot_canvasZoomFit` uses it to call `miniCanvasPreview.setRenderSource(fit)` re-centring the minimap on the node cluster; `CanvasPreviewFrame.setRenderSource(rect)` added — merged 2026-03-31
192193
- [x] **feature/2026.03mar.31-canvas-autozoom-plugin-autoload**`slot_handleEngineStartedCallback`: schedule `slot_canvasZoomFit` 1 s after engine start so initial JACK nodes are centred without user action; schedule `fPluginBrowser.refresh()` 500 ms after engine start; `slot_tabUtilsChanged` lazy-loads the browser the first time the Plugins tab is selected; initial status label changed to "Waiting for engine..." — merged 2026-03-31
193194

@@ -201,7 +202,7 @@ These branches are pushed to `mxmilkiib/Carla` and merged into `integrated`, but
201202

202203
- Needs Attention (0 branches): (none)
203204
- Awaiting Review (0 branches): (none)
204-
- Local Development (19 branches): lv2-deadlock, file-open-folder, qt6-precedence, install-vst2-glob, log-missing-uri, dsp-refresh, canvas-autosize, drag-scroll, default-session-on-open, lv2-native-scalepoints, svg-text-qt6-crash, exec-deprecated-qt6, start-with-patchbay, plugin-browser-sidebar, settings-bool-sync, disk-tree-collapse-persist, jack-timebase-nframes, canvas-autozoom-plugin-autoload, canvas-fit-padding
205+
- Local Development (20 branches): lv2-deadlock, file-open-folder, qt6-precedence, install-vst2-glob, log-missing-uri, dsp-refresh, canvas-autosize, drag-scroll, default-session-on-open, lv2-native-scalepoints, svg-text-qt6-crash, exec-deprecated-qt6, start-with-patchbay, plugin-browser-sidebar, settings-bool-sync, disk-tree-collapse-persist, jack-timebase-nframes, canvas-autozoom-plugin-autoload, canvas-fit-padding, canvas-node-placement
205206
- Secondary Patches (0 branches): (none)
206207

207208
See **Feature Request Branch TODO** section at the end of this file for planned work.

0 commit comments

Comments
 (0)