From 94b40bf24c4a8e411bf60b6d87466ac1f90a4908 Mon Sep 17 00:00:00 2001 From: IDONTSUDO Date: Thu, 18 Apr 2024 20:44:26 +0300 Subject: [PATCH] progress --- .../datasets/domain/exec_process_scenario.ts | 1 + server/src/main.ts | 2 +- .../core/ui/form_builder/form_builder_store.ts | 1 + ui/src/core/ui/form_builder/form_view_model.ts | 18 +++++++++++------- ui/src/features/dataset/dataset_model.ts | 4 ++-- ui/src/features/dataset/dataset_screen.tsx | 14 +++++++++----- ui/src/features/dataset/dataset_store.ts | 8 +++++++- ui/src/features/dataset/p.json | 1 + 8 files changed, 33 insertions(+), 16 deletions(-) create mode 100644 ui/src/features/dataset/p.json diff --git a/server/src/features/datasets/domain/exec_process_scenario.ts b/server/src/features/datasets/domain/exec_process_scenario.ts index 5f41e18..20062cf 100644 --- a/server/src/features/datasets/domain/exec_process_scenario.ts +++ b/server/src/features/datasets/domain/exec_process_scenario.ts @@ -14,6 +14,7 @@ export class ExecDatasetProcessScenario extends CallbackStrategyWithIdQuery { return (await new ReadByIdDataBaseModelUseCase(DatasetDBModel).call(id)).map(async (model) => { return (await new IsHaveActiveProcessUseCase().call()).map(async () => { await DatasetDBModel.findById(id).updateOne({ processStatus: "RUN" }); + console.log(`blenderproc run $PYTHON_BLENDER_PROC --cfg '${JSON.stringify(model)}'`); return new ExecProcessUseCase().call( `${model.project.rootDir}/`, `blenderproc run $PYTHON_BLENDER_PROC --cfg '${JSON.stringify(model)}'`, diff --git a/server/src/main.ts b/server/src/main.ts index f8166fc..1398356 100644 --- a/server/src/main.ts +++ b/server/src/main.ts @@ -4,7 +4,7 @@ import { SocketSubscriber } from "./core/controllers/socket_controller"; import { extensions } from "./core/extensions/extensions"; import { httpRoutes } from "./core/controllers/routes"; import { executorProgramService } from "./core/usecases/exec_process_usecase"; - + extensions(); const socketSubscribers = [new SocketSubscriber(executorProgramService, "realtime")]; diff --git a/ui/src/core/ui/form_builder/form_builder_store.ts b/ui/src/core/ui/form_builder/form_builder_store.ts index d43e774..cbf1157 100644 --- a/ui/src/core/ui/form_builder/form_builder_store.ts +++ b/ui/src/core/ui/form_builder/form_builder_store.ts @@ -87,6 +87,7 @@ export class FormBuilderStore { el.totalValue.push(el.values); return el; }); + this.changerForm.emit(this.formViewModel?.fromFormBuilderValidationModel()); }; init(context: string, result: string) { diff --git a/ui/src/core/ui/form_builder/form_view_model.ts b/ui/src/core/ui/form_builder/form_view_model.ts index 951ba20..f393799 100644 --- a/ui/src/core/ui/form_builder/form_view_model.ts +++ b/ui/src/core/ui/form_builder/form_view_model.ts @@ -120,7 +120,6 @@ export class FormViewModel { let subResult = subElement.totalValue ?? subElement.defaultValue; console.log(subResult); if (subElement.type.isEqualMany([InputType.STRING, InputType.ENUM])) { - console.log(201) subResult = `"${String(subResult)}"`; } if (subElement.type.isEqual(InputType.NUMBER)) { @@ -133,17 +132,22 @@ export class FormViewModel { if (Object.keys(objectUnion).length !== 0) { if (element.subType) { objectMapperResult = this.getTypeBody(element.subType); - Object.entries(objectUnion).forEach(([key, value]) => { - objectMapperResult = objectMapperResult.replace(new RegExp("\\${" + key + ".*?}"), value as any); - }); + if (objectMapperResult !== undefined) { + Object.entries(objectUnion).forEach(([key, value]) => { + objectMapperResult = objectMapperResult.replace(new RegExp("\\${" + key + ".*?}"), value as any); + }); + } } - - inputResult.push(objectMapperResult.replaceAll("\n", "").replaceAll("\\", "").replaceAll("/", "").replaceAll(';','')) + if (objectMapperResult) + inputResult.push( + objectMapperResult.replaceAll("\n", "").replaceAll("\\", "").replaceAll("/", "").replaceAll(";", "") + ); } }); } } } + console.log(inputResult); if (inputResult instanceof Array) inputResult = JSON.stringify(inputResult.map((el) => JSON.parse(el))); operations.push({ regExp: new RegExp("\\${" + element.name + ".*?}"), result: inputResult }); }); @@ -153,7 +157,7 @@ export class FormViewModel { operations.forEach((el) => { result = result.replace(el.regExp, el.result); }); - + return result; } getTypeBody(subType: string): string { diff --git a/ui/src/features/dataset/dataset_model.ts b/ui/src/features/dataset/dataset_model.ts index 08046e2..5deb960 100644 --- a/ui/src/features/dataset/dataset_model.ts +++ b/ui/src/features/dataset/dataset_model.ts @@ -163,7 +163,7 @@ type OBJECTS_SCENE = { }; type LIGHTS = { "id": \${ID:number:1}, -"type": \${type:Enum:"POINT"}, +"type": \${type:Enum:POINT}, "loc_xyz": [\${LOC_XYZ_1:number:5}, \${LOC_XYZ_2:number:5}, \${LOC_XYZ_3:number:5}], "rot_euler": [\${ROT_EULER_1:number:-0.06}, \${ROT_EULER_2:number:0.61}, \${ROT_EULER_3:number:-0.19}], "color_range_low": [\${COLOR_RANGE_LOW_1:number:0.5}, \${COLOR_RANGE_LOW_2:number:0.5}, \${COLOR_RANGE_LOW_3:number:0.5}], @@ -177,5 +177,5 @@ export const defaultFormValue: any = { models_randomization: { loc_range_low: [-1, -1, 0], loc_range_high: [1, 1, 2] }, scene: { objects: [], lights: [] }, camera_position: { center_shell: [0, 0, 0], radius_range: [1, 1.4], elevation_range: [10, 90] }, - generation: { n_cam_pose: 5, n_sample_on_pose: 3, n_series: 100, image_format: "jpg", image_size_wh: [640, 480] }, + generation: { n_cam_pose: 5, n_sample_on_pose: 3, n_series: 100, image_format: "JPEG", image_size_wh: [640, 480] }, }; diff --git a/ui/src/features/dataset/dataset_screen.tsx b/ui/src/features/dataset/dataset_screen.tsx index 713a42a..57027a8 100644 --- a/ui/src/features/dataset/dataset_screen.tsx +++ b/ui/src/features/dataset/dataset_screen.tsx @@ -53,7 +53,7 @@ export const DataSetScreen: React.FunctionComponent = observer(() => { { - store.openEmptyCard() + store.openEmptyCard(); }} /> { store.editDrawer(DrawersDataset.NewDataset, false)} open={store.drawers.find((el) => el.name === DrawersDataset.NewDataset)?.status} - > + >
- store.setNewDatasetName(e)} /> - + store.setNewDatasetName(e)} + /> +
store.editDrawer(DrawersDataset.FormBuilderDrawer, true)} diff --git a/ui/src/features/dataset/dataset_store.ts b/ui/src/features/dataset/dataset_store.ts index f4eec4f..f9efa23 100644 --- a/ui/src/features/dataset/dataset_store.ts +++ b/ui/src/features/dataset/dataset_store.ts @@ -23,6 +23,8 @@ export class DataSetStore extends UiErrorState { dataSetModel = DataSetModel.empty(); drawers: Drawer[]; socketRepository: SocketRepository; + titleDrawer: string = DrawersDataset.NewDataset; + constructor() { super(); this.socketRepository = socketRepository; @@ -55,6 +57,7 @@ export class DataSetStore extends UiErrorState { } openEmptyCard() { this.dataSetModel = DataSetModel.empty(); + this.titleDrawer = DrawersDataset.NewDataset; this.editDrawer(DrawersDataset.NewDataset, true); } @@ -92,6 +95,7 @@ export class DataSetStore extends UiErrorState { } editDataset(id: string) { + this.titleDrawer = DrawersDataset.FormBuilderDrawer; this.dataSetModel = DataSetModel.fromIDatasetModel(this.datasets?.find((el) => el._id === id) as IDatasetModel); this.editDrawer(DrawersDataset.NewDataset, true); } @@ -111,7 +115,7 @@ export class DataSetStore extends UiErrorState { async (s) => { (await this.dataSetRepository.execDatasetProcess(id)).fold( () => { - this.updateDatasetStatus(id,ProcessStatus.RUN) + this.updateDatasetStatus(id, ProcessStatus.RUN); message.success("Процесс запущен"); }, (e) => message.error(e.message) @@ -133,6 +137,7 @@ export class DataSetStore extends UiErrorState { async () => { message.success("Датасет сохранен"); await this.getDatasets(); + this.editDrawer(DrawersDataset.NewDataset, false); }, async (error) => message.error(error.message) ); @@ -141,6 +146,7 @@ export class DataSetStore extends UiErrorState { async () => { message.success("Настройки датасета измнены"); await this.getDatasets(); + this.editDrawer(DrawersDataset.NewDataset, false); }, async (error) => message.error(error.message) ); diff --git a/ui/src/features/dataset/p.json b/ui/src/features/dataset/p.json new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/ui/src/features/dataset/p.json @@ -0,0 +1 @@ + \ No newline at end of file