This is pretty nit-picky, but when setting levels, while the UI works per-key, the level is updated and persisted for the command. The result is that my current demo doesn't work. I need to work around by writing more commands (or a macro). Also, since I can't unset the persisted level, re-evaluating the code doesn't get me back to where I started.
(transient-define-suffix transient-toys--wave ()
"Wave at the user"
:transient t
(interactive)
(message (propertize
(format "Waves at %s" (current-time-string))
'face 'success)))
(transient-define-prefix transient-toys-levels-of-waves ()
"Wave at the user"
[["Essential Commands"
("l" "set level" transient-set-level)]
[2 "Per Group" ; 1 is the default default-child-level
("ws" "wave surely" transient-toys--wave) ; 1 is the default default-child-level
(3"wn" "wave normally" transient-toys--wave)
(5"wb" "wave non-essentially" transient-toys--wave)]
[3 "Per Group Somewhat Useful"
("wd" "wave definitely" transient-toys--wave)]
[5 "Per Group Rare"
("we" "wave eventually" transient-toys--wave)]])
(transient-toys-levels-of-waves)
Try setting the level on an individual key such as wd. Due to the command name collision, you will only be able to update the first command found by the lookup, regardless of which key you use subsequently.
I couldn't find anywhere in the menu if there's a function for clearing history.
Also, group levels aren't displayed in the per-key menu even though they have levels and level behavior.

This is pretty nit-picky, but when setting levels, while the UI works per-key, the level is updated and persisted for the command. The result is that my current demo doesn't work. I need to work around by writing more commands (or a macro). Also, since I can't unset the persisted level, re-evaluating the code doesn't get me back to where I started.
(transient-define-suffix transient-toys--wave () "Wave at the user" :transient t (interactive) (message (propertize (format "Waves at %s" (current-time-string)) 'face 'success))) (transient-define-prefix transient-toys-levels-of-waves () "Wave at the user" [["Essential Commands" ("l" "set level" transient-set-level)] [2 "Per Group" ; 1 is the default default-child-level ("ws" "wave surely" transient-toys--wave) ; 1 is the default default-child-level (3"wn" "wave normally" transient-toys--wave) (5"wb" "wave non-essentially" transient-toys--wave)] [3 "Per Group Somewhat Useful" ("wd" "wave definitely" transient-toys--wave)] [5 "Per Group Rare" ("we" "wave eventually" transient-toys--wave)]]) (transient-toys-levels-of-waves)Try setting the level on an individual key such as
wd. Due to the command name collision, you will only be able to update the first command found by the lookup, regardless of which key you use subsequently.I couldn't find anywhere in the menu if there's a function for clearing history.
Also, group levels aren't displayed in the per-key menu even though they have levels and level behavior.