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

110 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
```text
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.