pelican-engine 0.3.0-m3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,8 +30,8 @@ npx --no-install pelican capture --port 4174 --output capture.png
30
30
  npx --no-install pelican build
31
31
  ```
32
32
 
33
- For an exact-version install use `npm --prefix . i -D --save-exact pelican-engine@0.3.0-m3.0`,
34
- or substitute the local `pelican-engine-0.3.0-m3.0.tgz` tarball before registry
33
+ For an exact-version install use `npm --prefix . i -D --save-exact pelican-engine@0.3.2`,
34
+ or substitute the local `pelican-engine-0.3.2.tgz` tarball before registry
35
35
  publication. `pelican create --template minimal` remains available explicitly.
36
36
 
37
37
  Without `--prefix .`, npm may select an ancestor `package.json` or `node_modules`
package/distribution.json CHANGED
@@ -1,22 +1,23 @@
1
1
  {
2
2
  "format": "pelican.npm-distribution",
3
- "version": "0.3.0-m3.0",
3
+ "version": "0.3.2",
4
4
  "files": {
5
5
  "AGENTS.md": "af63b23d2afdef415c865685aea31dacd365edde17505bde823a757bd46caa5a",
6
- "docs/AI-WORKFLOW.md": "0cd998595f3445d025394c80e3abc4edbb448a1e63dd08fcf450f5bf0c8fb0db",
7
- "docs/api/index.json": "104640fb2bbab2b985444a80348ab5be4ec074cd91f8a406644cc9b2a0ce017b",
8
- "docs/api/REFERENCE.md": "0a2b5093a0225967244bef2f4e46d761dfd7696f0586b1d3ca06923bb6321c86",
6
+ "docs/AI-WORKFLOW.md": "aa992686df93f791795f6f3fce01713d812eea6a1b9556f07411ac5847278efa",
7
+ "docs/api/index.json": "4e244047a2312315114040f800ce32a09bb9fc40b3616388617f37b967c18f2a",
8
+ "docs/api/REFERENCE.md": "b44f9f668705f369254883368fb424abf1a57e76a9b59d10590f6d018608266b",
9
9
  "docs/ARCHITECTURE.md": "3184b73592d466390e7793b1cf39bbb80d6052b523fba7e7cb377b5207074627",
10
10
  "docs/CAPABILITIES.md": "92950817497d8c63db07830db96dc93c877befa8d038320feed1ae1f1a053cb1",
11
- "docs/DECISIONS.md": "867bb92dc7b506ca9d3428eeaf96f2e7d065c77872bd3331382e9588591d8f3c",
11
+ "docs/DECISIONS.md": "bb12e04f048b54682e844d4aeb1e3fc1d5ab1865d00e63ec153cd8658e9d1403",
12
12
  "docs/M3-USAGE.md": "39b2b4675840f3700da9ccf81c690cff4c69ee1ed5785a0b430c7c055935c31a",
13
- "docs/npm/DISTRIBUTION.md": "0e52608d18a8cd7cfbad53a15c280e027fa0a6a28fc5e71d344859f97075845f",
13
+ "docs/npm/DISTRIBUTION.md": "21c1b1717ad86bd566483c11983443940e62ed882111a1a7013c6e0bb13fde44",
14
14
  "docs/npm/GAME-AUTHOR.md": "af63b23d2afdef415c865685aea31dacd365edde17505bde823a757bd46caa5a",
15
15
  "docs/PELICAN-MIGRATION.md": "633f4a4fe30bc899ebb01fb63ec9573a931e43f28c199224509db95890806e5f",
16
16
  "docs/RENDER-BACKENDS.md": "de104cca78d734f9a853a2757c6e3d7b832a31224da5df462851ef2cf9768ade",
17
17
  "docs/ROADMAP.md": "29ac1c54f36064e23c17cfe7f549d6860889257a57d1227e322958aa9c281568",
18
+ "docs/STATUS.md": "dcca7591a916e443858dcd7a21cf8aba675a203a3070c0067e0880c4185bf0af",
18
19
  "docs/THIRD-PARTY-NOTICES.md": "58f9b72e2b4dfaaaf2a4c08b9bde9ecef3d2b7e7d65fccd782ed54f39fa76fdc",
19
- "engine.manifest.json": "5378fe77995c2d229644ee8875352b78a32a8f4e09bdecdebc0f048882e3cb15",
20
+ "engine.manifest.json": "b0f8ccb2a30ed6950c5074216fb5ae6139c8f3721e9ac2c8a635e89ccdc5335c",
20
21
  "lib/assets/audio.js": "6facdce4e053afd172af5b9407569b035169844ea17b49f93f8b67f72b78895f",
21
22
  "lib/assets/errors.js": "70572678655c6e53179d31920d71f29882d373a0e12d560220bb0fc2cd74f2cc",
22
23
  "lib/assets/glb.js": "b808479a36299c154db97f50c16863a3b5a2c61f725e66bf01d01a5f62a288a5",
@@ -118,8 +119,8 @@
118
119
  "lib/runtime/world.js": "c43621fbaca8bd2b0d6477a96e60e895312f0f7b1eb97614b6e4f9b716129ea1",
119
120
  "lib/schema/index.js": "594429eecb4494c4af2f3d04537be3211f2c9297a1fc555bbba5d028d8627965",
120
121
  "lib/sdk/graph-values.js": "a58c00f127cb82aba5fd2824981942844e06d9a59a88a05e35d1d3df2fc7ed2f",
121
- "lib/sdk/index.d.ts": "a3711015403fe32b39c8e30b1410c33bf2a607f4db9ae4574eb8de9cb27820ff",
122
- "lib/sdk/index.js": "6ff37871c73c591e7c6577f21cba7e5a9b08fda18fcf86ea4efb25fef6c818bb",
122
+ "lib/sdk/index.d.ts": "c0f5bd683b7399a23d633d681c1b415c7d58f5cbf89085a265656b8a567439ad",
123
+ "lib/sdk/index.js": "5d348104c0d3c92e6c6fa2ab6baee956996680985201b6a5005ce8840ee10c70",
123
124
  "lib/tools/api-index.js": "6aedc153a0ce8eaf18239b0368a76a8ae8e4397bd8e6cdf571889bc39265be5d",
124
125
  "lib/tools/browser-session.js": "1fa7f78d4752d8a59a55dc2283b4d42cd1df230f0d5a5dc80c6d78ade45b4cdb",
125
126
  "lib/tools/cli.js": "ad5e915f046cc2e6bf612edd1a88cc33758b1d2b0ce2f057be50e0a2c4770062",
@@ -190,8 +191,8 @@
190
191
  "licenses/undici-types/LICENSE": "a6db8096b2707bc0102d256917d4d33f298ba36d8c3f25de067a2b5bb379db27",
191
192
  "licenses/uniq/LICENSE": "e67aed7df22dc8031e4fcf5338fe91cb33e3817e5c58a99a2a2802eea9069791",
192
193
  "licenses/vite/LICENSE.md": "a22152baa1aef74402443008e767e7c689a524c0909d19b0431d97f5ab066a13",
193
- "package.json": "0e0383297e18ef8645d96464012d73079d40666bb7c2f680a952ffb394c17334",
194
- "README.md": "0e52608d18a8cd7cfbad53a15c280e027fa0a6a28fc5e71d344859f97075845f",
194
+ "package.json": "fb4548dd6656c9c83b11f0eee0bdf2e75eb9a78a3a4e6695fb743ec77d7aa79a",
195
+ "README.md": "21c1b1717ad86bd566483c11983443940e62ed882111a1a7013c6e0bb13fde44",
195
196
  "web/index.html": "d89d6a5b5be3beae3627a8ed506ac308b165d264fb8696be3afd79fcca2f26ee"
196
197
  }
197
198
  }
@@ -8,7 +8,11 @@
8
8
 
9
9
  ## 1. 目标与设计哲学
10
10
 
11
- ### 当前验证策略(D49)
11
+ ### 当前执行策略(D50、D51)
12
+
13
+ D50 禁止测试、浏览器、GPU、性能、smoke、额外校验及其他验证,仅允许编译/构建及必要步骤,CI 同样遵守。D51 要求在 `main` 的单一工作树串行开发,不创建并行工作树或开发分支。下文原有 D49 和并行协作方案是历史设计,不是当前执行指令;历史结果不代表当前源码通过。
14
+
15
+ ### 历史验证策略(D49,已由 D50 覆盖)
12
16
 
13
17
  开发迭代优先选择能最快发现当前变更缺陷的验证,不把测试数量或重复证据当进度。纯文档/元数据改动做相应一致性检查;局部实现做类型检查及受影响单元/契约;跨模块或 GPU 行为增加一条小规模真实端到端和关键失败/生命周期路径。只有相关渲染算法、资源契约或画质发生变化才重跑对应矩阵,性能主要在优化前后及冻结节点采样。npm 安装/打包验证放在分发链路变化或版本冻结时,不随无关运行时改动重复执行。真实 GPU 测试串行;CPU 独立工作可以并行。源码未稳定前不反复冻结,不重跑未变模块来制造通过数。稳定候选和里程碑发布前仍要完成全部必需门禁;缓存或历史结果必须能证明覆盖对应未变输入,不能将未跑、跳过或弱证据记为完整通过。
14
18
 
@@ -401,7 +405,7 @@ Git 检查点可以辅助,但 ZIP 和普通目录必须可通过备份、内
401
405
 
402
406
  交接材料应让没有对话上下文的另一个外部 AI 知道:当前版本、已做变更、哪些结果可信、如何复现失败、下一步应执行什么。对话摘要可以补充,但不是唯一状态来源。
403
407
 
404
- ## 20. 多 AI 并行与主线集成
408
+ ## 20. 多 AI 并行与主线集成(历史设计,D51 下不执行)
405
409
 
406
410
  允许外部主线 AI 统筹多个研发 AI,但不把多 AI 作为使用或研发前提。现成编码工具、目录、任务文件和普通进程即可承载协作,不建设模型调度、代理市场或常驻 AI 服务。
407
411
 
@@ -478,7 +482,7 @@ Git 检查点可以辅助,但 ZIP 和普通目录必须可通过备份、内
478
482
 
479
483
  无上下文实作、文档校验和跨系统回归应从早期持续开展,不能全部拖到 M8。M8 是独立的最终验证,不是首次尝试使用引擎;M0 的小规模 AI 原型也不能替代 M8。
480
484
 
481
- 各阶段可用多 AI 并行推进独立任务,但必须遵循 ROADMAP 的依赖并经过主线集成门禁。未完成或实验性能力显式标注,不能因接口已定义就计入正式范围。
485
+ 历史设计允许并行推进;当前 D51 要求单主线串行。未完成或实验性能力显式标注,不能因接口已定义就计入正式范围。
482
486
 
483
487
  ## 23. 工作流完成标准与最终交付证据
484
488
 
@@ -501,7 +505,7 @@ Git 检查点可以辅助,但 ZIP 和普通目录必须可通过备份、内
501
505
 
502
506
  本文仅定义工作流规划。后续实现应逐项建立对应工具与验收证据;在此之前,不能宣称上述 CLI、协议或全自动能力已经可用。
503
507
 
504
- ## 并行编码的 Worktree 隔离
508
+ ## 并行编码的 Worktree 隔离(历史设计,D51 下不执行)
505
509
 
506
510
  多代理不是游戏开发的前置条件。使用多代理编码时,每个任务必须在独立 Git worktree 内执行。主线分配接口和精确文件写入范围,负责审查、集成与最终验收;子任务不直接写主工作区,不提交、推送或发布。
507
511
 
package/docs/DECISIONS.md CHANGED
@@ -64,6 +64,10 @@
64
64
  | D48 | npm 发布使用用户授权的 Automation Token,后续 CI 同样使用该方式 | 令牌仅作为 GitHub Actions NPM_TOKEN secret 等受保护凭据使用,不写源码/文档/日志;不改变同一已验收里程碑的发布时点 |
65
65
  | D49 | 全流程验证按风险和收益选择,减少低收益高耗时步骤,提高迭代速度 | 开发增量优先类型检查、受影响契约和一条真实端到端;不逐次全量重跑性能/质量矩阵、重复安装/打包或冻结未稳定源码;GPU 任务串行,完整验收集中在稳定冻结及里程碑发布前;保留真实证据与失败记录,不以跳过必需验收冒称完成 |
66
66
  | D50 | 用户于 2026-11-06 要求立即停止一切验证,以编译不报错作为推进条件,极速完成 1.0 | 本决策覆盖 D35、D43、D45、D46、D49 中要求继续执行测试、硬件或验收矩阵的操作:不得启动测试、浏览器、GPU、性能、分发 smoke、额外校验或其他验证;仅允许编译/构建及其必要步骤。CI 亦不得自动运行这些验证。此前真实结果保留原样;编译成功只说明编译成功,不可伪造或暗示运行、性能、画质、硬件和质量已验证。已知未完成能力及风险如实标记,不用空实现或视觉近似冒充完整能力;用户恢复验证授权前不得自行恢复。里程碑编译通过后的提交、标签、Release、npm 同节点发布要求不变,但发布说明必须明确未验证。 |
67
+ | D51 | 用户于 2026-11-06 要求发布 M3 后收敛所有分支和工作树,今后只使用单线串行开发 | 仅在主工作树和 `main` 顺序研发,不新建并行工作树或开发分支;历史独有成果、未提交文件、忽略证据和提交须安全保留,不得跟随 junction 删除。历史候选未合入的部分只作为本机归档,后续逐项审查和串行集成,不能声称已完成。D50 验证禁令继续有效。 |
68
+ | D52 | 用户要求 npm 包由自动化提交 staged 发布,再由本人以 2FA 手动审核 | npm CI 使用受保护的 `NPM_TOKEN` 提交 staged 包;预发布版本使用 `next` 标签。Staging 成功不等于版本已公开发布,批准须由用户手动完成 2FA。令牌不得写入源码或日志。D50 禁止测试及其他验证的约束仍然有效。 |
69
+ | D53 | 用户要求每次推送主线自动以无预发布后缀的正式版本发布到 npm `latest`,使用 OIDC,不再人工审批 | 覆盖 D48、D52 的 token/staged/next 方案。GitHub Actions 使用 npm 可信发布,不传长期发布令牌;每次运行生成唯一正式版本,更新 `latest`。发布失败、队列延迟和不可覆盖版本须如实记录。正式版本命名不表示行为、硬件或完整里程碑已验证,D50 仍有效。 |
70
+ | D54 | 用户要求推送主线即尝试发布 npm,GitHub Release 仅标记里程碑;仓库和 npm 使用相同的简洁版本,移除 `next` | 覆盖 D53 的运行 ID 自动版本方案。版本由仓库显式维护,CI 不自动改号;每次推送使用该版本以 OIDC 发布到 `latest`,版本重复则失败并等待后续版本,不覆盖既有包。移除 `next` 别名但保留历史版本;已有长版本不可重用或抹除。D50 仍有效。 |
67
71
 
68
72
  ## 本次变更实施顺序
69
73
 
package/docs/STATUS.md ADDED
@@ -0,0 +1,20 @@
1
+ # 当前研发状态
2
+
3
+ ## 版本与发布
4
+
5
+ - 当前版本以 `package.json`、`engine.manifest.json` 和 SDK 中的相同标准版本号为准。每次需要发布时,在主线显式更新版本;相同版本不能重复发布。
6
+ - 推送主线会通过 GitHub Actions 和 npm 可信发布更新 `latest`;GitHub Release 用于记录里程碑。历史版本和旧标签保持原样,不代表当前源码通过。
7
+ - 当前按用户要求仅允许编译和构建,不运行测试、浏览器、GPU、性能或其他验证。普通版本号不意味着运行行为、硬件或完整引擎已验收。
8
+
9
+ ## 已有基础与缺口
10
+
11
+ - TypeScript SDK、编译器、游戏运行时、渲染器、资源管线和命令行已有实现;游戏开发使用 `pelican-engine` 公开接口。
12
+ - 动态光追、路径追踪、受控图形计算和 WebGL2 回退已有研发实现,但当前源码的完整画质、性能、兼容性和资源生命周期未验证,不能称为完整首发。
13
+ - 刚体首步前删除存在已知缺陷;历史候选存在旧快照兼容及危险历史回放风险,不得通过修改夹具或在主进程回放危险历史掩盖。有关背景与原始证据保留在历史任务文档中。
14
+ - 布料、绳索、软体、流体、连续世界、导航、动画、音频和其他首发能力仍需按各自依赖完成,不能把独立候选或局部实现写成整项完成。
15
+
16
+ ## 单线接续
17
+
18
+ 只在 `main` 的主工作树串行开发。历史独有候选和失败记录在本机 `.pelican/consolidated-worktrees/`、`.pelican/worktree-snapshots/` 或原证据目录中;它们不是活动工作树,未审查前不能删除或声称已合入。其他环境不一定有这些本机目录。
19
+
20
+ 下一步优先分析物理生命周期与旧状态兼容的实现边界,再按依赖逐步集成可用功能。保留真实失败、局限和历史来源;不在禁止验证期间声称修复已通过。
@@ -1,4 +1,4 @@
1
- # pelican 0.3.0-m3.0 API 索引
1
+ # pelican 0.3.2 API 索引
2
2
 
3
3
  Installed declarations: `lib/sdk/index.d.ts` (relative to the package root).
4
4
  The signatures below come from the same public SDK source as repository games.
@@ -11,7 +11,7 @@ Source-file paths and line numbers are build-time provenance only; TypeScript so
11
11
  来源:`packages/sdk/src/index.ts:2`
12
12
 
13
13
  ```ts
14
- SDK_VERSION = "0.3.0-m3.0"
14
+ SDK_VERSION = "0.3.2"
15
15
  ```
16
16
 
17
17
  ## Vec2
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "format": "pelican.api-index",
3
3
  "version": 1,
4
- "engineVersion": "0.3.0-m3.0",
4
+ "engineVersion": "0.3.2",
5
5
  "entry": "pelican-engine",
6
6
  "source": "packages/sdk/src/index.ts",
7
7
  "symbols": [
8
8
  {
9
9
  "name": "SDK_VERSION",
10
10
  "kind": "constant",
11
- "signature": "SDK_VERSION = \"0.3.0-m3.0\"",
11
+ "signature": "SDK_VERSION = \"0.3.2\"",
12
12
  "line": 2
13
13
  },
14
14
  {
@@ -30,8 +30,8 @@ npx --no-install pelican capture --port 4174 --output capture.png
30
30
  npx --no-install pelican build
31
31
  ```
32
32
 
33
- For an exact-version install use `npm --prefix . i -D --save-exact pelican-engine@0.3.0-m3.0`,
34
- or substitute the local `pelican-engine-0.3.0-m3.0.tgz` tarball before registry
33
+ For an exact-version install use `npm --prefix . i -D --save-exact pelican-engine@0.3.2`,
34
+ or substitute the local `pelican-engine-0.3.2.tgz` tarball before registry
35
35
  publication. `pelican create --template minimal` remains available explicitly.
36
36
 
37
37
  Without `--prefix .`, npm may select an ancestor `package.json` or `node_modules`
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pelican-engine",
3
- "version": "0.3.0-m3.0",
3
+ "version": "0.3.2",
4
4
  "milestone": "M3",
5
5
  "stage": "advanced-rendering-development",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
1
  /** Pelican Engine public API. No renderer or GPU implementation types escape this module. */
2
- export declare const SDK_VERSION = "0.3.0-m3.0";
2
+ export declare const SDK_VERSION = "0.3.2";
3
3
  export type Vec2 = readonly [number, number];
4
4
  export type Vec3 = readonly [number, number, number];
5
5
  export type Vec4 = readonly [number, number, number, number];
package/lib/sdk/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Pelican Engine public API. No renderer or GPU implementation types escape this module. */
2
- export const SDK_VERSION = "0.3.0-m3.0";
2
+ export const SDK_VERSION = "0.3.2";
3
3
  export const SYSTEM_PHASES = [
4
4
  "input",
5
5
  "prePhysics",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pelican-engine",
3
- "version": "0.3.0-m3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Pelican Engine public SDK and offline development CLI",
5
5
  "type": "module",
6
6
  "license": "MIT",