@vgai/cli 0.5.0-canary.20260719.0 → 0.5.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/dist/index.js +28 -4
- package/package.json +8 -8
package/dist/index.js
CHANGED
|
@@ -303897,6 +303897,26 @@ var AdapterRootSchema = external_exports.object({
|
|
|
303897
303897
|
"Per-delivery-context capability tier declarations (\xA74). Declaring above the adapter's ceiling for that context is an error; declaring at or below it (including `unsupported`) is legal."
|
|
303898
303898
|
)
|
|
303899
303899
|
}).strict();
|
|
303900
|
+
var LearnKindSchema = external_exports.enum(["starter", "feature", "sample-game", "lesson-companion"]).describe(
|
|
303901
|
+
"Content kind in the FTUE taxonomy (\xA73): starter (minimal per-genre starting point), feature (demonstrates a subsystem), sample-game (complete game as an architectural reference), lesson-companion (exists to back a Learn-site lesson)"
|
|
303902
|
+
);
|
|
303903
|
+
var LearnDifficultySchema = external_exports.enum(["beginner", "intermediate", "advanced"]).describe("Learner-facing difficulty rating");
|
|
303904
|
+
var LearnMetadataSchema = external_exports.object({
|
|
303905
|
+
kind: LearnKindSchema,
|
|
303906
|
+
title: external_exports.string().min(1).describe("Learner-facing display title (gallery card headline)"),
|
|
303907
|
+
summary: external_exports.string().min(1).describe("One-sentence learner-facing summary (gallery card body)"),
|
|
303908
|
+
difficulty: LearnDifficultySchema,
|
|
303909
|
+
features: external_exports.array(external_exports.string().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/, "features tags must be kebab-case")).describe("Short kebab-case feature tags used as gallery/catalog filter facets"),
|
|
303910
|
+
thumbnail: external_exports.string().optional().describe(
|
|
303911
|
+
"Optional thumbnail image reference (engine-repo-relative, e.g. docs/example-screenshots/<id>/<shot>.png; generated per FT-11, never hand-made)"
|
|
303912
|
+
),
|
|
303913
|
+
preview: external_exports.string().optional().describe("Optional short preview video/loop reference (generated per FT-11)"),
|
|
303914
|
+
lesson: external_exports.string().optional().describe(
|
|
303915
|
+
"Optional Learn-site lesson URL that teaches this project 1:1 (e.g. https://vgai-learn.pages.dev/quick-starts/joints/)"
|
|
303916
|
+
)
|
|
303917
|
+
}).strict().describe(
|
|
303918
|
+
"Learner-facing metadata (FT-5, docs/FTUE-LEARN-SYSTEM-DESIGN.md \xA73) \u2014 powers the example gallery, New Project wizard, and Learn-site catalog. Registries are generated from this block; there is no parallel hand-edited catalog."
|
|
303919
|
+
);
|
|
303900
303920
|
var GameManifestSchema = external_exports.object({
|
|
303901
303921
|
$schema: external_exports.string().optional().describe("Optional JSON Schema URI for editor autocomplete and validation"),
|
|
303902
303922
|
manifestVersion: external_exports.literal(GAME_MANIFEST_VERSION).describe("Manifest file format version (v2 clean roots)"),
|
|
@@ -303981,6 +304001,9 @@ var GameManifestSchema = external_exports.object({
|
|
|
303981
304001
|
message: "Game manifest: `budget` must set at least one metric (frameCpuMsP95, physicsMsP95, maxEntities, maxDrawCalls, maxTriangles) \u2014 an empty budget block gates nothing (T4.1 no-dead-fields policy)."
|
|
303982
304002
|
}).optional().describe(
|
|
303983
304003
|
"Performance budget (W3d, F11 perf regression gates) asserted by `vgai perf --assert-budget`: a seeded, fixed-step headless run samples the engine profiler and fails (nonzero exit) when any metric here is exceeded. Only headlessly-measurable metrics are budgetable; real GPU frame time is not (SwiftShader)."
|
|
304004
|
+
),
|
|
304005
|
+
learn: LearnMetadataSchema.optional().describe(
|
|
304006
|
+
"Optional learner-facing metadata (FT-5) \u2014 set on shipped example projects so the gallery/wizard/Learn-catalog registries can be generated from the manifest itself"
|
|
303984
304007
|
)
|
|
303985
304008
|
}).strict().describe("Game manifest (vgai.game.json) \u2014 the complete v2 project configuration");
|
|
303986
304009
|
|
|
@@ -304150,7 +304173,8 @@ function loadGameManifest(raw) {
|
|
|
304150
304173
|
authoring: manifest.authoring,
|
|
304151
304174
|
debug: manifest.debug,
|
|
304152
304175
|
determinism: manifest.determinism,
|
|
304153
|
-
budget: manifest.budget
|
|
304176
|
+
budget: manifest.budget,
|
|
304177
|
+
learn: manifest.learn
|
|
304154
304178
|
};
|
|
304155
304179
|
}
|
|
304156
304180
|
|
|
@@ -318697,8 +318721,8 @@ function batteryDistributionDir() {
|
|
|
318697
318721
|
);
|
|
318698
318722
|
}
|
|
318699
318723
|
function cliVersion() {
|
|
318700
|
-
if ("0.5.0
|
|
318701
|
-
return "0.5.0
|
|
318724
|
+
if ("0.5.0") {
|
|
318725
|
+
return "0.5.0";
|
|
318702
318726
|
}
|
|
318703
318727
|
try {
|
|
318704
318728
|
const pkg = JSON.parse(readFileSync22(join28(__dirname4, "..", "package.json"), "utf8"));
|
|
@@ -318717,7 +318741,7 @@ function bakedTargetVersions() {
|
|
|
318717
318741
|
if (false)
|
|
318718
318742
|
return void 0;
|
|
318719
318743
|
try {
|
|
318720
|
-
return JSON.parse('{"@vgai/engine":"0.5.0
|
|
318744
|
+
return JSON.parse('{"@vgai/engine":"0.5.0","@vgai/editor":"0.5.0","@vgai/p2p-colyseus":"0.5.0","@vgai/e2e":"0.5.0","@vgai/live":"0.5.0","@vgai/sdk":"0.5.0","@vgai/editor-sdk":"0.5.0","@vgai/cli":"0.5.0"}');
|
|
318721
318745
|
} catch {
|
|
318722
318746
|
return void 0;
|
|
318723
318747
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@vgai/cli",
|
|
3
3
|
"author": "Volter AI, Inc.",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
|
-
"version": "0.5.0
|
|
5
|
+
"version": "0.5.0",
|
|
6
6
|
"description": "Create, open, control, validate, and playtest VGAI game projects.",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"game-engine",
|
|
@@ -37,13 +37,13 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@oclif/core": "^4.11.14",
|
|
40
|
-
"@vgai/e2e": "0.5.0
|
|
41
|
-
"@vgai/editor": "0.5.0
|
|
42
|
-
"@vgai/editor-sdk": "0.5.0
|
|
43
|
-
"@vgai/engine": "0.5.0
|
|
44
|
-
"@vgai/live": "0.5.0
|
|
45
|
-
"@vgai/p2p-colyseus": "0.5.0
|
|
46
|
-
"@vgai/sdk": "0.5.0
|
|
40
|
+
"@vgai/e2e": "0.5.0",
|
|
41
|
+
"@vgai/editor": "0.5.0",
|
|
42
|
+
"@vgai/editor-sdk": "0.5.0",
|
|
43
|
+
"@vgai/engine": "0.5.0",
|
|
44
|
+
"@vgai/live": "0.5.0",
|
|
45
|
+
"@vgai/p2p-colyseus": "0.5.0",
|
|
46
|
+
"@vgai/sdk": "0.5.0",
|
|
47
47
|
"ink": "^7.1.0",
|
|
48
48
|
"playwright": "^1.58.2",
|
|
49
49
|
"react": "^19.2.4",
|