@dcl/sdk-commands 7.12.2 → 7.12.3-19251638766.commit-26dce86

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 (94) hide show
  1. package/dist/commands/build/index.js +1 -1
  2. package/dist/commands/build/index.js.map +1 -1
  3. package/dist/commands/deploy/index.d.ts +1 -6
  4. package/dist/commands/deploy/index.js +11 -38
  5. package/dist/commands/deploy/index.js.map +1 -1
  6. package/dist/commands/deploy/utils.js +1 -2
  7. package/dist/commands/deploy/utils.js.map +1 -1
  8. package/dist/commands/export-static/index.js +4 -5
  9. package/dist/commands/export-static/index.js.map +1 -1
  10. package/dist/commands/init/index.js +4 -5
  11. package/dist/commands/init/index.js.map +1 -1
  12. package/dist/commands/quests/index.js +9 -13
  13. package/dist/commands/quests/index.js.map +1 -1
  14. package/dist/commands/start/data-layer/fs.d.ts +1 -1
  15. package/dist/commands/start/data-layer/fs.js +8 -17
  16. package/dist/commands/start/data-layer/fs.js.map +1 -1
  17. package/dist/commands/start/data-layer/rpc.d.ts +1 -1
  18. package/dist/commands/start/data-layer/rpc.js +2 -2
  19. package/dist/commands/start/data-layer/rpc.js.map +1 -1
  20. package/dist/commands/start/explorer-alpha.js +14 -21
  21. package/dist/commands/start/explorer-alpha.js.map +1 -1
  22. package/dist/commands/start/index.d.ts +4 -2
  23. package/dist/commands/start/index.js +51 -31
  24. package/dist/commands/start/index.js.map +1 -1
  25. package/dist/commands/start/server/endpoints.js +1 -2
  26. package/dist/commands/start/server/endpoints.js.map +1 -1
  27. package/dist/commands/start/server/file-watch-notifier.d.ts +1 -1
  28. package/dist/commands/start/server/file-watch-notifier.js +9 -3
  29. package/dist/commands/start/server/file-watch-notifier.js.map +1 -1
  30. package/dist/components/config.js +1 -2
  31. package/dist/components/config.js.map +1 -1
  32. package/dist/components/fs.d.ts +1 -1
  33. package/dist/components/fs.js +0 -1
  34. package/dist/components/fs.js.map +1 -1
  35. package/dist/logic/account.js +1 -5
  36. package/dist/logic/account.js.map +1 -1
  37. package/dist/logic/args.js +1 -2
  38. package/dist/logic/args.js.map +1 -1
  39. package/dist/logic/bundle.js +8 -54
  40. package/dist/logic/bundle.js.map +1 -1
  41. package/dist/logic/commands.js +2 -6
  42. package/dist/logic/commands.js.map +1 -1
  43. package/dist/logic/dao-explorer.d.ts +3 -0
  44. package/dist/logic/dao-explorer.js +156 -0
  45. package/dist/logic/dao-explorer.js.map +1 -0
  46. package/dist/logic/dcl-ignore.js +0 -2
  47. package/dist/logic/dcl-ignore.js.map +1 -1
  48. package/dist/logic/error.d.ts +1 -6
  49. package/dist/logic/error.js +0 -6
  50. package/dist/logic/error.js.map +1 -1
  51. package/dist/logic/portable-experience-sw-validations.js +2 -6
  52. package/dist/logic/portable-experience-sw-validations.js.map +1 -1
  53. package/dist/logic/project-files.js +2 -3
  54. package/dist/logic/project-files.js.map +1 -1
  55. package/dist/logic/project-validations.js +2 -3
  56. package/dist/logic/project-validations.js.map +1 -1
  57. package/dist/logic/scene-validations.js +8 -13
  58. package/dist/logic/scene-validations.js.map +1 -1
  59. package/dist/logic/workspace-validations.js +2 -6
  60. package/dist/logic/workspace-validations.js.map +1 -1
  61. package/dist/run-command.js +5 -10
  62. package/dist/run-command.js.map +1 -1
  63. package/package.json +10 -14
  64. package/dist/commands/code-to-composite/asset-migrator.d.ts +0 -25
  65. package/dist/commands/code-to-composite/asset-migrator.js +0 -239
  66. package/dist/commands/code-to-composite/asset-migrator.js.map +0 -1
  67. package/dist/commands/code-to-composite/code-commenter.d.ts +0 -11
  68. package/dist/commands/code-to-composite/code-commenter.js +0 -88
  69. package/dist/commands/code-to-composite/code-commenter.js.map +0 -1
  70. package/dist/commands/code-to-composite/composite-generator.d.ts +0 -6
  71. package/dist/commands/code-to-composite/composite-generator.js +0 -56
  72. package/dist/commands/code-to-composite/composite-generator.js.map +0 -1
  73. package/dist/commands/code-to-composite/index.d.ts +0 -16
  74. package/dist/commands/code-to-composite/index.js +0 -130
  75. package/dist/commands/code-to-composite/index.js.map +0 -1
  76. package/dist/commands/code-to-composite/name-generator.d.ts +0 -9
  77. package/dist/commands/code-to-composite/name-generator.js +0 -140
  78. package/dist/commands/code-to-composite/name-generator.js.map +0 -1
  79. package/dist/commands/code-to-composite/scene-executor.d.ts +0 -15
  80. package/dist/commands/code-to-composite/scene-executor.js +0 -405
  81. package/dist/commands/code-to-composite/scene-executor.js.map +0 -1
  82. package/dist/commands/get-context-files/index.d.ts +0 -12
  83. package/dist/commands/get-context-files/index.js +0 -116
  84. package/dist/commands/get-context-files/index.js.map +0 -1
  85. package/dist/locales/en.json +0 -84
  86. package/dist/locales/es.json +0 -84
  87. package/dist/locales/zh.json +0 -84
  88. package/dist/logic/debounce.d.ts +0 -1
  89. package/dist/logic/debounce.js +0 -12
  90. package/dist/logic/debounce.js.map +0 -1
  91. package/dist/logic/lang.d.ts +0 -7
  92. package/dist/logic/lang.js +0 -40
  93. package/dist/logic/lang.js.map +0 -1
  94. package/scripts/postinstall.js +0 -17
@@ -1,56 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.generateCompositeFiles = void 0;
27
- const inspector_1 = require("@dcl/inspector");
28
- const fs_1 = require("../start/data-layer/fs");
29
- const dist_cjs_1 = require("@dcl/ecs/dist-cjs");
30
- const path = __importStar(require("path"));
31
- async function ensureDirectoryExists({ fs }, filePath) {
32
- const dir = path.dirname(filePath);
33
- await fs.mkdir(dir, { recursive: true });
34
- }
35
- /**
36
- * Generates composite and CRDT files from an ECS engine state.
37
- */
38
- async function generateCompositeFiles(components, engine, compositeFilePath, crdtFilePath, entityNamesFilePath) {
39
- const { fs } = components;
40
- // ensure all directories exist
41
- await ensureDirectoryExists(components, compositeFilePath);
42
- await ensureDirectoryExists(components, crdtFilePath);
43
- await ensureDirectoryExists(components, entityNamesFilePath);
44
- const _engine = engine;
45
- // generate composite JSON
46
- const composite = (0, inspector_1.dumpEngineToComposite)(_engine, 'json');
47
- await fs.writeFile(compositeFilePath, JSON.stringify(dist_cjs_1.Composite.toJson(composite), null, 2));
48
- // generate CRDT binary
49
- const crdtData = (0, inspector_1.dumpEngineToCrdtCommands)(_engine);
50
- await fs.writeFile(crdtFilePath, crdtData);
51
- const workingDirectory = path.dirname(compositeFilePath);
52
- const fsAdapter = (0, fs_1.createFileSystemInterfaceFromFsComponent)({ fs }, workingDirectory);
53
- await (0, inspector_1.generateEntityNamesType)(_engine, entityNamesFilePath, 'EntityNames', fsAdapter);
54
- }
55
- exports.generateCompositeFiles = generateCompositeFiles;
56
- //# sourceMappingURL=composite-generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"composite-generator.js","sourceRoot":"","sources":["../../../src/commands/code-to-composite/composite-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAKuB;AAEvB,+CAAiF;AAEjF,gDAAsD;AACtD,2CAA4B;AAE5B,KAAK,UAAU,qBAAqB,CAAC,EAAE,EAAE,EAA6B,EAAE,QAAgB;IACtF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAC1C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,sBAAsB,CAC1C,UAAgD,EAChD,MAAe,EACf,iBAAyB,EACzB,YAAoB,EACpB,mBAA2B;IAE3B,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAAA;IAEzB,+BAA+B;IAC/B,MAAM,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAA;IAC1D,MAAM,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IACrD,MAAM,qBAAqB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;IAE5D,MAAM,OAAO,GAAG,MAA2B,CAAA;IAE3C,0BAA0B;IAC1B,MAAM,SAAS,GAAG,IAAA,iCAAqB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACxD,MAAM,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAE3F,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAA,oCAAwB,EAAC,OAAO,CAAC,CAAA;IAClD,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAE1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACxD,MAAM,SAAS,GAAwB,IAAA,6CAAwC,EAAC,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAA;IACzG,MAAM,IAAA,mCAAuB,EAAC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;AACvF,CAAC;AA3BD,wDA2BC"}
@@ -1,16 +0,0 @@
1
- import { Result } from 'arg';
2
- import { CliComponents } from '../../components';
3
- interface Options {
4
- args: Result<typeof args>;
5
- components: Pick<CliComponents, 'fs' | 'logger' | 'analytics' | 'spawner'>;
6
- }
7
- export declare const args: {
8
- '--dir': StringConstructor;
9
- '--help': BooleanConstructor;
10
- '-h': string;
11
- '--yes': BooleanConstructor;
12
- '-y': string;
13
- };
14
- export declare function help(options: Options): void;
15
- export declare function main(options: Options): Promise<void>;
16
- export {};
@@ -1,130 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.main = exports.help = exports.args = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const prompts_1 = __importDefault(require("prompts"));
9
- const args_1 = require("../../logic/args");
10
- const workspace_validations_1 = require("../../logic/workspace-validations");
11
- const beautiful_logs_1 = require("../../logic/beautiful-logs");
12
- const scene_executor_1 = require("./scene-executor");
13
- const composite_generator_1 = require("./composite-generator");
14
- const code_commenter_1 = require("./code-commenter");
15
- const asset_migrator_1 = require("./asset-migrator");
16
- const name_generator_1 = require("./name-generator");
17
- exports.args = (0, args_1.declareArgs)({
18
- '--dir': String,
19
- '--help': Boolean,
20
- '-h': '--help',
21
- '--yes': Boolean,
22
- '-y': '--yes',
23
- });
24
- function help(options) {
25
- options.components.logger.log(`
26
- Usage: 'sdk-commands code-to-composite [options]'
27
-
28
- Description:
29
-
30
- Migrates a code-only scene to Creator Hub-compatible format by generating
31
- composite/crdt files and commenting out the original code.
32
-
33
- Options:
34
-
35
- -h, --help Displays complete help
36
- --dir Path to directory to export
37
- -y, --yes Skip the confirmation prompt
38
-
39
- Example:
40
-
41
- - Export a code-only scene to Creator Hub format:
42
- '$ sdk-commands code-to-composite'
43
-
44
- - Export a specific directory:
45
- '$ sdk-commands code-to-composite --dir ./my-scene'
46
- `);
47
- }
48
- exports.help = help;
49
- async function main(options) {
50
- const workingDirectory = path_1.default.resolve(process.cwd(), options.args['--dir'] || '.');
51
- const workspace = await (0, workspace_validations_1.getValidWorkspace)(options.components, workingDirectory);
52
- const shouldContinue = options.args['--yes'] ? true : await promptForDestructiveAction(options.components);
53
- if (!shouldContinue)
54
- return;
55
- const MAX_STEPS = 5;
56
- for (const project of workspace.projects) {
57
- (0, beautiful_logs_1.printCurrentProjectStarting)(options.components.logger, project, workspace);
58
- if (project.kind === 'scene') {
59
- await exportSceneToCrdt(options, project, MAX_STEPS);
60
- }
61
- else {
62
- options.components.logger.warn(`Project ${project.workingDirectory} is not a scene, skipping...`);
63
- }
64
- }
65
- }
66
- exports.main = main;
67
- async function promptForDestructiveAction(components) {
68
- const { logger } = components;
69
- (0, beautiful_logs_1.printWarning)(logger, 'This command will modify your scene code by commenting it out and creating composite/CRDT files.');
70
- logger.log(' - Your original code will be backed up with a .backup.ts extension');
71
- logger.log(' - The scene will be converted to Creator Hub format');
72
- logger.log(' - Files will be moved around');
73
- logger.log(' - If you are not using any version control system, undoing this operation will be REALLY cumbersome');
74
- logger.log('');
75
- let cancelled = false;
76
- const onCancel = () => {
77
- cancelled = true;
78
- };
79
- const { confirmed } = await (0, prompts_1.default)({
80
- type: 'confirm',
81
- name: 'confirmed',
82
- message: 'Do you want to continue?',
83
- initial: false
84
- }, { onCancel });
85
- if (cancelled || !confirmed) {
86
- logger.log('Operation cancelled by user.');
87
- return false;
88
- }
89
- return true;
90
- }
91
- async function exportSceneToCrdt(options, project, maxSteps) {
92
- const { logger } = options.components;
93
- let currentStep = 1;
94
- const compositeFilePath = path_1.default.join(project.workingDirectory, 'assets', 'scene', 'main.composite');
95
- const crdtFilePath = path_1.default.join(project.workingDirectory, 'main.crdt');
96
- const entityNamesFilePath = path_1.default.join(project.workingDirectory, 'src', 'entity-names.ts');
97
- // Step 1: execute scene code to populate engine
98
- (0, beautiful_logs_1.printProgressStep)(logger, 'Executing scene code to capture state', currentStep++, maxSteps);
99
- const { engine, sceneCodeEntrypoint } = await (0, scene_executor_1.executeSceneCode)(options.components, project, crdtFilePath);
100
- (0, beautiful_logs_1.printProgressInfo)(logger, `Engine state captured successfully`);
101
- // Step 2: migrate assets (before generating composite/crdt)
102
- (0, beautiful_logs_1.printProgressStep)(logger, 'Organizing assets for Creator Hub', currentStep++, maxSteps);
103
- const updatedCount = await (0, asset_migrator_1.migrateAssets)(options.components, project, engine);
104
- (0, beautiful_logs_1.printProgressInfo)(logger, `Migrated ${updatedCount} asset file(s) successfully`);
105
- // Step 3: generate entity names
106
- (0, beautiful_logs_1.printProgressStep)(logger, 'Generating names for entities', currentStep++, maxSteps);
107
- const namedEntitiesCount = await (0, name_generator_1.generateEntityNames)(options.components, engine);
108
- (0, beautiful_logs_1.printProgressInfo)(logger, `Generated names for ${namedEntitiesCount} entity/entities`);
109
- // Step 4: generate composite and crdt files (with updated asset paths and names)
110
- (0, beautiful_logs_1.printProgressStep)(logger, 'Generating composite and crdt files', currentStep++, maxSteps);
111
- await (0, composite_generator_1.generateCompositeFiles)(options.components, engine, compositeFilePath, crdtFilePath, entityNamesFilePath);
112
- (0, beautiful_logs_1.printProgressInfo)(logger, `Generated main.composite ✅ (${compositeFilePath})`);
113
- (0, beautiful_logs_1.printProgressInfo)(logger, `Generated main.crdt ✅ (${crdtFilePath})`);
114
- (0, beautiful_logs_1.printProgressInfo)(logger, `Generated entity-names.ts ✅ (${entityNamesFilePath})`);
115
- // Step 5: comment out original code
116
- (0, beautiful_logs_1.printProgressStep)(logger, 'Commenting out original code', currentStep++, maxSteps);
117
- const bundleEntrypoint = path_1.default.join(project.workingDirectory, project.scene.main);
118
- const commentedFiles = await (0, code_commenter_1.commentSourceFiles)(options.components, sceneCodeEntrypoint, bundleEntrypoint);
119
- const relativeEntrypoint = path_1.default.relative(project.workingDirectory, sceneCodeEntrypoint);
120
- (0, beautiful_logs_1.printProgressInfo)(logger, `Commented out bundle entrypoint ${project.scene.main} and added stub main() function`);
121
- (0, beautiful_logs_1.printProgressInfo)(logger, `Commented out scene code entrypoint ${relativeEntrypoint}`);
122
- if (commentedFiles > 0) {
123
- (0, beautiful_logs_1.printProgressInfo)(logger, `Commented out ${commentedFiles} additional source file(s)`);
124
- }
125
- (0, beautiful_logs_1.printSuccess)(logger, 'Scene successfully migrated to Creator Hub format!', `\nNext steps:
126
- - Open your scene in the Creator Hub to edit visually
127
- - Uncomment parts of the code in src/ for hybrid workflows
128
- - Use "src/entity-names.ts" to reference entities by name in code`);
129
- }
130
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/code-to-composite/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { IEngine } from '@dcl/ecs/dist-cjs';
2
- import { CliComponents } from '../../components';
3
- /**
4
- * Generates Name components for entities that don't have them
5
- *
6
- * Automatically generates Name components for entities based on their other components.
7
- * This makes entities easier to identify and work with in the Creator Hub.
8
- */
9
- export declare function generateEntityNames(components: Pick<CliComponents, 'logger'>, engine: IEngine): Promise<number>;
@@ -1,140 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateEntityNames = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const dist_cjs_1 = require("@dcl/ecs/dist-cjs");
9
- function capitalize(string) {
10
- return string.charAt(0).toUpperCase() + string.slice(1);
11
- }
12
- /**
13
- * Component priority list for name generation
14
- */
15
- function getNameGenerators() {
16
- return [
17
- {
18
- component: dist_cjs_1.GltfContainer,
19
- getName: (data) => {
20
- if (data?.src) {
21
- const filename = path_1.default.basename(data.src);
22
- return path_1.default.parse(filename).name;
23
- }
24
- return null;
25
- }
26
- },
27
- {
28
- component: dist_cjs_1.MeshRenderer,
29
- getName: (data) => {
30
- if (data?.mesh?.['$case']) {
31
- const meshType = data.mesh['$case'];
32
- return meshType;
33
- }
34
- return 'Mesh';
35
- }
36
- },
37
- {
38
- component: dist_cjs_1.TextShape,
39
- getName: (data) => {
40
- if (data?.text) {
41
- const text = String(data.text).trim();
42
- const ellipsed = text.length > 10 ? text.substring(0, 10) + '...' : text;
43
- return `Text: ${ellipsed}`;
44
- }
45
- return 'Text';
46
- }
47
- },
48
- {
49
- component: dist_cjs_1.VideoPlayer,
50
- getName: (data) => {
51
- if (data?.src) {
52
- const filename = path_1.default.basename(data.src);
53
- return path_1.default.parse(filename).name;
54
- }
55
- return 'Video';
56
- }
57
- },
58
- {
59
- component: dist_cjs_1.NftShape,
60
- getName: () => 'NFT'
61
- },
62
- {
63
- component: dist_cjs_1.LightSource,
64
- getName: () => 'Light'
65
- },
66
- {
67
- component: dist_cjs_1.AudioSource,
68
- getName: (data) => {
69
- if (data?.audioClipUrl) {
70
- const filename = path_1.default.basename(data.audioClipUrl);
71
- return path_1.default.parse(filename).name;
72
- }
73
- return 'Audio';
74
- }
75
- },
76
- {
77
- component: dist_cjs_1.MeshCollider,
78
- getName: (data) => {
79
- const pre = 'Mesh Collider';
80
- if (data?.mesh?.['$case']) {
81
- const meshType = data.mesh['$case'];
82
- return `${pre}: ${meshType}`;
83
- }
84
- return pre;
85
- }
86
- }
87
- ];
88
- }
89
- /**
90
- * Generates a name for an entity based on a specific component
91
- */
92
- function generateNameFromComponent(generator, entity) {
93
- if (!generator.component.has(entity) || !('getOrNull' in generator.component)) {
94
- return null;
95
- }
96
- const componentData = generator.component.getOrNull(entity);
97
- const name = generator.getName(componentData);
98
- return name ? capitalize(name) : null;
99
- }
100
- /**
101
- * Generates Name components for entities that don't have them
102
- *
103
- * Automatically generates Name components for entities based on their other components.
104
- * This makes entities easier to identify and work with in the Creator Hub.
105
- */
106
- async function generateEntityNames(components, engine) {
107
- const { logger } = components;
108
- let createdCount = 0;
109
- const processedEntities = new Set();
110
- // iterate through entities with nameable components in priority order
111
- for (const generator of getNameGenerators()) {
112
- for (const [entity] of engine.getEntitiesWith(generator.component)) {
113
- // skip if already processed (entity may have multiple "nameable" components)
114
- if (processedEntities.has(entity))
115
- continue;
116
- processedEntities.add(entity);
117
- // skip reserved entities
118
- if (entity === engine.RootEntity || entity === engine.PlayerEntity || entity === engine.CameraEntity) {
119
- continue;
120
- }
121
- // KNOWN ISSUE: The Name component is filtered out by the renderer transport during scene execution
122
- // because its componentId exceeds MAX_STATIC_COMPONENT (only core renderer components are sent).
123
- // See: https://github.com/decentraland/js-sdk-toolchain/blob/main/packages/%40dcl/sdk/src/internal/transports/rendererTransport.ts#L38
124
- // This means Name components created in scene code are lost during code-to-composite execution,
125
- // so Name.has(entity) will always return false here, causing custom names to be overwritten.
126
- // We keep this check for future reference in case the transport filtering changes.
127
- if (dist_cjs_1.Name.has(entity))
128
- continue;
129
- const name = generateNameFromComponent(generator, entity);
130
- if (name) {
131
- dist_cjs_1.Name.createOrReplace(entity, { value: name });
132
- createdCount++;
133
- logger.log(` ✓ Entity ${entity}: "${name}"`);
134
- }
135
- }
136
- }
137
- return createdCount;
138
- }
139
- exports.generateEntityNames = generateEntityNames;
140
- //# sourceMappingURL=name-generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"name-generator.js","sourceRoot":"","sources":["../../../src/commands/code-to-composite/name-generator.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { IEngine } from '@dcl/ecs/dist-cjs';
2
- import { CliComponents } from '../../components';
3
- import { SceneProject } from '../../logic/project-validations';
4
- /**
5
- * Executes a Decentraland scene's code and captures the resulting ECS engine state.
6
- *
7
- * This is the main entry point for the code-to-composite command. It runs scene
8
- * code in a Node.js environment to extract the entity/component structure.
9
- *
10
- * The returned engine can then be used to generate composite/CRDT files.
11
- */
12
- export declare function executeSceneCode(components: Pick<CliComponents, 'fs' | 'logger'>, project: SceneProject, crdtFilePath: string): Promise<{
13
- engine: IEngine;
14
- sceneCodeEntrypoint: string;
15
- }>;