From fb8d1fb52cb7b7ce067b1c2c09e4f55af614fd44 Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 19 Mar 2026 11:29:12 +0900 Subject: [PATCH 01/10] feat(editor): add name value in save entity params --- e2e/part-main.test.ts | 2 +- src/utils/main/main.generator.ts | 2 +- src/utils/main/save.type.ts | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/e2e/part-main.test.ts b/e2e/part-main.test.ts index 253e850..065db55 100644 --- a/e2e/part-main.test.ts +++ b/e2e/part-main.test.ts @@ -202,7 +202,7 @@ describe("part-main schematic", () => { it("should use entity params from editor save", () => { const content = tree.readContent("/my-app/.nanoforge/editor/client/main.ts"); - expect(content).toContain("options.editor.save.entities[0].components[0].params[0]"); + expect(content).toContain("options.editor.save.entities[0].components[0].params[0].value"); }); it("should import components and systems with relative path to root", () => { diff --git a/src/utils/main/main.generator.ts b/src/utils/main/main.generator.ts index 49d6377..626f599 100644 --- a/src/utils/main/main.generator.ts +++ b/src/utils/main/main.generator.ts @@ -165,7 +165,7 @@ export class MainGenerator { ? rawParams : rawParams.map( (_param, index) => - `options.editor.save.entities[${entityIndex}].components[${componentIndex}].params[${index}]`, + `options.editor.save.entities[${entityIndex}].components[${componentIndex}].params[${index}].value`, ); this.writeLine(`registry.addComponent(${entity.id}, new ${name}(${params.join(", ")}));`); }); diff --git a/src/utils/main/save.type.ts b/src/utils/main/save.type.ts index 94371ad..815b7aa 100644 --- a/src/utils/main/save.type.ts +++ b/src/utils/main/save.type.ts @@ -28,7 +28,10 @@ export interface SaveEntity { id: string; components: { name: string; - params: string[]; + params: { + name: string; + value: string; + }[]; }[]; } From c8e32b496511ab625beb4310a1a4f1e3aa4f054e Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 19 Mar 2026 13:45:57 +0900 Subject: [PATCH 02/10] fix(editor): saved components name --- e2e/part-main.test.ts | 2 +- src/utils/main/main.generator.ts | 4 ++-- src/utils/main/save.type.ts | 6 ++---- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/e2e/part-main.test.ts b/e2e/part-main.test.ts index 065db55..253e850 100644 --- a/e2e/part-main.test.ts +++ b/e2e/part-main.test.ts @@ -202,7 +202,7 @@ describe("part-main schematic", () => { it("should use entity params from editor save", () => { const content = tree.readContent("/my-app/.nanoforge/editor/client/main.ts"); - expect(content).toContain("options.editor.save.entities[0].components[0].params[0].value"); + expect(content).toContain("options.editor.save.entities[0].components[0].params[0]"); }); it("should import components and systems with relative path to root", () => { diff --git a/src/utils/main/main.generator.ts b/src/utils/main/main.generator.ts index 626f599..d99cf9d 100644 --- a/src/utils/main/main.generator.ts +++ b/src/utils/main/main.generator.ts @@ -160,12 +160,12 @@ export class MainGenerator { private generateEntity(entity: SaveEntity, entityIndex: number): void { this.writeLine(`const ${entity.id} = registry.spawnEntity();`); - entity.components.forEach(({ name, params: rawParams }, componentIndex) => { + entity.components.forEach(({ name, paramsValues: rawParams }, componentIndex) => { const params = !this.editor ? rawParams : rawParams.map( (_param, index) => - `options.editor.save.entities[${entityIndex}].components[${componentIndex}].params[${index}].value`, + `options.editor.save.entities[${entityIndex}].components[${componentIndex}].params[${index}]`, ); this.writeLine(`registry.addComponent(${entity.id}, new ${name}(${params.join(", ")}));`); }); diff --git a/src/utils/main/save.type.ts b/src/utils/main/save.type.ts index 815b7aa..4521886 100644 --- a/src/utils/main/save.type.ts +++ b/src/utils/main/save.type.ts @@ -17,6 +17,7 @@ export interface SaveLibrary { export interface SaveComponent { name: string; path: string; + paramsNames: string[]; } export interface SaveSystem { @@ -28,10 +29,7 @@ export interface SaveEntity { id: string; components: { name: string; - params: { - name: string; - value: string; - }[]; + paramsValues: string[]; }[]; } From 73740c9e23a159d03de4ce3216fc19483e7b5ae5 Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 19 Mar 2026 13:47:11 +0900 Subject: [PATCH 03/10] fix(editor): saved components name --- src/utils/main/main.generator.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/utils/main/main.generator.ts b/src/utils/main/main.generator.ts index d99cf9d..d9ac50c 100644 --- a/src/utils/main/main.generator.ts +++ b/src/utils/main/main.generator.ts @@ -160,10 +160,10 @@ export class MainGenerator { private generateEntity(entity: SaveEntity, entityIndex: number): void { this.writeLine(`const ${entity.id} = registry.spawnEntity();`); - entity.components.forEach(({ name, paramsValues: rawParams }, componentIndex) => { + entity.components.forEach(({ name, paramsValues }, componentIndex) => { const params = !this.editor - ? rawParams - : rawParams.map( + ? paramsValues + : paramsValues.map( (_param, index) => `options.editor.save.entities[${entityIndex}].components[${componentIndex}].params[${index}]`, ); From 20f08fc3a9a34396f203be5e8672c5a330a84751 Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 19 Mar 2026 13:47:23 +0900 Subject: [PATCH 04/10] fix(editor): saved components name --- src/utils/main/main.generator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/main/main.generator.ts b/src/utils/main/main.generator.ts index d9ac50c..ba08860 100644 --- a/src/utils/main/main.generator.ts +++ b/src/utils/main/main.generator.ts @@ -165,7 +165,7 @@ export class MainGenerator { ? paramsValues : paramsValues.map( (_param, index) => - `options.editor.save.entities[${entityIndex}].components[${componentIndex}].params[${index}]`, + `options.editor.save.entities[${entityIndex}].components[${componentIndex}].paramsValues[${index}]`, ); this.writeLine(`registry.addComponent(${entity.id}, new ${name}(${params.join(", ")}));`); }); From 54ebf89cdaf75ad33141cac20d49c737ad514f83 Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 19 Mar 2026 13:48:35 +0900 Subject: [PATCH 05/10] fix(editor): saved components name --- src/utils/main/main.generator.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/main/main.generator.spec.ts b/src/utils/main/main.generator.spec.ts index 5a186b2..65ec1c8 100644 --- a/src/utils/main/main.generator.spec.ts +++ b/src/utils/main/main.generator.spec.ts @@ -136,8 +136,8 @@ describe("MainGenerator", () => { { id: "player", components: [ - { name: "Position", params: ["0", "0"] }, - { name: "Velocity", params: ["1"] }, + { name: "Position", paramValuess: ["0", "0"] }, + { name: "Velocity", paramsValues: ["1"] }, ], }, ]; From 4722bf2a68554b63d974ed8572403a372dd06f5c Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 19 Mar 2026 13:49:03 +0900 Subject: [PATCH 06/10] fix(editor): saved components name --- src/utils/main/main.generator.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/main/main.generator.spec.ts b/src/utils/main/main.generator.spec.ts index 65ec1c8..cce1859 100644 --- a/src/utils/main/main.generator.spec.ts +++ b/src/utils/main/main.generator.spec.ts @@ -136,7 +136,7 @@ describe("MainGenerator", () => { { id: "player", components: [ - { name: "Position", paramValuess: ["0", "0"] }, + { name: "Position", paramValues: ["0", "0"] }, { name: "Velocity", paramsValues: ["1"] }, ], }, From f1ed32f292124c00eaf83f9a9db63f10192b4c82 Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 19 Mar 2026 13:49:27 +0900 Subject: [PATCH 07/10] fix(editor): saved components name --- src/utils/main/main.generator.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/main/main.generator.spec.ts b/src/utils/main/main.generator.spec.ts index cce1859..0942aec 100644 --- a/src/utils/main/main.generator.spec.ts +++ b/src/utils/main/main.generator.spec.ts @@ -136,7 +136,7 @@ describe("MainGenerator", () => { { id: "player", components: [ - { name: "Position", paramValues: ["0", "0"] }, + { name: "Position", paramsValues: ["0", "0"] }, { name: "Velocity", paramsValues: ["1"] }, ], }, From 4c64cdd4693ff9572cc7a76de66e6f1bbf1bc40e Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 19 Mar 2026 13:50:02 +0900 Subject: [PATCH 08/10] fix(editor): saved components name --- src/utils/main/main-functions.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/main/main-functions.spec.ts b/src/utils/main/main-functions.spec.ts index a045f1a..21eeec5 100644 --- a/src/utils/main/main-functions.spec.ts +++ b/src/utils/main/main-functions.spec.ts @@ -84,7 +84,7 @@ describe("generateMain", () => { entities: [ { id: "player", - components: [{ name: "Position", params: ["0", "0"] }], + components: [{ name: "Position", paramsValues: ["0", "0"] }], }, ], }; From 6f2ef1e9872f6c0d872d759dabe165b7ca4cf842 Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 19 Mar 2026 13:50:32 +0900 Subject: [PATCH 09/10] fix(editor): saved components name --- e2e/part-main.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/part-main.test.ts b/e2e/part-main.test.ts index 253e850..9655553 100644 --- a/e2e/part-main.test.ts +++ b/e2e/part-main.test.ts @@ -202,7 +202,7 @@ describe("part-main schematic", () => { it("should use entity params from editor save", () => { const content = tree.readContent("/my-app/.nanoforge/editor/client/main.ts"); - expect(content).toContain("options.editor.save.entities[0].components[0].params[0]"); + expect(content).toContain("options.editor.save.entities[0].components[0].paramsValues[0]"); }); it("should import components and systems with relative path to root", () => { From 4c11ee4318d231f170fe43036d76b31ac5f05f4a Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 19 Mar 2026 13:52:21 +0900 Subject: [PATCH 10/10] fix(editor): saved components name --- e2e/part-main.test.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/e2e/part-main.test.ts b/e2e/part-main.test.ts index 9655553..0709afc 100644 --- a/e2e/part-main.test.ts +++ b/e2e/part-main.test.ts @@ -25,7 +25,9 @@ const clientSave: Save = { ], components: [{ name: "ExampleComponent", path: "./components/example.component" }], systems: [{ name: "exampleSystem", path: "./systems/example.system" }], - entities: [{ id: "player", components: [{ name: "ExampleComponent", params: ['"test"', "5"] }] }], + entities: [ + { id: "player", components: [{ name: "ExampleComponent", paramsValues: ['"test"', "5"] }] }, + ], }; const serverSave: Save = {