Files
open-wc/docs/CLIENT_FEATURES.md

121 lines
6.8 KiB
Markdown
Raw Permalink 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.
# Карта функций клиента WoW 3.3.5a
## Назначение
Это coverage map, а не обещание реализовать всё одновременно. Для каждой строки в будущем ведутся статусы `Not started`, `Research`, `Prototype`, `Playable`, `Compatible`, `Verified` и ссылки на issue/spec/tests.
## Platform и данные
- MPQ archive chain, locale и patch precedence.
- BLP, DBC, DB2 при расширении профиля, WDT/WDL/ADT, M2/SKIN, WMO, animation, particles, ribbons, cameras.
- Cache/versioning, import diagnostics, missing/corrupt asset policy.
- Typed DBC access: maps, areas, races, classes, characters, items, creatures, spells, talents, factions, sounds, liquids, lights, maps and taxi.
- Settings, keybindings, locale, screenshots, logs, crash recovery и accessibility options.
## World presentation
- Terrain layers, alpha maps, holes, normals, LOD и distant terrain.
- WMO groups, doodads, portals/rooms, indoor/outdoor state и collision.
- M2 static/animated models, attachments, billboards, particles, ribbons и material combiners.
- MH2O/MCLQ water, ocean, lava, slime и shore/depth behavior.
- Sky, day/night, fog, zone lighting, weather и selective shadows.
- World streaming, preload/retention, occlusion, render budgets и deterministic checkpoints.
## Character presentation
- Race/gender/body customization и character creation preview.
- Skin/hair/face/facial hair/geosets.
- Equipment textures, component models, enchant visuals, sheathe/unsheathe и attachments.
- Animation selection, blending, emotes, combat, cast, death, swim, fly, mount и vehicle.
- Creature display/model data, NPC equipment, pets, guardians и shapeshift.
## Connection и world synchronization
- SRP authentication, realm list, world auth, reconnect и disconnect reasons.
- Encrypted framing, compressed packets, opcode dispatch и packet tracing.
- Character enum/create/delete/rename/login/logout.
- Packed GUIDs, update fields, create/update/out-of-range/destroy.
- Movement flags, heartbeat, jump/fall/swim/fly, transports, knockback и spline movement.
- Server time, tutorial flags, account data и feature capability detection.
- Warden handshake/module compatibility для явно поддерживаемых test/private server profiles с sandbox и без ориентации на official servers.
## Player и camera
- Remappable actions вместо hardcoded keys.
- Walk/run/backpedal/strafe/jump/fall/swim/fly и autorun.
- Click-to-move как отдельная опциональная policy.
- Camera orbit, zoom, collision, first-person limit и follow policies.
- Client prediction, server correction, transport-relative movement и latency telemetry.
- Selection, interaction range, facing и line-of-sight feedback.
## Combat, spells и progression
- Auto attack, attack stop, combat state, damage/heal/miss/immune feedback.
- Spellbook, ranks, cast/channel, interruption, cooldown, global cooldown, range и resources.
- Auras, stacks, durations, dispels, proc presentation и diminishing returns display.
- Death, ghost, corpse, resurrection, durability и repair.
- XP, level, rested XP, reputation, honor, arena и achievements.
- Talents, glyphs, skills, professions, recipes и training.
## Items и economy
- Bags, bank, keyring, equipment, ammo, currencies и item cooldowns.
- Loot, roll, master loot, disenchant и bind confirmations.
- Vendors, buyback, repair, trainer и gossip services.
- Trade, mail, auction house, guild bank и item links/tooltips.
- Enchanting, sockets/gems, random properties и item sets.
## Quests и world activities
- Availability, accept, abandon, track, progress, complete и reward choice.
- Kill, collect, interact, explore, escort, timed, reputation и spell objectives.
- Chains, prerequisites, exclusivity, repeatable/daily/weekly и phased conditions.
- Gossip/dialogue, scripted events, gameobjects, transports и taxi.
- World map, minimap, exploration, POI, quest indicators и instance maps.
## Groups, social и PvP
- Party, raid, roles, ready check, raid targets и loot rules.
- Friends, ignore, who, guild, channels, whispers и chat moderation feedback.
- Duels, PvP flags, battlegrounds, arenas, scores, queues и resurrection flow.
- LFG/Dungeon Finder, proposal, teleport, vote kick и rewards.
## Instances и cinematics
- Dungeon/raid entry, difficulty, lockouts, encounter states и reset.
- Doors, triggers, boss frames, instance messages и saved state presentation.
- Vehicles, multi-passenger seats и possession UI.
- Cinematics, camera sequences, movies, loading screens и transitions.
## UI, Lua и addons
- Login, legal/realm/character creation/selection/loading screens.
- HUD: unit frames, target/focus, action bars, buffs, cast bars, bags, quest tracking, chat и combat text.
- FrameXML: templates, inheritance, anchors, strata, layers, scripts и events.
- Lua 5.1-compatible API surface, secure boundaries, SavedVariables и addon lifecycle.
- Заменяемый Lua 5.1.1 backend; `rilua` и PUC-Rio проходят единый WoW-specific compatibility corpus до выбора production VM.
- Widgets: Frame, Button, CheckButton, EditBox, Slider, StatusBar, ScrollFrame, Tooltip, Cooldown, Model, Texture, FontString, Minimap.
- Macro conditionals, keybindings, slash commands, localization и UI scaling.
## Audio
- Zone/day/night music и crossfade.
- Ambience, weather и indoor/outdoor transitions.
- Positional world sounds, spell/combat/footstep/foley/voice и UI sounds.
- Cache/streaming, device selection, category volumes и mute-on-focus policy.
## Authoring coverage
- Terrain sculpt/paint/holes/liquids и tile lifecycle.
- M2/WMO placement, transforms, unique IDs и doodad sets.
- Creature/gameobject templates, spawns, groups, paths и equipment.
- Quests, gossip, conditions, loot, vendors, trainers и localization.
- Zones, areas, graveyards, teleports, taxi, triggers и phase rules.
- Dungeon packages, encounters, doors, bosses, scripts и validation.
- Navigation authoring: walkability overlay, reachability, patrol/escort validation, off-mesh links и dynamic doors; optional `recast-rs` backend.
- Import, diff, package, SQL/change-set generation, dev deployment и playtest.
## Требование к расширяемости
Каждая функция должна быть модифицируема заменой data/config, policy или adapter до изменения core-кода. Если это невозможно, extension point и причина ограничения документируются. Пользовательские override-пакеты имеют явный приоритет, зависимости и совместимость; молчаливое изменение оригинальных данных запрещено.