scmJS docs

What works, and what does not

Map files#

Status
Open and save .scm, .scx, .chk Yes. Save writes in place where the browser allows it (Chrome, Edge, the desktop app) and downloads elsewhere; the Save dialog chooses compression (PKWARE as StarEdit, zlib, none), encryption, which archive files ride along and which editor-only sections are left out, and shows what it will write first.
Preserve unmodelled sections, repeated sections and custom archive files Yes
New map, with the full section set StarEdit writes Yes
Resize and crop, with a 3×3 anchor Yes
Switch revision: StarCraft 1.00, Hybrid, Brood War, Remastered Yes
Change a map's tileset Yes, in Map Properties: ERA changes and the terrain is laid again with the new tileset's terrain (tile numbers mean something else in every tileset; the doodads go with them, everything else stays), or keep the tile numbers as SCMDraft does. Clears the undo history.
Open Recent Yes. In Chrome, Edge and the desktop app a recent map reopens from disk (the file handle is kept in the browser; it asks once before reading). Firefox and Safari keep the names and reopen through File ▸ Open.
Open a map from the file manager Yes, in the desktop app. The installers (Windows setup, .deb, AppImage, macOS) register .scm, .scx and .chk, so a double-click, "Open with", a drag onto the app's icon or a path on the command line opens the map — in the running window when one is already up. The Windows zip registers nothing (nothing is installed), but a map dragged onto scmJS.exe still opens. Dropping a map anywhere on the window works in every build, and in the browser.
In-app updates Yes, in the desktop app. It checks GitHub at startup (a preference, on by default) and offers what it finds in a notice; Help ▸ Check for Updates… asks on demand. Nothing downloads or installs without being asked. Windows, the Linux AppImage and the .deb apply the update themselves; macOS can see one but not install it until the app is code-signed, so it offers the download page instead.
More than one map open at once No. One map per tab or window; open the editor twice.

Terrain#

Status
Isometric brush Yes. Needs the map's ISOM section; the Repair plugin (on by default) rebuilds a stripped one.
Rect, Tile and Blend brushes Yes
Flood fill, fill map, pick tile Yes
Elevation and buildability overlays Yes
Water and lava animation Yes
Symmetry Yes. The Isometric, Rect and Tile brushes, the fills, the Fog brush, and placing units, sprites, doodads and locations all land on the images of the spot too (mirror, both axes, 180°, 90° and the diagonals on a square map). Moving and deleting are not mirrored, and neither is Blend.
Replace Terrain Yes. One terrain type (or one exact tile) becomes another, over the whole map or the marked area, laid as the Rect brush lays it; one undo step.
Elevation and buildability overlays Yes: ground height per minitile, unbuildable tiles hatched.
Terrain from Image Yes, as a plugin installed by default (File ▸ Import, or right-click the terrain palette / map: into Area… lets you drag the target first). File, paste, drop or URL; colour adjustments; key colours per terrain with an eyedropper; despeckle and island removal.

Objects#

Status
Doodads: catalogue, placement rules, overlays, move, delete Yes
Units: placement checks, properties, team colours, idle animation Yes
Sprites: pure and unit sprites, flags, properties Yes
Locations: create, resize, snap, rename, elevation flags Yes
Fog of war, per player Yes
Cut, copy and paste, including between maps Yes
Paint: lines, rectangles, ellipses, polygons, stars, freehand, spray, text and an eraser, out of units, sprites, doodads, terrain or fog Yes, as a plugin (on by default): Tools ▸ Paint…. Outlined or filled, spaced, jittered, per-player; one undo step each.
Find a map and open it Yes, as a plugin (scmscx.com, on by default): File ▸ Find on scmscx.com… searches the map archive by name, tileset, players and size, shows minimaps, and opens the map you pick.
Auto-place Start Locations Yes. Tools ▸ Auto-place Start Locations puts one per player on a ring or in the corners, each moved to the nearest ground the placement checks accept, as one undo step. The Melee Wizard plugin (install it from Plugins ▸ Browse Plugins…, then Tools ▸ Melee Wizard…) does the elaborate version: click where Player 1 starts and the others land on its images under the symmetry you chose, with bases.
Lock a layer Yes, in the Layers panel: a locked layer's tools stop changing the map.
Lay out a base's resources: the mineral line on the three-tile ring, the geyser past its end, for every player at once Yes, as a plugin (Melee Wizard). Press on the hall spot and drag towards the minerals; presets for main, natural and third; amounts, end-patch amounts, mineral types; spots the map refuses are shown in red and left out. Also bases at every start location in one go, a blocking patch tool, mirroring the selected units, a symmetry check and a resource summary.
See what a unit can walk: islands, unreachable pockets, the areas a map divides into and the chokes between them with widths, cliff seams with no ramp, ground distances between start locations Yes, as a plugin (Walkability, installed by default: View ▸ Walkability or Ctrl+Shift+W). Read from the VF4 minitile flags with buildings and resources as walls, drawn over the map as an overlay that stays on while you place units and follows every edit; hover reads the ground under the pointer; Tools ▸ Walkability… is the settings and the lists.

Triggers#

Status
Classic editor: every condition and action, per-item disable Yes
Text editor in SCMDraft's TrigEdit syntax Yes
Script editor: a TypeScript subset that generates triggers Yes, as a plugin (Trigger Script: install it from Plugins ▸ Browse Plugins…, then Triggers ▸ Script Editor…).
Import and export .trg and text triggers Yes
Validate triggers Yes
Mission briefings Yes: the classic editor, the text editor's Briefing mode, Find and Statistics. The field layout is checked against the briefings on Blizzard's own maps (Ground Zero, Spring Thaw), which put the portrait slot where the community reference does not. Transmission is the one action no Blizzard map uses.
Create Unit with Properties (CUWP) Yes. Triggers ▸ Unit Properties Slots… edits the 64 slots (vitals, resources, hangar, the special states), the action picks a slot by what it sets, and Check Map flags a slot that sets nothing.
EUD triggers Yes, as far as an editor without an address database goes: any raw player and unit value is accepted, the player pick has an EPD box that turns a memory address into the player value a Deaths condition or Set Deaths action needs (and shows the address a raw value reaches), Check Map points out the raw values, and the script's raw level has Memory / SetMemory.

Scenario data#

Status
Map properties, players, forces, colours (including Remastered RGB) Yes
Unit, upgrade and technology settings, with per-player availability Yes
String editor with a usage list, and unused-string cleanup Yes
Switch names Yes
Sound editor Import converts MP3, FLAC, AAC, Ogg and any WAV to PCM WAV at a chosen rate; play, remove, adopt archive files and re-encode a listed .wav all work. The editor reads every WAV encoding the game and the usual tools produce itself (8 to 32-bit PCM, float, A-law, µ-law, IMA and Microsoft ADPCM), so the game's own sounds play and convert; MP3, Ogg and FLAC go through the browser's decoders.

Tools#

Status
Check Map Yes
Find (units, locations, sprites, strings, triggers) Yes
Statistics Yes
Export the map as a PNG, from full art down to a minimap Yes
Import and export strings Yes
Plugins (Plugins ▸ Browse Plugins… / Manage Plugins…) Yes. Search the project's published plugins and install one, or load a plugin.ts from any public repository or URL; it can add menu items, context-menu entries, hotkeys, dialogs, floating panels and map tools of its own, and edit the map through undo. See docs/plugins.md.
Look at and edit the file itself: every CHK section, its bytes, what each byte means Yes, as a plugin (Section Explorer: tick it in Plugins ▸ Manage Plugins…, then Tools ▸ Section Explorer…). A hex editor with the sections listed, fields coloured and named, values edited as numbers, choices, flags or text; sections added, removed, renamed and reordered.
Repair a protected or damaged map: missing, repeated, mis-sized or hidden sections, a stripped ISOM Yes, as a plugin (Repair, on by default: it checks every map as it opens, and Tools ▸ Repair Map… runs it by hand)
Test Map Yes (Ctrl+F5). Neither StarCraft build opens a map from the outside, so Test Map writes the map into a scmJS folder under the game's Maps folder, where Single Player ▸ Custom Game lists it, and the desktop app starts the game as well. In Chrome and Edge the map goes into a folder you pick once (the game's Maps folder); other browsers download it.
Generate a map from a description, write triggers from one, explain triggers, name and describe the map, write a briefing, get a critique, translate the strings, or ask an assistant to make changes Yes, as a plugin (AI: install it from Plugins ▸ Browse Plugins…, then Tools ▸ AI). It needs a server that holds an Anthropic key — scm-js/ai-server is one to deploy — or your own key typed into its settings. Every change it makes is one undo step.

scmJS 0.1.0 · Generated from the repository. StarCraft and Brood War are trademarks of Blizzard Entertainment; this project ships none of their data.