home.social

#genartapi — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #genartapi, aggregated by home.social.

  1. Linear Memory (2024)

    A prototype version of my piece Linear Memory running inside a thi.ng/genart-api sandbox on a Motorola phone, connected to a custom early prototype Layer square screen...

    The animation consists of dozens of layers of semi-random multi-scale pixel patterns, slowly scrolling in different directions, updating/rebuilding themselves, creating an endless, constantly changing tapestry of complex colorful patterns.

    #TextureTuesday #LinearMemory #GenerativeArt #AlgorithmicArt #AbstractArt #Art #Pixel #Pattern #Glitch #Color #GenArtAPI

  2. Linear Memory (2024)

    A prototype version of my piece Linear Memory running inside a thi.ng/genart-api sandbox on a Motorola phone, connected to a custom early prototype Layer square screen...

    The animation consists of dozens of layers of semi-random multi-scale pixel patterns, slowly scrolling in different directions, updating/rebuilding themselves, creating an endless, constantly changing tapestry of complex colorful patterns.

    #TextureTuesday #LinearMemory #GenerativeArt #AlgorithmicArt #AbstractArt #Art #Pixel #Pattern #Glitch #Color #GenArtAPI

  3. Linear Memory (2024)

    A prototype version of my piece Linear Memory running inside a thi.ng/genart-api sandbox on a Motorola phone, connected to a custom early prototype Layer square screen...

    The animation consists of dozens of layers of semi-random multi-scale pixel patterns, slowly scrolling in different directions, updating/rebuilding themselves, creating an endless, constantly changing tapestry of complex colorful patterns.

    #TextureTuesday #LinearMemory #GenerativeArt #AlgorithmicArt #AbstractArt #Art #Pixel #Pattern #Glitch #Color #GenArtAPI

  4. Linear Memory (2024)

    A prototype version of my piece Linear Memory running inside a thi.ng/genart-api sandbox on a Motorola phone, connected to a custom early prototype Layer square screen...

    The animation consists of dozens of layers of semi-random multi-scale pixel patterns, slowly scrolling in different directions, updating/rebuilding themselves, creating an endless, constantly changing tapestry of complex colorful patterns.

    #TextureTuesday #LinearMemory #GenerativeArt #AlgorithmicArt #AbstractArt #Art #Pixel #Pattern #Glitch #Color #GenArtAPI

  5. Linear Memory (2024)

    A prototype version of my piece Linear Memory running inside a thi.ng/genart-api sandbox on a Motorola phone, connected to a custom early prototype Layer square screen...

    The animation consists of dozens of layers of semi-random multi-scale pixel patterns, slowly scrolling in different directions, updating/rebuilding themselves, creating an endless, constantly changing tapestry of complex colorful patterns.

    #TextureTuesday #LinearMemory #GenerativeArt #AlgorithmicArt #AbstractArt #Art #Pixel #Pattern #Glitch #Color #GenArtAPI

  6. It's Friday, spring is here (a bit too early) — it feels like a good day to share another minute recording of a variation of my Actiniaria piece which I worked on last spring and think also captures that much needed #BloomScrolling spirit...

    See #Actiniaria for more context...

    (Note: Sadly Firefox still doesn't respect the Rec2020 color profile in the video, please download the video or use Chrome or Safari for full viewing pleasure...)

    #GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #GenArtAPI #Boids #Color #Video #Animation #TypeScript #WebGL

  7. It's Friday, spring is here (a bit too early) — it feels like a good day to share another minute recording of a variation of my Actiniaria piece which I worked on last spring and think also captures that much needed #BloomScrolling spirit...

    See #Actiniaria for more context...

    (Note: Sadly Firefox still doesn't respect the Rec2020 color profile in the video, please download the video or use Chrome or Safari for full viewing pleasure...)

    #GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #GenArtAPI #Boids #Color #Video #Animation #TypeScript #WebGL

  8. It's Friday, spring is here (a bit too early) — it feels like a good day to share another minute recording of a variation of my Actiniaria piece which I worked on last spring and think also captures that much needed #BloomScrolling spirit...

    See #Actiniaria for more context...

    (Note: Sadly Firefox still doesn't respect the Rec2020 color profile in the video, please download the video or use Chrome or Safari for full viewing pleasure...)

    #GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #GenArtAPI #Boids #Color #Video #Animation #TypeScript #WebGL

  9. It's Friday, spring is here (a bit too early) — it feels like a good day to share another minute recording of a variation of my Actiniaria piece which I worked on last spring and think also captures that much needed #BloomScrolling spirit...

    See #Actiniaria for more context...

    (Note: Sadly Firefox still doesn't respect the Rec2020 color profile in the video, please download the video or use Chrome or Safari for full viewing pleasure...)

    #GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #GenArtAPI #Boids #Color #Video #Animation #TypeScript #WebGL

  10. It's Friday, spring is here (a bit too early) — it feels like a good day to share another minute recording of a variation of my Actiniaria piece which I worked on last spring and think also captures that much needed #BloomScrolling spirit...

    See #Actiniaria for more context...

    (Note: Sadly Firefox still doesn't respect the Rec2020 color profile in the video, please download the video or use Chrome or Safari for full viewing pleasure...)

    #GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #GenArtAPI #Boids #Color #Video #Animation #TypeScript #WebGL

  11. #PSA Since I've just been asked again if I could use more topic-specific accounts and not mix my photography with other topics — Unfortunately, nope! I'm on a single user managed instance and cannot create new accounts on this server nor do I want to create an account for every single topic I'm interested in or posting about. However, you can filter my posts by hashtags, which I'm trying to use consistently (also for my own purposes)...

    Hashtags can be browsed individually, subscribed to (via Mastodon) or even syndicated via RSS, e.g.

    Browse:
    mastodon.thi.ng/@toxi/tagged/L

    RSS:
    mastodon.thi.ng/@toxi/tagged/L

    My most commonly used tags are:

    Photography:
    #LandscapePhotography #NaturePhotography #NoirCountry (my B&W photos) #POV #Hiking

    Open source projects:
    #ThingUmbrella #ZigThing #GenArtAPI #TypeScript #Ziglang #WASM #WebAssembly #Forth #OpenSource #ProgLang

    Art:
    #Art #GenerativeArt #AlgorithmicArt #ProceduralArt #KineticArt #Exhibition

    Music:
    #Music4Coding

    AI relatated:
    #AI #LLM

    Education/research:
    #Edu #Research

    Hope that helps!

  12. #ReleaseMonday — New version (v0.27.0) of thi.ng/genart-api, a platform-independent extensible API for browser-based computational/algorithmic/generative art projects:

    This version features an overhaul of the platform provided PRNG (pseudo-random number generator) handling and makes it easier to create multiple PRNGs for artworks which require/desire them...

    Related section in the README:
    github.com/thi-ng/genart-api/b

    Also, just as a reminder, the project has:

    - no external dependencies
    - adapters for 3 art platforms (EditArt, fxhash, Layer)
    - 6 example projects
    - testing/dev sandbox with two parameter editors
    - WebAssembly bindings & demo (currently for #Zig only)

    Happy coding! :)

    #GenArtAPI #GenerativeArt #AlgorithmicArt #ProceduralArt #Art #OpenSource #Parameters #Interoperability #TypeScript #JavaScript #WebAssembly #WASM #Ziglang

  13. #ReleaseFriday (1st release cycle of 2025) 🎉 — New additions & updates to thi.ng/genart-api, a platform-independent extensible API for browser-based computational/algorithmic/generative art projects:

    - Added fxhash.xyz platform adapter (incl. support & adaptations for 10 of the 17 built-in GenArtAPI param types)
    - Added `bigint` & `binary` data param types
    - Updated parameter type definitions & factories (date, datetime, time, numlist, strlist, text, vector)
    - Ensure any given default values are valid (and can be coerced)
    - Added MurmurHash3 (128 bit version) functions (e.g. seed PRNGs)
    - Added tests for all parameter types (factory functions & implementations)
    - Added tests for utility functions
    - Added GitHub actions (running tests)
    - Various API docs updates, clarifications & fixes
    - Update/refactor EditArt & Layer platform adapters
    - Updated main & adapter readmes

    New adapter package `@genart-api/adapter-fxhash`:
    github.com/thi-ng/genart-api/t

    Commits since last release:
    github.com/thi-ng/genart-api/c

    #GenArtAPI #ComputationalArt #AlgorithmicArt #GenerativeArt #Art #OpenSource #Parameters #Interoperability #TypeScript #JavaScript #Genuary

  14. #ReleaseFriday (the 13th) — New version (v0.17.0) of thi.ng/genart-api with the following updates:

    - Added platform adapter IDs for use with external editors/tooling
    - Updated editors[1] to check for platform adapter & API version compatibility, display warnings if needed...
    - Added/migrated three different seedable PRNG implementations in API core package (SFC32, XorShift128, XsAdd). These are completely independent and can be used by platform adapters and/or artworks (also multiple instances)
    - Initial release of first platform adapter for an upcoming art platform (currently invite only)
    - Restructured all example projects
    - Updated readme & API docs (docs.thi.ng/genart-api/core/)

    [1] The param editor/sandbox requires your artwork to use the latest version of these packages: `@genart-api/core` and `@genart-api/adapter-urlparams`.

    demo.thi.ng/genart-api/param-e

    New improved version (of editor) with many more features (incl. variation/preset management) is in the works...

    #GenArtAPI #OpenSource #GenerativeArt #Art #Parameters #Interoperability #TypeScript #JavaScript

  15. Various #ThingUmbrella and #GenArtAPI updates from this week:

    - Added null pointer checks & guards in thi.ng/wasm-api. This also includes support for structs with fields using Zig-style optional pointers.
    - Updated the thi.ng/wasm-api-bindgen code generator for #TypeScript to produce smaller code for structs using many string fields
    - Did major ground work on #Zig #WebAssembly bindings of core thi.ng/genart-api functionality (see small demo below)
    - Fixed/updated/simplified time provider logic
    - Updated the debug time provider with its FPS analytics/visualization overlay, now computing moving min/max and moving average (default period = 200 frames) and the viz is dynamically/smoothly rescaling to current peak
    - Released new GenArtAPI v0.9.0

    As for the Zig/WASM example: This is only interesting from a technical POV, no visuals here! All canvas drawing and parameter declarations/evaluations are done via Zig, using the aforementioned thi.ng/wasm-api infrastructure to provide a new API module which can be seamlessly used with the other hybrid WASM API modules, here for DOM creation (thi.ng/wasm-api-dom) and to handle Canvas2D drawing (thi.ng/wasm-api-canvas).

    At the moment, this GenArtAPI WASM module is still a fixed part of this example, but will eventually be extracted & distributed as separate package.

    Demo (with param editor):
    demo.thi.ng/genart-api/param-e

    Choose one of the two GUI implementations, then make any parameter changes and you should see the new values applied immediately (btw. the demo is likely not very usable on mobile)...

    Source code (TypeScript in `/src`, Zig in `/zig` directories):
    github.com/thi-ng/genart-api/t

    #GenerativeArt #ArtMaking #Interop #OpenSource #Workflow #TypeScript #JavaScript

  16. More exciting updates to thi.ng/genart-api, an API for browser-based generative artworks:

    - added two list param types (numeric & string)
    - added support for composite/nested param types, esp. interesting for custom param types declared by artworks and/or platforms
    - updated the first (of two) GUI param editors in the reference implementation to support composite params
    - added new example showcasing custom & composite param types (oscillators)

    New example w/ editor (make sure to select the "imgui" editor):
    demo.thi.ng/genart-api/param-e

    Example source code:
    github.com/thi-ng/genart-api/b

    To explain a bit further: The example defines a custom oscillator parameter type, which itself consists of multiple sub-params to configure waveform, frequency, amplitude etc. Using the GenArtAPI messaging protocol, the external param editor (not knowing anything about the artwork or this custom param type) can still provide GUI widgets to customize the 2 oscillators used... Likewise, the artwork is completely decoupled from how those oscillator values are being computed or how they're customized via the editor...

    #GenArtAPI #GenerativeArt #Art #API #Interop #OpenSource #ArtMaking #Workflow #TypeScript #JavaScript

  17. Lots of new additions & improvements to the thi.ng/genart-api proposal, documentation, the reference implementation, examples and param editors this week:

    thi.ng/genart-api

    - added new (12th) parameter type: image maps (supporting grayscale or RGB)
    - added new example project using an image parameter to create artwork
    - added code example showing how an art platform (or artwork itself) might define & work with a custom parameter type (example: sine oscillator)
    - added/updated API docs (docs.thi.ng/umbrella/genart-ap)
    - started documenting API states & transitions (diagram still WIP, forthcoming)
    - initial documentation of message protocol (for communicating w/ parent window and/or external tooling)
    - simplified the pluggable time provider implementations (for animation)
    - updated the reference implementation platform adapter to support all built-in param types
    - major update GUI param editors, now allowing users to dynamically load & customize externally hosted (compatible!) artworks, and also supporting image params, custom color chooser component...

    Example editors:

    - demo.thi.ng/genart-api/param-e — either of the two editors can be used...
    - demo.thi.ng/genart-api/param-e — currently only the rdom-forms editor can be used for this and you'll need to choose an image for the other params to make sense...

    (Note: The imgui-based editor is NOT mobile friendly. Also, the editor sidebar can be toggled on/off via Escape key)

    As usual, everything's work-in-progress until further notice. Feedback welcome!

    #GenArtAPI #GenerativeArt #Art #API #Interop #OpenSource #ArtMaking #Workflow #TypeScript #JavaScript