Four steps. The registry drives the fence names, the declared capabilities, and this folder, so nothing else needs editing.
- Write the renderer in
vyasa/extensions_builtin/visuals/render.py. It takes (rows, attrs) and returns HTML carrying classes only.
- Add one
register(Visual(...)) entry in registry.py: name, summary, cell_names, the renderer, its options, and one example.
- Style it in
static/visuals.css using the --tone variable, so every theme and both colour schemes follow without further work.
- Add a case to
tests/test_visuals.py and a demo page to this folder. A test asserts every registry entry has one, so step 4 is enforced.