#releasefriday — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #releasefriday, aggregated by home.social.
-
#ReleaseFriday Triggered by a recent feature proposal[1], I went ahead and polished & published a closely related, already work-in-progress (but still private) feature in https://thi.ng/rdom to support something I call "bare lists"[2]. I've started working on this for another project last year, but needed to do more testing (which I think have sufficiently done by now).
These "bare" lists are managed reactive control components which attach items directly to the list's parent DOM element instead of first creating a wrapper/container element for the items and so avoid introducing additional nesting.
There're many use cases where this additional nesting was a real problem with the earlier approach, e.g. in containers with CSS grid or flex layout, tables, or generally situations where we want to have static & reactive list items as true siblings...
The new version of thi.ng/rdom is technically a breaking change (sorry!), but the actual changes required (for you) are tiny and purely limited to the
$list()and$klist()component function calls, which are now accepting a parameter object instead of positional args for the different possible behaviors. Of course, lists with item wrapper elements can still be created too, just as before (but via new args).I've updated & tested all existing examples impacted by this change and also created a new fully commented example project (example #187) to illustrate these "bare" lists in situ (check the DOM inspector to see the shallow structure and how updates are applied):
Demo:
https://demo.thi.ng/umbrella/rdom-bare-lists/Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/rdom-bare-lists/src/index.ts[1] github.com/thi-ng/umbrella/discussions/562
[2] My use of "list" here is generic, not limited to<ul>or<ol>...#ThingUmbrella #Reactive #UI #OpenSource #TypeScript #JavaScript #WebDev
-
🥳🥳🥳
Wow, this really was a nerve wrecking, but here it is: our new EP! https://tidal.com/album/509275485/u
-
Given the number and quality of new metal releases we saw on Friday, the only appropriate reaction is to declare 10 April a national holiday worldwide. We won't see such a #releasefriday for a long time. #metal #newreleases #music
-
🔥💥OUT NOW 🔥💥
Our album 'Monument in Time' is officially released TODAY on limited edition cassette via Black Metal Archives (UK)! 🥳🖤
Only 100 hand-numbered copies available — don't sleep on this one.
✨ What you're getting:
• Recycled clear frosted cassettes
• Full colour on-body printing
• Jcard with 3 fold-out panels
• 2 exclusive bonus tracksGrab yours while they last:
https://blackmetalarchiveslabel.bandcamp.com/album/monument-in-time
or
http://ampwall.com/a/blackmetalarchiveslabel/merch/preorder-beyond-the-pale-monument-in-time-limited-edition-cassette-100-hand-numbered-copies#metal #metalmusic #bandcamp #ampwall #newmusic #newmusicalert #newmetal #newrelease #newreleasefriday #releasefriday #cassette #cassetteculture #cassettecollection #metalcollector #tapecollection #tapecollector
-
Also new in #ThingUmbrella: The new https://thi.ng/text-format-image package provides conversion/formatting for bitmap output for CLI/Terminal apps, currently only via the widely supported iTerm2 format (see readme for details). Supports JPG/PNG (possibly others, depending on terminal used) as well as https://thi.ng/pixel pixel buffers (e.g. for dynamically generated images/visualizations)
Ps. The above relies on extended ANSI sequences to submit bitmap data to the terminal. If you're after actual text/character-based image conversion, you can alternatively use the functions provided in https://thi.ng/text-canvas:
https://github.com/thi-ng/umbrella/tree/develop/packages/text-canvas#image-functions
#ReleaseFriday #TextMode #Image #CLI #TypeScript #OpenSource
-
#ReleaseFriday is still on the slow side. Just ~20 releases over all metal genres. #Kreator is the only prominent one. Still waiting for the debut of #Backengrillen, due next friday. -
#ReleaseFriday heute mit LIN, eine queer-feministische Berliner:in an Drums, Synth, Gitarre und Bass. Und Loop-Station natürlich.
Das neue Album: https://album.link/i/1842878484
#Konzert-Daten für2026: https://www.lin-music.net/live
Wer den Sound von HUNDREDS mag und sich mit Ansagen wie "We need new norms" oder "Make Queer Feminism Great Again" identifizieren kann, kommt hier voll auf seine:ihre Kosten.
#Musik #Queer #Feminismus #QueerFeminismus #Album #Berlin #LIN #LGBTQIA+ #LGBTQ
-
An update: After several failed publish attempts, more searching, (re)reading and experimenting for the past 4 hours, I've now figured out a solution using #NPM granular access tokens... But to summarize & document the issues, in case someone else encounters the same pain points:
1) There seems to be a new incompatibility between the NPM auth changes and running `yarn npm publish --access public`. After working successfully for the past 8 years, that command now gives me 404, even after re-authenticating. It just doesn't seem to pick up the auth token configured in `$HOME/.npmrc`. As result I've now switched all my publish commands to just be `npm publish --access public`. That seems to work!
2) The wording about the 50 package limit on the NPM auth token docs is very confusing: "Each token can access up to 50 organizations, and up to either 50 packages, 50 scopes, or a combination of 50 packages and scopes." As written, this reads like these limits are omnipresent for each token, but in fact one can also create tokens which can access ALL packages under your control. The 50 limit only seems to apply when creating token which is only allowed a subset...
Summa summarum, it is #ThingUmbrella #ReleaseFriday after all (updates to https://thi.ng/geom, bug fixes for https://thi.ng/args) and I can now proceed to enjoy the start of the Glühwein season on this cold Friday night... 🎉
-
#ReleaseFriday — New version 3.1.0 of the recently talked about https://thi.ng/args package, a declarative & functional CLI argument parser & app framework. I updated the arg specifications to be fully self-describing & serializable (with minor exceptions), and streamlined the API for factory functions to define the specs.
Why is this useful? For example, now I can (already have!) implemented a CLI as separate short-lived client/process which only acts as RPC frontend/proxy for the actual CLI commands defined & executed in a long running app server, which is heavily based on a plugin architecture. Each plugin can contribute any number of CLI commands, each with its own set of args/options... When the CLI client app is launched, it first retrieves a list of these registered commands and all their options from the server, then uses the https://thi.ng/args CLI framework to select the right command, validate its options or display formatted usage info. If all is ok, the command is then triggered via an HTTP request to the app server, executes there and the command's log messages are send back as response...
#ThingUmbrella #CLI #RPC #TypeScript #JavaScript #OpenSource #SoftwareArchitecture
-
New album from Pothamus launched today and it’s the perfect mix of sludge / stoner and prog to keep me captivated. This album has the power to send you on intergalactic voyages inside your own mind, but the space seas are rough and choppy!
Special note to the awesome powerful riffs on the bass that are mixed in with a presence! *Adds band on the list for Roadburn.
https://album.link/nl/i/1774028778
#SludgeMetal #ProgressiveMetal #StonerMetal #PostMetal #ReleaseFriday
-
#ReleaseFriday (1st release cycle of 2025) 🎉 — New additions & updates to https://thi.ng/genart-api, a platform-independent extensible API for browser-based computational/algorithmic/generative art projects:
- Added https://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 readmesNew adapter package `@genart-api/adapter-fxhash`:
https://github.com/thi-ng/genart-api/tree/main/packages/adapter-fxhashCommits since last release:
https://github.com/thi-ng/genart-api/compare/v0.20.0...v0.21.0#GenArtAPI #ComputationalArt #AlgorithmicArt #GenerativeArt #Art #OpenSource #Parameters #Interoperability #TypeScript #JavaScript #Genuary
-
https://thi.ng/umbrella 2024 summary
Next month #ThingUmbrella will be already 7 years old (in its current monorepo form) and thi.ng itself turn 14 — a true teenager! 😱
2024 has been a year of a lot of maintenance and the first year in a while, in which I got to put so many of these tools & libraries to work on the development of several other new (and ongoing) projects (incl. some still unannounced ones). Considering the vastly different usage contexts, each time this is also a demonstration (to myself) of just how powerful, adaptable and _composable_ many of these libraries are, and I wish I'd be able to better communicate these aspects to other people...
My deepest thanks and gratitude to my amazing supporters/sponsors, who've been enabling me to continue this work, to expand on it and actively maintain it! Some of you already for years! Love you, people — Your support means the world to these projects (and to me)! And even though I'm still a far way from being able to work fulltime on all these projects, and also had to take on some consulting work this year, I too have been trying my best to work on thi.ng projects every day this year (and almost succeeded)...
Super special thanks go out to: @avi @made @Yura @robertoranon @jeffpalmer @alesroubicek @slowdownitsfine @latrokles @rc101 and others... (Sorry if I missed any other people/supporters/users here — please ping me (again) if I don't follow you already!) 🙏😍
Some juicy/boring statistics (#ThingUmbrella only!):
In 2024 there were 1,639 commits (incl. today's release), of which:
- 467 features (29%)
- 389 documentation related (24%)
- 340 refactor & performance (21%)
- 198 build, CI, testing, restructuring (12%)
- 112 releases (7%)
- 87 bug fixes (5%)Scope:
- 200 packages/libraries/tools
- 180 standalone example projects/tools
- 520 code snippets/examples in docs (extractable via tooling)Source code:
- 4,095 source files
- 223k SLOC total, of which:
- 159k lines of code
- 64k comment lines (mostly for API docs)Readme's:
- 33% of packages with 1,000+ words
- 20% of packages with 1,500+ words
- Min: 215, max: 9,519, avg: 1,075 words3,445 Github ⭐️ (+12% in 2024)
200,675,881 NPM total downloads to date (🤯)
There're many valuable ways to support these projects: Share your usage/experience reports, tips & tricks, ask/answer questions, submit issues/PRs, create small examples, documentation/tutorials, word-of-mouth etc.
If you see value in these projects and want to support a large & mature body of open source work financially, I'm accepting contributions via: Github, Liberapay & Patreon — thank you very much for your consideration!
https://github.com/postspectacular
https://liberapay.com/thi.ng/
https://patreon.com/thing_umbrellaPs. I'm on a small single-user instance only here - any boosts are highly appreciated to increase visibility! Thank you! 🙏
#OpenSource #ReleaseFriday #SoftwareCraft #YearReview #Statistics #TypeScript #JavaScript #WebAssembly
-
#ReleaseFriday (Vol. 2) — Also new/recent updates in #ThingUmbrella:
- https://thi.ng/ramp has just received a bugfix for ramps with more than 256 keyframes. Thanks to @robertoranon for finding & reporting! 🤩🙏
- https://thi.ng/meta-css also fixes a couple of issues related to using certain characters within template/macro arguments (e.g. `:`, `=`)Last week, I also added a new feature to https://thi.ng/rstream to provide a 1:N fanout subscription type for reactive tuple values. For example, this is very useful for editing vector values via reactive UI components (using individual components per vector/tuple element)...
API docs & mini example:
https://docs.thi.ng/umbrella/rstream/functions/fromTuple.html -
#ReleaseFriday (the 13th) — New version (v0.17.0) of https://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 (https://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`.
https://demo.thi.ng/genart-api/param-editors/
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
-
#ReleaseFriday — Just released a new version of the https://thi.ng/meta-css toolchain (which includes a powerful generator for custom CSS frameworks, macro-based stylesheet syntax, dead-code elimination, bundling etc.).
The new version also includes support for `prop-name-[value]` syntax to use alongside other class macros and templates to define CSS properties and their values in a verbatim/inline manner. The readme includes a short section with an example...
https://github.com/thi-ng/umbrella/tree/develop/packages/meta-css#verbatim-property-definitions
-
CW: New Track
I actually have a new release on a #ReleaseFriday
I added another track to Dissident Discovery. This one is a Dub Techno 10 min anti-banger called "Absolutely Blissed (Full Bowl Mix)"
If you like Dub Techno, if it's 4:20 where you are, if you're too tired to dance, but can manage some gentle swaying, this track might be for you.
https://chillway.bandcamp.com/track/absolutely-blissed-full-bowl-mix
-
💥Boom! Today, September 6th, is #bandcampfriday 🔥. To celebrate, we just dropped a new #musicvideo for 'Walk the Plank'. It's packed with feisty pirates🏴☠️:
https://www.youtube.com/watch?v=J5U53BzcV48
We hope you score some killer tunes today. Check our latest release here: https://beyondthepalemetal.bandcamp.com 🤘 Happy treasure hunting! 🏹
#metal #metalmusic #release #releaseday #releasefriday #releaseradar #video #newmusic #newmusicalert -
Line must go down! Maintenance weeks are over![1]
Software maintenance, large scale refactoring, creating/improving documentation, deduplicating code are some the most boring & thankless tasks, but also so essential, especially on projects of the scale of https://thi.ng/umbrella (with almost 4100 source files)
Yesterday was #ReleaseFriday, most prominently featuring new major version & expansion of https://thi.ng/geom (and its 20+ support packages) — I will write about it more in coming days.
Part of this major release cycle also included a repo-wide round of various cleanups, incl. updating & reviewing 425 code snippets in doc strings and preparing them for extraction[2], fixing links in docs, enforcing naming conventions for package internals across all 190+ packages, deduplicating and refactoring internals in dozens of projects, updating examples, building tools to generate diagrams for readmes etc.
These have been some intense few weeks, but I'm super glad it's all done (for now)!
Happy coding! :)
[1] The hours of tech debt auto-calculated in this diagram are a bit pointless (completely OTT and containing alot of false positives), but the graph still nicely shows the effort & progress involved... Btw. the chart is from here:
https://codeclimate.com/github/thi-ng/umbrella
[2] Wherever possible, code examples/snippets in project readme's and docstrings embedded in source code can be extracted into their own source files via https://thi.ng/tangle and then run directly (e.g. via https://bun.sh). You can find more info in this section of the main readme:
#ThingUmbrella #OpenSource #Maintenance #Refactoring #TechDebt #Documentation #TypeScript #JavaScript
-
Erinnert sich noch wer (außer @codepitbull) an die Punk'n'Roller von USE TO ABUSE aus Regensburg?
Der Sänger und der Gitarrist haben jetzt eine neue Band namens RULES OF REVENGE.
Klingt wie früher 🥰
https://open.spotify.com/album/2Z6MzaR3dbP6gHbh8xb7Bv
#releasefriday #punk #usetoabuse #rulesofrevenge #bavaria #musiktipp #KoaHirnKoaSchmoizOberpfoiz
-
#ThingUmbrella #ReleaseFriday[1] 🚀 — As announced a couple of weeks ago, a lot of my recent work has been centered around async iterables and addressing the conceptual overlap between the various packages related to those, specifically: https://thi.ng/transducers-async, https://thi.ng/rstream, https://thi.ng/csp, https://thi.ng/fibers, and partially related, https://thi.ng/rdom too. Apart from the first package, until recently, none of the others had direct support for async iterables (largely for historic reasons), but they all offer similar operators & functionality (via different means), which I'm slowly consolidating where it makes sense...
Part of this pretty large undertaking has been a complete rewrite of the temporarily deprecated https://thi.ng/csp package for Communicating Sequential Processes[2] (IMHO one of the most elegant & sane ways to structure larger apps via multiple small, reasonable concurrent processes). The package is active again now (as v3+) albeit constituting a new API (new docs still WIP) and removing any direct transducer-related functionality — this is one aspect of the aforementioned consolidation and now simply assumed to be delegated to the https://thi.ng/transducers-async and/or non-async https://thi.ng/transducers packages. I've also included a new small example project showing mixed usage patterns of working with CSP channels and combining them with (async) transducers to create derived views:
Demo:
https://demo.thi.ng/umbrella/csp-bus/Source:
https://github.com/thi-ng/umbrella/blob/develop/examples/csp-bus/src/events.tsHand in hand with these major changes are smaller and still ongoing updates to https://thi.ng/rdom, which recently received partial support for embedded async iterables as reactive values inside a UI/DOM component tree. The goal for this package is to become fully decoupled from https://thi.ng/rstream and focus more on the equally powerful, but more lightweight (since part of the language) async iterables. Adapters from rstream → asynciter already exists (see docs).
Unrelated, but also part of this week's release: The new version of https://thi.ng/meta-css includes support for CSS `light-dark()`. The base framework now includes ~950 utilities & 70 functions. See readme for full list...
Happy coding! :)
[1] There're actually a lot more frequent release, but these days I'm only mentioning the more notable ones to not spam everyone...
[2] https://en.wikipedia.org/wiki/Communicating_sequential_processes
#ThingUmbrella #CSP #Async #Transducers #Reactive #UI #DOM #CSS #TypeScript #JavaScript #OpenSource
-
#ReleaseFriday 🚀 - This week's #ThingUmbrella releases are mainly related to ShaderAST & ongoing repo-wide documentation updates of all 190 packages...
https://thi.ng/shader-ast — Added polymorphic syntax sugar versions of various math ops to simplify "self-assignments" aka ops in the form of `x = x+ 2`, which would in shader AST syntax looked like `assign(x, add(x, 2))`, now `addSelf(x, 2)`... See changelog & docs for details of supported ops.
https://thi.ng/shader-ast-stdlib — The "standard library" for https://thi.ng/shader-ast has had several new additions of useful helpers & metaprogramming tools, e.g. a new `branches()` function (see screenshot) to simplify n-ary A/B testing of params (or debugging of shader outputs) as is commonly done by e.g. visualizing different versions as columns based on fragment position. Other additions include surface normal calculation from a 2D terrain/grayscale texture (e.g. for GIS or fluid sims), float packing/unpacking (to/from 8bit/channel RGBA textures as a lot of mobile devices _still_ don't support float render textures in WebGL)...
https://thi.ng/shader-ast-optimize — This package is used to apply various optimizations on a given shader AST program (or expression). Recursive constant folding has been extended to more ops & built-in functions. There's also a new wrapper function `defOptimized()` which can be used in place of `defMain()` to create auto-optimized shader main functions. The new version also has several bug fixes and more tests... See updated readme for examples.
As mentioned in earlier toots, I've also been doing several large rounds/commits of general documentation related updates/revamps, incl. updating all code examples in readmes & API docs to provide all required import statements, writing a new tooling (see below) to extract said code blocks from their original files and export them to their own source files for easier testing/trying them out from the command line. That work is only partially completed (with still hundreds of files to edit/update), but if you've got a clone of the https://thi.ng/umbrella repo, you can already try it out by running `yarn tool:tangle` (to extract examples from API docs in source files) or `yarn doc:readme` (to extract from readmes). In both cases, make sure your first build everything via `yarn build`. The tools will log where each of the examples is written to. Once I'm done, there will be ~800 example files extracted via this process... 💪
#TypeScript #JavaScript #ShaderAST #WebGL #Documentation #OpenSource
-
It's #ReleaseFriday 🚀 — This round has lots of progress and additions to the recently announced https://thi.ng/imago package for declarative image compositing and (nestable) transformations. It already supports 5 layer types (incl. SVG & dynamic text overlays), 12 transform operators and 9 output file formats, output path formatters/params. I've started adding more API docs and examples to the readme (both JSON & API) to give a better impression of what's possible & how to use it. The main use case for now is asset preparation for the static site generator of the next thi.ng website, but it's already far more expressive than that...
#ThingUmbrella #ImageProcessing #TypeScript #JavaScript #Sharp
-
#LongRead #ThingNews 01/2024
Yesterday was #ThingUmbrella #ReleaseFriday (2nd round this year), incl. updates & additions to these new/recent packages (in A-Z order):
https://thi.ng/blurhash — A fast implementation of the blurhash algorithm to create extremely compact (usually just 10-40 characters) blurred previews of images. Includes both encoder/decoder. A CLI wrapper is forthcoming. I also created an interactive online generator as new example project, allowing you to import own images & play with params:
https://demo.thi.ng/umbrella/blurhash/
---https://thi.ng/boids — Finished updates to the composable behavior architecture. Included 7 behavior building blocks (all short, simple functions) which can be freely mixed/assigned to agents to create complex behaviors. All agents are individually configurable. Behaviors are weighted and dynamically adjustable, e.g. to vary spatially or temporally, based on external stimuli etc.
Updated example project using the new API:
https://github.com/thi-ng/umbrella/tree/develop/examples/boid-basicsMany more examples of what can be done with this package (my tagged posts w/ #Boids): https://mastodon.thi.ng/@toxi/tagged/Boids
---https://thi.ng/canvas - Result of recent restructuring/cleaning/consolidating, this new small package contains helpers for canvas creation and HDPI adjustments. Features merged from https://thi.ng/adapt-dpi (now deprecated), https://thi.ng/pixel and others...
---https://thi.ng/meta-css — New CLI toolchain for creating, using and bundling custom CSS utility-class-based frameworks (similar to Tachyons, Tailwind etc.)
Differentiating factors: Uses generative & parametric grammar to define modular CSS frameworks, resulting in 100s of CSS classes (~950 are included as starting point). CSS purely used as output format. Custom stylesheet syntax to concisely assemble styles (incl. selector nesting) from the generated classes & declarations. Supports definition of arbitrary media queries, whose IDs can be used as compound prefixes to apply referenced CSS classes responsively. Supports file watching, bundling of multiple stylesheets, automatic tree-shaking. Only referenced classes & media queries are transpiled to CSS, supports pretty printing, forced includes and plain CSS includes. Extremely small & fast (33KB, incl. dependencies).
Extensive readme (3k+ words) included. Based on https://thi.ng/hiccup-css, much of this has been existing in loose form as partial tooling/experiments since 2016. Over the past 2 months I finally took the plunge to actually make this fully usable and been refining the overall workflow & features.
(Personally, this works _really_ well for me and offers the best of both worlds, i.e. using utility classes for concision, but not leading to clutter in component code, better separation & maintainability)
Several recently added examples are already using (or have been updated) to this toolchain (see pkg readme for a growing list). There're also new related build instructions in the wiki (linked from each example's readme)
---https://thi.ng/rdom — Updated many function signatures to support usage in Web Components (Shadow DOM). Added lazy loading component wrapper. Removed experimental scheduler. I never really used it and the general issue is much better solved outside, e.g. using available synchronization constructs in https://thi.ng/rstream.
Added a new super basic usage example (rdom & meta-css):
https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-web-components
---https://thi.ng/rdom-forms — Data-driven declarative HTML form/controls based around https://thi.ng/hiccup-html & https://thi.ng/rdom. The widgets are unstyled by default, but highly customizable. In addition to being aimed at rdom (for using reactive values & other attribs), it's also suitable for static HTML-generation or SSR purposes.
---More recent updates:
https://github.com/thi-ng/umbrella/blob/develop/README.md#latest-updates#OpenSource #TypeScript #JavaScript #Announcement #Boids #CSS #Reactive #UI #WebComponents #MetaCSS #RDOM
-
#HowToThing #027 — Boid/flocking simulation with spatial indexing, configurable behaviors and neighborhood queries to visualize proximity.
Key packages:
- https://thi.ng/boids: n-dimensional boid simulation with highly configurable behaviors
- https://thi.ng/timestep: deterministic fixed timestep simulation updates with state interpolation
- https://thi.ng/geom-accel: 2D hash grid spatial indexing and neighborhood region queriesThe new https://thi.ng/boids package is still in alpha (still working on the API and how the package interfaces with others), but I've been using the underlying implementation for _maaany_ projects since ~2005... The agent/boid behaviors can be highly customized via the given parameters (which can also be dynamically adjusted). As usual with thi.ng packages, the visual representation of the boids is kept completely separate from the sim. The package really only deals with the latter and essentially only processes points in space (and directions, velocities)... However, it's also this separation, which makes it more useful for many different scenarios.
Demo:
https://demo.thi.ng/umbrella/boid-basics/Source:
https://github.com/thi-ng/umbrella/blob/develop/examples/boid-basics/src/index.tsIf you have any questions about this topic or the packages used here, please reply in thread or use the discussion forum (or issue tracker):
https://github.com/thi-ng/umbrella/discussions
Ps. It's also #ReleaseFriday — check main https://thi.ng/umbrella readme for latest updates/changelogs... 🚀
#ThingUmbrella #Boids #Agents #Simulation #Graphics #TypeScript #JavaScript #GenerativeArt #OpenSource #Tutorial
-
https://thi.ng/umbrella just reached 3k stars on #GitHub, w00t! 🤩🥳🙏
Btw. It's also #ReleaseFriday today, please check readme & changelogs!
-
⚡ Something new I'm launching today to help #opensource maintainers with funding.
And the first lengthy post about funding opportunities with 24 real examples to get us started:
https://fundedby.community/funding-open-source-projects/
Boosts appreciated 🙏
#GetFunded #foss #floss #osi #linux #OpenSourceSoftware #OpenSourceCommunity #GitHub #Git #Free #InfoSec #ReleaseFriday #Announcement #Community