- RadialModel: pure tree + geometry (angle hit-test, dead zone, far-flick
snap, descend/ascend). 14 tests.
- RadialMenu: frameless translucent widget painting the current ring with
wedges, labels, branch markers and a central back/cancel hub; mouse hover
highlights, release/click activates a leaf, descends a branch, or
ascends/cancels from the hub; Esc ascends/cancels.
- RadialConfig: JSON -> radial tree parser with a built-in default, so
multiple radials can bind to different triggers. 8 tests.
- Plugin wiring: one trigger action per configured radial (default Alt+R ->
editing radial), popped at the caret via cursorPositionCoordinates().
Slices reference Kate actions by objectName (resolved via findActionByName);
the special ollie_command_palette slice opens the palette.
Honours the agreed model (keys/weapon-wheel triggers now; config carries a
per-radial trigger for mouse-button/gesture triggers later). All 5 ctest
suites green (36 tests).