Skip to content

P4-05 · @saier/vue:笔刷 UI(预设切换 + 参数面板)

  • Phase / ID: P4 / P4-05
  • Depends on: P1-07(controller)、P4-01(registry)
  • Files: packages/vue/components/BrushPicker.vueBrushParams.vuetest/
  • Effort: M
  • Status: 🟡

Context

让用户切换笔刷、调参数——纯 DOM 面板,走 controllerD7),不碰 core 内部静态。验证 controller 表面够用、UI 薄皮模式成立。

Steps

  1. BrushPicker:列举 BrushRegistry 的 preset(缩略图 + 名称),点选 → controller.setBrushPreset(id)
  2. BrushParams:size / opacity / spacing / hardness / flow 滑块,双向绑 controlleron('brush:change') 镜像、改值调 setter)。
  3. controller 按需补 setBrushPreset / setBrushParam(回 P1-07 扩接口)。
  4. 直接引用 PainterBrush.* 静态(D7 红线)。

Acceptance

  • [ ] UI 切笔刷即时生效;参数滑块改值即时反映到笔迹。
  • [ ] 面板状态由 controller.getState() 驱动,无对 core 静态字段的直接引用(grep 断言)。
  • [ ] core 端改笔刷(如快捷键)→ 面板同步(事件回流)。

Out of scope

  • 笔刷编辑器 / 自定义 preset 持久化(后续);React 版(按需)。

Released under the MPL-2.0 License.