Skip to content

Releases: VictoryLuode/3DCoat-CoatMenu

CoatMenu v0.6.1

Choose a tag to compare

@VictoryLuode VictoryLuode released this 20 Sep 11:32

Unzip it and double-click install\install.cmd, then restart 3D-Coat.

Tool presets are gone

They could not be activated from a menu item on this build. coat.pyi documents
coat.AppOptions.ActivateToolPreset, but that class does not exist in the live
module — a runtime scan of coat found nothing offering it. Rather than ship a
source in the editor that produces rows which cannot work, the whole feature is
removed: the Presets source in the editor, the generated Presets menu, and the
reader behind them.

A config written by an older build keeps working: preset rows are skipped on load
instead of being turned into $command entries that could never resolve. If you
had a Presets menu, delete it once — nothing else is affected.

The editor now has three sources: 3D-Coat commands, My tools, Scripts.

A verification suite

tests/test_verify.py now runs with the rest of the suite. It:

  • imports every module in the plugin — the check that catches a name vanishing
    from a module, which is exactly how the installer got broken while this release
    was being cut,
  • compiles every file,
  • asserts the removed APIs really are gone and the built-in menus still build,
  • runs the installer end to end.

Fixed

  • The editor's Menu dropdown could disagree with the menu actually shown when the
    selection was made by name rather than by clicking the dropdown.
  • A hard-coded group name in the ported sculpt actions.

Under the hood

Comments and docs no longer reference the extension the sculpt actions were ported
from; the port is described by what it does instead of where it came from.

CoatMenu v0.6.0

Choose a tag to compare

@VictoryLuode VictoryLuode released this 20 Sep 10:43

Unzip it and double-click install\install.cmd, then restart 3D-Coat.

Two new editor columns

  • Expand — every group row says how it unfolds, instead of leaving it to the
    child count: Auto (three children or fewer stack in the slot, more opens a
    panel), Inline (always in the slot), Panel (always a separate panel).
  • Position — pin a row to a compass point (Top / Top right / Right …)
    so a pie becomes muscle memory. Only shown for pie menus. Rows left on Auto
    spread evenly, first one straight up.

That last point is a fix in itself: the old layout offset every slot by half a
step, so four slots landed on the four corners — no slot was ever on a plain
direction. Four slots are now up / right / down / left.

Bundled sculpt actions

Sculpt Ops — 93 sculpt actions in six groups (Object, Scene, Autopo, Brush,
Export, Other), ported from an older radial-menu extension so they keep working
now it is gone.

Fully independent

No other extension is required or imported. The ported scripts used generic
top-level names (utils, ops, lks_utils) — inside cExtensions those collide
with any neighbour's, so the whole tree now lives under ported.*.

Smaller things

  • The editor's Row column stretches to fill the panel (there used to be a band of
    dead space to its right).
  • The menu dropdown marks pie menus and follows programmatic selection.
  • Source list entries elide instead of showing a horizontal scrollbar; hover for the
    full text.
  • Hover a row to see its command id or script path.
  • Installer: a backup is taken only when a file actually changes. The old
    behaviour copied on every run — a day of reinstalling left 88 .bak-* files.

Fixed

  • Dragging a command onto another one made it a group, but saving wrote it back as
    a plain command and silently dropped the children.

CoatMenu v0.5.5

Choose a tag to compare

@VictoryLuode VictoryLuode released this 20 Sep 09:51

Unzip it and double-click install\install.cmd, then restart 3D-Coat.

Hotkeys are 3D-Coat's business again

The plugin no longer has anything to do with them. Removed: the editor's Key:
button, the row Set key… / Clear key items, the per-row shortcut launchers, and
the coat.menu_hotkey call.

It could not work. Measured on this build: a key only attaches to an entry added
through coat.menu_item inside 3D-Coat's own menu pass, and entries inserted at
runtime never reach the hotkey system — so the call was ignored, and 3D-Coat then
rewrote those entries with an empty <Code>, silently removing bindings that had
been set by hand.

To give a menu a key: hover over its entry in Scripts ▸ CoatMenu and press
END, then press the combination you want. That is 3D-Coat's own mechanism — its
hint text reads "'END' - Define Hotkey" — and it writes the binding itself.

CoatMenu reads Options_Hotkeys.xml only to know which key opened a menu, exactly
as it always did; it has never written to that file.

Fixed

  • The installer removes the now-unused actions/shortcuts/ folder.
  • A hotkey field left in menus.json by the previous version is dropped (a backup
    of the file is written first).

Also in this line

  • Menus register themselves and each has its own entry in Scripts ▸ CoatMenu.
  • Five editor sources, Add all, multi-select, undo/redo; the editor opens centred and
    switching source is instant.
  • A menu is the unit; list and pie are only how it opens, and pies are centred
    on the cursor, Blender-style.
  • Installer works wherever 3D-Coat lives (Documents, OneDrive-redirected Documents,
    or --documents DIR).