Disjoint Sets, Graph analysis & Signed Distance Fields

This is part 4 of an ongoing series introducing & discussing projects of the **thi.ng/umbrella** monorepo, whilst building a minigame on the side. Other parts available:

- Part 1 — Project & series overview
- Part 2 — HOFs, Transducers, Reducers
- Part 3 —Convolution, 1D/2D Cellular Automata

We finished the last part with expanding our 1D cellular automata generator to two dimensions, and in this part, we will slightly refactor this and perform several post-processing steps to extract an actually usable and playable terrain from the raw CA generated pattern/grid.

The diagram below provides a high-level overview of the processing steps required to get from our raw CA output to the version later shown to the…

1D & 2D convolutions, functional, branchless, cellular automata

This is part 3 of an ongoing series introducing & discussing projects of the thi.ng/umbrella monorepo. Other parts:

- Part 1 — Project & series overview
- Part 2 — HOFs, Transducers, Reducers, ES6 iterables
- Part 4 — Disjoint Sets, Graph analysis, Signed Distance Fields

Having covered some transducer basics and related functional programming concepts in the previous post, we are now ready to apply some of that knowledge to start creating the world for our game.

Convolutions are an interesting group of mathematical operations with many applications in audio & image processing (DSP, computer vision), machine learning (CNNs), statistics, engineering etc. In general math terms, convolution is the integral of the product of two functions ** f(t)** and

A 5k-word deep look under the bonnet of Transducer Model S

This is part 2 of an ongoing series introducing & discussing projects of the thi.ng/umbrella monorepo. Other parts:

- Part 1 — Project & series overview
- Part 3 — Convolution, 1D/2D Cellular Automata
- Part 4 — Disjoint Sets, Graph analysis, Signed Distance Fields

As promised last time, in this installment we shall lay the technical foundations used throughout the rest of this tutorial series, to prepare for some terraforming of Shroomania, the mini-game going to be built up here. However, the game itself is just used to contextualize these more generally useful-to-know concepts, which for this part are: functional programming basics (some, this is not an FP tutorial as such), ES6 iterables, reducers & transducers. …

About