Patternflow

Features

Everything a panel does beyond showing patterns is a feature: a piece of firmware that attaches to the core without the core knowing it is there. A firmware on the shelf is a composition of them. One row each; open a row for what it needs, which firmware carries it, and a reel of it running.

Reels are embedded from Instagram and load when a row is opened; the link under each opens the post there.

How a feature reaches your panel

The tag on the row says which of three ways. Some of it is the core, in every firmware. Most of it is in a firmware on the shelf, and installing one is a click that keeps your patterns and settings. The rest is in the tree with a recipe: two files naming the features, and one command to build it.

Making one

A feature is a directory and a descriptor of hooks; it adds files and edits none of the core’s, so it takes every core update without a fight. A pull request into features/ gets it compiled by CI against every firmware and a row here; a feature kept in your own repository can be listed the same way, pointing there. The guide is FEATURE_GUIDE.md, and telling me about it works too.