@forgeax/engine-devkit 0.1.6 → 0.1.19

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 (57) hide show
  1. package/README.md +155 -2
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/__tests__/engine-binding.unit.test.d.ts +2 -0
  4. package/dist/__tests__/engine-binding.unit.test.d.ts.map +1 -0
  5. package/dist/__tests__/native-preview-dispatch.test.d.ts +2 -0
  6. package/dist/__tests__/native-preview-dispatch.test.d.ts.map +1 -0
  7. package/dist/__tests__/native-preview-subject-draw.unit.test.d.ts +2 -0
  8. package/dist/__tests__/native-preview-subject-draw.unit.test.d.ts.map +1 -0
  9. package/dist/__tests__/single-html-runtime.e2e.test.d.ts +2 -0
  10. package/dist/__tests__/single-html-runtime.e2e.test.d.ts.map +1 -0
  11. package/dist/__tests__/single-html.test.d.ts +2 -0
  12. package/dist/__tests__/single-html.test.d.ts.map +1 -0
  13. package/dist/__tests__/software-browser-session.unit.test.d.ts +2 -0
  14. package/dist/__tests__/software-browser-session.unit.test.d.ts.map +1 -0
  15. package/dist/__tests__/software-capture-pixels.unit.test.d.ts +2 -0
  16. package/dist/__tests__/software-capture-pixels.unit.test.d.ts.map +1 -0
  17. package/dist/__tests__/software-capture.unit.test.d.ts +2 -0
  18. package/dist/__tests__/software-capture.unit.test.d.ts.map +1 -0
  19. package/dist/bootstrap-commands.d.ts.map +1 -1
  20. package/dist/cli-output.d.ts.map +1 -1
  21. package/dist/cli.mjs +3350 -475
  22. package/dist/cli.mjs.map +1 -1
  23. package/dist/commands.d.ts +2 -0
  24. package/dist/commands.d.ts.map +1 -1
  25. package/dist/dist.d.ts +2 -2
  26. package/dist/dist.d.ts.map +1 -1
  27. package/dist/engine-binding.d.ts +58 -0
  28. package/dist/engine-binding.d.ts.map +1 -0
  29. package/dist/host.d.ts +6 -1
  30. package/dist/host.d.ts.map +1 -1
  31. package/dist/index.d.ts +10 -3
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.mjs +3679 -1368
  34. package/dist/index.mjs.map +1 -1
  35. package/dist/rhi-debug/cli-context.d.ts.map +1 -1
  36. package/dist/rhi-debug/operations.d.ts +3 -3
  37. package/dist/rhi-debug/operations.d.ts.map +1 -1
  38. package/dist/sdk-bootstrap.d.ts +6 -1
  39. package/dist/sdk-bootstrap.d.ts.map +1 -1
  40. package/dist/sdk-cli.mjs +35 -15
  41. package/dist/sdk-cli.mjs.map +1 -1
  42. package/dist/sdk.d.ts +1 -3
  43. package/dist/sdk.d.ts.map +1 -1
  44. package/dist/single-html.d.ts +43 -0
  45. package/dist/single-html.d.ts.map +1 -0
  46. package/dist/software-capture.d.ts +161 -0
  47. package/dist/software-capture.d.ts.map +1 -0
  48. package/dist/tools/browser-host.d.ts.map +1 -1
  49. package/dist/tools/client.d.ts.map +1 -1
  50. package/dist/tools/commands.d.ts +5 -0
  51. package/dist/tools/commands.d.ts.map +1 -1
  52. package/dist/tools/native-preview.d.ts.map +1 -1
  53. package/dist/tools/preview-contributions.d.ts +0 -5
  54. package/dist/tools/preview-contributions.d.ts.map +1 -1
  55. package/dist/types.d.ts +23 -1
  56. package/dist/types.d.ts.map +1 -1
  57. package/package.json +34 -30
@@ -1 +1 @@
1
- {"version":3,"file":"cli-context.d.ts","sourceRoot":"","sources":["../../src/rhi-debug/cli-context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAe,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,wBAAgB,iCAAiC,IAAI,wBAAwB,CAmE5E"}
1
+ {"version":3,"file":"cli-context.d.ts","sourceRoot":"","sources":["../../src/rhi-debug/cli-context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAe,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,wBAAgB,iCAAiC,IAAI,wBAAwB,CAuG5E"}
@@ -1,4 +1,4 @@
1
- import { type FrameModel, type InspectField, type ReplayBackend, type RhiDebugError, type WorkInspection } from '@forgeax/engine-rhi-debug';
1
+ import { type FrameModel, type InspectField, type ReplayBackend, type RhiDebugError, type V7Tape, type WorkInspection } from '@forgeax/engine-rhi-debug';
2
2
  import { type Result } from '@forgeax/engine-types';
3
3
  import type { CommandResult } from '../types.js';
4
4
  export declare const RHI_TAPE_ARTIFACT_KIND: "rhi-tape";
@@ -43,12 +43,12 @@ export type RhiDebugOperationOutput = ArtifactRef | RhiSummaryOutput | RhiInspec
43
43
  export interface RhiDebugOperationContext {
44
44
  readonly captureFrame: (input?: RhiCaptureInput) => Promise<Result<CapturedRhiTape, RhiDebugError>>;
45
45
  readonly readArtifact: (artifact: ArtifactRef) => Promise<CommandResult<Uint8Array>>;
46
- readonly createReplayBackend?: () => Promise<CommandResult<ReplayBackend>>;
46
+ readonly createReplayBackend?: (tape: V7Tape) => Promise<CommandResult<ReplayBackend>>;
47
47
  }
48
48
  export interface RhiDebugOperationHost {
49
49
  readonly captureFrame: (input?: RhiCaptureInput) => Promise<Result<RhiCaptureFrameValue, RhiDebugError>>;
50
50
  readonly readArtifact: (artifact: ArtifactRef) => Promise<CommandResult<Uint8Array>>;
51
- readonly createReplayBackend?: () => Promise<CommandResult<ReplayBackend>>;
51
+ readonly createReplayBackend?: (tape: V7Tape) => Promise<CommandResult<ReplayBackend>>;
52
52
  }
53
53
  export declare function createRhiDebugOperationContext(host: RhiDebugOperationHost): RhiDebugOperationContext;
54
54
  export interface JsonSchema {
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/rhi-debug/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/rhi-debug/operations.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,12 @@ export interface SdkInitReport extends SdkInitState {
17
17
  }
18
18
  export interface AgentOnboarding {
19
19
  readonly read: readonly string[];
20
- readonly next: {
20
+ readonly templateSelection?: {
21
+ readonly required: true;
22
+ readonly game3d: 'game-3d';
23
+ readonly otherwise: 'empty';
24
+ };
25
+ readonly next?: {
21
26
  readonly cwd: string;
22
27
  readonly argv: readonly string[];
23
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-bootstrap.d.ts","sourceRoot":"","sources":["../src/sdk-bootstrap.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,QAAA,MAAM,uBAAuB,EAAG,OAAgB,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,uBAAuB,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;KAClC,CAAC;CACH;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,CAgBtF;AAeD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAWzE;AAkDD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAOzF;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAkBtC;AAsBD,wBAAsB,cAAc,CAClC,GAAG,EAAE,UAAU,EACf,OAAO,GAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GACtE,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAkDvC"}
1
+ {"version":3,"file":"sdk-bootstrap.d.ts","sourceRoot":"","sources":["../src/sdk-bootstrap.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,QAAA,MAAM,uBAAuB,EAAG,OAAgB,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,uBAAuB,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QAC3B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;QAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;KAClC,CAAC;CACH;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,CAqBtF;AAeD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAYzE;AAmDD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAOzF;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAkBtC;AAsBD,wBAAsB,cAAc,CAClC,GAAG,EAAE,UAAU,EACf,OAAO,GAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GACtE,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAkDvC"}
package/dist/sdk-cli.mjs CHANGED
@@ -31,7 +31,7 @@ var SDK_DEV_DEPENDENCIES = {
31
31
  "@webgpu/types": "0.1.71",
32
32
  tsx: "4.23.1",
33
33
  typescript: "6.0.3",
34
- vitest: "4.1.5"
34
+ vitest: "4.1.11"
35
35
  };
36
36
  function createInitPlan(facts, sdk) {
37
37
  const manifest = structuredClone(facts.packageJson);
@@ -4923,15 +4923,12 @@ async function findSdkContext() {
4923
4923
  const templates = new Map(
4924
4924
  manifest.templates.map((template2) => [template2.id, resolve(cursor, template2.root)])
4925
4925
  );
4926
- const defaultTemplate = manifest.templates.find((template2) => template2.default);
4927
- if (defaultTemplate === void 0) throw new Error("sdk-default-template-missing");
4928
4926
  const store = resolve(cursor, "store", "pnpm");
4929
4927
  return {
4930
4928
  root: cursor,
4931
4929
  manifest,
4932
4930
  ...await readable(store) ? { store } : {},
4933
- templates,
4934
- defaultTemplate: defaultTemplate.id
4931
+ templates
4935
4932
  };
4936
4933
  }
4937
4934
  const parent = dirname(cursor);
@@ -4950,10 +4947,14 @@ function agentOnboarding(sdk, projectRoot) {
4950
4947
  resolve(root2, "skills", "forgeax-engine-sdk", "SKILL.md"),
4951
4948
  resolve(root2, "skills", "forgeax-engine-sdk", "references", "feature-catalog.md")
4952
4949
  ],
4953
- next: projectRoot === void 0 ? {
4954
- cwd: root2,
4955
- argv: ["node", "./bin/forgeax.mjs", "new", "../my-game"]
4956
- } : { cwd: root2, argv: ["pnpm", "exec", "forgeax", "list", "--json"] }
4950
+ ...projectRoot === void 0 ? {
4951
+ templateSelection: {
4952
+ required: true,
4953
+ game3d: "game-3d",
4954
+ otherwise: "empty"
4955
+ }
4956
+ } : {},
4957
+ ...projectRoot === void 0 ? {} : { next: { cwd: root2, argv: ["pnpm", "exec", "forgeax", "list", "--json"] } }
4957
4958
  };
4958
4959
  }
4959
4960
  function sdkInitPath(sdk) {
@@ -4967,6 +4968,7 @@ function sdkProjectInstallArgs(store) {
4967
4968
  "install",
4968
4969
  "--frozen-lockfile",
4969
4970
  "--ignore-scripts",
4971
+ "--config.pm-on-fail=ignore",
4970
4972
  "--side-effects-cache=true",
4971
4973
  "--child-concurrency=1"
4972
4974
  ];
@@ -4976,6 +4978,7 @@ function sdkBootstrapInstallArgs(store) {
4976
4978
  const common = [
4977
4979
  "install",
4978
4980
  "--frozen-lockfile",
4981
+ "--config.pm-on-fail=ignore",
4979
4982
  "--child-concurrency=1",
4980
4983
  "--side-effects-cache=true"
4981
4984
  ];
@@ -5033,8 +5036,8 @@ async function requireSdkInitialization(sdk) {
5033
5036
  return { ok: true, value: state };
5034
5037
  }
5035
5038
  async function copyBootstrapInputs(sdk, root2) {
5036
- const template2 = sdk.templates.get(sdk.defaultTemplate);
5037
- if (template2 === void 0) throw new Error("sdk-default-template-missing");
5039
+ const template2 = sdk.templates.get("empty");
5040
+ if (template2 === void 0) throw new Error("sdk-bootstrap-template-missing");
5038
5041
  for (const name of ["package.json", "pnpm-lock.yaml", "pnpm-workspace.yaml"]) {
5039
5042
  await cp(resolve(template2, name), resolve(root2, name));
5040
5043
  }
@@ -5618,8 +5621,8 @@ async function initCommand(options = {}) {
5618
5621
  const applied = await applyInitPlan(facts.value, plan.value, options);
5619
5622
  if (!applied.ok || options.dryRun === true) return applied;
5620
5623
  if (sdk !== void 0) {
5621
- const template2 = sdk.templates.get(sdk.defaultTemplate);
5622
- if (template2 === void 0) throw new Error("sdk-default-template-missing");
5624
+ const template2 = sdk.templates.get("empty");
5625
+ if (template2 === void 0) throw new Error("sdk-bootstrap-template-missing");
5623
5626
  await copyFile(
5624
5627
  resolve(template2, "pnpm-lock.yaml"),
5625
5628
  resolve(facts.value.root, "pnpm-lock.yaml")
@@ -5687,7 +5690,18 @@ async function newCommand(options = {}) {
5687
5690
  }
5688
5691
  };
5689
5692
  }
5690
- const templateId = options.template ?? sdk.defaultTemplate;
5693
+ if (options.template === void 0) {
5694
+ return {
5695
+ ok: false,
5696
+ error: {
5697
+ code: "sdk-template-required",
5698
+ expected: "forgeax new to select exactly one template with --template",
5699
+ hint: "Use --template game-3d for a 3D game; otherwise use --template empty.",
5700
+ detail: { templates: [...sdk.templates.keys()].sort() }
5701
+ }
5702
+ };
5703
+ }
5704
+ const templateId = options.template;
5691
5705
  const template2 = sdk.templates.get(templateId);
5692
5706
  if (template2 === void 0) {
5693
5707
  return {
@@ -5808,6 +5822,12 @@ function agentOnboardingLines(value) {
5808
5822
  if (onboarding === null || typeof onboarding !== "object" || Array.isArray(onboarding)) return [];
5809
5823
  const candidate = onboarding;
5810
5824
  const lines = Array.isArray(candidate.read) ? candidate.read.filter((path) => typeof path === "string").map((path) => `[forgeax] read: ${path}`) : [];
5825
+ const selection = candidate.templateSelection;
5826
+ if (selection !== null && typeof selection === "object" && !Array.isArray(selection)) {
5827
+ lines.push("[forgeax] template required: use game-3d for a 3D game; otherwise use empty");
5828
+ lines.push("[forgeax] create 3D: forgeax new <directory> --template game-3d");
5829
+ lines.push("[forgeax] create other: forgeax new <directory> --template empty");
5830
+ }
5811
5831
  if (typeof candidate.next?.cwd === "string" && Array.isArray(candidate.next.argv) && candidate.next.argv.every((part) => typeof part === "string")) {
5812
5832
  lines.push(`[forgeax] next cwd: ${candidate.next.cwd}`);
5813
5833
  lines.push(`[forgeax] next: ${candidate.next.argv.join(" ")}`);
@@ -5828,7 +5848,7 @@ function sdkUpdateLines(value) {
5828
5848
  ];
5829
5849
  }
5830
5850
  function renderForgeaxUsage() {
5831
- return "Usage: forgeax new [directory] [--template empty|game-default]\n forgeax <init|doctor|test|dev|build|package|serve|preview> [directory]\n forgeax package [directory] [--output release/game-web.zip]\n forgeax run <rhi.capture|rhi.summary|rhi.inspect> [options]\n forgeax run <operation-id> --input <request.json>\n forgeax asset <add|verify|inspect|list> [subject]\n forgeax shader check [path]\n forgeax plugin <install|uninstall> <module-or-id> [options]\n forgeax skill <install|verify> [--root directory]\n forgeax sdk install <directory> [--version VERSION]\n";
5851
+ return "Usage: forgeax new [directory] --template empty|game-3d\n forgeax <init|doctor|test|dev|build|package|serve|preview> [directory]\n forgeax capture [directory] [--backend auto|software|hardware] [--require-ui] [--deterministic] [--headless] [--output PATH]\n forgeax engine <status|doctor|unlink> [--root directory]\n forgeax engine use-local <engine-directory> [--root directory]\n forgeax package [directory] [--format web-zip|single-html] [--output PATH]\n forgeax run <rhi.capture|rhi.summary|rhi.inspect> [options]\n forgeax run <operation-id> --input <request.json>\n forgeax exec <program.mjs> [--json]\n forgeax asset <add|verify|inspect|list> [subject]\n forgeax shader check [path]\n forgeax plugin <install|uninstall> <module-or-id> [options]\n forgeax skill <install|verify> [--root directory]\n forgeax sdk install <directory> [--version VERSION]\n";
5832
5852
  }
5833
5853
 
5834
5854
  // src/sdk-cli.ts