@jgengine/convex 0.52.0 → 0.53.0

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/CHANGELOG.md CHANGED
@@ -26,6 +26,114 @@ 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.53.0
30
+
31
+ ### Migrate
32
+
33
+ - **Bump lockstep SDK packages to `^0.53.0`:** `@jgengine/{core,rapier,react,ws,node,sql,convex,shell,editor,assets,navbake}`. CLI `jgengine` is `0.50.0`; `@jgengine/github` is `0.40.0`.
34
+ - buildCatalog takes packs: [kaykitDungeon, ...] imported from @jgengine/assets/generated/packs instead of sources: ["kaykit-dungeon", ...].
35
+ - defineGame's uiKit takes the kit object (import { inkKit } from "@jgengine/core/ui/kit/uiKitInk.view") instead of a name; resolveUiKit is removed.
36
+ - an editor or tool that needs every scene kind without a game scene calls registerAllSceneKinds() and registerAllSceneKindRenderers().
37
+
38
+ ### Added
39
+
40
+ - apps/web build:checked, the checked build deploy:cloudflare uploads and the release checks
41
+ - `STARTER_MODEL_PACKS` (`@jgengine/assets`): The model packs behind the curated starter assets: the same packs, in order, as `STARTER_SOURCE_PACKS`. Also `AssetPack`, `generatedPacks`, `packExportName`.
42
+ - `STARTER_MODEL_PACKS` (`@jgengine/assets/catalogs/starter`): The model packs behind the curated starter assets: the same packs, in order, as `STARTER_SOURCE_PACKS`.
43
+ - `generatedPacks` (`@jgengine/assets/generated`): Every pulled pack.
44
+ - `kaykitAdventurers` (`@jgengine/assets/generated/pack/kaykit-adventurers`): ⚠ undocumented
45
+ - `kaykitCityBuilder` (`@jgengine/assets/generated/pack/kaykit-city-builder`): ⚠ undocumented
46
+ - `kaykitDungeon` (`@jgengine/assets/generated/pack/kaykit-dungeon`): ⚠ undocumented
47
+ - `kaykitForest` (`@jgengine/assets/generated/pack/kaykit-forest`): ⚠ undocumented
48
+ - `kaykitFurniture` (`@jgengine/assets/generated/pack/kaykit-furniture`): ⚠ undocumented
49
+ - `kaykitMedievalHexagon` (`@jgengine/assets/generated/pack/kaykit-medieval-hexagon`): ⚠ undocumented
50
+ - `kaykitSkeletons` (`@jgengine/assets/generated/pack/kaykit-skeletons`): ⚠ undocumented
51
+ - `kaykitSpaceBase` (`@jgengine/assets/generated/pack/kaykit-space-base`): ⚠ undocumented
52
+ - `quaternius5LowPolyAnimals` (`@jgengine/assets/generated/pack/quaternius-5-low-poly-animals`): ⚠ undocumented
53
+ - `quaterniusAnimatedAnimalesLowPoly` (`@jgengine/assets/generated/pack/quaternius-animated-animales-low-poly`): ⚠ undocumented
54
+ - `quaterniusAnimatedAnimals` (`@jgengine/assets/generated/pack/quaternius-animated-animals`): ⚠ undocumented
55
+ - `quaterniusAnimatedCharactersPack` (`@jgengine/assets/generated/pack/quaternius-animated-characters-pack`): ⚠ undocumented
56
+ - `quaterniusAnimatedDinosaurs` (`@jgengine/assets/generated/pack/quaternius-animated-dinosaurs`): ⚠ undocumented
57
+ - `quaterniusAnimatedFish` (`@jgengine/assets/generated/pack/quaternius-animated-fish`): ⚠ undocumented
58
+ - `quaterniusAnimatedHumanLowPoly` (`@jgengine/assets/generated/pack/quaternius-animated-human-low-poly`): ⚠ undocumented
59
+ - `quaterniusAnimatedLowpolyRobot` (`@jgengine/assets/generated/pack/quaternius-animated-lowpoly-robot`): ⚠ undocumented
60
+ - `quaterniusAnimatedMechPack` (`@jgengine/assets/generated/pack/quaternius-animated-mech-pack`): ⚠ undocumented
61
+ - `quaterniusFantasyLowPolyTreesAndBushes` (`@jgengine/assets/generated/pack/quaternius-fantasy-low-poly-trees-and-bushes`): ⚠ undocumented
62
+ - `quaterniusFantasyProps` (`@jgengine/assets/generated/pack/quaternius-fantasy-props`): ⚠ undocumented
63
+ - `quaterniusFurnitureLowPoly` (`@jgengine/assets/generated/pack/quaternius-furniture-low-poly`): ⚠ undocumented
64
+ - `quaterniusLowPolyAnimatedGuns` (`@jgengine/assets/generated/pack/quaternius-low-poly-animated-guns`): ⚠ undocumented
65
+ - `quaterniusLowPolyCars0` (`@jgengine/assets/generated/pack/quaternius-low-poly-cars-0`): ⚠ undocumented
66
+ - `quaterniusLowPolyDesertAssets` (`@jgengine/assets/generated/pack/quaternius-low-poly-desert-assets`): ⚠ undocumented
67
+ - `quaterniusLowPolyFoodPack` (`@jgengine/assets/generated/pack/quaternius-low-poly-food-pack`): ⚠ undocumented
68
+ - `quaterniusLowPolyFurniture1` (`@jgengine/assets/generated/pack/quaternius-low-poly-furniture-1`): ⚠ undocumented
69
+ - `quaterniusLowPolyGuns` (`@jgengine/assets/generated/pack/quaternius-low-poly-guns`): ⚠ undocumented
70
+ - `quaterniusLowPolyGunsPack` (`@jgengine/assets/generated/pack/quaternius-low-poly-guns-pack`): ⚠ undocumented
71
+ - `quaterniusLowPolyMedievalWeapons` (`@jgengine/assets/generated/pack/quaternius-low-poly-medieval-weapons`): ⚠ undocumented
72
+ - `quaterniusLowPolyNaturePack1` (`@jgengine/assets/generated/pack/quaternius-low-poly-nature-pack-1`): ⚠ undocumented
73
+ - `quaterniusLowPolyPiratePack` (`@jgengine/assets/generated/pack/quaternius-low-poly-pirate-pack`): ⚠ undocumented
74
+ - `quaterniusLowPolyRpgPack` (`@jgengine/assets/generated/pack/quaternius-low-poly-rpg-pack`): ⚠ undocumented
75
+ - `quaterniusLowPolySpaceAssets` (`@jgengine/assets/generated/pack/quaternius-low-poly-space-assets`): ⚠ undocumented
76
+ - `quaterniusLowpolyAnimatedFarmAnimalPack` (`@jgengine/assets/generated/pack/quaternius-lowpoly-animated-farm-animal-pack`): ⚠ undocumented
77
+ - `quaterniusLowpolyAnimatedKnight` (`@jgengine/assets/generated/pack/quaternius-lowpoly-animated-knight`): ⚠ undocumented
78
+ - `quaterniusLowpolyAnimatedMonsters` (`@jgengine/assets/generated/pack/quaternius-lowpoly-animated-monsters`): ⚠ undocumented
79
+ - `quaterniusLowpolyBuildings` (`@jgengine/assets/generated/pack/quaternius-lowpoly-buildings`): ⚠ undocumented
80
+ - `quaterniusLowpolyBuildingsPack` (`@jgengine/assets/generated/pack/quaternius-lowpoly-buildings-pack`): ⚠ undocumented
81
+ - `quaterniusLowpolyCars` (`@jgengine/assets/generated/pack/quaternius-lowpoly-cars`): ⚠ undocumented
82
+ - `quaterniusLowpolyCropsPack` (`@jgengine/assets/generated/pack/quaternius-lowpoly-crops-pack`): ⚠ undocumented
83
+ - `quaterniusLowpolyHouseInteriorPack` (`@jgengine/assets/generated/pack/quaternius-lowpoly-house-interior-pack`): ⚠ undocumented
84
+ - `quaterniusLowpolyMedievalBuildings` (`@jgengine/assets/generated/pack/quaternius-lowpoly-medieval-buildings`): ⚠ undocumented
85
+ - `quaterniusLowpolyMedievalVillagePack` (`@jgengine/assets/generated/pack/quaternius-lowpoly-medieval-village-pack`): ⚠ undocumented
86
+ - `quaterniusLowpolyMedievalWeapons` (`@jgengine/assets/generated/pack/quaternius-lowpoly-medieval-weapons`): ⚠ undocumented
87
+ - `quaterniusLowpolyModularDungeonPack` (`@jgengine/assets/generated/pack/quaternius-lowpoly-modular-dungeon-pack`): ⚠ undocumented
88
+ - `quaterniusLowpolyModularSciFiEnvironments` (`@jgengine/assets/generated/pack/quaternius-lowpoly-modular-sci-fi-environments`): ⚠ undocumented
89
+ - `quaterniusLowpolyModularStreetPack` (`@jgengine/assets/generated/pack/quaternius-lowpoly-modular-street-pack`): ⚠ undocumented
90
+ - `quaterniusLowpolyNaturePack` (`@jgengine/assets/generated/pack/quaternius-lowpoly-nature-pack`): ⚠ undocumented
91
+ - `quaterniusLowpolyPosedHumans` (`@jgengine/assets/generated/pack/quaternius-lowpoly-posed-humans`): ⚠ undocumented
92
+ - `quaterniusLowpolyPublicTransport` (`@jgengine/assets/generated/pack/quaternius-lowpoly-public-transport`): ⚠ undocumented
93
+ - `quaterniusLowpolyRpg` (`@jgengine/assets/generated/pack/quaternius-lowpoly-rpg`): ⚠ undocumented
94
+ - `quaterniusLowpolyRpgCharacters` (`@jgengine/assets/generated/pack/quaternius-lowpoly-rpg-characters`): ⚠ undocumented
95
+ - `quaterniusLowpolyShipPack` (`@jgengine/assets/generated/pack/quaternius-lowpoly-ship-pack`): ⚠ undocumented
96
+ - `quaterniusLowpolySpaceshipsPack` (`@jgengine/assets/generated/pack/quaternius-lowpoly-spaceships-pack`): ⚠ undocumented
97
+ - `quaterniusLowpolySteampunkTurrets` (`@jgengine/assets/generated/pack/quaternius-lowpoly-steampunk-turrets`): ⚠ undocumented
98
+ - `quaterniusLowpolySurvivalPack` (`@jgengine/assets/generated/pack/quaternius-lowpoly-survival-pack`): ⚠ undocumented
99
+ - `quaterniusLowpolyTexturedTrees` (`@jgengine/assets/generated/pack/quaternius-lowpoly-textured-trees`): ⚠ undocumented
100
+ - `quaterniusMedievalVillage` (`@jgengine/assets/generated/pack/quaternius-medieval-village`): ⚠ undocumented
101
+ - `quaterniusModularMen` (`@jgengine/assets/generated/pack/quaternius-modular-men`): ⚠ undocumented
102
+ - `quaterniusModularScifi` (`@jgengine/assets/generated/pack/quaternius-modular-scifi`): ⚠ undocumented
103
+ - `quaterniusModularWomen` (`@jgengine/assets/generated/pack/quaternius-modular-women`): ⚠ undocumented
104
+ - `quaterniusStylizedNature` (`@jgengine/assets/generated/pack/quaternius-stylized-nature`): ⚠ undocumented
105
+ - `quaterniusTexturedCuteMonsterPack` (`@jgengine/assets/generated/pack/quaternius-textured-cute-monster-pack`): ⚠ undocumented
106
+ - `quaterniusToonShooter` (`@jgengine/assets/generated/pack/quaternius-toon-shooter`): ⚠ undocumented
107
+ - `kaykitAdventurers` (`@jgengine/assets/generated/packs`): ⚠ undocumented Also `kaykitCityBuilder`, `kaykitDungeon`, `kaykitForest`, `kaykitFurniture`, `kaykitMedievalHexagon`, `kaykitSkeletons`, `kaykitSpaceBase`, `quaternius5LowPolyAnimals` and 54 more.
108
+ - `writeIndexBarrels` (`@jgengine/assets/indexGen`): Writes the generated pack modules and the barrel over every `<source>.json` already in `outDir`.
109
+ - `packExportName` (`@jgengine/assets/manifest`): The name a pack is exported under in `generated/packs`: its source id in camelCase (`kaykit-dungeon` → `kaykitDungeon`). Also `AssetPack`.
110
+ - `OnDemandSceneKindId` (`@jgengine/core/scene/onDemandSceneKinds`): A heavy built-in system a scene loads only when it uses one of its kinds or generators. Also `SceneKindNeeds`.
111
+
112
+ ### Changed
113
+
114
+ - every library species is checked for a valid record that grows finite, non-negative sizes and builds a mesh, open and in a stand
115
+
116
+ ### Fixed
117
+
118
+ - the shrub fit reads its 3 to 30 stem limits from SHRUB_STEMS instead of its own copy
119
+ - a test edit no longer reruns the skill-api, capabilities, barrels, export-manifest, games-ledger, part-stats and skill-routing generators or the doc-symbols gate, none of which read test files (a run-stages row says so with skipsTests)
120
+ - when one test fails, the test batches already running finish instead of being killed, so the next run reuses their passes
121
+ - a failed test batch still records every file in it whose own tests passed, read from its junit report, so the retry reruns only the failing file
122
+ - tarballInstall.test runs only when every package's dist is fresh; it used to pack a stale dist on every engine lane in a worktree that had built once, 35 to 230 s that proved nothing about the change (CI builds right before it, so it still runs there)
123
+ - a release builds jgengine.com and runs its asset check before cutting, and stops with nothing published if that fails; 0.52.0 went to npm while the site deploy failed its bundle check, leaving npm and jgengine.com on different versions
124
+ - the UI kit tests no longer fail when they share a CI shard with the pointer probe test: tests that stub document now put back exactly what was there instead of leaving a document key set to undefined, which made the probe keep its stub
125
+ - every game downloaded about 3.7 MB of shared engine code, so the site build failed its size budgets. Each game now downloads 2.3 to 2.8 MB, and the code shared by every game fell from about 3.7 MB to 1.75 MB.
126
+ - a game bundles only the 3D model packs it names, only its own UI kit, and procedural cities and grown plants only when its scene uses them.
127
+ - download size is checked before merge (bun run check site-bundles in CI's web-build job): the shared engine once, against apps/dev/bundle-budget.json, and each game's own part against bundleKb, with the reason in bundleBaseline. The release's site check now checks only assets.
128
+
129
+ ### Removed
130
+
131
+ - plant and tree tests that compared species to published forestry tables (Carmean height, FIA diameter, Tallo, Ek and Bechtold crown width, BAAD leaf per sapwood, Jenkins foliage mass, Reineke's thinning slope, USDA PLANTS heights, per-species fork and crown-shape bands); the species records from #2919 and #2921 are unchanged
132
+ - forestGrownCrownWidthM (@jgengine/core/plants/validation/crownAllometry), whose only user was a removed test
133
+ - `@jgengine/core/plants/validation/crownAllometry` no longer exports `forestGrownCrownWidthM`.
134
+ - `@jgengine/core/ui/kit/uiKits.view` no longer exports `resolveUiKit`.
135
+ - `@jgengine/react` no longer exports `resolveUiKit`.
136
+
29
137
  ## 0.52.0
30
138
 
31
139
  ### Migrate
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jgengine/convex",
3
- "version": "0.52.0",
3
+ "version": "0.53.0",
4
4
  "description": "Convex adapters for JGengine: game transport, presence transport, and backend wiring over @jgengine/core.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -30,7 +30,7 @@
30
30
  "check-types": "tsgo --noEmit -p tsconfig.json"
31
31
  },
32
32
  "dependencies": {
33
- "@jgengine/core": "^0.52.0"
33
+ "@jgengine/core": "^0.53.0"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "convex": "^1.31.2",
@@ -6,7 +6,7 @@
6
6
 
7
7
  - `CHANGELOG` (const): const CHANGELOG: Record<string, ChangelogEntry> — Per-version engine changelog keyed by semver string (e.g. `"0.10.0"`).
8
8
  - `ChangelogEntry` (interface): interface ChangelogEntry — One release's migrate steps plus added/changed/removed notes (typed mirror of CHANGELOG.md).
9
- - `VERSION` (const): const VERSION: "0.52.0" — Installed `@jgengine/core` semver - compare against {@link CHANGELOG} keys when migrating.
9
+ - `VERSION` (const): const VERSION: "0.53.0" — Installed `@jgengine/core` semver - compare against {@link CHANGELOG} keys when migrating.
10
10
 
11
11
  ## @jgengine/core/authoring
12
12
 
@@ -445,7 +445,7 @@
445
445
 
446
446
  - `CHANGELOG` (const): const CHANGELOG: Record<string, ChangelogEntry> — Per-version engine changelog keyed by semver string (e.g. `"0.10.0"`).
447
447
  - `ChangelogEntry` (interface): interface ChangelogEntry — One release's migrate steps plus added/changed/removed notes (typed mirror of CHANGELOG.md).
448
- - `VERSION` (const): const VERSION: "0.52.0" — Installed `@jgengine/core` semver - compare against {@link CHANGELOG} keys when migrating.
448
+ - `VERSION` (const): const VERSION: "0.53.0" — Installed `@jgengine/core` semver - compare against {@link CHANGELOG} keys when migrating.
449
449
 
450
450
  ## @jgengine/core/runtime/adapter
451
451