editor: game running badge and stop game button during play-tests, crosshair for play from camera position while shift is held, readable outliner names, plain error dialogs with details and no stuck loading status, inspector hints wrap with the dock
This commit is contained in:
1 parent
d9f1b8c2fe
commit
59531a60b8
26 files changed
+984
-67
No files matched your search
+6
-2
@@ -113,7 +113,9 @@ same id again replaces (panels, tools, actions, asset tabs, layers).
|
||||
| `LevelTemplate` | `fill(Scene)` adds nodes directly (no undo) before the editor shows the new level |
|
||||
| `LevelCheck` | adds `Problem.error/warning/info(msg, node)`; errors block Build/Play |
|
||||
| `Icons` | vector icons by name; `Icons.register(name, painter)` for your own (16×16 Java2D); `Icons.swatch(colour, w, h)` |
|
||||
| `Widgets`, `util.SwingListeners` | `Widgets.button(text, icon, tip, run)`, `Widgets.listCell(c, list, selected)`; `onTextChange`, `onMenuOpen` |
|
||||
| `Widgets`, `util.SwingListeners` | `Widgets.button(text, icon, tip, run)`, `Widgets.listCell(c, list, selected)`, `Widgets.wrappingLabel(html)` (help text that wraps at the dock width – use it instead of `<body style='width:…'>`); `onTextChange`, `onMenuOpen` |
|
||||
| `ErrorDialog` | `ctx.error(title, t)` uses it: plain sentence (`ErrorDialog.plain(t)`, no exception class names) + collapsible **Details** (stack trace) |
|
||||
| Game state | `ctx.setGameRunning(what, stop)` (default no-op): while a play-test game runs the status bar shows "Game running: what" and the toolbar Play button becomes **Stop game** (runs `stop`); `null` resets. `PlaytestRunner` sets it on launch and clears it when its watcher sees the game exit |
|
||||
| `AssetDrop` | `register(kind, handler)`; `dragSource(list, value → payload(kind, data))` makes a list draggable into the viewport |
|
||||
| `EditorPrefs` | `ctx.prefs()` JSON settings in `<data>/editor/settings.json`; prefix your keys |
|
||||
| `NodeCopy` | duplicate/snapshot nodes (fresh ids) |
|
||||
@@ -124,6 +126,7 @@ game space (`ToolEvent.toGame` / `toExport`). Drop/placement points: `ctx.ground
|
||||
|
||||
### Render additions used by tools (backwards compatible, `editor.render`)
|
||||
|
||||
`Viewport.setHudOverlay(pixels)` (second pixel overlay independent of the tool, e.g. the Shift+F5 crosshair),
|
||||
`Viewport.setInput(ViewportInput)` (tool hook: left-button press/drag/release not on the gizmo, moves,
|
||||
keys), `setToolOverlay(depthTested, onTop)`, `setScreenOverlay(pixels)` (marquee), `unproject(x, y,
|
||||
depth)` public, `isFlying()`, `canvas()`; `RenderScene.overlaysChanged()`; `LevelSceneAdapter.mesh/page/collision`
|
||||
@@ -157,7 +160,8 @@ public; invisible tile instances are no longer baked into chunks; `History.undoL
|
||||
3; backup first) unlocked up to the level if needed and map cursor on it → start the game.
|
||||
* **Boot to level** (phase 3, `editor.tools.playtest`, `notes/editor-playtest.md`): Play now also
|
||||
applies the exe mod `boot-to-level`, so the game loads the level directly (no menus) and Escape
|
||||
quits; Shift+F5 = play from the camera position. The old menu-based run is still available
|
||||
quits; Shift+F5 = play from the camera position (holding Shift or hovering the action shows a green/red
|
||||
crosshair at that point). While the game runs: "Game running" badge + **Stop game** button (see Game state). The old menu-based run is still available
|
||||
(Level → *Play boots straight into the level* off).
|
||||
`-Dllamamod.editor.noLaunch=true` skips the launch (tests start the game through apptest).
|
||||
|
||||
|
||||
Reference in new issue
Block a user