create-aura3d 1.4.2 → 1.4.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 (78) hide show
  1. package/README.md +2 -2
  2. package/dist/index.d.ts +4 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/showcase-spec-artifacts.d.ts +5 -0
  7. package/dist/showcase-spec-artifacts.d.ts.map +1 -1
  8. package/dist/showcase-spec-artifacts.js +11 -2
  9. package/dist/showcase-spec-artifacts.js.map +1 -1
  10. package/dist/showcase-spec-asset-pair-composition.d.ts +116 -0
  11. package/dist/showcase-spec-asset-pair-composition.d.ts.map +1 -0
  12. package/dist/showcase-spec-asset-pair-composition.js +336 -0
  13. package/dist/showcase-spec-asset-pair-composition.js.map +1 -0
  14. package/dist/showcase-spec-compiler.d.ts.map +1 -1
  15. package/dist/showcase-spec-compiler.js +149 -10
  16. package/dist/showcase-spec-compiler.js.map +1 -1
  17. package/dist/showcase-spec-composition-evidence.d.ts +14 -0
  18. package/dist/showcase-spec-composition-evidence.d.ts.map +1 -0
  19. package/dist/showcase-spec-composition-evidence.js +123 -0
  20. package/dist/showcase-spec-composition-evidence.js.map +1 -0
  21. package/dist/showcase-spec-evidence.js +50 -1
  22. package/dist/showcase-spec-evidence.js.map +1 -1
  23. package/dist/showcase-spec-game-geometry-extractor.d.ts +4 -2
  24. package/dist/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
  25. package/dist/showcase-spec-game-geometry-extractor.js +248 -26
  26. package/dist/showcase-spec-game-geometry-extractor.js.map +1 -1
  27. package/dist/showcase-spec-game-geometry-probe.d.ts +20 -0
  28. package/dist/showcase-spec-game-geometry-probe.d.ts.map +1 -0
  29. package/dist/showcase-spec-game-geometry-probe.js +16 -0
  30. package/dist/showcase-spec-game-geometry-probe.js.map +1 -0
  31. package/dist/showcase-spec-game-replacement-evidence.js +7 -3
  32. package/dist/showcase-spec-game-replacement-evidence.js.map +1 -1
  33. package/dist/showcase-spec-game-scene-scale.d.ts +10 -0
  34. package/dist/showcase-spec-game-scene-scale.d.ts.map +1 -0
  35. package/dist/showcase-spec-game-scene-scale.js +71 -0
  36. package/dist/showcase-spec-game-scene-scale.js.map +1 -0
  37. package/dist/showcase-spec-game-template-evidence.d.ts +10 -0
  38. package/dist/showcase-spec-game-template-evidence.d.ts.map +1 -1
  39. package/dist/showcase-spec-game-template-evidence.js +48 -5
  40. package/dist/showcase-spec-game-template-evidence.js.map +1 -1
  41. package/dist/showcase-spec-gameplay-evidence.js +4 -3
  42. package/dist/showcase-spec-gameplay-evidence.js.map +1 -1
  43. package/dist/showcase-spec-parser.d.ts.map +1 -1
  44. package/dist/showcase-spec-parser.js +3 -0
  45. package/dist/showcase-spec-parser.js.map +1 -1
  46. package/dist/showcase-spec-platformer-artifacts.d.ts +1 -0
  47. package/dist/showcase-spec-platformer-artifacts.d.ts.map +1 -1
  48. package/dist/showcase-spec-platformer-artifacts.js +164 -43
  49. package/dist/showcase-spec-platformer-artifacts.js.map +1 -1
  50. package/dist/showcase-spec-racing-artifacts.d.ts +1 -0
  51. package/dist/showcase-spec-racing-artifacts.d.ts.map +1 -1
  52. package/dist/showcase-spec-racing-artifacts.js +203 -31
  53. package/dist/showcase-spec-racing-artifacts.js.map +1 -1
  54. package/dist/showcase-spec-replacement-candidates.js +2 -1
  55. package/dist/showcase-spec-replacement-candidates.js.map +1 -1
  56. package/dist/showcase-spec-types.d.ts +22 -0
  57. package/dist/showcase-spec-types.d.ts.map +1 -1
  58. package/package.json +3 -3
  59. package/templates/animation-channel/package.json +1 -1
  60. package/templates/animation-studio/package.json +5 -5
  61. package/templates/character-controller/package.json +3 -3
  62. package/templates/cinematic-scene/package.json +1 -1
  63. package/templates/episode-builder/package.json +1 -1
  64. package/templates/falling-blocks-starter/package.json +1 -1
  65. package/templates/fighting-game/package.json +1 -1
  66. package/templates/mini-game/package.json +1 -1
  67. package/templates/product-viewer/package.json +1 -1
  68. package/templates/prompt-animation-channel/package.json +1 -1
  69. package/templates/racing-starter/package.json +1 -1
  70. package/templates/racing-starter/src/main.ts +1 -1
  71. package/templates/three-compat-architecture-interior/package.json +1 -1
  72. package/templates/three-compat-asset-inspector/package.json +1 -1
  73. package/templates/three-compat-character-viewer/package.json +1 -1
  74. package/templates/three-compat-custom-threejs-migration/package.json +1 -1
  75. package/templates/three-compat-large-scene/package.json +1 -1
  76. package/templates/three-compat-material-authoring/package.json +1 -1
  77. package/templates/three-compat-postprocess-scene/package.json +1 -1
  78. package/templates/three-compat-premium-product-viewer/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"showcase-spec-asset-pair-composition.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/showcase-spec-asset-pair-composition.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"showcase-spec-compiler.d.ts","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/showcase-spec-compiler.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EAK1B,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,gCAAgC,EAChC,mCAAmC,EACnC,+BAA+B,EAC/B,qCAAqC,EACrC,sBAAsB,EACtB,iCAAiC,EACjC,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,yBAAyB,CAG1G;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,GAAG,yBAAyB,CAsClH"}
1
+ {"version":3,"file":"showcase-spec-compiler.d.ts","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/showcase-spec-compiler.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EAK1B,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,gCAAgC,EAChC,mCAAmC,EACnC,+BAA+B,EAC/B,qCAAqC,EACrC,sBAAsB,EACtB,iCAAiC,EACjC,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,yBAAyB,CAG1G;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,GAAG,yBAAyB,CAsDlH"}
@@ -1,9 +1,11 @@
1
- import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
- import { dirname, join, resolve } from "node:path";
3
- import { createEvidenceChecklist, createReadme, createRouteGatePatch, createRouteHealth, createRouteSource } from "./showcase-spec-artifacts.js";
1
+ import { createHash } from "node:crypto";
2
+ import { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
3
+ import { dirname, isAbsolute, join, relative, resolve } from "node:path";
4
+ import { createEvidenceChecklist, createReadme, createRouteArtifacts, createRouteGatePatch, createRouteHealth } from "./showcase-spec-artifacts.js";
4
5
  import { compileCategoryPlanBlockers } from "./showcase-spec-category-plan.js";
6
+ import { validateShowcaseAssetPairCompositionFromDisk } from "./showcase-spec-asset-pair-composition.js";
5
7
  import { compileEvidenceBlockers } from "./showcase-spec-evidence.js";
6
- import { applyGeneratedGameTemplateEvidence } from "./showcase-spec-game-template-evidence.js";
8
+ import { applyGeneratedGameTemplateEvidence, consumeRetainedGameCompositionEvidence } from "./showcase-spec-game-template-evidence.js";
7
9
  import { parseShowcaseSpec } from "./showcase-spec-parser.js";
8
10
  import { resolveShowcaseSpecReplacements } from "./showcase-spec-replacement.js";
9
11
  export function compileShowcaseSpecFile(options) {
@@ -12,20 +14,32 @@ export function compileShowcaseSpecFile(options) {
12
14
  }
13
15
  export function compileShowcaseSpec(input, options) {
14
16
  const parsedSpec = parseShowcaseSpec(input);
15
- const replacement = resolveShowcaseSpecReplacements(parsedSpec, { projectDir: options.projectDir });
16
17
  const outputDir = resolve(options.outputDir);
18
+ const projectDir = resolve(options.projectDir ?? process.cwd());
19
+ const canProduceComposition = canProduceGameComposition(parsedSpec, outputDir, projectDir);
20
+ const retainedComposition = canProduceComposition
21
+ ? { spec: parsedSpec }
22
+ : consumeRetainedGameCompositionEvidence(parsedSpec, { projectDir });
23
+ const replacement = resolveShowcaseSpecReplacements(retainedComposition.spec, { projectDir });
17
24
  mkdirSync(join(outputDir, "src"), { recursive: true });
18
- const templateEvidence = applyGeneratedGameTemplateEvidence(replacement.spec, { projectDir: options.projectDir });
19
- const spec = templateEvidence.spec;
25
+ const templateEvidence = applyGeneratedGameTemplateEvidence(replacement.spec, { projectDir });
20
26
  writeArtifacts(outputDir, templateEvidence.artifacts);
27
+ const producedComposition = canProduceComposition
28
+ ? produceGameComposition(templateEvidence.spec, outputDir, projectDir)
29
+ : undefined;
30
+ const appliedComposition = producedComposition
31
+ ? consumeRetainedGameCompositionEvidence(producedComposition.spec, { projectDir })
32
+ : { spec: templateEvidence.spec, summary: retainedComposition.summary };
33
+ const spec = appliedComposition.spec;
34
+ const assetPairComposition = producedComposition?.summary ?? retainedComposition.summary;
21
35
  const blockers = [
22
36
  ...replacement.blockers,
23
- ...compileBlockers(spec, { artifactRoot: outputDir, projectDir: options.projectDir })
37
+ ...compileBlockers(spec, { artifactRoot: outputDir, projectDir })
24
38
  ];
25
39
  const finalStatus = chooseFinalStatus(spec, blockers);
26
40
  const generatedFiles = writeArtifacts(outputDir, {
27
41
  ...templateEvidence.artifacts,
28
- "src/main.ts": createRouteSource(spec),
42
+ ...createRouteArtifacts(spec),
29
43
  "README.md": createReadme(spec, finalStatus, blockers),
30
44
  "route-health.json": createRouteHealth(spec, finalStatus, blockers),
31
45
  "route-gate.patch.json": createRouteGatePatch(spec, finalStatus),
@@ -42,11 +56,113 @@ export function compileShowcaseSpec(input, options) {
42
56
  routeGatePatchPath: join(outputDir, "route-gate.patch.json"),
43
57
  rejectedAssets: replacement.rejectedAssets,
44
58
  replacementCandidates: replacement.replacementCandidates,
45
- ...(replacement.selectedReplacement ? { selectedReplacement: replacement.selectedReplacement } : {})
59
+ ...(replacement.selectedReplacement ? { selectedReplacement: replacement.selectedReplacement } : {}),
60
+ ...(assetPairComposition ? { assetPairComposition } : {}),
61
+ ...createGeometryContractReport(spec, outputDir, projectDir)
46
62
  };
47
63
  writeArtifact(outputDir, "showcase-spec-compile-report.json", report);
64
+ const retainedReportPath = retainedShowcaseCompileReportPath(spec, outputDir, projectDir);
65
+ if (retainedReportPath)
66
+ writeArtifact(projectDir, retainedReportPath, report);
48
67
  return report;
49
68
  }
69
+ function canProduceGameComposition(spec, outputDir, projectDir) {
70
+ if (spec.category !== "game-racing" && spec.category !== "game-platformer")
71
+ return false;
72
+ const reportPath = spec.evidence.assetPairCompositionReport;
73
+ const gameplayProof = spec.evidence.gameplayProof;
74
+ if (!reportPath || !gameplayProof)
75
+ return false;
76
+ if (!containedRelativePath(projectDir, reportPath) || !isContained(projectDir, outputDir))
77
+ return false;
78
+ return [spec.evidence.routePrimaryProbe, gameplayProof, "aura.assets.json"]
79
+ .every((path) => containedRelativePath(projectDir, path) && existsSync(resolve(projectDir, path)));
80
+ }
81
+ function produceGameComposition(spec, outputDir, projectDir) {
82
+ const category = spec.category === "game-racing" ? "racing" : spec.category === "game-platformer" ? "platformer" : undefined;
83
+ const artifactPath = category === "racing"
84
+ ? spec.racing?.raceDesign.trackTopologyEvidence
85
+ : spec.platformer?.levelDesign.playableSurfaceEvidence;
86
+ const outputPath = spec.evidence.assetPairCompositionReport;
87
+ const gameplayProof = spec.evidence.gameplayProof;
88
+ if (!category || !artifactPath || !outputPath || !gameplayProof)
89
+ return undefined;
90
+ const geometryAbsolute = resolve(outputDir, artifactPath);
91
+ if (!isContained(projectDir, geometryAbsolute) || !existsSync(geometryAbsolute))
92
+ return undefined;
93
+ const generatedGeometryReport = relative(projectDir, geometryAbsolute);
94
+ if (!generatedGeometryReport || isAbsolute(generatedGeometryReport) || generatedGeometryReport.startsWith(".."))
95
+ return undefined;
96
+ const geometryReport = retainedGameGeometryReportPath(spec, outputDir, projectDir, artifactPath) ?? generatedGeometryReport;
97
+ if (geometryReport !== generatedGeometryReport) {
98
+ const retainedAbsolute = resolve(projectDir, geometryReport);
99
+ mkdirSync(dirname(retainedAbsolute), { recursive: true });
100
+ copyFileSync(geometryAbsolute, retainedAbsolute);
101
+ }
102
+ const report = validateShowcaseAssetPairCompositionFromDisk({
103
+ projectDir,
104
+ routeId: spec.routeId,
105
+ category,
106
+ routePrimaryProbe: spec.evidence.routePrimaryProbe,
107
+ gameplayProof,
108
+ geometryReport,
109
+ outputPath
110
+ });
111
+ const specWithGeometryReport = bindGameGeometryReport(spec, geometryReport);
112
+ return {
113
+ spec: specWithGeometryReport,
114
+ summary: {
115
+ report: outputPath,
116
+ verdict: report.verdict,
117
+ checks: report.checks.map(({ id, verdict }) => ({ id, verdict }))
118
+ }
119
+ };
120
+ }
121
+ function retainedShowcaseCompileReportPath(spec, outputDir, projectDir) {
122
+ const outputRelative = relative(projectDir, outputDir).replaceAll("\\", "/");
123
+ if (outputRelative !== `apps/${spec.routeId}`)
124
+ return undefined;
125
+ const reportDir = spec.routeId.replace(/^showcase-/, "");
126
+ return `tests/reports/showcase-spec-compiler/${reportDir}/showcase-spec-compile-report.json`;
127
+ }
128
+ function retainedGameGeometryReportPath(spec, outputDir, projectDir, artifactPath) {
129
+ const outputRelative = relative(projectDir, outputDir).replaceAll("\\", "/");
130
+ if (outputRelative !== `apps/${spec.routeId}`)
131
+ return undefined;
132
+ const artifactName = artifactPath.split(/[\\/]/).at(-1);
133
+ if (!artifactName)
134
+ return undefined;
135
+ const reportDir = spec.routeId.replace(/^showcase-/, "");
136
+ return `tests/reports/showcase-spec-compiler/${reportDir}/game-template/${artifactName}`;
137
+ }
138
+ function bindGameGeometryReport(spec, geometryReport) {
139
+ if (spec.category === "game-racing" && spec.racing) {
140
+ return {
141
+ ...spec,
142
+ racing: {
143
+ ...spec.racing,
144
+ raceDesign: { ...spec.racing.raceDesign, trackTopologyEvidence: geometryReport }
145
+ }
146
+ };
147
+ }
148
+ if (spec.category === "game-platformer" && spec.platformer) {
149
+ return {
150
+ ...spec,
151
+ platformer: {
152
+ ...spec.platformer,
153
+ levelDesign: { ...spec.platformer.levelDesign, playableSurfaceEvidence: geometryReport }
154
+ }
155
+ };
156
+ }
157
+ return spec;
158
+ }
159
+ function containedRelativePath(root, path) {
160
+ return Boolean(path) && !isAbsolute(path) && !path.includes("\0") && isContained(root, resolve(root, path));
161
+ }
162
+ function isContained(root, path) {
163
+ const rel = relative(root, path);
164
+ return rel === "" || (!rel.startsWith("..") && !isAbsolute(rel));
165
+ }
50
166
  function compileBlockers(spec, evidenceContext) {
51
167
  if (spec.publicStatus !== "release-ready candidate")
52
168
  return compileCategoryPlanBlockers(spec);
@@ -223,6 +339,29 @@ function chooseFinalStatus(spec, blockers) {
223
339
  return spec.publicStatus;
224
340
  return "prototype-blocked";
225
341
  }
342
+ function createGeometryContractReport(spec, outputDir, projectDir) {
343
+ if (!spec.racing && !spec.platformer)
344
+ return {};
345
+ const modulePath = "src/generated/game-geometry.ts";
346
+ const sourceReport = spec.racing?.raceDesign.trackTopologyEvidence ?? spec.platformer?.levelDesign.playableSurfaceEvidence;
347
+ const moduleAbsolute = join(outputDir, modulePath);
348
+ const reportAbsolute = sourceReport
349
+ ? [resolve(outputDir, sourceReport), resolve(projectDir, sourceReport)].find((candidate) => existsSync(candidate))
350
+ : undefined;
351
+ if (!sourceReport || !existsSync(moduleAbsolute) || !reportAbsolute)
352
+ return {};
353
+ return {
354
+ geometryContract: {
355
+ module: modulePath,
356
+ contentHash: sha256(readFileSync(moduleAbsolute)),
357
+ sourceReport,
358
+ sourceReportHash: sha256(readFileSync(reportAbsolute))
359
+ }
360
+ };
361
+ }
362
+ function sha256(value) {
363
+ return `sha256-${createHash("sha256").update(value).digest("hex")}`;
364
+ }
226
365
  function writeArtifacts(outputDir, artifacts) {
227
366
  const generatedFiles = [];
228
367
  for (const [relativePath, artifact] of Object.entries(artifacts)) {
@@ -1 +1 @@
1
- {"version":3,"file":"showcase-spec-compiler.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/showcase-spec-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"showcase-spec-compiler.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/showcase-spec-compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ShowcaseSpec } from "./showcase-spec-types.js";
2
+ export interface AppliedCompositionEvidence {
3
+ readonly spec: ShowcaseSpec;
4
+ readonly summary?: {
5
+ readonly report: string;
6
+ readonly verdict: "pass" | "fail";
7
+ readonly checks: readonly {
8
+ readonly id: string;
9
+ readonly verdict: "pass" | "fail";
10
+ }[];
11
+ };
12
+ }
13
+ export declare function applyRetainedCompositionEvidence(spec: ShowcaseSpec, projectDir?: string): AppliedCompositionEvidence;
14
+ //# sourceMappingURL=showcase-spec-composition-evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"showcase-spec-composition-evidence.d.ts","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/showcase-spec-composition-evidence.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAIV,YAAY,EACb,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QAClC,QAAQ,CAAC,MAAM,EAAE,SAAS;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,EAAE,CAAC;KACxF,CAAC;CACH;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,SAAgB,GAAG,0BAA0B,CAgE3H"}
@@ -0,0 +1,123 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { isAbsolute, relative, resolve } from "node:path";
3
+ export function applyRetainedCompositionEvidence(spec, projectDir = process.cwd()) {
4
+ if (spec.category !== "game-racing" && spec.category !== "game-platformer")
5
+ return { spec };
6
+ const reportPath = spec.evidence.assetPairCompositionReport;
7
+ if (!reportPath)
8
+ return { spec };
9
+ const report = readCompositionReport(projectDir, reportPath);
10
+ if (!report)
11
+ return { spec };
12
+ const category = spec.category === "game-racing" ? "racing" : "platformer";
13
+ if (report.routeId !== spec.routeId || report.category !== category)
14
+ return { spec };
15
+ const checks = readChecks(report.checks);
16
+ const cameraMode = category === "racing" ? readRacingCameraMode(report.checks) : undefined;
17
+ const verdict = report.verdict === "pass" && report.pass === true ? "pass" : "fail";
18
+ const screenshot = record(report.screenshot);
19
+ const geometry = record(report.geometry);
20
+ const assets = Array.isArray(report.assets)
21
+ ? report.assets.flatMap((value) => {
22
+ const asset = record(value);
23
+ return asset ? [asset] : [];
24
+ })
25
+ : [];
26
+ if (!screenshot || !geometry)
27
+ return { spec };
28
+ const source = geometrySource(geometry.source);
29
+ const geometryReport = stringValue(geometry.report);
30
+ const screenshotPath = stringValue(screenshot.path);
31
+ const screenshotSha256 = stringValue(screenshot.sha256);
32
+ if (!source || !geometryReport || !screenshotPath || !screenshotSha256)
33
+ return { spec };
34
+ const evidenceAssets = assets.flatMap((asset) => {
35
+ const id = stringValue(asset.id);
36
+ const hash = stringValue(asset.manifestHash);
37
+ return id && hash ? [{ id, hash }] : [];
38
+ });
39
+ const expectedAssetIds = [...spec.primaryAssets.map((asset) => asset.id)].sort();
40
+ const reportAssetIds = [...evidenceAssets.map((asset) => asset.id)].sort();
41
+ if (expectedAssetIds.length !== reportAssetIds.length || expectedAssetIds.some((id, index) => id !== reportAssetIds[index])) {
42
+ return { spec };
43
+ }
44
+ const geometryEvidence = {
45
+ category,
46
+ kind: category === "racing" ? "racing-track-topology" : "platformer-playable-surface-map",
47
+ source,
48
+ report: geometryReport,
49
+ screenshotEvidence: screenshotPath,
50
+ routePrimaryScreenshotSha256: screenshotSha256,
51
+ assets: evidenceAssets
52
+ };
53
+ const evidence = {
54
+ category,
55
+ assets: evidenceAssets.map((asset) => asset.id),
56
+ screenshotEvidence: screenshotPath,
57
+ routePrimaryProbe: spec.evidence.routePrimaryProbe,
58
+ screenshotSha256,
59
+ geometryEvidence,
60
+ compositionReport: reportPath,
61
+ ...(cameraMode ? { cameraMode } : {}),
62
+ checks,
63
+ verdict,
64
+ notes: "Derived by the asset-pair composition validator from retained screenshot, gameplay, geometry, camera, and manifest evidence.",
65
+ blockers: stringArray(report.blockers)
66
+ };
67
+ const nextSpec = category === "racing" && spec.racing
68
+ ? { ...spec, racing: { ...spec.racing, raceDesign: { ...spec.racing.raceDesign, assetPairEvidence: evidence } } }
69
+ : category === "platformer" && spec.platformer
70
+ ? { ...spec, platformer: { ...spec.platformer, levelDesign: { ...spec.platformer.levelDesign, assetPairEvidence: evidence } } }
71
+ : spec;
72
+ return { spec: nextSpec, summary: { report: reportPath, verdict, checks } };
73
+ }
74
+ function readCompositionReport(projectDir, path) {
75
+ if (!path || isAbsolute(path) || path.includes("\0"))
76
+ return undefined;
77
+ const root = resolve(projectDir);
78
+ const absolute = resolve(root, path);
79
+ const rel = relative(root, absolute);
80
+ if (rel.startsWith("..") || isAbsolute(rel) || !existsSync(absolute))
81
+ return undefined;
82
+ try {
83
+ const value = JSON.parse(readFileSync(absolute, "utf8"));
84
+ return record(value);
85
+ }
86
+ catch {
87
+ return undefined;
88
+ }
89
+ }
90
+ function readChecks(value) {
91
+ if (!Array.isArray(value))
92
+ return [];
93
+ return value.flatMap((item) => {
94
+ const check = record(item);
95
+ const id = check && stringValue(check.id);
96
+ const verdict = check?.verdict;
97
+ return id && (verdict === "pass" || verdict === "fail") ? [{ id, verdict }] : [];
98
+ });
99
+ }
100
+ function readRacingCameraMode(value) {
101
+ if (!Array.isArray(value))
102
+ return undefined;
103
+ for (const item of value) {
104
+ const check = record(item);
105
+ if (check?.id !== "camera-readability" || check.verdict !== "pass")
106
+ continue;
107
+ const measured = record(check.measured);
108
+ if (measured?.selectedMode === "chase" || measured?.selectedMode === "top-down")
109
+ return measured.selectedMode;
110
+ if (measured?.cameraMode === "follow" && measured.followsSubject === true)
111
+ return "chase";
112
+ if (measured?.cameraMode === "overview" || measured?.cameraMode === "perspective" || measured?.cameraMode === "top-down")
113
+ return "top-down";
114
+ }
115
+ return undefined;
116
+ }
117
+ function geometrySource(value) {
118
+ return value === "asset-mesh-extracted" || value === "manifest-authored" || value === "manifest-authored-overlay-validated" || value === "compiler-authored" || value === "compiler-authored-overlay-validated" ? value : undefined;
119
+ }
120
+ function record(value) { return typeof value === "object" && value !== null && !Array.isArray(value) ? value : undefined; }
121
+ function stringValue(value) { return typeof value === "string" && value.length > 0 ? value : undefined; }
122
+ function stringArray(value) { return Array.isArray(value) ? value.filter((item) => typeof item === "string" && item.length > 0) : []; }
123
+ //# sourceMappingURL=showcase-spec-composition-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"showcase-spec-composition-evidence.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/showcase-spec-composition-evidence.ts"],"names":[],"mappings":"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"}
@@ -180,6 +180,7 @@ function validateGameAssetPairEvidence(input) {
180
180
  if (!evidence)
181
181
  return [`evidence:${label}:missing`];
182
182
  const blockers = [];
183
+ blockers.push(...validateAssetPairCompositionReport(input));
183
184
  if (evidence.category !== expectedCategory) {
184
185
  blockers.push(`evidence:${label}:category-mismatch:${evidence.category}`);
185
186
  }
@@ -200,6 +201,50 @@ function validateGameAssetPairEvidence(input) {
200
201
  }
201
202
  return blockers;
202
203
  }
204
+ function validateAssetPairCompositionReport(input) {
205
+ const { label, spec, evidence, expectedCategory, expectedAssets, context } = input;
206
+ const reportPath = spec.evidence.assetPairCompositionReport;
207
+ if (!reportPath)
208
+ return [`evidence:${label}:composition-report-missing`];
209
+ if (evidence?.compositionReport !== reportPath)
210
+ return [`evidence:${label}:composition-report-mismatch`];
211
+ const parsed = readJsonFile(reportPath, `evidence:${label}:composition-report`, context);
212
+ if (!parsed.ok)
213
+ return parsed.blockers;
214
+ if (!isRecord(parsed.value))
215
+ return [`evidence:${label}:composition-report-invalid-json`];
216
+ const report = parsed.value;
217
+ const blockers = [];
218
+ if (report.schema !== "aura3d-showcase-asset-pair-composition/1.0")
219
+ blockers.push(`evidence:${label}:composition-report-schema`);
220
+ if (report.routeId !== spec.routeId)
221
+ blockers.push(`evidence:${label}:composition-report-route`);
222
+ if (report.category !== expectedCategory)
223
+ blockers.push(`evidence:${label}:composition-report-category`);
224
+ if (report.verdict !== evidence.verdict || report.pass !== (evidence.verdict === "pass"))
225
+ blockers.push(`evidence:${label}:composition-report-verdict`);
226
+ if (!isRecord(report.screenshot) || report.screenshot.path !== spec.evidence.routePrimaryScreenshot || report.screenshot.sha256 !== evidence.screenshotSha256) {
227
+ blockers.push(`evidence:${label}:composition-report-screenshot`);
228
+ }
229
+ const assets = Array.isArray(report.assets) ? report.assets : [];
230
+ for (const assetId of expectedAssets) {
231
+ const asset = assets.find((value) => isRecord(value) && value.id === assetId);
232
+ if (!isRecord(asset))
233
+ blockers.push(`evidence:${label}:composition-report-asset-missing:${assetId}`);
234
+ else if (!isSha256(asset.manifestHash) || asset.manifestHash !== asset.evidenceHash)
235
+ blockers.push(`evidence:${label}:composition-report-asset-hash:${assetId}`);
236
+ }
237
+ const requiredChecks = ["binding-overlap", "contact", "camera-readability", "scale-contract", "debug-guide-absence"];
238
+ const checks = Array.isArray(report.checks) ? report.checks : [];
239
+ for (const id of requiredChecks) {
240
+ const check = checks.find((value) => isRecord(value) && value.id === id);
241
+ if (!isRecord(check))
242
+ blockers.push(`evidence:${label}:composition-report-check-missing:${id}`);
243
+ else if (evidence.verdict === "pass" && check.verdict !== "pass")
244
+ blockers.push(`evidence:${label}:composition-report-check-fail:${id}`);
245
+ }
246
+ return blockers;
247
+ }
203
248
  function validateGameAssetPairGeometryEvidence(input) {
204
249
  const { label, spec, evidence, expectedCategory, expectedAssets, context } = input;
205
250
  const geometry = evidence?.geometryEvidence;
@@ -553,7 +598,11 @@ function validateLivePlatformerMeshExtraction(spec, surfaceMap, context) {
553
598
  const worldAsset = stringValue(surfaceMap.assetId);
554
599
  if (!platformer.worldAssets.includes(worldAsset))
555
600
  return ["evidence:platformer-playable-surface:live-extraction-world-mismatch"];
556
- const extracted = extractPlatformerPlayableSurfaceMapFromAsset(worldAsset, { projectDir: context.projectDir });
601
+ const extracted = extractPlatformerPlayableSurfaceMapFromAsset(worldAsset, {
602
+ projectDir: context.projectDir,
603
+ characterAssetId: platformer.characterAsset,
604
+ characterScaleRatio: platformer.levelDesign.playableSurfaceMap?.characterScaleRatio ?? 0.42
605
+ });
557
606
  if (!extracted.ok) {
558
607
  return [
559
608
  "evidence:platformer-playable-surface:mesh-extraction-not-passing",