pelican-engine 0.3.21 → 0.3.23

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/AGENTS.md CHANGED
@@ -233,6 +233,16 @@ manual cloth uses `ctx.cloth.step`. Use `setAnchor`, `releaseAnchor`, `applyForc
233
233
  (next tick), `applyImpulse`, `setColliders`, `inspect`, and `destroy` to manage it.
234
234
  The source checkout includes `examples/cloth-sheet`.
235
235
 
236
+ An automatic cloth may bind a live dynamic sphere with `bodyColliders: [{ id: "sphere-id", entity: "body-id" }]`. The plugin samples the real sphere after physics and uses it as a one-way moving obstacle. The body receives no cloth reaction impulse. Destroyed bodies are removed on the next automatic step. This is not complete cloth-rigid-body coupling.
237
+
238
+ New cloth also resolves detected sphere overlaps against triangle surface interiors
239
+ using closest-point barycentric projection. `inspect(id).surfaceContacts` reports
240
+ the triangle and barycentric position. `surfaceCollisions` defaults to true for new
241
+ cloth and can be disabled. This is sphere-only discrete surface contact; planes
242
+ remain particle-only, and there is no edge/face continuous collision or rigid-body
243
+ reaction. Surface contact state is included in snapshots and invalid state is
244
+ rejected atomically. It has not been runtime or stability validated.
245
+
236
246
  New cloth also resolves discrete self-contact between non-adjacent particles by
237
247
  projecting movable particles apart; shared triangle edges are excluded.
238
248
  `selfCollisions` defaults to true for new cloth and is reported by
package/distribution.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "format": "pelican.npm-distribution",
3
- "version": "0.3.21",
3
+ "version": "0.3.23",
4
4
  "files": {
5
- "AGENTS.md": "3efeb184ac3c53692804ec50927b642053dbcf5c51ad25ea135aed15e4dbf7ff",
5
+ "AGENTS.md": "817bf14a6fe341bf515625cd84a0df4e6512a74b4a426ae3232ae3ad50e09d73",
6
6
  "CONTRIBUTING.md": "0ffad5d841d90f319fc50a75b81d3c0ad6dab8d5d9bec2846c65c7f8358d5a50",
7
7
  "docs/AI-WORKFLOW.md": "aa992686df93f791795f6f3fce01713d812eea6a1b9556f07411ac5847278efa",
8
- "docs/api/index.json": "149022d834a6bbdf4e4224a9460d3d5545792c5ef01024485a69f65531d1b310",
9
- "docs/api/REFERENCE.md": "b6d064bd933d9d4f26e8224cf2796fbe7bc52b22d33ff35e48f878d76af02a90",
8
+ "docs/api/index.json": "05a38e9b6366a20116feb76696742220a3c0b581ce9cd0a91f79a19a0fd7cf97",
9
+ "docs/api/REFERENCE.md": "074536b062eec6fe9bb6180c92e862c2d06f3612c17294ca5c71055cfb700f6e",
10
10
  "docs/ARCHITECTURE.md": "3184b73592d466390e7793b1cf39bbb80d6052b523fba7e7cb377b5207074627",
11
11
  "docs/assets/pelican-mark.svg": "407b10cd7e292ea83cf5dba4046fb2f01c7d566a14014c55deda3a2984562b4d",
12
12
  "docs/CAPABILITIES.md": "92950817497d8c63db07830db96dc93c877befa8d038320feed1ae1f1a053cb1",
@@ -14,14 +14,14 @@
14
14
  "docs/GETTING-STARTED.md": "5519ebe4e513e8ae4517c04948ee9dc70bcb1e3d04a65d468a6537c838502663",
15
15
  "docs/GRAPHICS-GUIDE.md": "e3d0f7df6189ca3f88d81af5ffaf393f5d6bf39b9e66167bb2f64b39194b514c",
16
16
  "docs/npm/DISTRIBUTION.md": "ff25e039921a85ba253c27608c77ed614a036117d7a04f908a78d1e3ed3f19ef",
17
- "docs/npm/GAME-AUTHOR.md": "3efeb184ac3c53692804ec50927b642053dbcf5c51ad25ea135aed15e4dbf7ff",
17
+ "docs/npm/GAME-AUTHOR.md": "817bf14a6fe341bf515625cd84a0df4e6512a74b4a426ae3232ae3ad50e09d73",
18
18
  "docs/PELICAN-MIGRATION.md": "c5d6ab8e5186f4d36720a0a01d1a7e4157a5d386c5400e2db99571a7d10a1e49",
19
19
  "docs/PHYSICS-LIFECYCLE-ISSUE.md": "cc78917462de4e7e9b68e77c742192ce213b4be5b516d2ba943251fff46977ac",
20
20
  "docs/RENDER-BACKENDS.md": "d981ea94742a835d028db37d536fb7fba05102e37bc6274a37baf74f5034b954",
21
21
  "docs/ROADMAP.md": "29ac1c54f36064e23c17cfe7f549d6860889257a57d1227e322958aa9c281568",
22
- "docs/STATUS.md": "bdb601521fc37c91de6d4f404f714cb2170d9b6e518c861d6d7fb21d7309bf67",
22
+ "docs/STATUS.md": "1e04f5a1c366ebb2bf605a8679e27ebed7494773d4a7d0684f90e82c6fc8906e",
23
23
  "docs/THIRD-PARTY-NOTICES.md": "58f9b72e2b4dfaaaf2a4c08b9bde9ecef3d2b7e7d65fccd782ed54f39fa76fdc",
24
- "engine.manifest.json": "9b45f17ab1a5d572b1ad6339537f0abc9783f0d09d3b9b638139e527eac60509",
24
+ "engine.manifest.json": "b7ab030e3c3a63828e6574934249b225df0a04a0c0e204e6f5c597c95d801fe6",
25
25
  "lib/assets/audio.js": "6facdce4e053afd172af5b9407569b035169844ea17b49f93f8b67f72b78895f",
26
26
  "lib/assets/errors.js": "70572678655c6e53179d31920d71f29882d373a0e12d560220bb0fc2cd74f2cc",
27
27
  "lib/assets/glb.js": "b808479a36299c154db97f50c16863a3b5a2c61f725e66bf01d01a5f62a288a5",
@@ -125,10 +125,10 @@
125
125
  "lib/runtime/world.js": "c43621fbaca8bd2b0d6477a96e60e895312f0f7b1eb97614b6e4f9b716129ea1",
126
126
  "lib/schema/index.js": "594429eecb4494c4af2f3d04537be3211f2c9297a1fc555bbba5d028d8627965",
127
127
  "lib/sdk/graph-values.js": "a58c00f127cb82aba5fd2824981942844e06d9a59a88a05e35d1d3df2fc7ed2f",
128
- "lib/sdk/index.d.ts": "a94caaad441c55fcb1756ee71ffee019312f503ecb4fef3efcaed746c62d6e05",
129
- "lib/sdk/index.js": "7ef0131457ceac1e9eeb5aa2b140f854b9bbe16dff03c42714b96e6ddedf4b7c",
130
- "lib/simulation/cloth-plugin.js": "edee02bb0ce7cf94d364699e47bc4891f8a53259bb70af547241759faad0b773",
131
- "lib/simulation/cloth.js": "f45a1c7684904b70315c8c1a0a28153eb34a8aee150d518af379f6d2fff2e740",
128
+ "lib/sdk/index.d.ts": "508f1656b7130ceb0b9c6b768de4b2cd20598b7633ed03c95b1e63b6d4755449",
129
+ "lib/sdk/index.js": "0f6f2cf92aa96537087fdfbeda4cbddf139aa7f2c5901e4042871414b219963c",
130
+ "lib/simulation/cloth-plugin.js": "6443122597038279f5c60aba3851dc18512fdadb19461337cb3b6487238be190",
131
+ "lib/simulation/cloth.js": "449be6f517af4eddbf047db68495e8f7666416d18b048b9f113064e0b07cc154",
132
132
  "lib/simulation/rope-body-coupling.js": "70694b73d17c79f223803a51fbf4a4dae551b717cd29bbea1fa38386ac98d621",
133
133
  "lib/simulation/rope-plugin.js": "08c7c4800053b3e8f255b6dd5be2b532b8e259300666c31de5494d15704717d4",
134
134
  "lib/simulation/rope-self-collision.js": "4d8dc5d5a88f0ae0ad5463f553f49b2ad3c8c126b98344a0966f619635bdb17f",
@@ -203,7 +203,7 @@
203
203
  "licenses/undici-types/LICENSE": "a6db8096b2707bc0102d256917d4d33f298ba36d8c3f25de067a2b5bb379db27",
204
204
  "licenses/uniq/LICENSE": "e67aed7df22dc8031e4fcf5338fe91cb33e3817e5c58a99a2a2802eea9069791",
205
205
  "licenses/vite/LICENSE.md": "a22152baa1aef74402443008e767e7c689a524c0909d19b0431d97f5ab066a13",
206
- "package.json": "b50c26f2427bb50bb724238d3e9c17407bd704ad5e888c33d1d53e66eb76195d",
206
+ "package.json": "b3fad8e146f5637e6d95fd42ebf43a2d5b070423ce9770143997667d68d5a5a5",
207
207
  "README.md": "ff25e039921a85ba253c27608c77ed614a036117d7a04f908a78d1e3ed3f19ef",
208
208
  "web/index.html": "d89d6a5b5be3beae3627a8ed506ac308b165d264fb8696be3afd79fcca2f26ee"
209
209
  }
package/docs/STATUS.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## 版本与发布
4
4
 
5
- - 当前版本为 `0.3.21`,包、锁文件、引擎、SDK、编译器和示例中的版本保持一致。下一项功能完成后统一递增并推送;相同版本不能重复发布。
5
+ - 当前版本为 `0.3.22`,包、锁文件、引擎、SDK、编译器和示例中的版本保持一致。下一项功能完成后统一递增并推送;相同版本不能重复发布。
6
6
  - 推送主线会通过 GitHub Actions 和 npm 可信发布更新 `latest`;GitHub Release 用于记录里程碑。历史版本和旧标签保持原样,不代表当前源码通过。
7
7
  - 当前按用户要求仅允许编译和构建,不运行测试、浏览器、GPU、性能或其他验证。普通版本号不意味着运行行为、硬件或完整引擎已验收。
8
8
 
@@ -20,6 +20,8 @@
20
20
 
21
21
  - Historical cloth snapshots without `selfCollisions` restore in the legacy particle-only mode; invalid or duplicate self-contact state is rejected atomically. This migration fix is unverified.
22
22
 
23
+ - Cloth automatic stepping can bind live dynamic non-trigger spheres and sample their center and radius after physics as one-way moving obstacles; no reaction impulse is applied. This interface is unverified.
24
+
23
25
  ## 单线接续
24
26
 
25
27
  只在 `main` 的主工作树串行开发。历史独有候选和失败记录在本机 `.pelican/consolidated-worktrees/`、`.pelican/worktree-snapshots/` 或原证据目录中;它们不是活动工作树,未审查前不能删除或声称已合入。其他环境不一定有这些本机目录。