Files
dcalc/PRODUCT.md
T
2026-08-19 19:45:04 +08:00

71 lines
4.4 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.
# Product
<!-- impeccable:product-schema 1 -->
## Platform
web
## Users
- 主要用户(依据仓库功能推断,待产品负责人确认):需要比较 DNF 装备搭配、打造方案与技能输出的玩家。
- 核心使用场景:在角色、装备和技能配置之间反复调整,快速比较伤害、冷却与装备效果结果。
## Product Purpose
DCalc 是免费的 DNF 装备搭配与伤害计算工具。它把装备选择、技能设置、打造设置和结果计算集中在同一工作流中,减少玩家手工换算和跨页面比对的成本。
成功意味着用户可以完整配置一个角色方案,理解关键计算结果,并可靠地比较不同搭配,而不是只得到缺少上下文的单一总分。
## Positioning
DCalc 将 DNF 的装备、技能、打造和效果数据组织为可交互的角色计算工作台,并保留接近游戏客户端的视觉与数据语义。该定位来自当前仓库实现;对外传播口径仍待产品负责人确认。
## Operating Context
- 用户围绕角色进行装备、技能与打造配置,并在结果区查看技能伤害、技能等级、技能冷却、装备特效及效果点数。
- `frontend` 是既有业务行为基线;`frontend-ui` 是独立、渐进式的 Vue 3 UI 重构目标。
- `/components` 是组件库的可执行目录页,承担交互状态、双主题、窄屏与 Portal 回归验证。
- 产品包含大量 DNF 原始像素素材、品质颜色和紧凑数据表,桌面密集操作是当前明确的主场景;移动 Web 需要可访问和无页面级横向溢出,但不是把所有组件放大为通用移动应用风格。
## Capabilities and Constraints
- 已实现:武器、套装、贴膜、通宝、称号宠物、秘宝选择。
- 已实现:技能等级、觉醒绑定和技能次数设置;技能次数自动计算与 Buff 数值设置仍未完成。
- 已实现:增幅、强化、锻造、徽章、附魔、调适、时装、皮肤、光环、宠物装备、辟邪玉、勋章及杂项设置。
- 已实现:技能伤害、技能等级、技能冷却、装备特效、装备效果/点数和角色基础信息计算。
- `frontend-ui` 使用 Vue 3、TypeScript、Vue Router、Pinia、Vite、Reka UI、Tailwind CSS 4 与语义 CSS Variables。
- 通用 UI 组件不得承载 API、Store、路由或 DNF 业务规则;这些逻辑留在页面、领域组件与 composable 中。
- 迁移必须保留既有业务行为,并将 `design` 目录中的结构、状态、动效与真实素材作为视觉事实来源。
## Brand Commitments
- 产品名称为 DCalc / DNF计算器。
- 当前界面保留 DNF 客户端式的暗色、黄铜、蓝黑面板与像素素材语言。
- 品质颜色是数据语义,不得当作普通装饰色随意替换。
- 第二套 `midnight` 主题用于验证组件没有耦合到经典 DCalc 皮肤,而不是另起一套组件实现。
## Evidence on Hand
- 产品能力与未完成项:`README.md`。
- 新旧前端边界、技术栈、主题模型与组件目录:`frontend-ui/README.md`。
- 迁移和验收规则:`frontend-ui/docs/ui-migration-standard.md`。
- 视觉实现基线与素材:`design/src-web`。
- 当前组件实现与语义 Token:`frontend-ui/src/components/ui`、`frontend-ui/src/style`。
- 仓库内没有可用于宣传的真实用户数据、性能基准、合作方背书或商业承诺;后续界面不得虚构这些内容。
## Product Principles
1. 计算可信度优先:配置、边界和结果必须可追踪、可复核。
2. 保留业务完整性:UI 迁移不能丢失既有操作、快捷方式或数据语义。
3. 密集但可扫描:为高频比较保留紧凑信息密度,同时建立清晰层级和稳定状态反馈。
4. 组件与业务解耦:交互基础能力进入组件库,DNF 规则留在领域层。
5. 真实素材优先:存在可靠原始素材时使用原素材,不用近似图标或通用模板替代。
## Accessibility & Inclusion
- 所有交互组件需要可读名称、可见焦点和键盘路径。
- 普通文本与背景对比度至少达到 WCAG AA;不可用状态仍承载信息时,不使用不可辨认的低对比文本。
- 触屏窄视口上的独立操作目标至少为 24 × 24 CSS px;标签包裹的选择控件可以由标签提供等效点击面积。
- 动效必须尊重 `prefers-reduced-motion`,Portal 内容必须保持可见、可关闭并正确恢复焦点。