@jgengine/core 0.28.0 → 0.29.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 +10 -0
- package/dist/meta/changelog.d.ts +1 -1
- package/dist/meta/changelog.js +11 -1
- package/dist/mission/mission.d.ts +1 -1
- package/dist/mission/mission.js +4 -1
- package/package.json +1 -1
- package/skills/jgengine/api.md +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -26,6 +26,16 @@ 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.29.0
|
|
30
|
+
|
|
31
|
+
### Migrate
|
|
32
|
+
|
|
33
|
+
- **Bump lockstep SDK packages to `^0.29.0`:** `@jgengine/{core,rapier,react,ws,node,sql,convex,shell,editor,assets,navbake}`. CLI `jgengine` is `0.26.0`; `@jgengine/github` is `0.16.0`.
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
|
|
37
|
+
- `MissionView.remaining` (`@jgengine/core/gameplay`) now counts down from a `survive` objective's own `duration`, not only from a `timeout`. A defend or hold objective reports the seconds it still has to run, which is the one number its HUD needs; a completed run still reports null.
|
|
38
|
+
|
|
29
39
|
## 0.28.0
|
|
30
40
|
|
|
31
41
|
### Migrate
|
package/dist/meta/changelog.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Installed `@jgengine/core` semver — compare against {@link CHANGELOG} keys when migrating. */
|
|
2
|
-
export declare const VERSION = "0.
|
|
2
|
+
export declare const VERSION = "0.29.0";
|
|
3
3
|
/** One release's migrate steps plus added/changed/removed notes (typed mirror of CHANGELOG.md). */
|
|
4
4
|
export interface ChangelogEntry {
|
|
5
5
|
migrate: readonly string[];
|
package/dist/meta/changelog.js
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
/** Installed `@jgengine/core` semver — compare against {@link CHANGELOG} keys when migrating. */
|
|
2
|
-
export const VERSION = "0.
|
|
2
|
+
export const VERSION = "0.29.0";
|
|
3
3
|
/** Per-version engine changelog keyed by semver string (e.g. `"0.10.0"`). */
|
|
4
4
|
export const CHANGELOG = {
|
|
5
|
+
"0.29.0": {
|
|
6
|
+
migrate: [
|
|
7
|
+
"Bump lockstep SDK packages to `^0.29.0`: `@jgengine/{core,rapier,react,ws,node,sql,convex,shell,editor,assets,navbake}`. CLI `jgengine` is `0.26.0`; `@jgengine/github` is `0.16.0`.",
|
|
8
|
+
],
|
|
9
|
+
added: [],
|
|
10
|
+
changed: [
|
|
11
|
+
"`MissionView.remaining` (`@jgengine/core/gameplay`) now counts down from a `survive` objective's own `duration`, not only from a `timeout`. A defend or hold objective reports the seconds it still has to run, which is the one number its HUD needs; a completed run still reports null.",
|
|
12
|
+
],
|
|
13
|
+
removed: [],
|
|
14
|
+
},
|
|
5
15
|
"0.28.0": {
|
|
6
16
|
migrate: [
|
|
7
17
|
"Bump lockstep SDK packages to `^0.28.0`: `@jgengine/{core,rapier,react,ws,node,sql,convex,shell,editor,assets,navbake}`. CLI `jgengine` is `0.25.0`; `@jgengine/github` is `0.15.0`.",
|
|
@@ -281,7 +281,7 @@ export interface MissionView {
|
|
|
281
281
|
objectiveId: string | null;
|
|
282
282
|
label: string;
|
|
283
283
|
objectiveElapsed: number;
|
|
284
|
-
/** Seconds left on the current objective's timer, or null when it has none. */
|
|
284
|
+
/** Seconds left on the current objective's timer (a `timeout` or a `survive` duration), or null when it has none. */
|
|
285
285
|
remaining: number | null;
|
|
286
286
|
/** Counter fraction 0..1 for the current objective, or 0 when it is not a counter. */
|
|
287
287
|
progress: number;
|
package/dist/mission/mission.js
CHANGED
|
@@ -561,7 +561,10 @@ export function createMissionRuntime(config) {
|
|
|
561
561
|
readout.objectiveId = state.objective;
|
|
562
562
|
readout.label = objective === null ? "" : objectiveLabel(objective);
|
|
563
563
|
readout.objectiveElapsed = state.objectiveElapsed;
|
|
564
|
-
|
|
564
|
+
const timer = objective === null
|
|
565
|
+
? undefined
|
|
566
|
+
: objective.timeout ?? (objective.kind === "survive" ? objective.duration : undefined);
|
|
567
|
+
readout.remaining = timer === undefined ? null : Math.max(0, timer - state.objectiveElapsed);
|
|
565
568
|
const counted = objective === null || !isCounterObjective(objective.kind)
|
|
566
569
|
? 0
|
|
567
570
|
: (state.progress[counterKey(objective)] ?? 0);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jgengine/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.0",
|
|
4
4
|
"description": "jgengine core — pure-TypeScript game framework SDK (npm @jgengine/core). Entity stores, commands, combat, inventory, multiplayer seams. Zero dependencies. Not an ECS. Agent skills ship in the tarball. https://jgengine.com",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jgengine",
|
package/skills/jgengine/api.md
CHANGED
|
@@ -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.
|
|
9
|
+
- `VERSION` (const): const VERSION: "0.29.0" — Installed `@jgengine/core` semver — compare against {@link CHANGELOG} keys when migrating.
|
|
10
10
|
|
|
11
11
|
## @jgengine/core/authoring
|
|
12
12
|
|
|
@@ -285,7 +285,7 @@
|
|
|
285
285
|
|
|
286
286
|
- `CHANGELOG` (const): const CHANGELOG: Record<string, ChangelogEntry> — Per-version engine changelog keyed by semver string (e.g. `"0.10.0"`).
|
|
287
287
|
- `ChangelogEntry` (interface): interface ChangelogEntry — One release's migrate steps plus added/changed/removed notes (typed mirror of CHANGELOG.md).
|
|
288
|
-
- `VERSION` (const): const VERSION: "0.
|
|
288
|
+
- `VERSION` (const): const VERSION: "0.29.0" — Installed `@jgengine/core` semver — compare against {@link CHANGELOG} keys when migrating.
|
|
289
289
|
|
|
290
290
|
## @jgengine/core/runtime/adapter
|
|
291
291
|
|