Skip to content

P1-01 · 脚手架两个新包:core + pixi

  • Phase / ID: P1 / P1-01
  • Depends on: —(可与 P0 并行起步)
  • Files: packages/core/**packages/pixi/**pnpm-workspace.yamltsconfig.json
  • Effort: M
  • Status: 🔴 P1 地基

Context

P1 把绘画核心从 pixi-painter 里抽出来:core与 Pixi 无关)+ pixi(Pixi 桥)。这张卡只立空骨架并接通构建 / 类型,不写业务逻辑。沿用仓库现有约定(unbuild + ESM + 各包自带 build.config.ts)。

Steps

  1. packages/core/
    • package.jsonname: "@saier/core"type: moduleexports 指向 ./dist/index.mjs + ./dist/index.d.tsscripts.build: unbuildpixi.js 依赖(这是硬约束)。
    • src/index.ts(先空导出)、build.config.ts(仿 pixi-painter)、test/
  2. packages/pixi/
    • package.jsonname: "@saier/pixi"、依赖 @saier/coreworkspace:*)+ pixi.js(peer 或 dep,与 pixi-painter 对齐 ^8.19.0)。
    • src/index.tsbuild.config.tstest/
  3. 接通 workspace 与类型:
    • pnpm-workspace.yamlpackages/* 已覆盖,无需改;pnpm install 让 workspace 链接生效。
    • tsconfig.json 若用 paths,加 @saier/core@saier/pixipackages/*/src(便于 dev 直接引源码)。
  4. 各加一个占位测试(expect(true).toBe(true))确保 pnpm test 能发现新包。

Acceptance

  • [ ] pnpm -F @saier/core buildpnpm -F @saier/pixi build 均通过。
  • [ ] corepackage.json / lockfile 中不出现 pixi.js(依赖隔离)。
  • [ ] pnpm typecheckpnpm test 全绿。

Out of scope

  • 任何接口 / 业务实现(→ P1-02 起)。
  • pixi-painter 现有代码(→ P1-08)。

Released under the MPL-2.0 License.