源码仓库与个人贡献地图
自动关联目录:源码仓库与个人贡献地图
本文只保留公开可讲的逻辑名称。真实磁盘路径、内部仓库地址、工单号和提交哈希进入不发布的私有证据索引。
一、审计方法
这份地图不再依赖手工挑选提交,而是由脚本执行以下步骤:
- 读取三个工作区的仓库清单,并补充工作区根仓与清单外的顶层 Git 仓。
- 对每个可用仓执行
git log --all,逐仓压缩保存未过滤历史;不可用 checkout 单独进入覆盖表。 - 用作者名和邮箱筛出个人记录,再按完整哈希合并主仓、脚本仓和功能仓中的重复历史。
- 标注 merge、自动同步、revert、reapply、stash/workspace 快照和纯发布产物更新,但不从原始导出中删除。
- 继续按“同一作者日期 + 规范化主题”生成近似逻辑改动,用于识别拆仓和迁移重复;这个数字不作为产出指标。
- 对有效记录导出文件级
numstat,再按仓库、月份、目录、需求单和专题生成派生表;所有规范化主题另存总目录,未分类主题进入显式复核队列。
脚本与派生表解决的是“有没有漏看”,不能仅凭提交证明主导权、业务效果或性能收益。每个主张仍要回到源码、需求边界和验收结果。
二、四个源码域
| 源码域 | 核心仓库/模块 | 边界 | 主要技术栈 |
|---|---|---|---|
| 旧客户端:UGC1.0 与特色玩法 | UE 主工程、UGC 功能仓、Gameplay 功能仓、插件与工具仓 | 成熟产品中的业务功能、内容链路、玩法和性能治理 | Unreal、C++、Lua、蓝图、平台服务 |
| Web/跨端 | PixUI 多应用仓、SSR/BFF 仓、Blockly 内核/工厂/IDE | 游戏内 Web UI、运营页面、可视化编程和发布工具链 | TypeScript、React、Next.js、Node、PixUI |
| UGC2.0 | UGC2 内容仓、原生插件、制品工具、自动化与编辑器工具 | 对象模型之上的编辑、运行、页面宿主、交付和验证 | C++、Luau、TypeScript、Python、Unreal |
| Fate 定点物理 | fate_math、fate_physics、fate_sync、fate_sandbox | 确定性数值、XPBD、碰撞检测、锁步输入和示例验证 | Rust、定点数、软件浮点、SIMD、XPBD |
前三个域构成当前 UGC 主线:UGC1.0 提供真实创作者问题,Web 工作补齐多端 UI 与交付能力,UGC2.0 则把前两者遇到的对象、协议、生命周期和制品问题重新平台化。Fate 是更早的底层算法经历,证明确定性数值、物理求解和计算几何能力,但不与 UGC 主线混成同一个项目。
项目级完整架构与个人边界分别见 UGC1.0 经验补全、特色玩法与 PVE 经验补全、UGC2.0 经验补全 和 Fate 定点物理源码复盘。这些文章可以覆盖团队能力,但只有本页和私有证据索引核实过的条目能使用“我负责”。
三、仓库与模块边界
UGC1.0 与特色玩法
| 模块 | 负责什么 | 不负责什么 |
|---|---|---|
| UGC 功能内容 | 地图模型、编辑器状态、元件、AI 辅助、发布和页面逻辑 | 引擎通用能力和全部服务端业务 |
| UE 主工程与共享脚本 | 通用模型、网络接口、资源与跨功能接线 | 单一功能的全部产品决策 |
| Gameplay 功能模块 | 新手流程、道具/交互、AI、局内外状态和表现 | 平台级 UGC 创作模型 |
| 原生插件与工具 | ASTC、性能能力、数据/构建辅助 | 产品页面与玩法规则本身 |
Web/跨端
| 仓库 | 负责什么 | 主要产物 |
|---|---|---|
| PixUI 多应用仓 | 游戏内小应用、共享 SDK/UI/协议、应用注册和构建编排 | Web 产物、二进制页面资源、游戏内发布包 |
| SSR/BFF 仓 | H5/SSR 页面、接口聚合、登录态和弱网降级 | Node 服务与静态资源 |
| Blockly 内核 | 可视化积木底层能力 | 可复用前端包 |
| 积木工厂 | 积木定义、管理和代码包生成 | 积木盒代码包 |
| Coding IDE | 创作入口、模板、预览和运行接入 | 在线/离线 IDE 包 |
UGC2.0
| 模块 | 负责什么 | 主要边界 |
|---|---|---|
| 内容与脚本主仓 | Luau 编辑/运行逻辑、TypeScript 页面、工具和测试 | 创作数据与上层行为的事实来源 |
| C++ 原生插件 | Unreal 宿主、Binding、原生对象投影、页面转发、多端能力 | 执行与平台能力,不取代上层对象语义 |
| 页面工程 | TypeScript 协议、状态客户端、组件与平台适配 | 不直接持有游戏世界权威状态 |
| 制品构建器 | 依赖收集、转换、Manifest、Bundle、安装与校验 | 不决定创作语义,只保证可交付性 |
| UI 自动化 | PlayerGui/PixUI 树、稳定 ID、驱动与截图 | 只提供可测试表面,不代替业务断言 |
Fate 定点物理
| 仓库 | 负责什么 | 主要边界 |
|---|---|---|
fate_math | 定点数、软件 Float32、向量/矩阵/四元数和 SIMD 数学 | 提供确定性数值语义,不决定物理执行顺序 |
fate_physics | 粒子/刚体、XPBD 约束、宽相/窄相、接触、场景查询和序列化 | 物理世界与查询可独立使用,不内置网络锁步 |
fate_sync | 帧缓存、动作序号、确认/重传、重连与世界状态恢复 | 保证各端按序得到输入,不替代确定性物理计算 |
fate_sandbox | 场景搭建、可视化与交互验证 | 用于示例和验证,不是求解器核心 |
四、个人贡献索引
原始日志存在主仓/功能仓重复历史、自动发布、回滚和迁移噪音,因此不采用“累计提交数”作为结论。下面按唯一主题和首发证据归纳。
| 时间 | 工作流/主题 | 已核实的个人边界 | 证据 |
|---|---|---|---|
| 2021.10 - 2022.07 | Fate 窄相与定点几何 | Box-Capsule/Box-Cylinder、Sphere/Capsule-HeightField、Segment-Triangle,以及精度、退化与溢出修复;提交作者为历史账号 zhengrjiang | A |
| 2023.12 - 2024.07 | Fate 查询、Shape API 与示例修复 | Cluster overlap 加速、Shape 独立属性 setter、示例渲染恢复;提交作者为 davidsjiang | A |
| 2023.03 - 2025.02 | 地图数据与交付 | 地图模型、多文件数据、上传下载、压缩、大小治理和长期故障修复 | A |
| 2023.05 - 2025.03 | AI 配色/换色与参考图 | 客户端交互、异步请求、预览应用、错误处理、埋点和线上维护 | A |
| 2023.09 - 2024.06 | Crash 工单辅助 | 从异常栈定位文件/行号,以 Git blame 识别候选负责人,并处理白名单、人工覆盖、定时执行与结果通知 | A |
| 2023.11 - 2024.01 | ASTC 工具与压缩链 | 查看/转码工具、多线程压缩、构建接入和慢机型耗时治理 | A |
| 2023.12 - 2024.08 | 地图数据解析工具 | C++/Lua 解析内核、压缩/加密输入、地图/图层/组合/描述文件模式、GUI 和更新维护 | A |
| 2024.01 - 2025.03 | 元件、编辑模式与四足生物 | 元件管理、状态切换、撤销刷新、碰撞、骨骼挂接、Gizmo 和放置稳定性 | A |
| 2025.03 - 2025.08 | 非对称玩法主开发 | 系统/Modplay、局内 HUD、配置、道具与角色表现;具体主责模块待本人逐项确认 | B |
| 2025.08 - 2026.05 | PVP 玩法 | 物品/道具、Ability、交互对象、局内系统和复制框架接入 | B |
| 2025.12 - 2026.06 | PVE 玩法 | 新手流程、逻辑/模型、局内外时间线和客户端/服务端联调 | B |
| 2026.04 - 2026.08 | AI 辅助研发资产 | 开发规范、缺陷/需求助手、知识索引、分支对比、PixUI 技能和审计报告 | A |
| 2026.06 - 2026.09 | Web/跨端 | PixUI 多应用、共享 SDK 与包结构、SSR 弱网、Coding、构建发布 | A |
| 2026.08 - 2026.10 | UGC2.0 页面与运行边界 | 类型协议、页面生命周期、版本化状态路由、原生页面宿主 | A |
| 2026.08 - 2026.10 | UGC2.0 交付与验证 | ArtifactBuilder 稳定性、数据二进制化、多端构建、UI 自动化和流水线 | A |
| 2023.06 - 2026.09 | 引擎/插件定点修复 | 上传超时、HTTP 响应、组件性能、编译兼容和移动端锁问题等跨层修复 | B |
五、容易被简历压缩掉的工作
全主题目录保留了所有规范化主题,并把未被初始关键词规则命中的记录单独排成复核队列。回看高频主题与文件域后,补出以下工作范围:
- UGC 发布与内容治理: 多图拍照与封面、地图/玩法说明、自定义图片分页和上限、资源额度、违禁资产阻断、发布资产拆分。
- 文本与图片展示元件: 写字板、注释板、图标显示器、3D UI、自定义图库编程块,以及复制和刷新一致性。
- UGC 内玩法样例: 死亡掉落、手动复活和场景掉落物刷新。它能证明做过玩法规则接入,但不应包装成独立大型项目。
- 非对称玩法细节: 观战结算、2V8 地窖、地图信息 UI、身份/货币、治疗状态、低端机帧率和音频表现。
- Coding 发布治理: 分支选择、人工审核、版本发布、回滚和服务启动修复。
- UGC2 多端交付: 安卓游玩与发布恢复、服务版本配置、制品污染防护、角色资源预加载和 JSON 二进制化。
- 引擎与共享层修复: 编译器兼容、移动端锁反转、HTTP 响应、脚本绑定清理和跨层刷新问题。
这组内容的作用是防遗漏,不是全部进入自我介绍。后续应从中选择能说明业务判断、架构边界或复杂故障的案例;低信息提交主题只留在私有复核队列。
六、需求到代码映射
| 需求 | 实现层 | 关键上下游 | 最终用户 | 职责/证据 |
|---|---|---|---|---|
| 地图可保存、复制和跨版本打开 | 地图模型、序列化、多文件打包、版本规则 | 编辑器、对象数据、存储/CDN、发布 | 创作者 | L2/A |
| 地图体积可控 | 数据裁剪、包大小规范、压缩与校验 | 资产、上传下载、移动端存储 | 创作者与玩家 | L2/A |
| AI 一键换色 | 场景采样、任务状态、服务请求、预览确认、材质应用 | AI 服务、安全、埋点、编辑事务 | 创作者 | L1/A |
| 高分辨率贴图可在移动端交付 | ASTC 转码、工具、多线程编码、上传链 | 图片审核、磁盘、内存、GPU 格式 | 创作者与移动端玩家 | L1/A |
| 简单模式降低学习门槛 | 模式状态、面板互斥、元件权限与碰撞 | 专家模式、撤销、角色移动 | 新手创作者 | L2/A |
| 四足对象可定制 | 骨骼附着、部件列表、Gizmo、碰撞、相机适配 | 模型/动画、对象树、保存 | 创作者 | L2/A |
| 高密度玩法保持网络可控 | 复制框架、相关对象筛选、状态/事件边界 | DS 权威、交互物、技能和观战 | 对局玩家 | L2/B |
| 游戏内多页面快速迭代 | 多应用工程、共享 SDK/协议、应用注册 | 原生宿主、平台服务、构建发布 | 创作者与运营用户 | L2/A |
| 弱网和低版本 WebView 可恢复 | 错误页接管、兼容 API、退出/重连路径 | SSR/BFF、登录态、客户端 WebView | 移动端用户 | L2/A |
| 可视化编程可生成和复用模板 | Blockly、积木工厂、IDE、模板接口 | UGC 脚本运行时、服务接口 | 创作者 | L2/A |
| UGC2 页面与编辑状态可靠通信 | 类型协议、消息队列、帧末转发、状态分域 | TypeScript、C++ 宿主、Luau 编辑服务 | 创作者 | L2/A |
| 页面重建不接收旧消息 | 页面代次、状态版本、过期消息拒绝、解绑 | 页面管理器、原生宿主、编辑服务 | 创作者 | L2/A |
| 创作内容可确定性交付 | 依赖扫描、处理器、Manifest、Bundle、安装校验 | 资产生产工具、客户端、各目标平台 | 创作者与玩家 | L2/A |
| UI 可被真实客户端自动化 | DOM/树暴露、稳定 ID、驱动协议、流水线 | PlayerGui、PixUI、测试平台 | 研发与测试 | L2/A |
| Crash 工单可自动找到候选负责人 | 异常栈解析、文件匹配、Git blame、白名单与人工覆盖 | Crash 平台、需求平台、多个代码仓 | 客户端研发 | L1-L2/A |
| 地图二进制能离线诊断 | 内嵌 Lua/C++ 解析、解压/解密、Schema 转换、GUI/批处理 | 地图文件、资源检查、数据分析 | 研发、测试与内容团队 | L1-L2/A |
| AI 辅助开发可进入真实流程 | 规范/知识索引、专用技能、缺陷记录、审计与差异工具 | 源码、需求文档、Web/玩法仓 | 客户端研发 | L2/A |
七、UGC2.0 的跨语言边界
这部分是后续回答“PixUI 封装具体做了什么”的事实骨架:
TypeScript 页面
└─ 类型化协议 / 状态客户端 / 页面 generation
↓ 消息
C++ 原生宿主
└─ 页面实例、线程/帧边界、队列与原生能力
↓ 转发 / Binding
Luau 编辑服务
└─ 对象树、选择、属性、事务与编辑状态权威
↑ 事件 / 状态快照 / ACK关键不是“三种语言能互调”,而是:谁拥有状态、消息何时生效、页面销毁后如何拒绝迟到消息、断链如何恢复、以及如何用版本和确认机制判断双方是否一致。
八、边界声明
- 可以说“我负责了 UGC2.0 页面通信与交付基建”,不能据此说“整套 UGC2.0 架构由我设计”。
- 可以说“我接入并优化了玩法复制框架”,不能在缺少抓包前给出带宽收益百分比。
- 可以说“我主导了 AI 换色与 ASTC 客户端链路”,业务采用率和性能收益仍要用数据证明。
- 可以说“我开发并长期维护了自动分单和地图解析工具”,但“显著提效”仍需覆盖量、准确率与人工耗时数据。
- AI 研发资产能证明做过工程化沉淀,不能用批量导入的文件数等价为手写代码量。
- Fate 定点物理已在
D:\Fate补齐源码与提交证据;团队整体的 Fate Math、XPBD World 和锁步架构只能按参与和理解陈述,个人实现聚焦窄相、HeightField、几何边界与后续查询/API 改动。公开组件仍需公开链接。 - 自动发布提交、批量迁移、stash、回滚和重复仓历史不进入个人贡献结论。
- 对 UGC1.0 相邻模块的事后源码复盘可以证明当前理解和接手能力,不会自动升级为当年的主导或实现经历。
许可协议:CC BY
作者:Davids
本文链接:https://hustjjd.github.io/c0b3b22.html
更新于:2026年10月19日