Files
open-wc/targets/roadmap/06-editor-and-content-tools.md

5.6 KiB
Raw Permalink Blame History

EDT — Godot Editor and Content Authoring

Цель

Превратить Godot Editor в единую среду расширения мира, gameplay, UI, audio и graphics с безопасным build/deploy/playtest workflow.

EDT-1. Plugin platform

  • addons/openwc_editor регистрирует workspace, docks, inspector/import/gizmo/debugger plugins.
  • _enter_tree/_exit_tree симметричны: все controls/plugins/signals/jobs снимаются без leaks.
  • UI вызывает authoring application services; не пишет SQL/files/scene tree напрямую.
  • Editor selection отделена от runtime preview nodes.
  • Shared services получают context через dependency injection, не global editor singleton.

EDT-2. Workspace and UX

  • World viewport, Content Browser, Outliner, Inspector, Validation, History, Build, Database, Test Center.
  • Search/filter/favorites/recent items и stable links между сущностями.
  • Multi-selection и bulk edits показывают scope/diff.
  • Diagnostics имеют severity/code/location/fix; double-click открывает field/node/world position.
  • Layout/workspace preferences сохраняются отдельно от Content Project.

EDT-3. Commands, undo and recovery

  • Любая mutation — command с execute/undo/description/affected IDs.
  • Terrain strokes агрегируются в bounded deltas; большие операции используют snapshots/chunks.
  • Autosave recovery journal атомарный и имеет schema version.
  • External changes обнаруживаются через hashes; merge/overwrite требует решения пользователя.
  • Quick Fix всегда previewable и undoable.

EDT-4. Import and asset browser

  • MPQ/archive browser, locale/patch source provenance и extraction jobs.
  • Preview BLP, DBC rows, M2 animations/materials, WMO groups/portals, ADT layers и audio.
  • Godot import plugins применяются только к authoring source formats, где lifecycle .import полезен.
  • Raw extracted corpus не должен вызывать неконтролируемый массовый Godot reimport.
  • Batch conversion использует staging, cancellation, cache hash и report.

EDT-5. World editing

  • Map/tile/chunk navigation и coordinate overlays.
  • Terrain sculpt/smooth/flatten/noise/stamps/holes.
  • Texture layers, alpha painting, shading и liquids.
  • M2/WMO placement, snapping, transforms, doodad sets и unique ID allocation.
  • Creature/gameobject spawns, groups, formations, patrol/escort paths.
  • Areas, triggers, graveyards, teleports, taxi/transport points, sound/weather volumes.
  • Collision/navmesh/streaming/render-cost visualization.

EDT-6. Data editors

  • Creature/gameobject templates, models, equipment, movement and text.
  • Item/loot/vendor/trainer/profession editors.
  • Quest form + dependency/progression graph + localization.
  • Gossip/conditions/SmartAI graph with raw representation inspector.
  • Spawn/pool/game event/phase editor.
  • Dungeon package, encounter state graph, doors/triggers/lockouts/loot.
  • UI/addon manifest, CVar/keybinding и audio zone configuration.

EDT-7. Navigation

  • recast-rs optional offline backend behind navigation build interface.
  • Bake profiles: agent size/climb/slope/cell/region/tile parameters.
  • Walkability, disconnected islands, path cost, off-mesh links и dynamic door states.
  • Quest giver/objective/turn-in reachability; patrol/escort validation.
  • OpenWC cache отделён от server mmap until compatibility proven.

EDT-8. Graphics extension tools

  • Material/shader profile editor с Blizzlike/Enhanced comparison.
  • Texture replacement/upscale overlays и mip/alpha/color-space validation.
  • Water/sky/weather/light preview with fixed time and reference capture.
  • Character/equipment/animation/attachment preview.
  • Spell visual/particle/ribbon authoring where formats permit.
  • Quality preset cost preview и automatic render checkpoint generation.

EDT-9. Content Project

  • Git-friendly files, schema version, symbolic IDs, dependencies и capability requirements.
  • Original data referenced, never copied silently.
  • Overlay priority/conflict report и semantic merges.
  • Deterministic numeric ID allocation per server profile.
  • Localization bundles, scripts, client assets, tests и package manifests.
  • Schema migrations with backup, fixture and loss policy.

EDT-10. Build, deploy and playtest

Validate → Compile → Bake → Diff → Package → Dry-run
→ Apply dev DB/module/assets → Start/reload core → Launch client at context
→ Collect logs/results → Roll back disposable environment
  • Jobs cancellable, progress-aware and identical to headless CI services.
  • Production target physically/logically separated and disabled by default.
  • Server reload used only for tables known to support it; otherwise restart.
  • Playtest bundle records content/core/client revisions and profile.
  • One-click convenience never hides SQL/module/client artifact diff.

EDT-11. Extensibility

  • ContentTypeDescriptor: schema, icon, inspector, validator, compiler, presenter.
  • EditorTool: selection contract, command factory, gizmo/overlay.
  • BuildStep: inputs/outputs/cache key/cancellation/diagnostics.
  • Plugin declares API version, dependencies, permissions and migrations.
  • User plugins cannot mutate production DB or original assets outside approved services.

Best-practice gate

Plugin reload clean; undo/save/reload deterministic; long jobs do not block Editor; preview nodes disposable; every deployment reproducible headless; common scenarios require no manual SQL.