Plugins to read
Each plugin is its own repository with a README, built against the same API. Read the one closest to what you are writing.
| Plugin | Read it for |
|---|---|
| Hello World | The smallest complete plugin, with the toolchain set up. Copy it to start. |
| Paint | A map tool with a preview, one document.edit per stroke, a panel, and following the active palette. |
| Walkability | A read-only overlay recomputed on edit events, with a panel for the readout. |
| Terrain from Image | A dialog built from widgets, paste and drop, picking an area from a dialog, a whole picture in one edit. |
| Melee Wizard | Placing units with the editor's placement checks, and honouring symmetry. |
| Repair | Acting on the "document" event, document.sections and its repair helpers, api.text. |
| Section Explorer | Reading and writing raw sections, and api.names. |
| scmscx.com | Opening a map fetched from another site, and every waiting widget with cancellation. |
| TrigScript | Build steps, claimed triggers, a resizable panel workspace, files kept in the map, published commands. |
| TrigEdit | Printing and parsing the text format, claims, and a dialog offering a slot to other plugins. |
| Magenta | requires and a service from another plugin, document.update for single records, EUD constants. |
| eudplib | A library plugin: one versioned service, a Web Worker, a large runtime downloaded once. |
| Stamp Library | api.storage for user data, clipboard.capture, tx.paste, rendered thumbnails. |
| Trigger Map | triggers.references, a large resizable panel drawn in SVG, a button in the Trigger Editor's slot, view.goTo a trigger. |
| Timelapse | The "commit" event, graphics.renderClip, IndexedDB for large data, a preferences page. |
| Aftermath | Reading a file format of its own and drawing it over the map with an overlay. |
| API Playground | api.scope() to remove what other code registered, the plugin API's own typings in a code editor. |
| scmjs.dev | Services, its own menu, status items, docked panels, dialog slots, api.sync for shared maps. |