@jgengine/rapier 0.38.2 → 0.38.4

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.
Files changed (2) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -26,6 +26,33 @@ At publish, rename this heading to the new version and mirror the entries into
26
26
  `packages/core/src/meta/changelog.ts` (the typed `CHANGELOG` export).
27
27
  -->
28
28
 
29
+ ## 0.38.4
30
+
31
+ ### Migrate
32
+
33
+ - **Bump lockstep SDK packages to `^0.38.4`:** `@jgengine/{core,rapier,react,ws,node,sql,convex,shell,editor,assets,navbake}`. CLI `jgengine` is `0.35.4`; `@jgengine/github` is `0.25.4`.
34
+
35
+ ### Added
36
+
37
+ - `RuntimeSave.peek(slot)` (`@jgengine/core/runtime/runtimeSave`) reads another slot's stored world as a `RuntimeSaveSlot` (`{ world, savedAt }`) without hydrating, switching slots, writing or changing status, so a save-select pane can show a slot it is not on. The `world` is the exact document `load()` of that slot would apply, migrated through the same `migrate`. `GameSave.peek` already answered this; `ctx.game.save` did not.
38
+ - `RuntimeSave.deleteSlot(slot)` removes one inactive slot's bytes and its slot-index entry, leaving the others readable. It resolves `false` for a slot holding nothing and refuses the active slot: the live world is that slot's state, so an autosave would write it back seconds later. `clear()` owns the active slot.
39
+
40
+ ### Changed
41
+
42
+ - A release publishes only after `bun run check:consumer-types` packs the candidate, installs the tarballs into the pinned `JGengine-games` checkout and compiles every game; a type error names the game, package, file and line, and a run that could not check stops the release instead of passing.
43
+ - `RuntimeSave.clear()` cancels a pending autosave. A debounced write armed before the clear used to fire afterwards and recreate the save the game had just deleted.
44
+
45
+ ## 0.38.3
46
+
47
+ ### Migrate
48
+
49
+ - **Bump lockstep SDK packages to `^0.38.3`:** `@jgengine/{core,rapier,react,ws,node,sql,convex,shell,editor,assets,navbake}`. CLI `jgengine` is `0.35.3`; `@jgengine/github` is `0.25.3`.
50
+
51
+ ### Fixed
52
+
53
+ - `GameMenu`'s `style` and `detailStyle` accept a plain `CSSProperties` again (`CSSProperties | GameMenuStyle`). 0.38.2 typed them as `CSSProperties & Record<`--${string}`, ...>`, which a `CSSProperties` value cannot satisfy, so Harbor Heat and Beacon Bastion stopped typechecking on a patch release while they passed the same objects to `style` before it.
54
+ - `SceneCaptureBinding`'s props are a required object with an optional `bind` again. The 0.38.2 `{ bind } = {}` optional parameter made React's `createElement` overload infer `Attributes & undefined` for the props, so a game that builds its overlay as `createElement(SceneCaptureBinding, { bind })` failed with `'bind' does not exist in type 'Attributes'`; `<SceneCaptureBinding />` and `<SceneCaptureBinding bind={…} />` both still typecheck.
55
+
29
56
  ## 0.38.2
30
57
 
31
58
  ### Migrate
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jgengine/rapier",
3
- "version": "0.38.2",
3
+ "version": "0.38.4",
4
4
  "description": "Rapier physics backend for JGengine",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -30,7 +30,7 @@
30
30
  "test": "bun test src"
31
31
  },
32
32
  "dependencies": {
33
- "@jgengine/core": "^0.38.2",
33
+ "@jgengine/core": "^0.38.4",
34
34
  "@dimforge/rapier3d-compat": "0.19.3"
35
35
  },
36
36
  "publishConfig": {