Сохраняемся

This commit is contained in:
2026-07-24 09:45:32 +03:00
parent 6cfc16e53c
commit 0614ea384a
14 changed files with 1592 additions and 142 deletions
+45 -7
View File
@@ -297,11 +297,19 @@ export const api = {
objectScaleIsMax = false,
beamCount = 45,
lengthCount = 45,
modelFile,
absentPct = 30,
nearlyHiddenPct = 20,
partialPct = 40,
visiblePct = 40,
modelPreset = null,
modelFile = null,
onProgress,
} = {}) => {
if (!modelFile) {
return Promise.reject(new Error("Выберите файл модели .obj"));
const preset = modelPreset ? String(modelPreset).trim() : "";
if (!preset && !modelFile) {
return Promise.reject(
new Error("Выберите предустановку объекта или загрузите файл модели .obj"),
);
}
const formData = new FormData();
formData.append("count", String(count));
@@ -311,7 +319,15 @@ export const api = {
formData.append("objectScaleIsMax", objectScaleIsMax ? "true" : "false");
formData.append("beamCount", String(beamCount ?? 45));
formData.append("lengthCount", String(lengthCount ?? 45));
formData.append("model", modelFile, modelFile.name || "model.obj");
formData.append("absentPct", String(absentPct ?? 30));
formData.append("nearlyHiddenPct", String(nearlyHiddenPct ?? 20));
formData.append("partialPct", String(partialPct ?? 40));
formData.append("visiblePct", String(visiblePct ?? 40));
if (preset) {
formData.append("modelPreset", preset);
} else {
formData.append("model", modelFile, modelFile.name || "model.obj");
}
const response = await fetch("/api/dataset/generate", {
method: "POST",
@@ -397,17 +413,39 @@ export const api = {
}),
mlePrepare: ({
seed = 42,
sizeX = 40,
sizeY = 60,
sizeX = null,
sizeY = null,
resX = 80,
resY = 120,
outputDir = "mle_runs",
reliefScalePct = 20,
auvX = null,
auvY = null,
auvHeadingDeg = null,
surveyLength = null,
auvDepth = null,
swathAngleDeg = null,
settings = null,
} = {}) =>
request("/api/mle/prepare", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ seed, sizeX, sizeY, resX, resY, outputDir, settings }),
body: JSON.stringify({
seed,
sizeX,
sizeY,
resX,
resY,
outputDir,
reliefScalePct,
auvX,
auvY,
auvHeadingDeg,
surveyLength,
auvDepth,
swathAngleDeg,
settings,
}),
}),
mleSaveSurface: ({ outputDir, vertices, faces, filename = "seafloor.obj" } = {}) =>
request("/api/mle/save-surface", {