https://github.com/superelectricyc-alt/podchunk

各位,目前我正在尝试解决现代开放世界浏览器游戏的初始下载负担问题。 我构建了 PodChunk:一种基于渐进式、多 LOD 块流式传输架构的本地开发引擎基座,旨在在 3 秒内将玩家带入 3D 环境。

底层架构

  • 决策核心(Rust + WASM):为了完全绕过 JavaScript 垃圾收集抖动,整个优先队列(距离 + 相机方向偏差)和缓存驱逐循环在编译的 WebAssembly 内核中运行。
  • 渲染器(TypeScript + WebGPU):消费自定义 geometry_json payload,由 WASM 核心解码。特性包括自定义高度梯度地形着色器、距离雾和交互式轨道相机矩阵。
  • LOD Stitching 问题:邻近块通常以不同细节级别流式传输(例如,Tier 3 块紧邻 Tier 1 外壳)。为了防止可见的顶点裂缝和缝隙而不破坏浏览器性能,渲染器实现 几何边缘来无缝关闭缝隙。
  • 适应性网络遥测:特性包括一个客户端网络循环,运行 EWMA(指数加权移动平均)带宽估算器。它跟踪每个活跃块的每秒字节数,动态调整几何细节梯度(T1 外壳到高精度 T3 网格)基于当前连接质量。
  • 隔离的两层缓存:特性包括一个有界内存 LRU 缓存,与多世界 IndexedDB 数据库结构同步。缓存键是世界标签隔离( {slug}|{id}@{lod}),确保之前流式传输的映射的温重载不需要 零网络请求
  • 内容编写管道:包括一个本地独立编译器 CLI(podchunk-bake)。您将其喂入一个简单的世界布局 JSON 配置文件,它将生成美化的清单以及自定义验证的二进制 .PCHF 高度场块,准备好用于服务器分发。

当前项目状态

里程碑 3 已完成、稳定且在 localhost:8787 上验证。 本地服务器在启动时扫描数据配置,并动态管理热切换世界。 工作区具有 100% 的测试覆盖率(45/45 个单元测试通过)。

我今天开放核心基础设施的源代码,因为数据管道已正式锁定,我正在寻找合作者! 未来在延迟路线图上,下一个任务是暴露客户端 JavaScript Modding API(window.PodChunk.registerMod)并将 WebAssembly 物理引擎碰撞器直接连接到活跃几何网格。 查看代码、运行本地测试并分享你的想法! https://github.com/superelectricyc-alt/podchunk