Skip to content

[Refactor] 将 AMLL Player 移出主仓独立维护 #449

@Linho1219

Description

@Linho1219

AMLL 主仓目前是一个复杂的 monorepo,包含

  • JS/TS workspace:corereactreact-fullvuettmldocsplayer
  • Rust wasm 包:lyricfftws-protocol
  • Rust 原生包:player-core
  • Tauri 桌面应用:packages/player/src-tauri
  • 另一个纯 Rust 原型:skia-player(现已基本废弃,不是 pnpm workspace 的主线)

Player 的 Vite 配置直接 alias 到 core/react/react-full/ttml 源码,同时承担产品代码和库集成测试职责。这导致:

  • 调试链路被 Tauri/平台依赖(FFmpeg 等)明显拖重,不能很好服务 core 的迭代
  • 对大多数贡献者不友好,尤其前端贡献者
  • Player 作为下游项目却享受「一等公民」地位,公共 npm 包迭代被轻视,以至于部分下游因 npm 包迭代过慢而 vendor 核心源码
  • CI、依赖、评审、发布语义混乱,需要不停判断问题来自核心库还是 Player

因此考虑:

  • 将 Player 拆分为独立仓库进行维护,与主仓解耦。Player 后续考虑直接采用 npm 公共版本,或使用 git submodule 等引入 AMLL。
  • 主仓目前在主仓维护一个轻量化 playground 用于调试,Player 作为端到端产品验证。

分支 Linho1219:remove-player 已开始原型验证。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions