Create and update quest drafts through shared Save, Undo, Export and Play workflows. Guard quest baselines and NPC references before generating content writes. Enable questgiver flags for an entire template or clone a simple template to isolate one selected spawn.
Validated on Windows x64: formatting, workspace Clippy, 53 passing tests, release build and UI capture. MariaDB temporary-table checks cover both scopes, drift rejection and idempotency; persistent table checksums remain unchanged. Manual in-game quest completion remains open.
Co-Authored-By: Codex <noreply@openai.com>
Add a project launcher, per-user settings and Play state, explicit env import, pinned Git engine dependencies and a Windows distribution script.
Validated on Windows x64: formatting, workspace Clippy, 41 tests, local realm security test and release launches outside the repository with profile preservation.
Co-Authored-By: Codex <noreply@openai.com>
egui panels (bevy_egui 0.39, the release for Bevy 0.18; its Ubuntu font carries Cyrillic) replace
the bevy_ui status text, whose font had none:
- Catalog: creature_template searched by Russian or English name or entry at patch 10; a row
picks the brush.
- Inspector: the selected spawn's position, facing in degrees, respawn, movement, wander radius,
patches and preview display. A drag or a typed value is one undo step. `.go xyz` copies.
- Changes: the pending rows, save, the server check, and export into EDITOR_EXPORT_DIR, refused
while the server conflicts with the project.
The world's input leaves a click on a panel and a key typed into a field alone. Export and the
server check move into editor-vmangos::export, which the CLI now runs too.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The contract between the editor, the server build and the launcher: the complete set of non-stock
artifacts a release runs with, each with its consumers and the release that introduced it, so a
server build fetches everything from one manifest and never a client-only file. Migrations are
pinned by hash in the core checkout; binaries live under releases/<introducedIn>/, never
rewritten. `manifest-check --previous` refuses a release that drops or rewrites an inherited DBC.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
WOW_DATA and EDITOR_WORLD_DB come from a git-ignored .env at the repository root, so the database
password is not retyped per shell. Variables already set override it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The core gives `.npc add` and temporary creatures guids above MAX(creature.guid), so allocating
upward put the server's own spawns in the guids a project takes next. Counting down from the top
makes the range's last guid that maximum after the first export.
With EDITOR_WORLD_DB set, `check` and `export` compare the server's rows in the range with the
project and refuse on a conflict, and the editor takes the brush's display and name from
creature_template.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>