@aura3d/cli 3.0.1 → 4.0.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/README.md +2 -2
- package/dist/admission/artDirection.d.ts +28 -0
- package/dist/admission/artDirection.d.ts.map +1 -0
- package/dist/admission/artDirection.js +47 -0
- package/dist/admission/artDirection.js.map +1 -0
- package/dist/admission/audio.d.ts +19 -0
- package/dist/admission/audio.d.ts.map +1 -0
- package/dist/admission/audio.js +31 -0
- package/dist/admission/audio.js.map +1 -0
- package/dist/admission/builder-patterns.d.ts +25 -0
- package/dist/admission/builder-patterns.d.ts.map +1 -0
- package/dist/admission/builder-patterns.js +40 -0
- package/dist/admission/builder-patterns.js.map +1 -0
- package/dist/admission/gates.d.ts +136 -0
- package/dist/admission/gates.d.ts.map +1 -0
- package/dist/admission/gates.js +335 -0
- package/dist/admission/gates.js.map +1 -0
- package/dist/admission/glb.d.ts +64 -0
- package/dist/admission/glb.d.ts.map +1 -0
- package/dist/admission/glb.js +128 -0
- package/dist/admission/glb.js.map +1 -0
- package/dist/admission/index.d.ts +8 -0
- package/dist/admission/index.d.ts.map +1 -0
- package/dist/admission/index.js +8 -0
- package/dist/admission/index.js.map +1 -0
- package/dist/admission/profiles.d.ts +52 -0
- package/dist/admission/profiles.d.ts.map +1 -0
- package/dist/admission/profiles.js +91 -0
- package/dist/admission/profiles.js.map +1 -0
- package/dist/admission/qrFlags.d.ts +12 -0
- package/dist/admission/qrFlags.d.ts.map +1 -0
- package/dist/admission/qrFlags.js +48 -0
- package/dist/admission/qrFlags.js.map +1 -0
- package/dist/admission/routeGates.d.ts +36 -0
- package/dist/admission/routeGates.d.ts.map +1 -0
- package/dist/admission/routeGates.js +144 -0
- package/dist/admission/routeGates.js.map +1 -0
- package/dist/admission/texel.d.ts +50 -0
- package/dist/admission/texel.d.ts.map +1 -0
- package/dist/admission/texel.js +177 -0
- package/dist/admission/texel.js.map +1 -0
- package/dist/admission/textureStats.d.ts +45 -0
- package/dist/admission/textureStats.d.ts.map +1 -0
- package/dist/admission/textureStats.js +201 -0
- package/dist/admission/textureStats.js.map +1 -0
- package/dist/animation-asset-validator.d.ts +44 -0
- package/dist/animation-asset-validator.d.ts.map +1 -1
- package/dist/animation-asset-validator.js +80 -1
- package/dist/animation-asset-validator.js.map +1 -1
- package/dist/asset-core-types.d.ts +99 -4
- package/dist/asset-core-types.d.ts.map +1 -1
- package/dist/asset-inspection-types.d.ts +8 -0
- package/dist/asset-inspection-types.d.ts.map +1 -1
- package/dist/asset-manifest.d.ts +1 -0
- package/dist/asset-manifest.d.ts.map +1 -1
- package/dist/asset-manifest.js +13 -4
- package/dist/asset-manifest.js.map +1 -1
- package/dist/asset-route-typegen.d.ts +37 -0
- package/dist/asset-route-typegen.d.ts.map +1 -0
- package/dist/asset-route-typegen.js +179 -0
- package/dist/asset-route-typegen.js.map +1 -0
- package/dist/cli-help.d.ts +1 -1
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +9 -4
- package/dist/cli-help.js.map +1 -1
- package/dist/cli-options.d.ts +7 -0
- package/dist/cli-options.d.ts.map +1 -1
- package/dist/cli-options.js +33 -2
- package/dist/cli-options.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +126 -11
- package/dist/cli.js.map +1 -1
- package/dist/codemods/engine-entry-imports.d.ts +22 -0
- package/dist/codemods/engine-entry-imports.d.ts.map +1 -0
- package/dist/codemods/engine-entry-imports.js +159 -0
- package/dist/codemods/engine-entry-imports.js.map +1 -0
- package/dist/codemods/lean-imports.d.ts +40 -0
- package/dist/codemods/lean-imports.d.ts.map +1 -0
- package/dist/codemods/lean-imports.js +175 -0
- package/dist/codemods/lean-imports.js.map +1 -0
- package/dist/codemods/renderer-imports.d.ts +36 -0
- package/dist/codemods/renderer-imports.d.ts.map +1 -0
- package/dist/codemods/renderer-imports.js +364 -0
- package/dist/codemods/renderer-imports.js.map +1 -0
- package/dist/codemods/renderer-mode.d.ts +38 -0
- package/dist/codemods/renderer-mode.d.ts.map +1 -0
- package/dist/codemods/renderer-mode.js +130 -0
- package/dist/codemods/renderer-mode.js.map +1 -0
- package/dist/commands/prd01/index.d.ts +8 -0
- package/dist/commands/prd01/index.d.ts.map +1 -0
- package/dist/commands/prd01/index.js +39 -0
- package/dist/commands/prd01/index.js.map +1 -0
- package/dist/commands/prd02/environmentsBake.d.ts +6 -0
- package/dist/commands/prd02/environmentsBake.d.ts.map +1 -0
- package/dist/commands/prd02/environmentsBake.js +174 -0
- package/dist/commands/prd02/environmentsBake.js.map +1 -0
- package/dist/commands/prd02/index.d.ts +2 -0
- package/dist/commands/prd02/index.d.ts.map +1 -0
- package/dist/commands/prd02/index.js +26 -0
- package/dist/commands/prd02/index.js.map +1 -0
- package/dist/commands/prd02/migrateLighting.d.ts +17 -0
- package/dist/commands/prd02/migrateLighting.d.ts.map +1 -0
- package/dist/commands/prd02/migrateLighting.js +86 -0
- package/dist/commands/prd02/migrateLighting.js.map +1 -0
- package/dist/commands/prd02/migrateLightingSweep.d.ts +20 -0
- package/dist/commands/prd02/migrateLightingSweep.d.ts.map +1 -0
- package/dist/commands/prd02/migrateLightingSweep.js +105 -0
- package/dist/commands/prd02/migrateLightingSweep.js.map +1 -0
- package/dist/commands/prd03/index.d.ts +7 -0
- package/dist/commands/prd03/index.d.ts.map +1 -0
- package/dist/commands/prd03/index.js +9 -0
- package/dist/commands/prd03/index.js.map +1 -0
- package/dist/commands/prd04/index.d.ts +10 -0
- package/dist/commands/prd04/index.d.ts.map +1 -0
- package/dist/commands/prd04/index.js +10 -0
- package/dist/commands/prd04/index.js.map +1 -0
- package/dist/commands/prd04/modelTintReport.d.ts +16 -0
- package/dist/commands/prd04/modelTintReport.d.ts.map +1 -0
- package/dist/commands/prd04/modelTintReport.js +114 -0
- package/dist/commands/prd04/modelTintReport.js.map +1 -0
- package/dist/commands/prd04/pinEmissiveDefaults.d.ts +3 -0
- package/dist/commands/prd04/pinEmissiveDefaults.d.ts.map +1 -0
- package/dist/commands/prd04/pinEmissiveDefaults.js +36 -0
- package/dist/commands/prd04/pinEmissiveDefaults.js.map +1 -0
- package/dist/commands/prd05/admit.d.ts +54 -0
- package/dist/commands/prd05/admit.d.ts.map +1 -0
- package/dist/commands/prd05/admit.js +153 -0
- package/dist/commands/prd05/admit.js.map +1 -0
- package/dist/commands/prd05/codemods/assetsRouteModules.d.ts +3 -0
- package/dist/commands/prd05/codemods/assetsRouteModules.d.ts.map +1 -0
- package/dist/commands/prd05/codemods/assetsRouteModules.js +92 -0
- package/dist/commands/prd05/codemods/assetsRouteModules.js.map +1 -0
- package/dist/commands/prd05/index.d.ts +9 -0
- package/dist/commands/prd05/index.d.ts.map +1 -0
- package/dist/commands/prd05/index.js +171 -0
- package/dist/commands/prd05/index.js.map +1 -0
- package/dist/commands/prd05/library.d.ts +23 -0
- package/dist/commands/prd05/library.d.ts.map +1 -0
- package/dist/commands/prd05/library.js +245 -0
- package/dist/commands/prd05/library.js.map +1 -0
- package/dist/commands/prd05/lookdev.d.ts +14 -0
- package/dist/commands/prd05/lookdev.d.ts.map +1 -0
- package/dist/commands/prd05/lookdev.js +68 -0
- package/dist/commands/prd05/lookdev.js.map +1 -0
- package/dist/commands/prd05/optimize.d.ts +16 -0
- package/dist/commands/prd05/optimize.d.ts.map +1 -0
- package/dist/commands/prd05/optimize.js +55 -0
- package/dist/commands/prd05/optimize.js.map +1 -0
- package/dist/commands/prd05/prune.d.ts +26 -0
- package/dist/commands/prd05/prune.d.ts.map +1 -0
- package/dist/commands/prd05/prune.js +104 -0
- package/dist/commands/prd05/prune.js.map +1 -0
- package/dist/commands/prd05/review.d.ts +24 -0
- package/dist/commands/prd05/review.d.ts.map +1 -0
- package/dist/commands/prd05/review.js +40 -0
- package/dist/commands/prd05/review.js.map +1 -0
- package/dist/commands/prd06/index.d.ts +6 -0
- package/dist/commands/prd06/index.d.ts.map +1 -0
- package/dist/commands/prd06/index.js +86 -0
- package/dist/commands/prd06/index.js.map +1 -0
- package/dist/commands/prd06/inspectAnimationClips.d.ts +86 -0
- package/dist/commands/prd06/inspectAnimationClips.d.ts.map +1 -0
- package/dist/commands/prd06/inspectAnimationClips.js +168 -0
- package/dist/commands/prd06/inspectAnimationClips.js.map +1 -0
- package/dist/commands/prd06/validateHero.d.ts +18 -0
- package/dist/commands/prd06/validateHero.d.ts.map +1 -0
- package/dist/commands/prd06/validateHero.js +91 -0
- package/dist/commands/prd06/validateHero.js.map +1 -0
- package/dist/commands/prd07/codemods.d.ts +28 -0
- package/dist/commands/prd07/codemods.d.ts.map +1 -0
- package/dist/commands/prd07/codemods.js +155 -0
- package/dist/commands/prd07/codemods.js.map +1 -0
- package/dist/commands/prd07/index.d.ts +2 -0
- package/dist/commands/prd07/index.d.ts.map +1 -0
- package/dist/commands/prd07/index.js +151 -0
- package/dist/commands/prd07/index.js.map +1 -0
- package/dist/commands/prd08/feelLint.d.ts +13 -0
- package/dist/commands/prd08/feelLint.d.ts.map +1 -0
- package/dist/commands/prd08/feelLint.js +32 -0
- package/dist/commands/prd08/feelLint.js.map +1 -0
- package/dist/commands/prd08/index.d.ts +2 -0
- package/dist/commands/prd08/index.d.ts.map +1 -0
- package/dist/commands/prd08/index.js +16 -0
- package/dist/commands/prd08/index.js.map +1 -0
- package/dist/commands/prd08/motionReport.d.ts +94 -0
- package/dist/commands/prd08/motionReport.d.ts.map +1 -0
- package/dist/commands/prd08/motionReport.js +197 -0
- package/dist/commands/prd08/motionReport.js.map +1 -0
- package/dist/commands/prd09/codemods/audio-wrapper.d.ts +9 -0
- package/dist/commands/prd09/codemods/audio-wrapper.d.ts.map +1 -0
- package/dist/commands/prd09/codemods/audio-wrapper.js +30 -0
- package/dist/commands/prd09/codemods/audio-wrapper.js.map +1 -0
- package/dist/commands/prd09/codemods/capture-branches.d.ts +10 -0
- package/dist/commands/prd09/codemods/capture-branches.d.ts.map +1 -0
- package/dist/commands/prd09/codemods/capture-branches.js +54 -0
- package/dist/commands/prd09/codemods/capture-branches.js.map +1 -0
- package/dist/commands/prd09/codemods/evidence-globals.d.ts +8 -0
- package/dist/commands/prd09/codemods/evidence-globals.d.ts.map +1 -0
- package/dist/commands/prd09/codemods/evidence-globals.js +19 -0
- package/dist/commands/prd09/codemods/evidence-globals.js.map +1 -0
- package/dist/commands/prd09/codemods/perf-script.d.ts +8 -0
- package/dist/commands/prd09/codemods/perf-script.d.ts.map +1 -0
- package/dist/commands/prd09/codemods/perf-script.js +24 -0
- package/dist/commands/prd09/codemods/perf-script.js.map +1 -0
- package/dist/commands/prd09/index.d.ts +8 -0
- package/dist/commands/prd09/index.d.ts.map +1 -0
- package/dist/commands/prd09/index.js +19 -0
- package/dist/commands/prd09/index.js.map +1 -0
- package/dist/commands/prd09/perf-report.d.ts +56 -0
- package/dist/commands/prd09/perf-report.d.ts.map +1 -0
- package/dist/commands/prd09/perf-report.js +118 -0
- package/dist/commands/prd09/perf-report.js.map +1 -0
- package/dist/commands/prd09/sfx-admit.d.ts +18 -0
- package/dist/commands/prd09/sfx-admit.d.ts.map +1 -0
- package/dist/commands/prd09/sfx-admit.js +120 -0
- package/dist/commands/prd09/sfx-admit.js.map +1 -0
- package/dist/commands/prd10/index.d.ts +2 -0
- package/dist/commands/prd10/index.d.ts.map +1 -0
- package/dist/commands/prd10/index.js +109 -0
- package/dist/commands/prd10/index.js.map +1 -0
- package/dist/commands/prd11/batchOptout.d.ts +35 -0
- package/dist/commands/prd11/batchOptout.d.ts.map +1 -0
- package/dist/commands/prd11/batchOptout.js +155 -0
- package/dist/commands/prd11/batchOptout.js.map +1 -0
- package/dist/commands/prd11/index.d.ts +2 -0
- package/dist/commands/prd11/index.d.ts.map +1 -0
- package/dist/commands/prd11/index.js +13 -0
- package/dist/commands/prd11/index.js.map +1 -0
- package/dist/commands/prd11/perfGate.d.ts +15 -0
- package/dist/commands/prd11/perfGate.d.ts.map +1 -0
- package/dist/commands/prd11/perfGate.js +98 -0
- package/dist/commands/prd11/perfGate.js.map +1 -0
- package/dist/commands/prd13/index.d.ts +15 -0
- package/dist/commands/prd13/index.d.ts.map +1 -0
- package/dist/commands/prd13/index.js +26 -0
- package/dist/commands/prd13/index.js.map +1 -0
- package/dist/commands/prd13/run.d.ts +10 -0
- package/dist/commands/prd13/run.d.ts.map +1 -0
- package/dist/commands/prd13/run.js +29 -0
- package/dist/commands/prd13/run.js.map +1 -0
- package/dist/commands/prd14/index.d.ts +6 -0
- package/dist/commands/prd14/index.d.ts.map +1 -0
- package/dist/commands/prd14/index.js +6 -0
- package/dist/commands/prd14/index.js.map +1 -0
- package/dist/commands/prd15/index.d.ts +8 -0
- package/dist/commands/prd15/index.d.ts.map +1 -0
- package/dist/commands/prd15/index.js +152 -0
- package/dist/commands/prd15/index.js.map +1 -0
- package/dist/commands/registry.d.ts +19 -0
- package/dist/commands/registry.d.ts.map +1 -0
- package/dist/commands/registry.js +19 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/contracts/assetManifest.d.ts +80 -0
- package/dist/contracts/assetManifest.d.ts.map +1 -0
- package/dist/contracts/assetManifest.js +9 -0
- package/dist/contracts/assetManifest.js.map +1 -0
- package/dist/contracts/commands.d.ts +53 -0
- package/dist/contracts/commands.d.ts.map +1 -0
- package/dist/contracts/commands.js +37 -0
- package/dist/contracts/commands.js.map +1 -0
- package/dist/index.d.ts +17 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +271 -71
- package/dist/index.js.map +1 -1
- package/dist/library-manifest.d.ts +86 -0
- package/dist/library-manifest.d.ts.map +1 -0
- package/dist/library-manifest.js +95 -0
- package/dist/library-manifest.js.map +1 -0
- package/dist/look/capture.d.ts +51 -0
- package/dist/look/capture.d.ts.map +1 -0
- package/dist/look/capture.js +229 -0
- package/dist/look/capture.js.map +1 -0
- package/dist/look/judge.d.ts +24 -0
- package/dist/look/judge.d.ts.map +1 -0
- package/dist/look/judge.js +151 -0
- package/dist/look/judge.js.map +1 -0
- package/dist/look/lint-static.d.ts +45 -0
- package/dist/look/lint-static.d.ts.map +1 -0
- package/dist/look/lint-static.js +241 -0
- package/dist/look/lint-static.js.map +1 -0
- package/dist/look/rubric.d.ts +70 -0
- package/dist/look/rubric.d.ts.map +1 -0
- package/dist/look/rubric.js +169 -0
- package/dist/look/rubric.js.map +1 -0
- package/dist/meshy/import.d.ts +7 -1
- package/dist/meshy/import.d.ts.map +1 -1
- package/dist/meshy/import.js +80 -6
- package/dist/meshy/import.js.map +1 -1
- package/dist/migrate-three/CompatibilityWarnings.d.ts +6 -0
- package/dist/migrate-three/CompatibilityWarnings.d.ts.map +1 -0
- package/dist/migrate-three/CompatibilityWarnings.js +24 -0
- package/dist/migrate-three/CompatibilityWarnings.js.map +1 -0
- package/dist/migrate-three/ImportMap.d.ts +19 -0
- package/dist/migrate-three/ImportMap.d.ts.map +1 -0
- package/dist/migrate-three/ImportMap.js +35 -0
- package/dist/migrate-three/ImportMap.js.map +1 -0
- package/dist/migrate-three/R3fMigration.d.ts +32 -0
- package/dist/migrate-three/R3fMigration.d.ts.map +1 -0
- package/dist/migrate-three/R3fMigration.js +70 -0
- package/dist/migrate-three/R3fMigration.js.map +1 -0
- package/dist/migrate-three/ThreeToA3DAdapter.d.ts +8 -0
- package/dist/migrate-three/ThreeToA3DAdapter.d.ts.map +1 -0
- package/dist/migrate-three/ThreeToA3DAdapter.js +20 -0
- package/dist/migrate-three/ThreeToA3DAdapter.js.map +1 -0
- package/dist/migrate-three/emit.d.ts +21 -0
- package/dist/migrate-three/emit.d.ts.map +1 -0
- package/dist/migrate-three/emit.js +117 -0
- package/dist/migrate-three/emit.js.map +1 -0
- package/dist/migrate-three/mappings.d.ts +21 -0
- package/dist/migrate-three/mappings.d.ts.map +1 -0
- package/dist/migrate-three/mappings.js +42 -0
- package/dist/migrate-three/mappings.js.map +1 -0
- package/dist/migrate-three/parse.d.ts +20 -0
- package/dist/migrate-three/parse.d.ts.map +1 -0
- package/dist/migrate-three/parse.js +56 -0
- package/dist/migrate-three/parse.js.map +1 -0
- package/dist/migrate-three/report.d.ts +18 -0
- package/dist/migrate-three/report.d.ts.map +1 -0
- package/dist/migrate-three/report.js +16 -0
- package/dist/migrate-three/report.js.map +1 -0
- package/dist/pull-bridge/adapters.d.ts +1 -1
- package/dist/pull-bridge/adapters.d.ts.map +1 -1
- package/dist/pull-bridge/adapters.js +17 -4
- package/dist/pull-bridge/adapters.js.map +1 -1
- package/dist/pull-bridge/provenance.d.ts.map +1 -1
- package/dist/pull-bridge/provenance.js +3 -2
- package/dist/pull-bridge/provenance.js.map +1 -1
- package/dist/pull-bridge/pullable.d.ts.map +1 -1
- package/dist/pull-bridge/pullable.js +14 -3
- package/dist/pull-bridge/pullable.js.map +1 -1
- package/dist/pull-bridge/scoring.d.ts +36 -8
- package/dist/pull-bridge/scoring.d.ts.map +1 -1
- package/dist/pull-bridge/scoring.js +143 -47
- package/dist/pull-bridge/scoring.js.map +1 -1
- package/dist/pull-bridge/search.d.ts +2 -0
- package/dist/pull-bridge/search.d.ts.map +1 -1
- package/dist/pull-bridge/search.js +17 -10
- package/dist/pull-bridge/search.js.map +1 -1
- package/dist/pull-bridge.d.ts +2 -2
- package/dist/pull-bridge.d.ts.map +1 -1
- package/dist/pull-bridge.js +24 -8
- package/dist/pull-bridge.js.map +1 -1
- package/package.json +6 -3
- package/skills/agent-files/AGENTS.md +3 -0
- package/skills/aura3d-animation-studio/SKILL.md +153 -0
- package/skills/aura3d-animation-studio/references/shot-looks.md +26 -0
- package/skills/aura3d-art-direction/SKILL.md +84 -0
- package/skills/aura3d-art-direction/references/failure-gallery.md +64 -0
- package/skills/aura3d-art-direction/references/framing-and-shots.md +45 -0
- package/skills/aura3d-art-direction/references/look-recipes.md +32 -0
- package/skills/aura3d-art-direction/references/quality-bar.md +103 -0
- package/skills/aura3d-art-direction/references/reference-frames.md +82 -0
- package/skills/aura3d-assets/SKILL.md +132 -0
- package/skills/aura3d-assets/references/preview-under-look.md +26 -0
- package/skills/aura3d-browser-game/SKILL.md +127 -0
- package/skills/aura3d-browser-game/references/genre-looks.md +52 -0
- package/skills/aura3d-character-animation/SKILL.md +129 -0
- package/skills/aura3d-character-animation/references/stage-and-lighting.md +31 -0
- package/skills/aura3d-core/SKILL.md +121 -0
- package/skills/aura3d-core/references/boundaries.md +91 -0
- package/skills/aura3d-evidence-review/SKILL.md +106 -0
- package/skills/aura3d-game-art/SKILL.md +118 -0
- package/skills/aura3d-game-art/references/sheet-check.mjs +58 -0
- package/skills/aura3d-game-art/references/sprite-palettes.md +25 -0
- package/skills/aura3d-materials-environments/SKILL.md +139 -0
- package/skills/aura3d-performance/SKILL.md +97 -0
- package/skills/aura3d-retexture/SKILL.md +115 -0
- package/skills/aura3d-retexture/references/geometry-hash.mjs +89 -0
- package/skills/aura3d-scene-authoring/SKILL.md +132 -0
- package/skills/aura3d-scene-authoring/references/look-by-family.md +28 -0
- package/skills/aura3d-threejs-migration/SKILL.md +125 -0
- package/skills/aura3d-threejs-migration/references/look-mapping.md +27 -0
- package/skills/llms.txt +117 -0
- package/skills/manifest.json +163 -0
- package/skills/meshy-cli/SKILL.md +133 -0
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `renderer-imports` codemod (PRD-15 T2.11, C-39).
|
|
3
|
+
*
|
|
4
|
+
* Rewrites the four deprecated renderer subpaths
|
|
5
|
+
* @aura3d/engine/advanced-runtime | @aura3d/engine/production-runtime |
|
|
6
|
+
* @aura3d/rendering/advanced-runtime | @aura3d/rendering/production-runtime
|
|
7
|
+
* to `@aura3d/engine/renderer`, renames `A3DRenderer`/`A3DRendererOptions`
|
|
8
|
+
* identifiers to `Renderer`/`RendererOptions`, and rewrites member calls the
|
|
9
|
+
* deleted wrapper classes carried to the free functions on the new surface
|
|
10
|
+
* (`a3dRenderFrame`, `a3dRenderFrameAsync`, `rendererProofCapture`,
|
|
11
|
+
* `rendererFeatureReport`, `rendererShadowReport`).
|
|
12
|
+
*
|
|
13
|
+
* Every edit is a surgical splice on the source text — import declarations
|
|
14
|
+
* are rebuilt, everything else keeps its formatting. Constructs the codemod
|
|
15
|
+
* cannot map (names that are not exported on `./renderer`, receiver-dependent
|
|
16
|
+
* members like `.evidence()`/`.backend`, `preserveDrawingBuffer`) are kept
|
|
17
|
+
* and reported with `mapping: "none"`.
|
|
18
|
+
*/
|
|
19
|
+
import ts from "typescript";
|
|
20
|
+
const TARGET = "@aura3d/engine/renderer";
|
|
21
|
+
const SUBPATHS = new Map([
|
|
22
|
+
["@aura3d/engine/advanced-runtime", TARGET],
|
|
23
|
+
["@aura3d/engine/production-runtime", TARGET],
|
|
24
|
+
["@aura3d/rendering/advanced-runtime", TARGET],
|
|
25
|
+
["@aura3d/rendering/production-runtime", TARGET]
|
|
26
|
+
]);
|
|
27
|
+
/** Names exported by `packages/engine/src/renderer/index.ts`. */
|
|
28
|
+
const RENDERER_EXPORTS = new Set([
|
|
29
|
+
"Renderer", "RendererOptions", "RendererCreateOptions",
|
|
30
|
+
"A3DRenderer", "A3DRendererOptions",
|
|
31
|
+
"AdvancedRenderer", "AdvancedRendererOptions", "AdvancedRendererSource",
|
|
32
|
+
"ProductionWebGL2Renderer", "ProductionRuntimeRenderer",
|
|
33
|
+
"rendererProofCapture", "rendererFeatureReport", "rendererInteractiveFeatureReport",
|
|
34
|
+
"rendererShadowReport", "validateProductionRendererInput",
|
|
35
|
+
"resolveProductionRuntimeRendererBackend",
|
|
36
|
+
"a3dRenderFrame", "a3dRenderFrameAsync", "a3dRenderResult",
|
|
37
|
+
"A3DScene", "A3DSceneMeshOptions", "A3DSceneRenderSourceOptions",
|
|
38
|
+
"createECSRenderSource",
|
|
39
|
+
"Scene", "SceneNode", "Object3D", "Group", "Mesh", "SkinnedMesh", "InstancedMesh",
|
|
40
|
+
"PerspectiveCamera", "OrthographicCamera", "DirectionalLight", "PointLight", "SpotLight",
|
|
41
|
+
"Renderable", "MeshOptions", "Object3DOptions", "RenderableDescriptor",
|
|
42
|
+
"Geometry", "Material", "PBRMaterial", "UnlitMaterial", "TexturedPBRMaterial",
|
|
43
|
+
"TexturedUnlitMaterial", "SkinnedLitMaterial", "InstancedPBRMaterial", "TextureBinding",
|
|
44
|
+
"RenderMaterial",
|
|
45
|
+
"CameraLike", "RenderDeviceDiagnostics", "RenderItem", "RendererInput", "RenderSource",
|
|
46
|
+
"ResizeToDisplayOptions", "ResizeToDisplayResult", "RendererAnimationLoop",
|
|
47
|
+
"RendererFrameCaptureWithMetadata", "RendererFrameResult", "RendererLifecycle",
|
|
48
|
+
"ProductionRendererBackend", "ProductionRendererFeature", "ProductionRendererFeatureState",
|
|
49
|
+
"ProductionRendererInput", "ProductionRenderProof",
|
|
50
|
+
"ProductionRuntimeRendererBackendPreference", "ProductionRuntimeRendererBackendSelection",
|
|
51
|
+
"ProductionRuntimeRendererOptions", "ProductionWebGL2RendererOptions",
|
|
52
|
+
"RendererTimingDiagnostics", "ScenePickHit", "ScenePickOptions"
|
|
53
|
+
]);
|
|
54
|
+
const RENAMES = new Map([
|
|
55
|
+
["A3DRenderer", "Renderer"],
|
|
56
|
+
["A3DRendererOptions", "RendererOptions"]
|
|
57
|
+
]);
|
|
58
|
+
/**
|
|
59
|
+
* Member calls the deleted classes carried → free function taking the
|
|
60
|
+
* receiver first. Guarded by minimum argument count so unrelated receivers
|
|
61
|
+
* (e.g. `CurrentRoutesFlagshipViewer.renderFrame()`) are left alone.
|
|
62
|
+
*/
|
|
63
|
+
const MEMBER_MAP = [
|
|
64
|
+
{ member: "renderFrameAsync", target: "a3dRenderFrameAsync", minArgs: 1 },
|
|
65
|
+
{ member: "renderInteractiveFrame", target: "a3dRenderFrame", minArgs: 1 },
|
|
66
|
+
{ member: "renderFrame", target: "a3dRenderFrame", minArgs: 1 },
|
|
67
|
+
{ member: "captureProof", target: "rendererProofCapture", minArgs: 1 },
|
|
68
|
+
{ member: "renderImportedAsset", target: "rendererProofCapture", minArgs: 1 },
|
|
69
|
+
{ member: "renderImportedAssetAsync", target: "rendererProofCapture", minArgs: 1,
|
|
70
|
+
note: "rendererProofCapture is synchronous; awaits transparently through the same proof shape" },
|
|
71
|
+
{ member: "getShadowEvidence", target: "rendererShadowReport", minArgs: 0 },
|
|
72
|
+
{ member: "getFeatures", target: "rendererFeatureReport", minArgs: 0 }
|
|
73
|
+
];
|
|
74
|
+
const REPORT_ONLY = new Map([
|
|
75
|
+
["evidence", "a3dRendererEvidence(renderer, options) in @aura3d/engine/devtools — receiver-dependent, not auto-rewritten"]
|
|
76
|
+
]);
|
|
77
|
+
function lineOf(sf, pos) {
|
|
78
|
+
return sf.getLineAndCharacterOfPosition(pos).line + 1;
|
|
79
|
+
}
|
|
80
|
+
function moduleSpecifierText(node) {
|
|
81
|
+
const spec = node.moduleSpecifier;
|
|
82
|
+
if (!spec || !ts.isStringLiteral(spec))
|
|
83
|
+
return null;
|
|
84
|
+
return spec.text;
|
|
85
|
+
}
|
|
86
|
+
export function createRendererImportsCodemod() {
|
|
87
|
+
return {
|
|
88
|
+
name: "renderer-imports",
|
|
89
|
+
owner: "prd15",
|
|
90
|
+
description: "PRD-15 renderer surface consolidation: engine/rendering runtime subpaths → @aura3d/engine/renderer; A3DRenderer → Renderer; deleted wrapper methods → free functions.",
|
|
91
|
+
transform(source, fileName) {
|
|
92
|
+
// Inline `<script type="module">` blocks in .html files (PRD-15 §6.5:
|
|
93
|
+
// the codemod rewrites apps/public-scene/index.html too).
|
|
94
|
+
if (fileName.endsWith(".html")) {
|
|
95
|
+
const rows = [];
|
|
96
|
+
const code = source.replace(/<script type="module">([\s\S]*?)<\/script>/g, (_m, inner, offset) => {
|
|
97
|
+
const sub = codemodInner(inner, `${fileName}#script@${offset}`);
|
|
98
|
+
rows.push(...sub.rows);
|
|
99
|
+
return `<script type="module">${sub.code}</script>`;
|
|
100
|
+
});
|
|
101
|
+
return { code, rows };
|
|
102
|
+
}
|
|
103
|
+
return codemodInner(source, fileName);
|
|
104
|
+
function codemodInner(source, fileName) {
|
|
105
|
+
const sf = ts.createSourceFile(fileName, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
106
|
+
const edits = [];
|
|
107
|
+
const rows = [];
|
|
108
|
+
const neededImports = new Set();
|
|
109
|
+
const replacedRanges = [];
|
|
110
|
+
const insideReplaced = (pos, end) => replacedRanges.some((r) => pos >= r.start && end <= r.end);
|
|
111
|
+
// --- pass 1: import/export declarations ---
|
|
112
|
+
const specifiers = (node) => {
|
|
113
|
+
const named = node.importClause?.namedBindings;
|
|
114
|
+
return named && ts.isNamedImports(named) ? [...named.elements] : [];
|
|
115
|
+
};
|
|
116
|
+
for (const stmt of sf.statements) {
|
|
117
|
+
if (!ts.isImportDeclaration(stmt) && !ts.isExportDeclaration(stmt))
|
|
118
|
+
continue;
|
|
119
|
+
const spec = moduleSpecifierText(stmt);
|
|
120
|
+
if (!spec || (!SUBPATHS.has(spec) && spec !== TARGET))
|
|
121
|
+
continue;
|
|
122
|
+
const target = SUBPATHS.get(spec) ?? TARGET;
|
|
123
|
+
// spec === TARGET: already on the new entry — only the named-bindings
|
|
124
|
+
// path matters (deprecated aliases like A3DRenderer rename to Renderer).
|
|
125
|
+
const onTarget = spec === TARGET;
|
|
126
|
+
if (ts.isExportDeclaration(stmt)) {
|
|
127
|
+
if (onTarget)
|
|
128
|
+
continue;
|
|
129
|
+
// `export { ... } from "<subpath>"` — same split logic, no import clause flags.
|
|
130
|
+
const clause = stmt.exportClause;
|
|
131
|
+
if (!clause || !ts.isNamedExports(clause)) {
|
|
132
|
+
edits.push({ start: stmt.moduleSpecifier.getStart(sf), end: stmt.moduleSpecifier.getEnd(), text: `"${target}"` });
|
|
133
|
+
rows.push({ file: fileName, line: lineOf(sf, stmt.getStart(sf)), construct: `export * from "${spec}"`, mapping: "exact", target });
|
|
134
|
+
replacedRanges.push({ start: stmt.getStart(sf), end: stmt.getEnd() });
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
const moved = [];
|
|
138
|
+
const kept = [];
|
|
139
|
+
for (const el of clause.elements) {
|
|
140
|
+
const origName = (el.propertyName ?? el.name).text;
|
|
141
|
+
const renamed = RENAMES.get(origName) ?? origName;
|
|
142
|
+
const alias = el.name.text;
|
|
143
|
+
const text = renamed === alias ? renamed : `${renamed} as ${alias}`;
|
|
144
|
+
if (RENDERER_EXPORTS.has(renamed)) {
|
|
145
|
+
moved.push(el.isTypeOnly ? `type ${text}` : text);
|
|
146
|
+
rows.push({ file: fileName, line: lineOf(sf, el.getStart(sf)), construct: origName, mapping: "exact", target });
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
kept.push(el.isTypeOnly ? `type ${origName === alias ? origName : `${origName} as ${alias}`}` : origName === alias ? origName : `${origName} as ${alias}`);
|
|
150
|
+
rows.push({ file: fileName, line: lineOf(sf, el.getStart(sf)), construct: origName, mapping: "none", note: `not exported by ${target}; stays on deprecated subpath ${spec}` });
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (!moved.length)
|
|
154
|
+
continue;
|
|
155
|
+
const lines = [];
|
|
156
|
+
if (moved.length)
|
|
157
|
+
lines.push(`export { ${moved.join(", ")} } from "${target}";`);
|
|
158
|
+
if (kept.length)
|
|
159
|
+
lines.push(`export { ${kept.join(", ")} } from "${spec}";`);
|
|
160
|
+
edits.push({ start: stmt.getStart(sf), end: stmt.getEnd(), text: lines.join("\n") });
|
|
161
|
+
replacedRanges.push({ start: stmt.getStart(sf), end: stmt.getEnd() });
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
const clause = stmt.importClause;
|
|
165
|
+
if (onTarget && (!clause?.namedBindings || !ts.isNamedImports(clause.namedBindings)))
|
|
166
|
+
continue;
|
|
167
|
+
if (!clause) {
|
|
168
|
+
// side-effect import — just repoint
|
|
169
|
+
edits.push({ start: stmt.moduleSpecifier.getStart(sf), end: stmt.moduleSpecifier.getEnd(), text: `"${target}"` });
|
|
170
|
+
rows.push({ file: fileName, line: lineOf(sf, stmt.getStart(sf)), construct: `import "${spec}"`, mapping: "exact", target });
|
|
171
|
+
replacedRanges.push({ start: stmt.getStart(sf), end: stmt.getEnd() });
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
if (clause.namedBindings && ts.isNamespaceImport(clause.namedBindings)) {
|
|
175
|
+
edits.push({ start: stmt.moduleSpecifier.getStart(sf), end: stmt.moduleSpecifier.getEnd(), text: `"${target}"` });
|
|
176
|
+
rows.push({ file: fileName, line: lineOf(sf, stmt.getStart(sf)), construct: `import * as ${clause.namedBindings.name.text} from "${spec}"`, mapping: "approximate", target, note: "namespace member availability on the new subpath must be verified" });
|
|
177
|
+
replacedRanges.push({ start: stmt.getStart(sf), end: stmt.getEnd() });
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
const named = specifiers(stmt);
|
|
181
|
+
if (!named.length && !clause.name) {
|
|
182
|
+
// `import {}` — degenerate; repoint harmlessly.
|
|
183
|
+
edits.push({ start: stmt.moduleSpecifier.getStart(sf), end: stmt.moduleSpecifier.getEnd(), text: `"${target}"` });
|
|
184
|
+
replacedRanges.push({ start: stmt.getStart(sf), end: stmt.getEnd() });
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
const moved = [];
|
|
188
|
+
const kept = [];
|
|
189
|
+
for (const el of named) {
|
|
190
|
+
const origName = (el.propertyName ?? el.name).text;
|
|
191
|
+
const renamed = RENAMES.get(origName) ?? origName;
|
|
192
|
+
const alias = el.name.text;
|
|
193
|
+
// Plain `import { A3DRenderer }` becomes `import { Renderer }` and
|
|
194
|
+
// local usages are renamed in pass 3; an explicit `as` alias is kept.
|
|
195
|
+
const text = alias === origName ? renamed : renamed === alias ? renamed : `${renamed} as ${alias}`;
|
|
196
|
+
if (RENDERER_EXPORTS.has(renamed)) {
|
|
197
|
+
moved.push(el.isTypeOnly ? `type ${text}` : text);
|
|
198
|
+
rows.push({ file: fileName, line: lineOf(sf, el.getStart(sf)), construct: `import ${origName}`, mapping: "exact", target });
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
kept.push(el.isTypeOnly ? `type ${origName === alias ? origName : `${origName} as ${alias}`}` : origName === alias ? origName : `${origName} as ${alias}`);
|
|
202
|
+
rows.push({ file: fileName, line: lineOf(sf, el.getStart(sf)), construct: `import ${origName}`, mapping: "none", note: `not exported by ${target}; stays on deprecated subpath ${spec}` });
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
if (!moved.length)
|
|
206
|
+
continue; // nothing maps — leave the import text untouched
|
|
207
|
+
const lines = [];
|
|
208
|
+
const typeFlag = clause.isTypeOnly ? "type " : "";
|
|
209
|
+
const defaultPart = clause.name ? `${clause.name.text}, ` : "";
|
|
210
|
+
if (onTarget) {
|
|
211
|
+
// Names already resolve on the target: emit a single import with
|
|
212
|
+
// renames applied; names absent from RENDERER_EXPORTS keep their
|
|
213
|
+
// exported spelling and are reported "none" above.
|
|
214
|
+
lines.push(`import ${typeFlag}{ ${defaultPart}${[...moved, ...kept].join(", ")} } from "${target}";`);
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
lines.push(`import ${typeFlag}{ ${defaultPart}${moved.join(", ")} } from "${target}";`);
|
|
218
|
+
if (kept.length)
|
|
219
|
+
lines.push(`import ${typeFlag}{ ${kept.join(", ")} } from "${spec}";`);
|
|
220
|
+
}
|
|
221
|
+
edits.push({ start: stmt.getStart(sf), end: stmt.getEnd(), text: lines.join("\n") });
|
|
222
|
+
replacedRanges.push({ start: stmt.getStart(sf), end: stmt.getEnd() });
|
|
223
|
+
}
|
|
224
|
+
// --- pass 2: member-call rewrites + report-only constructs ---
|
|
225
|
+
const visit = (node) => {
|
|
226
|
+
if (ts.isCallExpression(node) && ts.isPropertyAccessExpression(node.expression)) {
|
|
227
|
+
const pae = node.expression;
|
|
228
|
+
const member = pae.name.text;
|
|
229
|
+
const rule = MEMBER_MAP.find((m) => m.member === member);
|
|
230
|
+
if (rule && node.arguments.length >= rule.minArgs) {
|
|
231
|
+
const recv = source.slice(pae.expression.getStart(sf), pae.expression.getEnd());
|
|
232
|
+
const args = node.arguments.length
|
|
233
|
+
? source.slice(node.arguments[0].getStart(sf), node.arguments[node.arguments.length - 1].getEnd())
|
|
234
|
+
: "";
|
|
235
|
+
edits.push({
|
|
236
|
+
start: node.getStart(sf),
|
|
237
|
+
end: node.getEnd(),
|
|
238
|
+
text: `${rule.target}(${recv}${args ? `, ${args}` : ""})`
|
|
239
|
+
});
|
|
240
|
+
replacedRanges.push({ start: node.getStart(sf), end: node.getEnd() });
|
|
241
|
+
neededImports.add(rule.target);
|
|
242
|
+
rows.push({
|
|
243
|
+
file: fileName,
|
|
244
|
+
line: lineOf(sf, node.getStart(sf)),
|
|
245
|
+
construct: `${recv}.${member}(${args ? "…" : ""})`,
|
|
246
|
+
mapping: "approximate",
|
|
247
|
+
target: `${rule.target}(${recv}, …)`,
|
|
248
|
+
note: rule.note ?? "receiver assumed to be a Renderer — verify"
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
else if (REPORT_ONLY.has(member)) {
|
|
252
|
+
rows.push({
|
|
253
|
+
file: fileName,
|
|
254
|
+
line: lineOf(sf, node.getStart(sf)),
|
|
255
|
+
construct: `${pae.expression.getText(sf)}.${member}(…)`,
|
|
256
|
+
mapping: "none",
|
|
257
|
+
note: REPORT_ONLY.get(member)
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
// `Parameters<A3DRenderer["renderFrame"]>[0]` style indexed-access on
|
|
262
|
+
// deleted member types → the free function's parameter list (receiver
|
|
263
|
+
// is param 0, so the requested index shifts by one).
|
|
264
|
+
if (ts.isIndexedAccessTypeNode(node)
|
|
265
|
+
&& ts.isTypeReferenceNode(node.objectType)
|
|
266
|
+
&& ts.isIdentifier(node.objectType.typeName)
|
|
267
|
+
&& ["A3DRenderer", "Renderer", "AdvancedRenderer", "ProductionWebGL2Renderer", "ProductionRuntimeRenderer"].includes(node.objectType.typeName.text)
|
|
268
|
+
&& ts.isLiteralTypeNode(node.indexType)
|
|
269
|
+
&& ts.isStringLiteral(node.indexType.literal)) {
|
|
270
|
+
const className = node.objectType.typeName.text;
|
|
271
|
+
const member = node.indexType.literal.text;
|
|
272
|
+
const rule = MEMBER_MAP.find((m) => m.member === member);
|
|
273
|
+
if (rule) {
|
|
274
|
+
const parent = node.parent;
|
|
275
|
+
if (ts.isTypeReferenceNode(parent) && parent.typeName.getText(sf) === "Parameters"
|
|
276
|
+
&& ts.isIndexedAccessTypeNode(parent.parent)) {
|
|
277
|
+
const idx = parent.parent.indexType.getText(sf);
|
|
278
|
+
const shifted = `Parameters<typeof ${rule.target}>[${idx === "0" ? "1" : idx}]`;
|
|
279
|
+
edits.push({ start: parent.parent.getStart(sf), end: parent.parent.getEnd(), text: shifted });
|
|
280
|
+
replacedRanges.push({ start: parent.parent.getStart(sf), end: parent.parent.getEnd() });
|
|
281
|
+
neededImports.add(rule.target);
|
|
282
|
+
rows.push({ file: fileName, line: lineOf(sf, node.getStart(sf)), construct: `Parameters<${className}["${member}"]>[${idx}]`, mapping: "approximate", target: shifted, note: "receiver injected as param 0 — index shifted" });
|
|
283
|
+
}
|
|
284
|
+
else if (ts.isTypeReferenceNode(parent) && parent.typeName.getText(sf) === "ReturnType") {
|
|
285
|
+
edits.push({ start: parent.getStart(sf), end: parent.getEnd(), text: `ReturnType<typeof ${rule.target}>` });
|
|
286
|
+
replacedRanges.push({ start: parent.getStart(sf), end: parent.getEnd() });
|
|
287
|
+
neededImports.add(rule.target);
|
|
288
|
+
rows.push({ file: fileName, line: lineOf(sf, node.getStart(sf)), construct: `ReturnType<${className}["${member}"]>`, mapping: "approximate", target: `ReturnType<typeof ${rule.target}>` });
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
rows.push({ file: fileName, line: lineOf(sf, node.getStart(sf)), construct: `${className}["${member}"]`, mapping: "none", note: `member type moved to ${rule.target}; manual indexed-access rewrite needed` });
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
else if (member === "evidence") {
|
|
295
|
+
rows.push({ file: fileName, line: lineOf(sf, node.getStart(sf)), construct: `${className}["evidence"]`, mapping: "none", note: "→ a3dRendererEvidence in @aura3d/engine/devtools" });
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
// `preserveDrawingBuffer` option key — dropped: `Renderer.create`
|
|
299
|
+
// rejects it (excess property) and capture goes through the C-05
|
|
300
|
+
// toBlob stub after a synchronous render. Removed with its comma.
|
|
301
|
+
if (ts.isPropertyAssignment(node) && node.name.getText(sf) === "preserveDrawingBuffer") {
|
|
302
|
+
const start = node.getStart(sf);
|
|
303
|
+
let end = node.getEnd();
|
|
304
|
+
while (end < source.length && /[ \t]/.test(source[end]))
|
|
305
|
+
end++;
|
|
306
|
+
if (source[end] === ",")
|
|
307
|
+
end++;
|
|
308
|
+
if (source[end] === "\n")
|
|
309
|
+
end++;
|
|
310
|
+
edits.push({ start, end, text: "" });
|
|
311
|
+
replacedRanges.push({ start, end });
|
|
312
|
+
rows.push({
|
|
313
|
+
file: fileName,
|
|
314
|
+
line: lineOf(sf, start),
|
|
315
|
+
construct: "preserveDrawingBuffer",
|
|
316
|
+
mapping: "approximate",
|
|
317
|
+
note: "removed on Renderer.create — capture goes through the C-05 toBlob stub after a synchronous render"
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
ts.forEachChild(node, visit);
|
|
321
|
+
};
|
|
322
|
+
visit(sf);
|
|
323
|
+
// --- pass 3: identifier renames. Import/export declarations are
|
|
324
|
+
// handled by pass 1 only — an identifier inside an untouched import on
|
|
325
|
+
// a deprecated subpath must keep its exported name (e.g. `A3DRenderer`
|
|
326
|
+
// on ./advanced-runtime still resolves, `Renderer` does not).
|
|
327
|
+
const rename = (node) => {
|
|
328
|
+
if (ts.isImportDeclaration(node) || ts.isExportDeclaration(node))
|
|
329
|
+
return;
|
|
330
|
+
if (ts.isIdentifier(node)) {
|
|
331
|
+
const to = RENAMES.get(node.text);
|
|
332
|
+
if (to && !insideReplaced(node.getStart(sf), node.getEnd())) {
|
|
333
|
+
edits.push({ start: node.getStart(sf), end: node.getEnd(), text: to });
|
|
334
|
+
rows.push({ file: fileName, line: lineOf(sf, node.getStart(sf)), construct: node.text, mapping: "exact", target: to });
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
ts.forEachChild(node, rename);
|
|
338
|
+
};
|
|
339
|
+
rename(sf);
|
|
340
|
+
// --- emit: apply edits descending, then inject needed imports ---
|
|
341
|
+
edits.sort((a, b) => b.start - a.start);
|
|
342
|
+
let code = source;
|
|
343
|
+
for (const e of edits)
|
|
344
|
+
code = code.slice(0, e.start) + e.text + code.slice(e.end);
|
|
345
|
+
if (neededImports.size) {
|
|
346
|
+
const want = [...neededImports].filter((n) => !new RegExp(`\\b${n}\\b`).test(
|
|
347
|
+
// already imported from ./renderer after the rewrite?
|
|
348
|
+
code.match(/import[^;]*from\s+["']@aura3d\/engine\/renderer["']/g)?.join("\n") ?? ""));
|
|
349
|
+
if (want.length) {
|
|
350
|
+
const existing = code.match(/import\s+\{([^}]*)\}\s+from\s+["']@aura3d\/engine\/renderer["'];/);
|
|
351
|
+
if (existing) {
|
|
352
|
+
code = code.replace(existing[0], `import { ${[...existing[1].split(",").map((s) => s.trim()).filter(Boolean), ...want].sort().join(", ")} } from "${TARGET}";`);
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
code = `import { ${want.sort().join(", ")} } from "${TARGET}";\n${code}`;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
return { code, rows };
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
//# sourceMappingURL=renderer-imports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-imports.js","sourceRoot":"","sources":["../../../../../packages/aura3d-cli/src/codemods/renderer-imports.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `renderer-mode` codemod (PRD-15 T4.5, C-39).
|
|
3
|
+
*
|
|
4
|
+
* Removes the deprecated `mode` and `fallback` properties from `renderer: {}`
|
|
5
|
+
* option objects (CCR-15-1). `renderer.mode`/`renderer.fallback` are gone —
|
|
6
|
+
* `renderer.quality` (C-27) owns feature levels now, and under A3D_QR_STRICT
|
|
7
|
+
* passing either field throws `AuraMigrationError`.
|
|
8
|
+
*
|
|
9
|
+
* createAuraApp({ scene, renderer: { mode: "safe-basic" } })
|
|
10
|
+
* → createAuraApp({ scene })
|
|
11
|
+
* renderer: { mode: "production", textureBudgetBytes: n }
|
|
12
|
+
* → renderer: { textureBudgetBytes: n }
|
|
13
|
+
*
|
|
14
|
+
* `AuraRendererMode`/`AuraRendererFallbackMode` type references cannot be
|
|
15
|
+
* rewritten mechanically — they are reported with `mapping: "none"` pointing
|
|
16
|
+
* at `renderer.quality`.
|
|
17
|
+
*
|
|
18
|
+
* Every edit is a surgical splice on the source text — property ranges are
|
|
19
|
+
* cut with their separating commas, everything else keeps its formatting.
|
|
20
|
+
*/
|
|
21
|
+
export interface CodemodRow {
|
|
22
|
+
readonly file: string;
|
|
23
|
+
readonly line: number;
|
|
24
|
+
readonly construct: string;
|
|
25
|
+
readonly mapping: "exact" | "approximate" | "none";
|
|
26
|
+
readonly target?: string;
|
|
27
|
+
readonly note?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function createRendererModeCodemod(): {
|
|
30
|
+
readonly name: "renderer-mode";
|
|
31
|
+
readonly owner: "prd15";
|
|
32
|
+
readonly description: string;
|
|
33
|
+
transform(source: string, fileName: string): {
|
|
34
|
+
readonly code: string;
|
|
35
|
+
readonly rows: readonly CodemodRow[];
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=renderer-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-mode.d.ts","sourceRoot":"","sources":["../../../../../packages/aura3d-cli/src/codemods/renderer-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAiCD,wBAAgB,yBAAyB,IAAI;IAC3C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,CAAC;CAC9G,CAsFA"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `renderer-mode` codemod (PRD-15 T4.5, C-39).
|
|
3
|
+
*
|
|
4
|
+
* Removes the deprecated `mode` and `fallback` properties from `renderer: {}`
|
|
5
|
+
* option objects (CCR-15-1). `renderer.mode`/`renderer.fallback` are gone —
|
|
6
|
+
* `renderer.quality` (C-27) owns feature levels now, and under A3D_QR_STRICT
|
|
7
|
+
* passing either field throws `AuraMigrationError`.
|
|
8
|
+
*
|
|
9
|
+
* createAuraApp({ scene, renderer: { mode: "safe-basic" } })
|
|
10
|
+
* → createAuraApp({ scene })
|
|
11
|
+
* renderer: { mode: "production", textureBudgetBytes: n }
|
|
12
|
+
* → renderer: { textureBudgetBytes: n }
|
|
13
|
+
*
|
|
14
|
+
* `AuraRendererMode`/`AuraRendererFallbackMode` type references cannot be
|
|
15
|
+
* rewritten mechanically — they are reported with `mapping: "none"` pointing
|
|
16
|
+
* at `renderer.quality`.
|
|
17
|
+
*
|
|
18
|
+
* Every edit is a surgical splice on the source text — property ranges are
|
|
19
|
+
* cut with their separating commas, everything else keeps its formatting.
|
|
20
|
+
*/
|
|
21
|
+
import ts from "typescript";
|
|
22
|
+
const REMOVED_PROPS = new Set(["mode", "fallback"]);
|
|
23
|
+
const DEPRECATED_TYPES = new Set(["AuraRendererMode", "AuraRendererFallbackMode"]);
|
|
24
|
+
/** Calls whose options object takes AuraCreateAppRendererOptions under `renderer:`. */
|
|
25
|
+
const OPTION_CALLS = new Set(["createAuraApp", "createGameApp", "createAuraGameRuntime", "createApp"]);
|
|
26
|
+
/** True when the object literal containing this `renderer:` prop is passed to an app-creation call. */
|
|
27
|
+
function isRendererOptionsObject(node) {
|
|
28
|
+
const holder = node.parent;
|
|
29
|
+
if (!ts.isObjectLiteralExpression(holder))
|
|
30
|
+
return false;
|
|
31
|
+
const parent = holder.parent;
|
|
32
|
+
if (!ts.isCallExpression(parent))
|
|
33
|
+
return false;
|
|
34
|
+
const callee = parent.expression;
|
|
35
|
+
return ts.isIdentifier(callee) && OPTION_CALLS.has(callee.text);
|
|
36
|
+
}
|
|
37
|
+
function lineOf(sf, pos) {
|
|
38
|
+
return sf.getLineAndCharacterOfPosition(pos).line + 1;
|
|
39
|
+
}
|
|
40
|
+
function propName(node) {
|
|
41
|
+
const name = node.name;
|
|
42
|
+
if (ts.isIdentifier(name) || ts.isStringLiteral(name))
|
|
43
|
+
return name.text;
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
export function createRendererModeCodemod() {
|
|
47
|
+
return {
|
|
48
|
+
name: "renderer-mode",
|
|
49
|
+
owner: "prd15",
|
|
50
|
+
description: "PRD-15 no-silent-fallback: remove deprecated renderer.mode/renderer.fallback option fields (CCR-15-1); report AuraRendererMode/AuraRendererFallbackMode type references for renderer.quality migration.",
|
|
51
|
+
transform(source, fileName) {
|
|
52
|
+
const sf = ts.createSourceFile(fileName, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
53
|
+
const edits = [];
|
|
54
|
+
const rows = [];
|
|
55
|
+
/** Cut `prop` from its object literal, consuming one separating comma. */
|
|
56
|
+
const cutProp = (list, prop) => {
|
|
57
|
+
const commaAfter = source.indexOf(",", prop.getEnd());
|
|
58
|
+
const idx = list.indexOf(prop);
|
|
59
|
+
if (idx < list.length - 1 && commaAfter !== -1) {
|
|
60
|
+
edits.push({ start: prop.getStart(sf), end: commaAfter + 1, text: "" });
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const commaBefore = source.lastIndexOf(",", prop.getStart(sf));
|
|
64
|
+
edits.push({ start: commaBefore !== -1 ? commaBefore : prop.getStart(sf), end: prop.getEnd(), text: "" });
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
/** Find renderer-option literals under `renderer:` (direct or through conditionals/parens). */
|
|
68
|
+
const optionLiterals = (init) => {
|
|
69
|
+
if (ts.isObjectLiteralExpression(init))
|
|
70
|
+
return [init];
|
|
71
|
+
if (ts.isParenthesizedExpression(init))
|
|
72
|
+
return optionLiterals(init.expression);
|
|
73
|
+
if (ts.isConditionalExpression(init))
|
|
74
|
+
return [...optionLiterals(init.whenTrue), ...optionLiterals(init.whenFalse)];
|
|
75
|
+
return [];
|
|
76
|
+
};
|
|
77
|
+
const visit = (node) => {
|
|
78
|
+
if (ts.isPropertyAssignment(node) && propName(node) === "renderer" && isRendererOptionsObject(node)) {
|
|
79
|
+
for (const literal of optionLiterals(node.initializer)) {
|
|
80
|
+
const doomed = literal.properties.filter((p) => ts.isPropertyAssignment(p) && propName(p) !== undefined && REMOVED_PROPS.has(propName(p)));
|
|
81
|
+
for (const prop of doomed) {
|
|
82
|
+
rows.push({
|
|
83
|
+
file: fileName,
|
|
84
|
+
line: lineOf(sf, prop.getStart(sf)),
|
|
85
|
+
construct: `renderer.${propName(prop)}`,
|
|
86
|
+
mapping: "exact",
|
|
87
|
+
target: "renderer.quality",
|
|
88
|
+
note: "CCR-15-1: mode/fallback removed; renderer.quality owns feature levels (A3D_QR_STRICT throws AuraMigrationError)"
|
|
89
|
+
});
|
|
90
|
+
cutProp(literal.properties, prop);
|
|
91
|
+
}
|
|
92
|
+
if (doomed.length === literal.properties.length && doomed.length > 0 && ts.isObjectLiteralExpression(node.initializer) && literal === node.initializer) {
|
|
93
|
+
// The whole renderer object was only mode/fallback — drop the
|
|
94
|
+
// `renderer:` property itself so `{}` is not left behind.
|
|
95
|
+
const parentProps = node.parent.properties;
|
|
96
|
+
rows.push({
|
|
97
|
+
file: fileName,
|
|
98
|
+
line: lineOf(sf, node.getStart(sf)),
|
|
99
|
+
construct: "renderer",
|
|
100
|
+
mapping: "exact",
|
|
101
|
+
note: "renderer option object became empty after removing mode/fallback; property removed"
|
|
102
|
+
});
|
|
103
|
+
// Undo the per-prop cuts: the whole property is replaced by the
|
|
104
|
+
// outer cut, so overlapping edits must not apply.
|
|
105
|
+
for (let i = edits.length - doomed.length; i < edits.length; i++)
|
|
106
|
+
edits[i] = { start: 0, end: 0, text: "" };
|
|
107
|
+
cutProp(parentProps, node);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && DEPRECATED_TYPES.has(node.typeName.text)) {
|
|
112
|
+
rows.push({
|
|
113
|
+
file: fileName,
|
|
114
|
+
line: lineOf(sf, node.getStart()),
|
|
115
|
+
construct: `type ${node.typeName.text}`,
|
|
116
|
+
mapping: "none",
|
|
117
|
+
note: "deprecated in CCR-15-1; migrate call site to renderer.quality (AuraQualityTier)"
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
ts.forEachChild(node, visit);
|
|
121
|
+
};
|
|
122
|
+
visit(sf);
|
|
123
|
+
const code = edits
|
|
124
|
+
.sort((a, b) => b.start - a.start)
|
|
125
|
+
.reduce((text, edit) => text.slice(0, edit.start) + edit.text + text.slice(edit.end), source);
|
|
126
|
+
return { code, rows };
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=renderer-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-mode.js","sourceRoot":"","sources":["../../../../../packages/aura3d-cli/src/codemods/renderer-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C-39 lane command registrations — PRD 01 (rendering core).
|
|
3
|
+
* `core-v2` codemod: pure transforms live in tools/quality-rebuild-codemods/;
|
|
4
|
+
* `core inspect-programs` prints the C-31 `programs` section of a saved
|
|
5
|
+
* diagnostics JSON (populated once the Phase-3 program generator lands).
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/aura3d-cli/src/commands/prd01/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|