It just dawned on me that I haven't been mentioning five(!) recent https://thi.ng/genart-api updates, all from the past month... 😱
The latest version (v0.14.0, just released) is largely about an overhaul of messaging related functionality and also addresses use cases related to managing multiple artworks embedded (via `<iframe>`s) in a single document/page (think: online gallery scenarios...)
If you're already using GenArtAPI message/event listeners in your own artwork, you might have to rename some of them. This commit has the important details:
https://github.com/thi-ng/genart-api/commit/35b627d7380bad75d280cc1e051ec7ed23aa8995
Also, the online parameter editors have been updated and are now only working with the latest version of the API, so be sure to update your artwork projects to stay compatible:
Generic editor harness (for your own compatible artworks):
https://demo.thi.ng/genart-api/param-editors/
Demo (with test artwork):
https://demo.thi.ng/genart-api/param-editors/?url=https%3A%2F%2Fdemo.thi.ng%2Fgenart-api%2Fparam-test%2F
Other recent changes/additions (in no particular order):
- added new message types to poll the artwork/API for current state/info
- update message names & naming convention
- added ability to configure the API behavior/features (also via messaging)
- option to emit frame messages w/ current timing/frame info
- message broadcasting to multiple GenArtAPI instances/artworks
- inject common defaults for optional settings in param specs
- fixed date/datetime param handling (in editor)
- updated/fixed time providers
- updated debug time provider (w/ FPS visualization overlay)
- use gzip compression for image param values (in default platform adapter)
- added version info
- various documentation updates
- (WIP) WASM bindings for Zig-based artworks
- (WIP) unpublished progress on real platform adapters
Some of these features are all about enabling new use cases and improving usability of external tooling around artworks adapting GenArtAPI, for example:
- Ability to broadcast start/stop messages to either individual or all artworks embedded in a page
- Ability for the param editor to configure the artwork currently being worked on to emit timing & frame information (which then can be integrated in the editor UI without the editor knowing anything else about the artwork)
- Enable editors to identify an artwork/project and store param presets grouped by project ID
- Allow editors (or other tools) to check the API version used by the artwork by first sending a `genart:get-info` message, then listening for `genart:info` response (then maybe display a warning if version is incompatible)
- etc.
If you want to find out more, the project readme has _a lot_ more information. Also feel free to get in touch with any questions!
#GenArtAPI #OpenSource #GenerativeArt #Art #Parameters #Interoperability #TypeScript #JavaScript #Zig #WASM #WebAssembly