Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

9-12月迭代计划表 #26

Open
36 of 78 tasks
median-dxz opened this issue Aug 3, 2024 · 2 comments
Open
36 of 78 tasks

9-12月迭代计划表 #26

median-dxz opened this issue Aug 3, 2024 · 2 comments
Assignees

Comments

@median-dxz
Copy link
Owner

median-dxz commented Aug 3, 2024

sdk

sdk将转为独立仓库,同时将github仓库作为模组的在线源,目前参考的思路是BetterNCM的插件源处理思路。大致描述为:

  1. 创建一个模板仓库,可以通过fork该仓库快速创建模组开发环境
  2. sdk使用github发版的mod-type/mod-resolver/core进行开发
  3. 使用esbuild进行构建,需要手动配置环境变量,包括后端api和入口
  4. 编写esbuild构建插件脚本,在开发模式下,以监视模式运行,并自动通过插件以更新模式安装到后端
  5. 生产模式下,构建生成用于提交
  6. 创建一个插件源仓库,该仓库主分支包含所有模组的源码
  7. 该仓库另一个分支包含所有的构建结果和清单文件,作为插件源
  8. 构建是由github actions自动触发的CI,通过提交pr来发布模组,只允许提交模组的源码,审核完成才能合并

以上具体实现方案仍在探索中...

core v1.0.0

core在最近的开发中基本维持稳定,且具有完整的公共API组织以及一定的扩展性,个人认为是时候发布v1.0.0版本,标志其功能已经达到稳定。在正式发布之前,还有如下的事项需要处理:

  • 精简 api 界面,删除不必要的导出
    • 删除不常用的子包导出
    • 删除不必要的实体接口
    • 重命名SocketBuilderRegistrySocketDeserializerRegistry
    • Battle下导出全部重新组织
  • SEAPet 更换更优雅的链式调用 api
  • 重新组织导出
    • 不再有子包导出
    • seac作为核心实例用于控制全局副作用
    • Strategy模块重写, 提供更加方便优雅的 api, 且统一大部分操作
      • 新 api 以纯函数式方式实现,包括技能对点,自动,第五,攻击
    • 更名
      • SEAPet -> spet
      • GameConfigRegistry.getQuery -> query
      • extendEngine -> engine.extend
      • Engine -> engine
      • SEABattle -> battle
  • 启用单元测试
  • 查询关卡获取的因子数量
  • 查询魂印激活放到 SEAPet 中
    • 修复为同步实现
  • 解耦登录器/后端特定逻辑,分离非核心功能,部分由登录器提供扩展定义, 合并到engine中, 部分由@sea/mod-presets实现
    • script 解密(后端)
    • 对战显血(模组)
    • 自动关弹窗(模组)
    • logFilter(后端+登录器)
  • LevelRunner使用事件流
  • 对于 CoreLoader 的注册 hook,提供标志位来进行功能的打开,关闭
    • 同时公开 hook 数组,以便登录器层可以开关特定功能
  • 集成测试作为单独的包,移出 @sea/core
  • 日志模块重写,输出 object 而不是消息,可以子 logger 化,规范化行为
    • 为hook添加日志
  • 删除dev标志
  • hookConstructor删除实验性标志
  • 验证第五和魂印判断的正确性
  • 战斗延迟可以在battle中进行配置

core / mod-type release 待定

  • 更优化的策略与对战方案API

website

  • 移出到单独的仓库,在有精力写文档和打理之前,先使用本仓库的简版文档
  • 配色修改(如果简单的话)
  • 设置push自动部署的ci
  • 删除blog功能
  • 首页整理一下
  • 重写readme,分割roadmap,quick start,添加截图和常见QA,目标:让有一定动手能力的人目前可以把项目跑起来,安装模组
    • 这个项目在干什么
    • 基本运行原理(需要有一定知识储备)
    • 开发进度和目前可用性
    • 预期正式发布日期
    • quick start
      • 模组安装
    • 如何获取更新通知(开个discuss,等dc群建好)

launcher / server v0.9.2

  • 一些修复(进度待添加)

launcher / server v0.9.3

  • 对data和config存储添加版本字段
  • 内置模组的整个初始化流程更改
    • 不再有安装步骤,而是用特殊的端点通知后端内置模组的加载
  • task移入redux存储,编写相关切片
  • 模组管理功能
    • 禁用启用
    • 重载
    • 优先级配置
    • 本地安装时显示perfetch信息
    • 查看详情
    • 出错处理
  • 部署时区分全部部署和单个部署
  • 简化情况,拒绝循环依赖和多层依赖

launcher / server release 待定

  • 模组更新处理(待定)
  • 在线安装模组(待定)
  • 日志重构(待定)

mod-resolver / mod-type v1.0.0

  • 抽象准备安装端点所需的逻辑
  • 安装时附带完整metadata
  • 可选的主页和作者字段
  • 表示支持热重载的标志位
  • 增加只能在登录器由用户配置的加载优先级
  • 元数据附带对等依赖
    • 包括对core和mod-type的依赖

toolchain

  • 引入changeset
    • (launcher / server) / (mod-resolver / mod-type)维持主版本和次版本一致
  • 重构构建脚本(待定)
  • 将现有todolist(即changelog)转为milestone
@median-dxz median-dxz self-assigned this Aug 3, 2024
@median-dxz median-dxz pinned this issue Aug 3, 2024
@median-dxz
Copy link
Owner Author

为了尽快开始在线模组源的环境搭建,近期将发布:

  • @sea/core
  • @sea/mod-types
  • @sea/mod-reolver

v1.0.0版本

@median-dxz median-dxz changed the title 8-9月迭代计划表 9-12月迭代计划表 Aug 13, 2024
@median-dxz
Copy link
Owner Author

由于个人时间安排的原因,项目将再次进入缓更阶段

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant