Skip to content

Latest commit

 

History

2,712 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Amulet Map Editor logo

Amulet Map Editor

A free, open-source Minecraft world editor and converter for Java and Bedrock worlds.

Windows build Python 3.11+ Material Design 3 migration

Download verified Windows build 0.10.0-dev.414 · All releases · Project site source · Feature documentation · Report an issue

Contents: one-click builds · the interface · capabilities · screenshots · Windows install and updates · development · verification

Amulet opens Minecraft worlds outside the game so that you can inspect terrain, select precise regions, move builds between worlds, run block and biome operations, import or export structures, delete or regenerate chunks, and convert world data. The package metadata supports Java Edition 1.12 and newer and Bedrock Edition 1.7 and newer.

Caution

Back up every world before editing it. Close the world in Minecraft and any other editor first. Conversion can overwrite chunks in the destination world.

Two applications

This repository builds and ships two working applications against the same Python core, and it is important to be clear about which one is which:

  • The Electron desktop application (electron/, docs/site/) is what CI now publishes as the GitHub release (build-electron-windows.yml). It hosts a Material 3 renderer — the Amulet Studio design — in a frameless window, driving the real Python core through a sidecar process: a versioned, newline-delimited JSON protocol over stdio with roughly ninety registered methods. The write path (fill, replace, undo, redo, save, copy/cut/paste, structure import/export, chunk create/delete/prune, terrain operations, entity placement, level.dat/game-rule edits) is real and gated behind a destructive-action confirm. The 3D viewport is WebGL2, meshed by the unmodified Python mesher, with camera input, chunk streaming, a selection box with draggable handles, and click-to-pick ray casting. 39 of its 151 ribbon commands call a real method; the other 112 are disabled with a stated reason rather than silently inert — see the Electron migration article for exactly which is which and why.
  • The wxPython desktop application (amulet_map_editor/api/wx/, amulet_map_editor/api/studio/) is the original, long-running implementation of most of the same feature set — including the 3D viewport, which stays on PyOpenGL and is out of scope for this migration while its own open performance defect is unresolved. build-windows.yml still builds and reports its own test results on every push, but it no longer creates or uploads a release.

Both applications are described in this README and in docs/features/; a section or article that does not say which one it is about is describing the wxPython app, since that codebase and its documentation predate the Electron work by a large margin. Sections and articles under an electron-* name are always about the Electron application specifically.

One-click Windows builds

From a fresh Windows checkout, build.bat /s checks for the Python launcher and, when it is absent, installs user-scoped Python 3.11 through canonical winget when available or the official python.org installer when winget is missing. It then bootstraps the declared dependencies and installs the editable package without prompts. build-installer.bat /s runs that bootstrap, builds installer/Amulet.spec, and invokes the same unsigned Squirrel.Windows packaging path used by CI. Omit /s for phase output and the final launch choice. Neither script signs, publishes, tags, or creates a release; both report an exact failure if the canonical bootstrap route itself is unavailable.

The one-click paths were exercised locally on Windows from this checkout: build.bat /s exited 0 after resolving the declared runtime dependencies, and build-installer.bat /s produced Setup.exe, RELEASES, and Amulet-0.10.0-dev-local-full.nupkg under installer/dist/squirrel/Amulet-0.10.0-dev-local-Windows-x64. The installer output is unsigned by design; the script prints SHA-256 digests for all three artifacts. This is local packaging evidence, not a replacement for the immutable CI release record.

Amulet Studio (the wxPython interface)

This section describes the wxPython application's interface, built under amulet_map_editor/api/studio/. The Electron application also implements an Amulet Studio design (docs/site/studio.html, docs/site/studio-*.js) — a separate, independently maintained JavaScript implementation of a similar shell against the same sidecar. See the Electron migration article for that one.

The interface is a project workspace built from exactly two views, which are swapped rather than stacked.

Backstage is what the application opens on: a template gallery for starting a project, a searchable and filterable table of recent projects and worlds, an Open page listing detected Minecraft worlds beside a browse path, project info, conversion, and an All surfaces index of every window, panel, and tool the application can open.

Workspace is where a project is edited: a seventeen-tab ribbon (Home, Tools, Selection, Operations, Structures, Chunks, Terrain, Build, Entities, Data, Analyze, Redstone, Worldgen, View, Panels, Extend, Automate), a breadcrumb context bar carrying the head revision, a navigator for dimensions and selection boxes, the viewport with its overlays, a tabbed properties pane, and a status bar.

This replaced the earlier single start card plus tool strip. The world notebook that shell used still exists — it owns world loading and per-page unsaved-work protection — and is handed to the workspace viewport once a world is open, so the real renderer draws inside the new shell rather than beside it. A build whose Studio package cannot be constructed falls back to that notebook rather than opening an empty window.

How the surfaces are built, and how to add one

Most windows are data. A surface is described by a spec — an eyebrow, a title, a width, an introduction, an ordered list of sections, and footer actions — and one renderer turns that into real controls. There are sixteen section kinds: search, fields, selects, list, keys, tree, chips, checks, ranges, swatches, progress, keygate, code, note, commits, texture.

Adding a window is one spec entry plus one line in the surface index. It then appears in the backstage's All surfaces page, in the command palette, and as a valid target for a ribbon tile or a context-menu row, with no new markup.

Two surfaces are hand-built because the renderer cannot express them: the NBT editor (three panes, with a control matched to each of the twelve tag types) and the Memory Console (a thirteen-view rail, a card grid, and a two-pane documentation reader).

Read docs/features/spec-renderer/README.md for the full contract.

Cross-cutting behaviour every surface shares
  • Every search field is the same field: plain text by default, a regex opt-in, a .* builder anchored beside it, and an honest feedback line. An invalid pattern is reported and matches nothing rather than being silently ignored.
  • Every dropdown is searchable, and every right-click menu is searchable and shows each item's real keyboard shortcut.
  • Ctrl+Shift+F opens the command palette over every surface, command, and setting, reading the same registries the rest of the shell reads.
  • Every project owns an isolated Git repository beside its world data, which is what makes undo depth unlimited. Restoring writes a new revision rather than rewinding, so the state you restored from stays undoable.
  • Anything irreversible passes a two-key gate with a full-range slider and an always-available emergency exit.
  • Texture previews are generated placeholder swatches and say so. A real texture comes from a loaded Minecraft installation, a resource pack, or a PNG dropped on the slot.
  • Nothing reaches the network at runtime. Fonts fall back through a local candidate list; there is no sign-in, telemetry, or cloud storage.
  • Nobody ever pays. No purchase, licence, subscription, trial, or unlock, and no prompt asking for one.
Material Design 3 and global-interface foundations

The 0.10 source line is being modernized without pretending that the migration is already complete. The foundations currently checked into this repository include:

  • the Amulet Studio token layer — fourteen colour roles in a light and a dark palette, three density heights (32, 36, 44), the spacing and radius scales, and a local-only font fallback chain;
  • the shared wxPython Material 3 role layer still serving the dialogs that predate the Studio, reading the same persisted appearance profile;
  • persisted English, playful Hong Kong Cantonese, and bilingual language modes;
  • independent English and Cantonese voice-level controls from 1 to 5, plus a dialog-emoji preference;
  • persisted light, dark, and system themes; compact, comfortable, and spacious density; accent color; UI font; and 80–200% UI scaling;
  • a wx-independent, versioned named appearance-preset foundation with strict JSON export/import plus native Appearance-tab load, save, import, export, and staged per-property or appearance-only global reset controls;
  • a tabbed native Preferences dialog with searchable settings, a bounded Python re builder, and a Ctrl+Shift+F command palette;
  • a shared School-mode presentation lock with a renamed label, salted unlock verifier, and native controls that remove inapplicable language settings;
  • a persisted notification history with search, bulk dismissal, and Markdown export;
  • a native scheduled-settings editor and versioned local rule engine for language, theme, density, and accent overrides, including priorities, weekdays, date ranges, time windows, and deterministic precedence;
  • a non-blocking Windows update-status bridge restricted to the project's exact immutable HTTPS release route, with explicit unsigned-package warnings;
  • a safe external-editor bridge that discovers Visual Studio Code installations, persists a validated executable, and opens exported folders as workspace roots;
  • a bounded startup dim-sum surprise foundation that reads authoritative dish names from the public catalog without copying or vendoring photos; and
  • a dependency-free Material 3 site shell with tabs, feature and settings search, an attached bounded regex builder with flags, sample text, and capture feedback, persisted appearance controls, responsive layouts, focus states, and reduced-motion support.

These are source and automated-test claims. No runtime capture of the Amulet Studio interface exists yet, so nothing here is pixel evidence for it.

Relevant source and contracts:

Start here

What Amulet can do

Area Capabilities in this source tree
World access Discover Java and Bedrock worlds, open a world from another folder, keep several projects in the recent table, and switch between dimensions from the navigator.
2D and 3D editing Navigate rendered terrain, inspect blocks, change projection, and create one or more selection boxes with direct coordinate controls.
Selection workflow Copy, cut, delete, paste, translate, rotate, scale, mirror, and move selected structures. Copied data can move between simultaneously open worlds.
Stock operations Clone, fill, replace, set biome, and waterlog selected regions; the operation framework also supports project-specific Python extensions.
Terrain and build Sculpt, smooth, flatten, erode, noise-fill, repaint, and regenerate terrain; place patterns, stacks and arrays, structures, waypoints, matched nether portals, and a fully specified rail tunnel with its own lighting designer.
World data Browse and edit entities, players, signs, command blocks, game rules, scoreboards, map items and level.dat, with a dedicated NBT editor carrying a control matched to each of the twelve tag types.
Analysis Block histograms, chunk inspection, biome maps, relighting, world comparison, validation and repair, measurement, layer slicing, redstone and rail tracing, spawn and light analysis, and worldgen tools.
Structure files Import supported structures and export .construction, .mcstructure, legacy .schematic, and Sponge .schem data through format-specific handlers.
Chunk tools Select chunks, delete selected chunks, or delete everything outside the selected area so Minecraft can regenerate it.
World conversion Merge source-world chunks into a chosen destination world through Amulet's format translation layer. Destination chunks at matching coordinates are overwritten.
Editing history Per-project Git-backed history with unlimited undo depth; restoring writes a new revision rather than rewinding.
Delivery Build PyInstaller bundles and produce unsigned Squirrel.Windows Setup.exe, RELEASES, and full .nupkg assets.

The table above describes the wxPython application, which implements the largest surface. The Electron application, which is what CI now publishes, covers a real but smaller slice today:

Area What the Electron app does today
World access Open a real world by path, read its identity and per-dimension bounds, browse the recent-projects store, and close it.
Viewport Render real chunks in WebGL2 from the unmodified Python mesher, with camera movement, frustum-culled batched streaming, a selection box with draggable handles, click-to-pick ray casting against a real occupancy bitset, and a reference grid.
Editing Fill, replace, undo, redo, save, copy, cut, paste, delete a selection, import/export a structure, create/delete/prune chunks, flatten/sea-level/repaint terrain, place/remove entities, and write level.dat fields and game rules — every one gated behind the destructive-action confirm gate.
Analysis Block histograms, chunk inventory, entity counts, and a block-namespace audit, all read-only.
Settings and security Preferences, language, appearance presets, per-surface toy locks, and the built-in authenticator, through the same OS credential vault the wx app uses.
Not yet wired Roughly two-thirds of the ribbon's commands — brushes, most structure-file operations, NBT search, redstone tracing, and most of the rest of the design's twelve editing surfaces — because this build has no terrain generator, shape library, portable biome table, or light-recalculation API to back them. Each renders permanently disabled with its exact reason rather than doing nothing silently.

Screenshots

The current interface

Every image below is a real capture of the built interface as it stood at commit 1d4215e1 — that is the checkout the run photographed — taken by scripts/capture_studio_surfaces.py as it stands in the commit that ships this matrix. None is a mockup, a design file, or a retouched image.

Those two can be different commits, and saying so is the point. A capture has to exist before the commit that contains it, so the stamp names the tree that was photographed rather than the tree the pictures landed in; and when a run is what proves a change to the harness, the harness that took the pictures is newer than the stamp on them. An earlier matrix stamped every row with a commit whose copy of the harness could not produce 129 of the images in it, which is the same sentence read as a promise it never made.

This run went out over a clean checkout of that commit.

271 surfaces captured. 3 could not be captured — listed at the end, with why.

The capture asks each widget to draw itself rather than reading the screen, so the run needs no visible desktop and cannot photograph a window someone happened to drag over it. A surface whose controls could not draw is reported as a failure and its file deleted, because a blank capture is worse than none: it looks like evidence.

Menus, dropdowns and popovers are photographed open, with their rows drawn. They are opened through the application's own openers and shown where no display covers them, because a popup grabs the mouse and the keyboard and a capture run must not take those from the machine it runs on.

Backstage — 6 surfaces

backstage.account — 1584x921, light theme, comfortable density

Amulet Studio backstage, account tab, in the light theme.

backstage.convert — 1584x921, light theme, comfortable density

Amulet Studio backstage, convert tab, in the light theme.

backstage.features — 1584x921, light theme, comfortable density

Amulet Studio backstage, features tab, in the light theme.

backstage.home — 1584x921, light theme, comfortable density

Amulet Studio backstage, home tab, in the light theme.

backstage.info — 1584x921, light theme, comfortable density

Amulet Studio backstage, info tab, in the light theme.

backstage.open — 1584x921, light theme, comfortable density

Amulet Studio backstage, open tab, in the light theme.

Workspace — 5 surfaces

workspace.navigator — 176x687, light theme, comfortable density

The Amulet Studio workspace navigator, in the light theme.

workspace.properties — 240x687, light theme, comfortable density

The Amulet Studio workspace properties, in the light theme.

workspace.ribbon — 1584x200, light theme, comfortable density

The Amulet Studio workspace ribbon, in the light theme.

workspace.status — 1156x34, light theme, comfortable density

The Amulet Studio workspace status, in the light theme.

workspace.viewport — 1156x653, light theme, comfortable density

The Amulet Studio workspace viewport, in the light theme.

Ribbon tabs — 17 surfaces

ribbon.analyze — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the analyze tab selected and its panel open, in the light theme.

ribbon.automate — 1584x215, light theme, comfortable density

The Amulet Studio ribbon with the automate tab selected and its panel open, in the light theme.

ribbon.build — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the build tab selected and its panel open, in the light theme.

ribbon.chunks — 1584x215, light theme, comfortable density

The Amulet Studio ribbon with the chunks tab selected and its panel open, in the light theme.

ribbon.data — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the data tab selected and its panel open, in the light theme.

ribbon.entities — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the entities tab selected and its panel open, in the light theme.

ribbon.extend — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the extend tab selected and its panel open, in the light theme.

ribbon.home — 1584x200, light theme, comfortable density

Pixel-identical to workspace.ribbon: the same popover, opened from a different host. One file, shown again rather than counted again.

The Amulet Studio ribbon with the home tab selected and its panel open, in the light theme.

ribbon.operations — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the operations tab selected and its panel open, in the light theme.

ribbon.panels — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the panels tab selected and its panel open, in the light theme.

ribbon.redstone — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the redstone tab selected and its panel open, in the light theme.

ribbon.selection — 1584x325, light theme, comfortable density

The Amulet Studio ribbon with the selection tab selected and its panel open, in the light theme.

ribbon.structures — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the structures tab selected and its panel open, in the light theme.

ribbon.terrain — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the terrain tab selected and its panel open, in the light theme.

ribbon.tools — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the tools tab selected and its panel open, in the light theme.

ribbon.view — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the view tab selected and its panel open, in the light theme.

ribbon.worldgen — 1584x200, light theme, comfortable density

The Amulet Studio ribbon with the worldgen tab selected and its panel open, in the light theme.

Context menus — 9 surfaces

menu.boxes — 300x390, light theme, comfortable density

The Selection boxes right-click menu, open, showing its search field, its counted feedback line and its 9 rows with their keyboard shortcuts, in the light theme.

menu.navigator — 300x390, light theme, comfortable density

The Navigator right-click menu, open, showing its search field, its counted feedback line and its 10 rows with their keyboard shortcuts, in the light theme.

menu.pane — 300x348, light theme, comfortable density

The Properties pane right-click menu, open, showing its search field, its counted feedback line and its 7 rows with their keyboard shortcuts, in the light theme.

menu.recent — 300x348, light theme, comfortable density

The Recent project right-click menu, open, showing its search field, its counted feedback line and its 7 rows with their keyboard shortcuts, in the light theme.

menu.ribbon — 300x390, light theme, comfortable density

The Ribbon right-click menu, open, showing its search field, its counted feedback line and its 9 rows with their keyboard shortcuts, in the light theme.

menu.statusbar — 300x382, light theme, comfortable density

The Status bar right-click menu, open, showing its search field, its counted feedback line and its 8 rows with their keyboard shortcuts, in the light theme.

menu.tab — 300x348, light theme, comfortable density

The Tab right-click menu, open, showing its search field, its counted feedback line and its 7 rows with their keyboard shortcuts, in the light theme.

menu.tabGroup — 300x348, light theme, comfortable density

The Tab group right-click menu, open, showing its search field, its counted feedback line and its 7 rows with their keyboard shortcuts, in the light theme.

menu.viewport — 300x390, light theme, comfortable density

The Viewport right-click menu, open, showing its search field, its counted feedback line and its 20 rows with their keyboard shortcuts, in the light theme.

Overlays — 8 surfaces

palette.card — 660x620, light theme, comfortable density

The Ctrl+Shift+F command palette in its card presentation, showing its search field, its result count and its result rows with their live controls, in the light theme.

palette.full — 1536x936, light theme, comfortable density

The Ctrl+Shift+F command palette in its full presentation, showing its search field, its result count and its result rows with their live controls, in the light theme.

picker.moveIntoGroup — 300x228, light theme, comfortable density

The Move into group picker, open, showing its search field, its empty state, reading that there are no tab groups yet and one must be created to move this tab into, the leave-it-ungrouped row and the create-a-group action, in the light theme.

popup.tabOverflow — 283x603, light theme, comfortable density

The ribbon tab overflow list, open on a narrowed window, showing its search field and the 16 tabs the strip could not fit, in the light theme.

regexBuilder.dropdown — 380x341, light theme, comfortable density

The anchored regular-expression builder opened from a search field on the Format dropdown on the structures ribbon tab, showing its Pattern, Flags and Sample text fields, its plain-text-search feedback line, its match preview reading that a pattern must be typed to see what it matches, and its Cancel and Apply pattern actions, in the light theme.

regexBuilder.menu — 380x341, light theme, comfortable density

Pixel-identical to regexBuilder.dropdown: the same popover, opened from a different host. One file, shown again rather than counted again.

The anchored regular-expression builder opened from a search field on the Navigator right-click menu, showing its Pattern, Flags and Sample text fields, its plain-text-search feedback line, its match preview reading that a pattern must be typed to see what it matches, and its Cancel and Apply pattern actions, in the light theme.

regexBuilder.palette — 380x341, light theme, comfortable density

Pixel-identical to regexBuilder.dropdown: the same popover, opened from a different host. One file, shown again rather than counted again.

The anchored regular-expression builder opened from a search field on the command palette, showing its Pattern, Flags and Sample text fields, its plain-text-search feedback line, its match preview reading that a pattern must be typed to see what it matches, and its Cancel and Apply pattern actions, in the light theme.

regexBuilder.panel — 380x341, light theme, comfortable density

Pixel-identical to regexBuilder.dropdown: the same popover, opened from a different host. One file, shown again rather than counted again.

The anchored regular-expression builder opened from a search field on a Studio panel, showing its Pattern, Flags and Sample text fields, its plain-text-search feedback line, its match preview reading that a pattern must be typed to see what it matches, and its Cancel and Apply pattern actions, in the light theme.

Dropdowns — 113 surfaces

dropdown.batchQueue.Policy — 357x187, light theme, comfortable density

The Policy dropdown on the Batch queue surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.batchQueue.Report — 357x187, light theme, comfortable density

The Report dropdown on the Batch queue surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.blockSelect.Namespace — 329x155, light theme, comfortable density

The Namespace dropdown on the Select block surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.blockSelect.Platform and version — 328x155, light theme, comfortable density

The Platform and version dropdown on the Select block surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.brushSettings.Brush mode — 318x340, light theme, comfortable density

The Brush mode dropdown on the Brush surface, open, showing its search field and its 8 options with the current choice marked, in the light theme.

dropdown.brushSettings.Fill block — 319x251, light theme, comfortable density

The Fill block dropdown on the Brush surface, open, showing its search field and its 5 options with the current choice marked, in the light theme.

dropdown.brushSettings.Replace block — 318x219, light theme, comfortable density

The Replace block dropdown on the Brush surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.cloneTool.Mirror — 309x219, light theme, comfortable density

The Mirror dropdown on the Clone surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.cloneTool.Rotation — 308x251, light theme, comfortable density

The Rotation dropdown on the Clone surface, open, showing its search field and its 5 options with the current choice marked, in the light theme.

dropdown.cloneTool.Scale — 308x219, light theme, comfortable density

The Scale dropdown on the Clone surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.controls.Key group — 667x219, light theme, comfortable density

The Key group dropdown on the Key Select surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.cutawayView.Axis — 287x187, light theme, comfortable density

The Axis dropdown on the Cutaway surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.cutawayView.Side kept — 287x155, light theme, comfortable density

The Side kept dropdown on the Cutaway surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.elementAppearance.Font family — 289x187, light theme, comfortable density

The Font family dropdown on the Edit appearance surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.elementAppearance.Font weight — 288x187, light theme, comfortable density

The Font weight dropdown on the Edit appearance surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.erosion.Deposit — 277x187, light theme, comfortable density

The Deposit dropdown on the Erosion surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.erosion.Type — 277x187, light theme, comfortable density

The Type dropdown on the Erosion surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.exportStructure.Handler — 277x219, light theme, comfortable density

The Handler dropdown on the Export selection surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.exportStructure.Platform — 277x155, light theme, comfortable density

The Platform dropdown on the Export selection surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.findReplaceBlocks.Search in — 348x187, light theme, comfortable density

The Search in dropdown on the Blocks surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.findReplaceBlocks.State matching — 349x187, light theme, comfortable density

The State matching dropdown on the Blocks surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.findReplaceCommands.Coordinates — 358x187, light theme, comfortable density

The Coordinates dropdown on the Commands surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.findReplaceCommands.Offset — 359x155, light theme, comfortable density

The Offset dropdown on the Commands surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.findReplaceNbt.Match — 359x219, light theme, comfortable density

The Match dropdown on the NBT surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.findReplaceNbt.Tag type — 358x315, light theme, comfortable density

The Tag type dropdown on the NBT surface, open, showing its search field and its 7 options with the current choice marked, in the light theme.

dropdown.flatten.Direction — 260x187, light theme, comfortable density

The Direction dropdown on the Flatten to height surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.flatten.Edge — 260x187, light theme, comfortable density

The Edge dropdown on the Flatten to height surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.floodFill.Direction — 279x187, light theme, comfortable density

The Direction dropdown on the Flood fill surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.floodFill.Neighbours — 278x187, light theme, comfortable density

The Neighbours dropdown on the Flood fill surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.floodFill.Replace with — 279x219, light theme, comfortable density

The Replace with dropdown on the Flood fill surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.floodFill.Search block — 278x219, light theme, comfortable density

The Search block dropdown on the Flood fill surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.fourUpView.Bottom left — 307x219, light theme, comfortable density

The Bottom left dropdown on the Four-up split surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.fourUpView.Bottom right — 307x219, light theme, comfortable density

The Bottom right dropdown on the Four-up split surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.fourUpView.Top left — 307x251, light theme, comfortable density

The Top left dropdown on the Four-up split surface, open, showing its search field and its 5 options with the current choice marked, in the light theme.

dropdown.fourUpView.Top right — 307x219, light theme, comfortable density

The Top right dropdown on the Four-up split surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.generateTool.Generator — 328x315, light theme, comfortable density

The Generator dropdown on the Generate surface, open, showing its search field and its 7 options with the current choice marked, in the light theme.

dropdown.generateTool.Leaf block — 329x187, light theme, comfortable density

The Leaf block dropdown on the Generate surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.generateTool.Output — 329x155, light theme, comfortable density

The Output dropdown on the Generate surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.generateTool.Trunk block — 328x187, light theme, comfortable density

The Trunk block dropdown on the Generate surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.importMap.Dithering — 326x187, light theme, comfortable density

The Dithering dropdown on the Import map image surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.importMap.Import as — 328x187, light theme, comfortable density

The Import as dropdown on the Import map image surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.importMap.Palette — 328x219, light theme, comfortable density

The Palette dropdown on the Import map image surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.inspector.Follow — 339x155, light theme, comfortable density

The Follow dropdown on the Inspector surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.inspector.Inspecting — 338x251, light theme, comfortable density

The Inspecting dropdown on the Inspector surface, open, showing its search field and its 5 options with the current choice marked, in the light theme.

dropdown.inventoryEditor.Inventory — 348x251, light theme, comfortable density

The Inventory dropdown on the Inventory editor surface, open, showing its search field and its 5 options with the current choice marked, in the light theme.

dropdown.inventoryEditor.Item type — 349x251, light theme, comfortable density

The Item type dropdown on the Inventory editor surface, open, showing its search field and its 5 options with the current choice marked, in the light theme.

dropdown.lightOverlay.Channel — 307x219, light theme, comfortable density

The Channel dropdown on the Light levels surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.lightOverlay.Display — 307x187, light theme, comfortable density

The Display dropdown on the Light levels surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.logView.Minimum level — 367x219, light theme, comfortable density

The Minimum level dropdown on the Log surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.logView.Source — 367x251, light theme, comfortable density

The Source dropdown on the Log surface, open, showing its search field and its 5 options with the current choice marked, in the light theme.

dropdown.macroRecorder.Anchor — 327x187, light theme, comfortable density

The Anchor dropdown on the Macro recorder surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.macroRecorder.Repeat — 327x187, light theme, comfortable density

The Repeat dropdown on the Macro recorder surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.minecraftInstalls.Resource pack — 347x219, light theme, comfortable density

The Resource pack dropdown on the Minecraft installs surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.minecraftInstalls.Version — 347x219, light theme, comfortable density

The Version dropdown on the Minecraft installs surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.narrator.Backend — 277x155, light theme, comfortable density

The Backend dropdown on the Narrator and voice surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.narrator.Narrator language — 277x187, light theme, comfortable density

The Narrator language dropdown on the Narrator and voice surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.noiseGen.Noise — 287x219, light theme, comfortable density

The Noise dropdown on the Noise fill surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.noiseGen.Output — 287x187, light theme, comfortable density

The Output dropdown on the Noise fill surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.patternMask.Applies to — 299x187, light theme, comfortable density

The Applies to dropdown on the Pattern and mask surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.patternMask.Match — 298x251, light theme, comfortable density

The Match dropdown on the Pattern and mask surface, open, showing its search field and its 5 options with the current choice marked, in the light theme.

dropdown.portalBuilder.Corners — 378x155, light theme, comfortable density

The Corners dropdown on the Nether portal travel builder surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.portalBuilder.Frame block — 379x187, light theme, comfortable density

The Frame block dropdown on the Nether portal travel builder surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.portalBuilder.Orientation — 379x155, light theme, comfortable density

The Orientation dropdown on the Nether portal travel builder surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.portalBuilder.Size — 378x219, light theme, comfortable density

The Size dropdown on the Nether portal travel builder surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.presets.Property — 337x251, light theme, comfortable density

The Property dropdown on the Appearance presets surface, open, showing its search field and its 5 options with the current choice marked, in the light theme.

dropdown.presets.Scope — 337x187, light theme, comfortable density

The Scope dropdown on the Appearance presets surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.railTunnel.Accent columns — 386x219, light theme, comfortable density

The Accent columns dropdown on the Rail tunnel builder surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.railTunnel.Alcoves — 386x187, light theme, comfortable density

The Alcoves dropdown on the Rail tunnel builder surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.railTunnel.Backing — 389x219, light theme, comfortable density

The Backing dropdown on the Rail tunnel builder surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.railTunnel.Body pattern — 391x251, light theme, comfortable density

The Body pattern dropdown on the Rail tunnel builder surface, open, showing its search field and its 5 options with the current choice marked, in the light theme.

dropdown.railTunnel.Column block — 391x219, light theme, comfortable density

The Column block dropdown on the Rail tunnel builder surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.railTunnel.Cross-section — 388x219, light theme, comfortable density

The Cross-section dropdown on the Rail tunnel builder surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.railTunnel.Dimension — 388x155, light theme, comfortable density

The Dimension dropdown on the Rail tunnel builder surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.railTunnel.Fixture block — 388x315, light theme, comfortable density

The Fixture block dropdown on the Rail tunnel builder surface, open, showing its search field and its 7 options with the current choice marked, in the light theme.

dropdown.railTunnel.Floor block — 388x187, light theme, comfortable density

The Floor block dropdown on the Rail tunnel builder surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.railTunnel.Placement — 388x251, light theme, comfortable density

The Placement dropdown on the Rail tunnel builder surface, open, showing its search field and its 5 options with the current choice marked, in the light theme.

dropdown.railTunnel.Rib block — 389x187, light theme, comfortable density

The Rib block dropdown on the Rail tunnel builder surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.railTunnel.Ribs — 388x187, light theme, comfortable density

The Ribs dropdown on the Rail tunnel builder surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.railTunnel.Roof block — 389x187, light theme, comfortable density

The Roof block dropdown on the Rail tunnel builder surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.railTunnel.Roof block — 389x219, light theme, comfortable density

The Roof block dropdown on the Rail tunnel builder surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.railTunnel.Routing — 388x219, light theme, comfortable density

The Routing dropdown on the Rail tunnel builder surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.railTunnel.Shape — 388x283, light theme, comfortable density

The Shape dropdown on the Rail tunnel builder surface, open, showing its search field and its 6 options with the current choice marked, in the light theme.

dropdown.railTunnel.Side — 389x219, light theme, comfortable density

The Side dropdown on the Rail tunnel builder surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.railTunnel.Slope handling — 389x187, light theme, comfortable density

The Slope handling dropdown on the Rail tunnel builder surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.railTunnel.Wall block — 389x219, light theme, comfortable density

The Wall block dropdown on the Rail tunnel builder surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.redstoneTrace.Action — 348x219, light theme, comfortable density

The Action dropdown on the Circuit trace surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.redstoneTrace.Wiring — 349x155, light theme, comfortable density

The Wiring dropdown on the Circuit trace surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.relight.Area — 277x187, light theme, comfortable density

The Area dropdown on the Relight surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.relight.Light type — 277x187, light theme, comfortable density

The Light type dropdown on the Relight surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.removeEntities.Category — 277x283, light theme, comfortable density

The Category dropdown on the Remove entities surface, open, showing its search field and its 6 options with the current choice marked, in the light theme.

dropdown.removeEntities.Named entities — 277x187, light theme, comfortable density

The Named entities dropdown on the Remove entities surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.ribbon-structures.Format — 260x219, light theme, comfortable density

The Format dropdown on the structures ribbon tab, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.ribbon-view.Density — 260x187, light theme, comfortable density

The Density dropdown on the view ribbon tab, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.seaLevel.Action — 260x187, light theme, comfortable density

The Action dropdown on the Sea level surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.seaLevel.Enclosure — 260x155, light theme, comfortable density

The Enclosure dropdown on the Sea level surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.spawnAnalysis.Show — 348x219, light theme, comfortable density

The Show dropdown on the Mob spawn analysis surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.spawnAnalysis.Time — 349x187, light theme, comfortable density

The Time dropdown on the Mob spawn analysis surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.stackArray.Axis — 287x219, light theme, comfortable density

The Axis dropdown on the Stack and array surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.stackArray.Layout — 287x187, light theme, comfortable density

The Layout dropdown on the Stack and array surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.surfacePaint.Blend — 287x187, light theme, comfortable density

The Blend dropdown on the Repaint surface surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.surfacePaint.Driven by — 287x219, light theme, comfortable density

The Driven by dropdown on the Repaint surface surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.tabManager.Group state — 379x155, light theme, comfortable density

The Group state dropdown on the Tabs, groups, and safe closing surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.tabManager.Tab strip edge — 378x219, light theme, comfortable density

The Tab strip edge dropdown on the Tabs, groups, and safe closing surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.terrainBrush.Brush shape — 288x219, light theme, comfortable density

The Brush shape dropdown on the Terrain brush surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.terrainBrush.Falloff — 289x219, light theme, comfortable density

The Falloff dropdown on the Terrain brush surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.toolSettings.On activation — 317x155, light theme, comfortable density

The On activation dropdown on the Tool settings surface, open, showing its search field and its 2 options with the current choice marked, in the light theme.

dropdown.toolSettings.Tool — 317x340, light theme, comfortable density

The Tool dropdown on the Tool settings surface, open, showing its search field and its 9 options with the current choice marked, in the light theme.

dropdown.versionSelect.Data version — 260x219, light theme, comfortable density

The Data version dropdown on the Select version surface, open, showing its search field and its 4 options with the current choice marked, in the light theme.

dropdown.versionSelect.Platform — 260x187, light theme, comfortable density

The Platform dropdown on the Select version surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.viewControls.Control scheme — 319x187, light theme, comfortable density

The Control scheme dropdown on the View settings surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.viewControls.View type — 318x283, light theme, comfortable density

The View type dropdown on the View settings surface, open, showing its search field and its 6 options with the current choice marked, in the light theme.

dropdown.workPlane.Axis — 277x187, light theme, comfortable density

The Axis dropdown on the Work plane surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

dropdown.workPlane.Snap — 277x187, light theme, comfortable density

The Snap dropdown on the Work plane surface, open, showing its search field and its 3 options with the current choice marked, in the light theme.

Surfaces — 113 surfaces

about — 640x633, light theme, comfortable density

The About surface (Currently opened world), showing its window search and 2 sections, in the light theme.

analyzeTool — 740x736, light theme, comfortable density

The Analyze surface (Analysis), showing its window search and 3 sections, in the light theme.

batchQueue — 760x780, light theme, comfortable density

The Batch queue surface (Automation), showing its window search and 3 sections, in the light theme.

biomeMap — 720x342, light theme, comfortable density

The Biome map surface (Analysis), showing its window search and 2 sections, in the light theme.

biomeSelect — 620x533, light theme, comfortable density

The Select biome surface (Biome picker), showing its window search and 2 sections, in the light theme.

blockAudit — 740x432, light theme, comfortable density

The Block state audit surface (Blocks), showing its window search and 4 sections, in the light theme.

blockHistogram — 720x342, light theme, comfortable density

The Block histogram surface (Analysis), showing its window search and 2 sections, in the light theme.

blockSelect — 720x780, light theme, comfortable density

The Select block surface (Block picker), showing its window search and 5 sections, in the light theme.

brushSettings — 700x780, light theme, comfortable density

The Brush surface (Tools), showing its window search and 5 sections, in the light theme.

brushTool — 640x780, light theme, comfortable density

The Shape brush surface (Build), showing its window search and 4 sections, in the light theme.

caveMap — 700x730, light theme, comfortable density

The Cave coverage surface (Worldgen), showing its window search and 3 sections, in the light theme.

chunkInspector — 780x342, light theme, comfortable density

The Chunk inspector surface (Analysis), showing its window search and 3 sections, in the light theme.

cloneTool — 680x780, light theme, comfortable density

The Clone surface (Tools), showing its window search and 3 sections, in the light theme.

commandFinder — 760x342, light theme, comfortable density

The Command blocks surface (Data), showing its window search and 4 sections, in the light theme.

configureBlocks — 740x780, light theme, comfortable density

The Configure blocks surface (Pickers), showing its window search and 4 sections, in the light theme.

confirm — 520x601, light theme, comfortable density

The Delete unselected chunks surface (Safety gate), showing its window search and 2 sections, in the light theme.

controls — 720x780, light theme, comfortable density

The Key Select surface (Key configuration), showing its window search and 3 sections, in the light theme.

convertProgress — 600x578, light theme, comfortable density

The Converting world surface (World conversion), showing its window search and 3 sections, in the light theme.

cutawayView — 620x584, light theme, comfortable density

The Cutaway surface (View), showing its window search and 2 sections, in the light theme.

dimsum — 520x660, light theme, comfortable density

The Har gow · 蝦餃 surface (Startup surprise), showing its window search and 2 sections, in the light theme.

docs — 820x780, light theme, comfortable density

The Documentation surface (Offline bundle), showing its window search and 3 sections, in the light theme.

editChunkTool — 700x780, light theme, comfortable density

The Edit chunk surface (Tools), showing its window search and 4 sections, in the light theme.

elementAppearance — 640x780, light theme, comfortable density

The Edit appearance surface (Per-element appearance), showing its window search and 5 sections, in the light theme.

entityBrowser — 800x432, light theme, comfortable density

The Entity browser surface (Entities), showing its window search and 6 sections, in the light theme.

entityEdit — 660x780, light theme, comfortable density

The Edit entity surface (Entities), showing its window search and 4 sections, in the light theme.

erosion — 600x706, light theme, comfortable density

The Erosion surface (Sculpt), showing its window search and 3 sections, in the light theme.

errorReport — 680x705, light theme, comfortable density

The Unexpected error surface (Diagnostics), showing its window search and 3 sections, in the light theme.

exportStructure — 600x547, light theme, comfortable density

The Export selection surface (Structure files), showing its window search and 3 sections, in the light theme.

externalEditor — 620x725, light theme, comfortable density

The External editor surface (Safe bridge), showing its window search and 3 sections, in the light theme.

findReplaceBlocks — 760x780, light theme, comfortable density

The Blocks surface (Find and replace), showing its window search and 4 sections, in the light theme.

findReplaceCommands — 780x780, light theme, comfortable density

The Commands surface (Find and replace), showing its window search and 5 sections, in the light theme.

findReplaceNbt — 780x780, light theme, comfortable density

The NBT surface (Find and replace), showing its window search and 4 sections, in the light theme.

flatten — 560x377, light theme, comfortable density

The Flatten to height surface (Sculpt), showing its window search and 2 sections, in the light theme.

floodFill — 620x780, light theme, comfortable density

The Flood fill surface (Tools), showing its window search and 4 sections, in the light theme.

forceLoaded — 700x342, light theme, comfortable density

The Force-loaded chunks surface (Boundaries), showing its window search and 2 sections, in the light theme.

fourUpView — 660x659, light theme, comfortable density

The Four-up split surface (View), showing its window search and 2 sections, in the light theme.

gamerules — 700x294, light theme, comfortable density

The Game rules surface (Data), showing its window search and 4 sections, in the light theme.

generateTool — 720x780, light theme, comfortable density

The Generate surface (Tools), showing its window search and 5 sections, in the light theme.

goto — 460x430, light theme, comfortable density

The Teleport surface (Camera), showing its window search and 1 sections, in the light theme.

heightLimits — 700x490, light theme, comfortable density

The Height limits surface (Boundaries), showing its window search and 4 sections, in the light theme.

history — 760x780, light theme, comfortable density

The Project history surface (Local Git repository), showing its window search and 3 sections, in the light theme.

importChunks — 600x528, light theme, comfortable density

The Import chunks surface (Chunk tool), showing its window search and 2 sections, in the light theme.

importMap — 700x780, light theme, comfortable density

The Import map image surface (Import), showing its window search and 4 sections, in the light theme.

inspector — 740x780, light theme, comfortable density

The Inspector surface (Panels), showing its window search and 3 sections, in the light theme.

inventoryEditor — 760x780, light theme, comfortable density

The Inventory editor surface (Panels), showing its window search and 4 sections, in the light theme.

itemTypeList — 720x780, light theme, comfortable density

The Item types surface (Pickers), showing its window search and 3 sections, in the light theme.

languageSelect — 520x780, light theme, comfortable density

The Language Select surface (Localization), showing its window search and 1 sections, in the light theme.

layerSlice — 560x663, light theme, comfortable density

The Layer slice surface (Measure), showing its window search and 3 sections, in the light theme.

levelDat — 700x432, light theme, comfortable density

The level.dat surface (Data), showing its window search and 3 sections, in the light theme.

libraryPanel — 760x780, light theme, comfortable density

The Library surface (Panels), showing its window search and 4 sections, in the light theme.

licenses — 700x617, light theme, comfortable density

The Third Party Licenses surface (Legal), showing its window search and 2 sections, in the light theme.

lightOverlay — 660x709, light theme, comfortable density

The Light levels surface (Mechanics), showing its window search and 4 sections, in the light theme.

loading — 560x688, light theme, comfortable density

The Please wait while the renderer loads surface (Renderer), showing its window search and 4 sections, in the light theme.

logView — 780x460, light theme, comfortable density

The Log surface (Diagnostics), showing its window search and 3 sections, in the light theme.

lootAudit — 720x342, light theme, comfortable density

The Loot audit surface (Containers), showing its window search and 3 sections, in the light theme.

macroRecorder — 700x698, light theme, comfortable density

The Macro recorder surface (Automation), showing its window search and 2 sections, in the light theme.

mapItems — 700x342, light theme, comfortable density

The Map items surface (Data), showing its window search and 3 sections, in the light theme.

measure — 560x294, light theme, comfortable density

The Measure surface (Measure), showing its window search and 2 sections, in the light theme.

minecraftInstalls — 740x780, light theme, comfortable density

The Minecraft installs surface (Resources), showing its window search and 4 sections, in the light theme.

moveTool — 640x705, light theme, comfortable density

The Move surface (Tools), showing its window search and 3 sections, in the light theme.

narrator — 600x706, light theme, comfortable density

The Narrator and voice surface (Optional speech), showing its window search and 3 sections, in the light theme.

nbtLegacy — 720x780, light theme, comfortable density

The NBT editor surface (Raw data), showing its window search and 3 sections, in the light theme.

nbtSearch — 760x780, light theme, comfortable density

The NBT search and replace surface (Data), showing its window search and 4 sections, in the light theme.

noiseGen — 620x664, light theme, comfortable density

The Noise fill surface (Generate), showing its window search and 3 sections, in the light theme.

operationOptions — 640x780, light theme, comfortable density

The Replace surface (Stock operation), showing its window search and 3 sections, in the light theme.

oreAudit — 740x294, light theme, comfortable density

The Ore distribution surface (Worldgen), showing its window search and 3 sections, in the light theme.

patternMask — 660x780, light theme, comfortable density

The Pattern and mask surface (Build), showing its window search and 4 sections, in the light theme.

pendingImports — 740x780, light theme, comfortable density

The Pending imports surface (Panels), showing its window search and 3 sections, in the light theme.

playerData — 720x342, light theme, comfortable density

The Player data surface (Data), showing its window search and 4 sections, in the light theme.

playerPanel — 720x780, light theme, comfortable density

The Players surface (Panels), showing its window search and 3 sections, in the light theme.

pluginsDialog — 740x780, light theme, comfortable density

The Plugins surface (Extensibility), showing its window search and 4 sections, in the light theme.

portalBuilder — 820x780, light theme, comfortable density

The Nether portal travel builder surface (Travel), showing its window search and 7 sections, in the light theme.

portalLinker — 740x780, light theme, comfortable density

The Portal linkage surface (Redstone), showing its window search and 3 sections, in the light theme.

presets — 720x780, light theme, comfortable density

The Appearance presets surface (Versioned interchange), showing its window search and 3 sections, in the light theme.

profiler — 740x780, light theme, comfortable density

The Profiler surface (Diagnostics), showing its window search and 2 sections, in the light theme.

pythonConsole — 760x626, light theme, comfortable density

The Python console surface (Diagnostics), showing its window search and 2 sections, in the light theme.

railNetwork — 740x780, light theme, comfortable density

The Rail network surface (Redstone), showing its window search and 4 sections, in the light theme.

railTunnel — 840x780, light theme, comfortable density

The Rail tunnel builder surface (Travel), showing its window search and 17 sections, in the light theme.

redstoneTrace — 760x780, light theme, comfortable density

The Circuit trace surface (Redstone), showing its window search and 5 sections, in the light theme.

regenerate — 600x727, light theme, comfortable density

The Regenerate chunks surface (Generate), showing its window search and 2 sections, in the light theme.

relight — 600x445, light theme, comfortable density

The Relight surface (Integrity), showing its window search and 2 sections, in the light theme.

removeEntities — 600x681, light theme, comfortable density

The Remove entities surface (Entities), showing its window search and 3 sections, in the light theme.

renderLayers — 640x780, light theme, comfortable density

The Render layers surface (View), showing its window search and 2 sections, in the light theme.

schematicLibrary — 760x780, light theme, comfortable density

The Structure library surface (Build), showing its window search and 3 sections, in the light theme.

schoolUnlock — 520x642, light theme, comfortable density

The School mode surface (Presentation lock), showing its window search and 2 sections, in the light theme.

scoreboard — 740x342, light theme, comfortable density

The Scoreboard surface (Data), showing its window search and 3 sections, in the light theme.

scriptConsole — 760x762, light theme, comfortable density

The Operation console surface (Automation), showing its window search and 3 sections, in the light theme.

seaLevel — 560x470, light theme, comfortable density

The Sea level surface (Generate), showing its window search and 3 sections, in the light theme.

seedTools — 700x459, light theme, comfortable density

The Seed tools surface (Worldgen), showing its window search and 3 sections, in the light theme.

selectBlockTool — 680x780, light theme, comfortable density

The Select block surface (Tools), showing its window search and 2 sections, in the light theme.

selectEntityTool — 660x560, light theme, comfortable density

The Select entity surface (Tools), showing its window search and 2 sections, in the light theme.

signSearch — 700x342, light theme, comfortable density

The Sign text surface (Data), showing its window search and 4 sections, in the light theme.

slimeChunks — 660x294, light theme, comfortable density

The Slime chunks surface (Worldgen), showing its window search and 3 sections, in the light theme.

smooth — 560x628, light theme, comfortable density

The Smooth terrain surface (Sculpt), showing its window search and 2 sections, in the light theme.

spawnAnalysis — 760x780, light theme, comfortable density

The Mob spawn analysis surface (Mechanics), showing its window search and 5 sections, in the light theme.

spawnPoints — 700x659, light theme, comfortable density

The Spawn points and beds surface (Redstone), showing its window search and 3 sections, in the light theme.

stackArray — 620x615, light theme, comfortable density

The Stack and array surface (Build), showing its window search and 3 sections, in the light theme.

structureLocator — 780x459, light theme, comfortable density

The Locate structures surface (Worldgen), showing its window search and 6 sections, in the light theme.

surfacePaint — 620x608, light theme, comfortable density

The Repaint surface surface (Surface), showing its window search and 3 sections, in the light theme.

tabManager — 820x780, light theme, comfortable density

The Tabs, groups, and safe closing surface (Workspace navigation), showing its window search and 7 sections, in the light theme.

terrainBrush — 640x780, light theme, comfortable density

The Terrain brush surface (Sculpt), showing its window search and 4 sections, in the light theme.

tickLoad — 740x780, light theme, comfortable density

The Tick load surface (Mechanics), showing its window search and 3 sections, in the light theme.

toolSettings — 680x769, light theme, comfortable density

The Tool settings surface (Tools), showing its window search and 3 sections, in the light theme.

undoHistory — 700x780, light theme, comfortable density

The Undo history surface (History), showing its window search and 2 sections, in the light theme.

update — 620x663, light theme, comfortable density

The Update status surface (Windows delivery), showing its window search and 2 sections, in the light theme.

validateRepair — 760x780, light theme, comfortable density

The Validate and repair surface (Integrity), showing its window search and 2 sections, in the light theme.

versionSelect — 560x461, light theme, comfortable density

The Select version surface (Platform), showing its window search and 2 sections, in the light theme.

viewControls — 700x780, light theme, comfortable density

The View settings surface (View), showing its window search and 3 sections, in the light theme.

waypoints — 620x694, light theme, comfortable density

The Waypoints surface (Navigation), showing its window search and 3 sections, in the light theme.

workPlane — 600x641, light theme, comfortable density

The Work plane surface (View), showing its window search and 3 sections, in the light theme.

worldBorder — 660x342, light theme, comfortable density

The World border surface (Boundaries), showing its window search and 3 sections, in the light theme.

worldDiff — 780x759, light theme, comfortable density

The Compare worlds surface (Integrity), showing its window search and 2 sections, in the light theme.

worldInfo — 700x342, light theme, comfortable density

The World info surface (Panels), showing its window search and 3 sections, in the light theme.

Not captured — 3

These are recorded rather than omitted. A gap nobody mentions reads as coverage.

Surface Why not
menu-appearance 7 descendant(s) reported drawing but the picture holds only 3 distinct colours and is 78% one colour: the rows did not draw, so the file was deleted rather than shipped as evidence.
menu-application-file 7 descendant(s) reported drawing but the picture holds only 3 distinct colours and is 78% one colour: the rows did not draw, so the file was deleted rather than shipped as evidence.
menu-application-view 7 descendant(s) reported drawing but the picture holds only 3 distinct colours and is 78% one colour: the rows did not draw, so the file was deleted rather than shipped as evidence.
Menus and overlays not opened — 89

A menu that a run could not raise is written down here rather than left out. A gap nobody mentions reads as coverage.

Surface Why not
dropdown-about-none the About surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-analyzetool-none the Analyze surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-biomemap-none the Biome map surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-biomeselect-none the Select biome surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-blockaudit-none the Block state audit surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-blockhistogram-none the Block histogram surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-brushtool-none the Shape brush surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-cavemap-none the Cave coverage surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-chunkinspector-none the Chunk inspector surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-commandfinder-none the Command blocks surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-configureblocks-none the Configure blocks surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-confirm-none the Delete unselected chunks surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-convertprogress-none the Converting world surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-dimsum-none the Har gow · 蝦餃 surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-docs-none the Documentation surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-editchunktool-none the Edit chunk surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-entitybrowser-none the Entity browser surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-entityedit-none the Edit entity surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-errorreport-none the Unexpected error surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-externaleditor-none the External editor surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-forceloaded-none the Force-loaded chunks surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-gamerules-none the Game rules surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-goto-none the Teleport surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-heightlimits-none the Height limits surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-history-none the Project history surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-importchunks-none the Import chunks surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-itemtypelist-none the Item types surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-languageselect-none the Language Select surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-layerslice-none the Layer slice surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-leveldat-none the level.dat surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-librarypanel-none the Library surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-licenses-none the Third Party Licenses surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-loading-none the Please wait while the renderer loads surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-lootaudit-none the Loot audit surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-mapitems-none the Map items surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-measure-none the Measure surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-movetool-none the Move surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-nbtlegacy-none the NBT editor surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-nbtsearch-none the NBT search and replace surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-operationoptions-none the Replace surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-oreaudit-none the Ore distribution surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-pendingimports-none the Pending imports surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-playerdata-none the Player data surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-playerpanel-none the Players surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-pluginsdialog-none the Plugins surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-portallinker-none the Portal linkage surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-profiler-none the Profiler surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-pythonconsole-none the Python console surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-railnetwork-none the Rail network surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-regenerate-none the Regenerate chunks surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-renderlayers-none the Render layers surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-analyze-none the analyze ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-automate-none the automate ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-build-none the build ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-chunks-none the chunks ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-data-none the data ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-entities-none the entities ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-extend-none the extend ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-home-1-dimension the opener ran but showed no popup
dropdown-ribbon-home-disabled 1 dropdown(s) on this surface are disabled in a capture run and refuse to open: Dimension
dropdown-ribbon-operations-none the operations ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-panels-none the panels ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-redstone-none the redstone ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-selection-none the selection ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-terrain-none the terrain ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-tools-none the tools ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-ribbon-worldgen-none the worldgen ribbon tab carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-schematiclibrary-none the Structure library surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-schoolunlock-none the School mode surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-scoreboard-none the Scoreboard surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-scriptconsole-none the Operation console surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-seedtools-none the Seed tools surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-selectblocktool-none the Select block surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-selectentitytool-none the Select entity surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-shell-none the Studio shell carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-signsearch-none the Sign text surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-slimechunks-none the Slime chunks surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-smooth-none the Smooth terrain surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-spawnpoints-none the Spawn points and beds surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-structurelocator-none the Locate structures surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-tickload-none the Tick load surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-undohistory-none the Undo history surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-update-none the Update status surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-validaterepair-none the Validate and repair surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-waypoints-none the Waypoints surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-worldborder-none the World border surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-worlddiff-none the Compare worlds surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
dropdown-worldinfo-none the World info surface carries no dropdown at all, so this walk had nothing to open; recorded so an empty result cannot be mistaken for a walk that never ran
regexbuilder-every-other-search-field The builder is one class, opened by every search bar in the product; it is photographed from 4 kinds of host (regexBuilder.dropdown, regexBuilder.menu, regexBuilder.palette, regexBuilder.panel). The Studio shell alone carries 3 search bars and every spec surface carries at least one more, so photographing each field's builder would repeat the same popover under a different anchor name.

Note

The images further down this section show earlier builds — the pre-Material workflow screenshots and the owner-drawn Material shell that the Studio replaced. They are kept because they are genuine records of what they show, and they are labelled as such. They are not evidence for the current interface; the matrix above is.

Every image in this section is a tracked screenshot of the real wxPython app. They intentionally retain the version visible in the captured window. No mockup or generated image is presented as runtime evidence.

Superseded Material shell (2026-08-09)

Amulet Material application shell at exact commit b3cbec1c with compact caption controls, an app-owned command bar, and a single action card

Captured from exact commit b3cbec1c4b1035dd0c2ebdc9a545266f49c257ef on an isolated hidden Windows desktop with wxPython 4.2.5. The 2250×1395 capture shows the source frame after startup: no acknowledgement or purchase prompt, no duplicate one-page tab rail, one logo, and M3 action hierarchy. This is the shell Amulet Studio replaced, not the current one.

Open six historical pre-Material workflow screenshots
Amulet 0.6.1 main menu with Open World and Help buttons
Historical pre-Material main menu — 0.6.1. The entry point for opening a world or help in that build.
Amulet 0.6.1 open-world workspace with About, Convert, and 3D Editor navigation
Historical pre-Material open-world workspace — 0.6.1. One open world with the About, Convert, and 3D Editor program rail.
Legacy Amulet world-selection window with Java and Bedrock discovery collapsed
Historical pre-Material world selection. Java and Bedrock discovery on the left, recent worlds on the right, and a path to open another folder.
Legacy Amulet world-selection window with Bedrock worlds expanded
Historical pre-Material expanded world browser. Installed Bedrock worlds are visible alongside recently opened Java and Bedrock worlds.
Amulet 0.6.1 conversion surface with source and destination world controls
Historical pre-Material world conversion — 0.6.1. The source world, destination picker, progress area, and Convert action.
Amulet 0.8.9 3D editor showing a multi-box selection and coordinate controls
Historical pre-Material 3D editor — 0.8.9. Rendered terrain, multi-box selection controls, dimension and coordinates, undo/redo/save, and the editing tool strip.
Open the four earlier wxPython dialog baselines (2026-08-09)

These captures are from the real source dialogs at commit d62ae152, rendered on a hidden desktop with wxPython 4.2.5. They preserve an earlier migration boundary. Several of these dialogs are still the real implementation behind their Studio surface keys, so they remain useful references — but the chrome around them has changed.

Earlier Amulet Preferences Language tab captured from the real wxPython app
Earlier Preferences · Language tab. Genuine native baseline; not current shell proof.
Earlier Amulet Preferences Appearance tab captured from the real wxPython app
Earlier Preferences · Appearance tab. Genuine native baseline; lower controls require scrolling.
Earlier Amulet notification history with real notification rows
Earlier notification history. Genuine rows; the pictured columns predate later sizing work.
Earlier Amulet main frame with the first custom borderless title bar
Earlier main-frame baseline. Superseded twice: first by the Material shell above, then by Amulet Studio.
Open the full 0.10.47 editing montage

Amulet 0.10.47 editing montage: selection, paste transform, block operation, and 2D chunk selection

This historical pre-Material capture contains four genuine frames showing a 3D terrain selection, paste placement and transform controls, a block operation over selected boxes, and a top-down chunk selection. The montage was added to the repository in 2026; the application title inside the capture identifies the runtime as 0.10.47.

Screenshot provenance and limitations
Asset Pixels Repository provenance Evidence boundary
cover.jpg 5120×2760 Added in 2026 by the upstream README update Real 0.10.47 montage; not a capture of the current branch.
edit.jpg 1920×1030 Added in 2020 and updated in 2021 Real 0.8.9 3D editing workflow.
main_menu.jpg 541×389 Added with the 2020 documentation images Real 0.6.1 main menu.
world_select.jpg 1920×1006 Added with the 2020 documentation images Real legacy collapsed world browser.
world_select_expand.jpg 1920×1026 Added with the 2020 documentation images Real legacy expanded world browser.
about.jpg 550×435 Added with the 2020 application guide Real 0.6.1 open-world workspace.
convert.jpg 814×490 Added with the 2020 program guide Real 0.6.1 conversion surface.
preferences-runtime-baseline-20260809.png 930×720 Captured 2026-08-09 from commit d62ae152 on a hidden desktop Real Preferences Language tab; native wx chrome remains a pre-M3 baseline.
preferences-appearance-runtime-baseline-20260809.png 930×720 Captured 2026-08-09 from commit d62ae152 on a hidden desktop Real Appearance tab; lower preset controls require scrolling.
notification-history-runtime-baseline-20260809.png 1140×780 Captured 2026-08-09 from commit d62ae152 on a hidden desktop Real notification history with populated rows; column sizing was corrected later.
main-frame-runtime-baseline-20260809.png 1500×930 Captured 2026-08-09 from commit d7bd3875 on a hidden desktop Real AmuletUI with the first custom borderless title bar; superseded.
main-frame-material-shell-b3cbec1c-20260809.png 2250×1395 Captured 2026-08-09 from exact commit b3cbec1c4b1035dd0c2ebdc9a545266f49c257ef on an isolated hidden desktop Real owner-drawn Material shell with quiet startup; superseded by Amulet Studio.

The repository does not currently contain an automated desktop screenshot harness. These captures are therefore documentation artifacts, not a pixel-regression suite, and none of them shows the current interface. UI behavior added after the pictured versions must be verified from builds and tests rather than inferred from these images.

Install and update on Windows

Recommended install

  1. Download the verified 0.10.0-dev.414 Setup.exe, or choose a newer version from all releases after checking its exact assets.
  2. Read the matching 0.10.0-dev.414 release notes and asset list.
  3. Close Minecraft, back up the world you intend to edit, and run the installer.
  4. Open the copied world in Amulet and make a small, reviewable change first.

Warning

Windows artifacts from this repository are intentionally unsigned. Windows may show an Unknown Publisher or SmartScreen warning. The project does not claim Authenticode verification; release integrity relies on GitHub's HTTPS transport, published asset digests, and the Squirrel RELEASES index.

Squirrel.Windows release set, and other platforms

The Windows workflow packages the PyInstaller application into:

The release inspected while this README was written was 0.10.0-dev.414, published on 2026-08-09 from f95695f7cbadecd3272370a1fa694e9b601ab124 with all three required assets. Later versions should be evaluated from their own immutable release page rather than assumed to have the same asset set.

The active delivery path is Windows-only and publishes unsigned Squirrel.Windows assets. Source code may still be useful on other platforms, but this repository does not currently present non-Windows installers as supported release deliverables.

For a development install, use Python 3.11 or newer and follow the steps below. wxPython, OpenGL, native build dependencies, and the Amulet format stack must be available for the desktop runtime. A successful source import or unit-test run does not by itself prove that a graphical session can create and render the wx window on that machine.

First editing workflow

  1. Back up the world. Work from a copy until you have verified the result in Minecraft.
  2. Close other writers. Do not leave the same world open in Minecraft or another editor.
  3. Open the project. From the backstage, pick a detected world, a recent project, or browse to a folder.
  4. Get your bearings. The navigator shows the dimension and any selection boxes; the status bar shows the head revision and whether there is unsaved work.
  5. Select narrowly. Start with the smallest useful region and confirm its coordinates and active dimension.
  6. Apply one action. Use the ribbon tab that owns it, or press Ctrl+Shift+F and search for it by name.
  7. Review before saving. The properties pane's History tab lists what has been applied; restoring writes a new revision, so trying a restore never costs you the state you restored from.
  8. Close Amulet before Minecraft. Reopen the edited copy in the game and inspect the affected area.

Development and contribution

This repository follows the 0.10 development line. It is derived from the upstream Amulet Map Editor and carries additional Material 3, preferences, site, update, and delivery work.

Local checkout

git clone https://github.com/Ding-Ding-Projects/material-minecraft-map-editor.git
Set-Location material-minecraft-map-editor
py -3.11 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"

On macOS or Linux, activate with source .venv/bin/activate. Resolve native dependencies from the project metadata and your platform's canonical package source; do not commit a virtual environment or generated build tree.

Local checks

py -3 -m pytest tests -q
python -m black --check --diff .
python scripts/count_lines.py

The interface's data layer — the surface index, the command registry, all the surface descriptions, the shared search state, the NBT model, and the Memory Console's content — imports without wxPython, so most of the suite runs on a machine with no display. The handful of checks that genuinely need wx skip with a stated reason rather than passing silently.

The line counter, and what its rows mean

The committed line counter is the release source of truth. It counts tracked, line-oriented text and separates source, tests, styles/markup, generated text, and deliberately excluded text. project-total is the three hand-written project rows; repository-grand-total adds the generated and excluded rows. Each row reports total/nonblank lines plus surviving git blame attribution as agent, person, or unattributed, and the script fails if that arithmetic drifts. Binary assets are not line-counted. Dependency/build directories and lockfiles are excluded explicitly instead of disappearing into an unexplained total.

Always run the committed script rather than re-deriving a count by hand: an ad-hoc sweep silently drops whatever matches none of its patterns, which is the one misrepresentation the separated rows exist to prevent.

Regenerating the documentation bundle and the changelog catalog

Two resources in the package are generated from the repository and must be rebuilt when their sources change:

python scripts/build_docs_bundle.py
python scripts/generate_changelog.py

The first rebuilds the offline documentation bundle from every docs/features/*/README.md; a stale bundle fails tests/test_docs_browser.py by design, so an article added without regenerating cannot ship missing from the in-app browser. The second rebuilds the changelog catalog from the reachable tags, and the test session regenerates it automatically when the checkout has moved on.

Preview the documentation site

python -m http.server 8000 --directory docs/site

Open http://localhost:8000. The site is plain HTML, CSS, and JavaScript with no CDN, analytics, or third-party runtime assets. See docs/site/README.md for the owner-controlled hosting contract.

Build the Windows package by hand
python -m pip install build "pyinstaller~=6.18"
python -m build
python -m pip install dist/amulet_map_editor-*.whl --upgrade
python -m PyInstaller -y --distpath ./installer/dist installer/Amulet.spec
./installer/build-squirrel.ps1 -Version 0.10.0 -Architecture x64

The packaging script downloads pinned NuGet and Squirrel.Windows inputs, checks the NuGet SHA-256, produces Setup.exe, RELEASES, and a full .nupkg, and fails if an executable or DLL is signed. CI supplies a prior RELEASES and full package only as a validated pair from the nearest semantically older release in the same explicit channel. When supplied, the script requires and uploads a verified current delta, while the client-facing feed advertises only the current full package until a three-version installed-client update proof passes. GitHub SHA-256 asset digests are checked when available. Read installer/PACKAGING.md before changing this path.

Prefer build.bat and build-installer.bat for an ordinary build: they are the paths a fresh machine takes, and using them is also what keeps them working.

Contribution checklist

  • Keep changes focused and preserve unrelated work.
  • Add or update tests for behavior changes; run the narrow tests and the full py -3 -m pytest tests -q run where feasible.
  • When you add a Studio surface, add its spec, its index entry, and its line in the hand-written test census in tests/test_studio_surface_index.py. When you add a search field, add it to tests/test_studio_regex_builder_coverage.py. Those lists exist so a disappearance fails rather than passing quietly; deleting an entry to make the suite green defeats the point.
  • Update the relevant feature article under docs/features/, the roadmap, and the handoff when behavior or verification state changes, and regenerate the documentation bundle.
  • Keep screenshot captions factual: identify the captured version and never use a design mockup as runtime proof.
  • Distinguish source inspection, automated tests, package creation, graphical runtime verification, and published release evidence in pull requests.
  • Use Issues for actionable defects or features and Discussions for design or workflow conversations.

Verification status

Evidence Current status at this README revision
Amulet Studio interface Source and automated-test claims only. The surface index, the spec registry, the ribbon definition, the search behaviour, the token values, the NBT model, the Memory Console content, and the accessibility contract are covered by tests; no runtime capture of the interface exists.
Tracked desktop captures Twelve genuine images inspected: seven historical workflow captures, four earlier wxPython runtime baselines, and one exact-commit Material shell capture. All predate Amulet Studio.
Preference and regex behavior Covered by repository unit tests, including bounded persistence, plain/regex matching, invalid patterns, and capture groups.
Scheduled-settings behavior Covered by model and UI-contract tests for persistence, validation, precedence, weekday/date/time boundaries, reordering, and bilingual UI strings.
Squirrel update bridge Covered by wx-independent tests for canonical build/manual/release tag publication, explicit-channel discovery across five bounded inventory pages, one shared check deadline, exact route/status/content validation on every page, official progress/JSON command parsing with bounded stdout and stderr, strict CRLF/LF/CR records, exact post-stage version proof within one 900-second apply-and-check deadline, immediate-layout updater discovery, and the guarded process-start-and-wait restart transaction.
Windows release The inspected 0.10.0-dev.414 release is non-draft and contains Setup.exe, RELEASES, and Amulet-0.10.0-dev414-full.nupkg.
Live project-site deployment The site source is published from docs/site/; a verified owner-hosted URL of its own is not claimed here.

Project links

Repository-local working agreement

This repository carries a sanitized mirror of its shared working agreement in AGENTS.md. In short: preserve user work, keep changes reversible, apply accessible Material Design 3 patterns consistently, keep documentation and CI claims truthful, distinguish static checks from actual runtime and release evidence, and never expose credentials. The canonical shared agreement, repository-local rules, and higher-priority safety requirements take precedence over this summary.

Releases

Packages

Contributors

Languages