Skip to content

Two layers, two labels ​

The MyWant GUI is built in two layers, and this site documents both. Every page and section says which one it is about with a label.

LabelLayerWhat it is
mywant-guiThe public appThe GUI server, the mywant-gui CLI and the web app without the canvas. Open source: onelittlenightmusic/mywant-gui.
mywant-guiexThe canvas extensionThe canvas (the board), kata, the robot cursor and the bookmarklet. Built as an extension of mywant-gui and installed beside it.

How the two fit ​

mywant-guiex is an extension of mywant-gui, not a fork of it. It is built against a mywant-gui release and installed into ~/.mywant/gui-extensions/guiex; mywant-gui loads it at startup, before its first render. Everything mywant-guiex uses from the app — the overlay library, the stores, the hooks — it reaches through the app's published modules (window.__mywantModules), so the two share one copy of each.

That makes the rule simple:

  • Anything under mywant-gui is available to every extension, including one you write.
  • Anything under mywant-guiex describes how the canvas extension uses those pieces. It is there as a worked example and so the two layers can be read side by side; the canvas's own source is not public.

Reading the labels ​

A page title carries the label of the layer the whole page is about. A section inside a page carries its own label when it is about the other layer:

Something in the app mywant-gui ​

Applies to mywant-gui itself, and so to every extension.

Something on the board mywant-guiex ​

Describes the canvas extension.