KairosResearchLab / Kairos

A complete framework for data control and composition in the vvvv visual programming environment.
Other
125 stars 4 forks source link

Feedback chk #294

Closed chkworks closed 1 week ago

chkworks commented 12 months ago

Here are all my thoughts I had in the past two days diving into Kairos, thank you very much for this great library, it feels great to use! Here are some suggestions and thoughts for the next release.

Interface

Menu Bars

Right now all actions for all editors are put together in the global menu of the Kairos Editor. In fact, they also switch functionalities, if the focus of windows changes. I propose to create a menu bar for every window with the functionalities that belong to that window.

Example from Blender - basically every area has a separate menu bar with the individual actions.

Untitled

Context Menus

In general context menus for clips and slots, the timeline header and body as well as keyframes would be awesome, but according to the open issues I think this will be worked on in the future. Also of course all actions like Cut, Copy, Paste would be great here as well as a quick change to another keyframe or clip type.

What should be first - patch or UI?

Right now, you have to place a node to see the Kairos Editor and then more nodes for every Launcher and Timeline you’re using inside the application. This feels natural, as this is how Gamma works. But while I was playing with Kairos, I was fantasizing about that it would actually be awesome if the interface worked the other way - that you create a timeline window or any extension from the user interface and turn on that the UI instance and all its methods is also visible in the node browser.

Future of Kairos and vvvv

When scaling up the Kairos Editor, it feels like we should be patching in the gray area. How will the new Inspector in vvvv work together with Kairos? Which Inspector will survive? Is it possible to drag ImGui windows also out of the Renderer and attach them to a separate window? Could we possibly drag a Stride SceneWindow or a Skia Renderer into the Kairos Editor, allowing completely flexible window layouts?

Kairos

Tidier menu for Interpolation Models

Right now the list for Interpolation Models is huge and the namings are long. It would be great if the models would simply be named "Linear", "Tween", "Oscillator" and so on. Furthermore I propose the option "Blending", which contains all Blending models in a second dropdown.

Navigation of Node Editors

Right now it is possible to navigate in each window using the right mouse. I am pretty sure that this interaction was chosen, because then it works like in the patcher (which makes sense), but there are two main issues.

Input Types

Currently there are three main input types for keyframes and clips - “Constant Value”, “Live Value” and Layer. I was asking myself if the “Create” menu give the concept of Layer and Composition a bit more weight, by not including them in the keyframe menu. In the workshop you were mainly talking about both types as functions, so I think it helps mentally to isolate them from the concept of keyframes.

Types

Also it would be nice to anytime switch between a Constant and a Live Value, maybe in the Inspector and also possibly via a context menu. I think it would make sense to simply double-click into the timeline and then change the type to “Live” in the Inspector. Probably related to #264

Interpolation for Keyframes and Clips

The interpolation type for keyframes in the timeline and clips in the launcher works exactly the other way around. For a keyframe it defines the interpolation OUT OF the keyframe into the next one. For a clip it defines the transition INTO it from the current one. It would be nice to define one way, as I understood that the concepts of a keyframe and a clip are really similar. I vote for transitioning INTO the keyframe and clips, like its done currently in the Launcher.

Also a general question - would it make sense, if a keyframe would always take over the interpolation model that has been set the last time?

Timeline

Interpolated loop - #289 Prevent keyframe inside duration of another keyframe - #290 Pattern of keyframe inputs - #291 Better control of setting vector values - #286 Use RGBA keyframe for one of the color components - #293

Loop Area

Are there plans to control the loop area from the timeline? For example with a resizable frame around the timespan in which it should be looping?

Track sorting, selecting and folding

Sorting tracks by dragging and dropping would be a great feature. Right now this has to be done using the “Order Index” in the Inspector (why is this actually a float?) It is already possible to multi-select tracks by holding Ctrl and click on them one after the other and to delete all selected at once. Also it would be great to implement holding shift to select all tracks between the first and last one. It would be great if it worked like in Ableton, that also all selected tracks fold and unfold. Like this, the global fold and unfold buttons could be gone.

Launcher

Drag and Drop clips within track - #263 Trigger clips from the current value when currently transitioning - #292

chkworks commented 1 week ago

Closed as the contents of this task was transferred to isolated issues.