Kairos framework
PROJECT
Part of: Kairos Research Lab
Fiscal Host: Open Source Collective
Research, development and maintainance of the kairos framework functionalities
About
The Kairos ecosystem consists of a collection of libraries, each dedicated to a specific domain of problematics:
- VL.AlchemX
- VL.LayerX
- VL.Touchy
- VL.Kairos.Runtime
- VL.Kairos
All together they form a framework that offers a unified and coherent perspective over a surprisingly large spectrum of scenarios.
Thanks to a careful separation of fields, these libraries have a very high degree of modularization and expandability.
Some of the features that the coherency of the framework allows:
Thanks to a careful separation of fields, these libraries have a very high degree of modularization and expandability.
Some of the features that the coherency of the framework allows:
- Combinability
All kairos tools are nestable inside each other, allowing them to combine their workflows and logic into a consistent control system. - Types support
Most common c# types are supported by default at all levels of the tools: the tools deal with values of type Float32, Float64, Boolean, Integer32, Integer64, Vector2, Vector3, Vector4, Matrix, Quaternion, RGBA (color), String, ...
it's even possible to register custom types, allowing advanced composition at the type level.
Kairos automatically handles collections: every type can be handled as an array - Generalization
The incredibly high level of generalization of the solutions and implementations offered by Kairos allows applying these principles to new domains, guaranteeing the expandability of the library by very quickly developing new tools - Real-time data control
Having in its core the possibility to handle dynamic data, Kairos tools can bring all their control logic into the real-time generated data domain.
It's now possible to think and organize value states independently from their nature.
Here is a little overview of each of the building-block libraries:
- VL.AlchemX
As the name suggests, this library is dedicated to value synthesis. It includes functionalities for value interpolation, blending and compositing.
- VL.LayerX
A library to handle values by embedding them into Layers, allowing sampling and advanced multi-layer compositing
- VL.Touchy
A multi-touch gesture based interactive engine, made with the high-level kairos tools in mind, where we possibly want control interfaces on multi-touch devices.
This library is at the very beginning of development but already offers a very effective way to augment with interactivity any existing visual scene. Already supports:- Multiple Input devices
- interface to define gestures and related behaviors
- Multi-space interaction with transformable canvases
- primitive shapes
- selection
- VL.Kairos.Runtime
This package will contain all the kairos functionalities to run the software without all the UI editor provided by VL.Kairos.
This can be quite convenient when exporting an application: no UI library referenced by VL.Kairos will end up in the export, making it more lightweight and clean.
What's next on the roadmap
- VL.Kairos.Runtime
- Kairos.Core
- IBoundsProvider interface to allow kairos objects to provide bounds upstream and downstream the kairos graph (allows advanced features like keyframes auto size depending on the source and others...)
- Composition model Save/Load from disk util nodes
- Composition model network sync util nodeset
- Layer Lifetime (Start/Stop/Sampling info within the layer)
- KairosClock
- Define standard kairos clock and editor
- Write converters to and from timecode and clock standards
- CompositionSampler
- KairosClock input pin
- UI editor for advanced sampling and binding (via BindX) features
- Optional output pins for sampled values
- Kairos.Core
- VL.Kairos
- Kairos Editor
- General UI editing window for all kairos tools
- Docking mechanism
- Multiple composition editor windows within one editor
- Kairos session, storing all composition editor models and providing undo-redo
- Kairos Editor
Our team
Contribute
Become a financial contributor.