SepComet
|
117dd123de
|
Merge pull request 'refactor-assembly' (#1) from refactor-assembly into GPU-Instancing
Reviewed-on: #1
|
2026-06-04 22:25:23 +08:00 |
SepComet
|
1bbfd84644
|
Update Launcher.unity
|
2026-06-04 17:10:12 +08:00 |
SepComet
|
edd7088804
|
规范命名空间
具体来说就是 SepCore 开头,然后接所属的模块名,比如 SepCore.Entity,SepCore.Simulation,SepCore.Procedure
|
2026-06-03 16:57:40 +08:00 |
SepComet
|
5de3fdc795
|
迁移 EntityData 到 Base 中
- 新增 EntityDataFactory 工厂类,提供创建 EntityData 的统一入口
- 移出 EntityData 及派生类对 GameEntry 的依赖并移入 SepCore.Base 程序集中
|
2026-06-03 15:12:55 +08:00 |
SepComet
|
91f70dd783
|
添加 SepCore.Runtime 和 SepCore.Base 程序集
- 暂时将 Entity 全部归进 Runtime 程序集里
- 调整部分 UI 的 UseCase/RawData/Context 之间的关系,让 RawData 更接近业务原始数据,Context 更接近 UI 直接可读的数据
- 调整其他程序集的引用关系
|
2026-06-03 11:15:58 +08:00 |
SepComet
|
d5893ac52b
|
清理目录
|
2026-06-03 10:00:14 +08:00 |
SepComet
|
367a3432c0
|
更新文档
|
2026-06-03 09:59:40 +08:00 |
SepComet
|
7bba8bbb80
|
继续重构调整(UI)
- 引入 UniTask 和异步版本的 UIModule
- 调整 Runtime/UIBase 和 Presentation 下的脚本命名空间到 SepCore.UI
- 将原来的 5 层 UI 迁移到异步实现
- 规范各层的 UI 脚本命名
|
2026-06-03 09:58:37 +08:00 |
SepComet
|
6b8a6a8789
|
继续调整,创建 Procedure 与 Presentation 程序集
- 创建 Procedure 与 Presentation 两个程序集
- 初步解决这两个程序集与原程序集的引用关系
|
2026-06-02 23:26:08 +08:00 |
SepComet
|
affa44e4d0
|
调整 Event 和 Editor 命名空间
- 将原来的 CustomEvent 调整到 SepCore.Event
- 将 Editor 文件夹下的统一到 SepCore.Editor,顺带修改了 Editor 程序集
|
2026-06-02 19:26:21 +08:00 |
SepComet
|
34c0784190
|
第一批重构,主要是物理迁移脚本和部分命名空间的调整
- 结构上迁移文件,将脚本分成 Base/Runtime/Presentation/Procedure/Editor 五大文件夹
- 调整 DataTable 和 Definition 下脚本的命名空间
- 依据 UI-5层架构设计规范 拆分原先的 UI 到 Runtime 和 Presentation 下
|
2026-06-02 19:12:34 +08:00 |
SepComet
|
56f74eee9a
|
Merge branch 'GPU-Instancing' of http://106.12.111.150:4000/basil/vampire-like into GPU-Instancing
|
2026-05-10 16:33:15 +08:00 |
SepComet
|
c6f48951d3
|
Fix UGF resource packaging errors
资源构建失败是因为资源集合中包含了 AssemblyDefinitionAsset,并且 StreamingAssets 文件夹的创建行为间歇性出现。
此更改移除了资源打包输入中的脚本相关条目,并保留了跟踪的 StreamingAssets 支架文件,使得包输出可以重新生成而不会触发元/文件夹不匹配警告。
限制:Unity/UGF 打包不能在 AssetBundles 中包含 AssemblyDefinitionAsset
限制:StreamingAssets 内容应保持被忽略,而文件夹身份仍被追踪
禁止:保留脚本资源并依赖平台标识 | bundle 包包含 Editor-only 对象
可信:高
范围风险:狭窄
可逆性:干净
指令:不要将 .asmdef/.cs 资产添加到 ResourceCollection 中;只有 runtime 资产才能进入 bundle
测试:资源构建器打包运行完成,且没有之前的两个错误
|
2026-05-10 16:30:36 +08:00 |
SepComet
|
b79d482453
|
规范 UI 开发,ui-five-layer-architecture skill
|
2026-04-09 09:59:50 +08:00 |
SepComet
|
0a78c0bd94
|
引入 claude code 和 初始化 codex
|
2026-04-08 17:00:24 +08:00 |
SepComet
|
dce5598c70
|
make plan
|
2026-04-02 13:31:57 +08:00 |
SepComet
|
a94a86b68b
|
Merge pull request #5 from SepComet/Cleanup
Cleanup
|
2026-04-02 13:27:35 +08:00 |
SepComet
|
6d6fa89fc5
|
Update NearestTargetSelector.cs
|
2026-04-02 13:26:27 +08:00 |
SepComet
|
af1fb7bf9d
|
fix test sample
|
2026-04-02 12:52:23 +08:00 |
SepComet
|
ffcd4e6b54
|
Cleanup 2
|
2026-04-02 12:36:01 +08:00 |
SepComet
|
1052cc0136
|
Cleanup 1
|
2026-04-02 11:21:07 +08:00 |
SepComet
|
5ed792b09f
|
import openspec
|
2026-04-02 10:32:33 +08:00 |
SepComet
|
057024da58
|
Merge pull request #4 from SepComet/P2-JobSystem+Burst
P2 job system+burst
|
2026-04-02 10:29:29 +08:00 |
SepComet
|
a649d9fad2
|
update CodeX-TODO.md
|
2026-04-02 09:35:09 +08:00 |
SepComet
|
0a281a5b1f
|
update P2-Job-System-+-Burst-落地.md
|
2026-04-02 08:32:37 +08:00 |
SepComet
|
0d7df18324
|
优化 WeaponLance 的攻击逻辑
|
2026-03-20 09:55:52 +08:00 |
SepComet
|
8d21d53c4d
|
添加武器长枪 + bug fix
- WeaponLance:Entity/Goods/Weapon 表,状态机
- Battle -> Shop/LevelUp:隐藏子弹
|
2026-03-19 17:53:24 +08:00 |
SepComet
|
f31babdb85
|
clear
|
2026-03-17 13:43:59 +08:00 |
SepComet
|
c5d113b35f
|
调整 convert.py 转换逻辑 + 规划后续开发
|
2026-03-17 13:21:49 +08:00 |
SepComet
|
59f1d02a18
|
测试修复安卓打包
|
2026-03-17 11:28:33 +08:00 |
SepComet
|
224db4cd5c
|
保留 Tick 作为唯一入口,但让 SimulationWorld 只做 orchestration
- Tick 仍然是唯一仿真入口。SimulationWorld 顶层现在只保留全局开关、bridge 服务和生命周期入口,原来散落在类上的大部分跨域状态已经从 SimulationWorld 收口到新的 SimulationWorld.RuntimeModules。
- 新的 runtime modules 把状态按域分成了 SimulationStateStore、JobDataRuntimeState、CollisionPipelineRuntimeState、TargetSelectionRuntimeState,并通过同名代理把现有 partial 的调用面基本保持不变。
- CollisionPipeline 和 target-selection 的配置也一起下沉到了运行时模块。为了避免现有反射型测试立刻失效,保留了 _collisionQueryInputs 和 _areaCollisionRequests 这两个顶层兼容字段。
|
2026-03-17 10:05:07 +08:00 |
SepComet
|
736a2a65bd
|
拆分 SimulationWorld.JobDataChannel
- 生命周期在 SimulationWorld.JobDataLifecycle
- 数据转换和输入输出缓冲准备在 SimulationWorld.JobDataConversion
- collision transient/runtime stats 在 SimulationWorld.CollisionTransient
- enemy separation temporal state 在 SimulationWorld.EnemySeparationTemporal
- output commit 在 SimulationWorld.JobOutputCommit
- SimulationWorld 的 partial 布局注释也同步到了 SimulationWorld
|
2026-03-17 09:32:08 +08:00 |
SepComet
|
2d822c02e6
|
拆分 CollisionPipeline
- 请求缓冲在 SimulationWorld.CollisionRequests
- broad-phase / Job 调度在 SimulationWorld.CollisionBroadPhase
- 主线程 resolve 在 SimulationWorld.CollisionResolve
- hit presentation dispatch 和实体/impact 解析在 SimulationWorld.CollisionPresentation
|
2026-03-17 09:21:11 +08:00 |
SepComet
|
aa081bcc3c
|
remove open spec skills
|
2026-03-17 08:58:56 +08:00 |
SepComet
|
f809af4e15
|
调整 UI 防御性编程
|
2026-03-17 08:34:38 +08:00 |
SepComet
|
415b92652d
|
Create .gitattributes
|
2026-03-16 22:24:07 +08:00 |
SepComet
|
ccbd27e87e
|
Checkpoint 9
|
2026-03-16 22:19:57 +08:00 |
SepComet
|
2e4108aebc
|
add test
1. MaxTargets 上限
2. 战斗中开关不生效
3. AOE 使用“请求时快照”而不是结算时实时状态
|
2026-02-23 12:17:08 +08:00 |
SepComet
|
76094b711b
|
fix 2
1. MaxTargets 现在严格生效(包含玩家候选)
- 玩家先被加入候选后,会计入 selectedCount,达到上限后不再继续查敌人桶。
2. UseSimulationMovement/UseJobSimulation 战斗中不生效
- 在 SimulationWorld 的 setter 中增加 Battle 状态保护:战斗中调用会被忽略并打 warning。
- 在 ProcedureGame 暴露当前状态类型,供 SimulationWorld 判断。
3. AOE 结算不再依赖结算时刻的 Weapon.IsAttacking
- 在 AOE query 入队时快照 source 活跃状态(武器用 IsAttacking)。
- Query 数据结构增加 SourceWasActiveAtQueryTime。
- 结算时使用该快照判定,并通过 AIUtility.PerformCollision(..., ignoreRuntimeState: true) 避免被实时状态误伤。
|
2026-02-23 11:48:05 +08:00 |
SepComet
|
688fefe848
|
fix 1
1. 修复投射物闪避口径(使用 Value,与全局伤害逻辑一致)
- 将 SimulationWorld 内投射物伤害计算改为直接复用 AIUtility.CalcDamageHP(...)。
- 删除了 SimulationWorld 里那套重复且使用 dodgeStat.Percent 的私有计算函数,避免再次分叉。
2. 修复目标选择索引“重建过于激进”
- 去掉了 Job Tick 末尾的“每帧强制 MarkDirty + Build”。
- 改为在 Job 输出回写时,只有敌人 XZ 坐标发生变化才标记 dirty。
- 空间索引构建条件改为“仅 dirty 时重建”,不再因跨帧自动重建。
|
2026-02-23 11:21:35 +08:00 |
SepComet
|
1a45b513f2
|
Checkpoint 8
1. 统一调度收口为单点 Complete
2. 移除 Job 内部 Complete(),改为返回 JobHandle
3. 修复调度后 NativeList 安全冲突(关键)
- 将 PrepareEnemyJobOutputBuffer/PrepareProjectileJobOutputBuffer/PrepareEnemySeparationJobBuffers 前置到 BuildInput
- 互斥候选统计改为读取 _enemyJobInputs,不再在 Complete 前读取 _enemyJobOutputs
4. 新增 CP8 profiler markers
5. 新增回归用例(验证使用最新敌人移动结果构建碰撞候选)
|
2026-02-23 10:53:15 +08:00 |
SepComet
|
e6d722ee1d
|
Checkpoint 7
1. Job 通道数据结构改为 Unity.Mathematics 类型(float3/quaternion),并保留 Simulation 主数据结构不变。
2. 更新了通道边界转换函数:进入 Job 通道时转为数学类型,回写 Simulation 时转回 Vector3/Quaternion。
3. 敌人 Job 热路径去掉 Vector3/Quaternion 中间态,核心执行统一 math.* + float3/quaternion。
4. 投射物移动 Job 热路径同样统一为数学类型计算与输出。
5. 新增 Burst 开关 A/B 一致性回归测试(EditMode + PlayMode),并补了反射入口校验。
|
2026-02-23 10:29:47 +08:00 |
SepComet
|
f0abf78128
|
Checkpoint 5 & Checkpoint 6
|
2026-02-22 22:00:43 +08:00 |
SepComet
|
5fb7ea499f
|
Checkpoint 3 fix
修复将互斥算法由同步转成异步产生的抖动问题
|
2026-02-22 14:11:53 +08:00 |
SepComet
|
34b1424bb6
|
Checkpoint 2 & Checkpoint 3
Checkpoint 2:Simulation 与 Job 数据通道打通
- 新增 Job 数据通道(Persistent NativeList)与 Simulation <-> NativeContainer 拷贝/回写流程
- 在生命周期接入通道管理(初始化、清空、集中释放)并接入 UseJobSimulation 分支
- 增强通道健壮性:失效容器自动重建,避免 EditMode 下 ObjectDisposedException
- 增加 UseJobSimulation 分支回归用例(EditMode/PlayMode 各 1 条)
Checkpoint 3:敌人移动与朝向 Job 化
- UseJobSimulation 分支正式切到 Job 路径
- 新增敌人移动/朝向 Job 实现(IJobParallelFor):
- Burst 版本 + 非 Burst 版本(受 UseBurstJobs 开关控制)
- Job 计算移动、朝向、状态;主线程补做分离避让回补
- 扩展数据通道能力(为 Job 输出缓冲和投射物输出同步提供接口)
- 补充分支回归测试(开启 UseJobSimulation 后验证追踪与朝向)
|
2026-02-22 10:47:42 +08:00 |
SepComet
|
76ed9a3e53
|
Checkpoint 1:依赖锁定与运行开关落地
- 在 `SimulationWorld` 里添加 P2 运行开关 `UseJobSimulation` 与 `UseBurstJobs`
- 添加依赖包:
1. burst: 1.8.28
2. collections: 2.5.7
3. Mathematics: 1.3.2
4. jobs(不单独成包)
- 运行测试,均通过
|
2026-02-22 10:12:26 +08:00 |
SepComet
|
0ae25b960a
|
Merge pull request #2 from SepComet/P1.5-Simulation-Supplement
P1.5 Simulation 收尾(P2 前置)
|
2026-02-21 14:35:44 +08:00 |
SepComet
|
d55ead69a0
|
- Checkpoint 1:清理 `TickEnemies` 侧 GC
- Checkpoint 2:解耦 Simulation 核心与 `Transform` 运行时依赖
- Checkpoint 3:收口 `EntitySync` 职责边界
- Checkpoint 4:拆分 Simulation Tick 阶段
- Checkpoint 5:补最小回归测试
- Checkpoint 6:补充 P1.5 结项文档
|
2026-02-21 13:39:14 +08:00 |
SepComet
|
e4b85e61aa
|
Merge pull request #1 from SepComet/P1-Simulation
P1-Simulation
|
2026-02-20 22:20:08 +08:00 |
SepComet
|
200277a703
|
- 修复 EntityBinding.cs 的字典不一致问题
|
2026-02-20 22:19:25 +08:00 |