human2ai 0.1.2 → 0.1.4
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.en.md +36 -4
- package/README.md +44 -4
- package/dist/cli/main.js +47 -13
- package/dist/cli/main.js.map +1 -1
- package/dist/database/style-library-repository.d.ts +14 -1
- package/dist/database/style-library-repository.js +59 -0
- package/dist/database/style-library-repository.js.map +1 -1
- package/dist/domain/composition/analysis.d.ts +3 -0
- package/dist/domain/composition/analysis.js +5 -0
- package/dist/domain/composition/analysis.js.map +1 -1
- package/dist/domain/composition/draft.d.ts +2 -0
- package/dist/domain/composition/draft.js +126 -5
- package/dist/domain/composition/draft.js.map +1 -1
- package/dist/domain/composition/frame.d.ts +1 -0
- package/dist/domain/composition/frame.js +6 -0
- package/dist/domain/composition/frame.js.map +1 -1
- package/dist/domain/composition/geometry.d.ts +5 -1
- package/dist/domain/composition/geometry.js +40 -2
- package/dist/domain/composition/geometry.js.map +1 -1
- package/dist/domain/composition/index.d.ts +6 -3
- package/dist/domain/composition/index.js +6 -3
- package/dist/domain/composition/index.js.map +1 -1
- package/dist/domain/composition/planning-intersections.d.ts +20 -0
- package/dist/domain/composition/planning-intersections.js +119 -0
- package/dist/domain/composition/planning-intersections.js.map +1 -0
- package/dist/domain/composition/planning.d.ts +25 -0
- package/dist/domain/composition/planning.js +152 -0
- package/dist/domain/composition/planning.js.map +1 -0
- package/dist/domain/composition/refinement/engine.js +1 -0
- package/dist/domain/composition/refinement/engine.js.map +1 -1
- package/dist/domain/composition/render.js +14 -1
- package/dist/domain/composition/render.js.map +1 -1
- package/dist/domain/composition/states.js +6 -3
- package/dist/domain/composition/states.js.map +1 -1
- package/dist/domain/composition/types.d.ts +49 -1
- package/dist/domain/session/capabilities.js +1 -0
- package/dist/domain/session/capabilities.js.map +1 -1
- package/dist/domain/spatial/camera-box-sheet.d.ts +15 -0
- package/dist/domain/spatial/camera-box-sheet.js +24 -0
- package/dist/domain/spatial/camera-box-sheet.js.map +1 -0
- package/dist/domain/spatial/camera-box.d.ts +1 -1
- package/dist/domain/spatial/camera-box.js +6 -2
- package/dist/domain/spatial/camera-box.js.map +1 -1
- package/dist/domain/spatial/camera-render-key.d.ts +7 -0
- package/dist/domain/spatial/camera-render-key.js +63 -0
- package/dist/domain/spatial/camera-render-key.js.map +1 -0
- package/dist/domain/spatial/index.d.ts +1 -0
- package/dist/domain/spatial/index.js +1 -0
- package/dist/domain/spatial/index.js.map +1 -1
- package/dist/domain/spatial/lighting.js +3 -2
- package/dist/domain/spatial/lighting.js.map +1 -1
- package/dist/domain/spatial/model.d.ts +2 -0
- package/dist/domain/spatial/model.js +82 -27
- package/dist/domain/spatial/model.js.map +1 -1
- package/dist/domain/spatial/preview.d.ts +4 -0
- package/dist/domain/spatial/preview.js +23 -0
- package/dist/domain/spatial/preview.js.map +1 -0
- package/dist/domain/spatial/reference-lines.d.ts +12 -3
- package/dist/domain/spatial/reference-lines.js +37 -16
- package/dist/domain/spatial/reference-lines.js.map +1 -1
- package/dist/domain/spatial/render-inputs.d.ts +3 -0
- package/dist/domain/spatial/render-inputs.js +14 -0
- package/dist/domain/spatial/render-inputs.js.map +1 -0
- package/dist/domain/spatial/scene-cache.d.ts +13 -1
- package/dist/domain/spatial/scene-cache.js +90 -11
- package/dist/domain/spatial/scene-cache.js.map +1 -1
- package/dist/domain/spatial/scene-update.d.ts +6 -0
- package/dist/domain/spatial/scene-update.js +52 -0
- package/dist/domain/spatial/scene-update.js.map +1 -0
- package/dist/domain/spatial/scene.d.ts +3 -1
- package/dist/domain/spatial/scene.js +78 -20
- package/dist/domain/spatial/scene.js.map +1 -1
- package/dist/domain/spatial/types.d.ts +8 -0
- package/dist/domain/spatial/types.js.map +1 -1
- package/dist/domain/style/model-input.d.ts +3 -0
- package/dist/domain/style/model-input.js +36 -0
- package/dist/domain/style/model-input.js.map +1 -0
- package/dist/domain/style/types.d.ts +8 -1
- package/dist/domain/style/types.js +1 -1
- package/dist/domain/style/types.js.map +1 -1
- package/dist/domain/ui-sketch/clipboard.d.ts +12 -0
- package/dist/domain/ui-sketch/clipboard.js +55 -0
- package/dist/domain/ui-sketch/clipboard.js.map +1 -0
- package/dist/domain/ui-sketch/index.d.ts +1 -0
- package/dist/domain/ui-sketch/index.js +1 -0
- package/dist/domain/ui-sketch/index.js.map +1 -1
- package/dist/server/routes/spatial-sessions.js +39 -15
- package/dist/server/routes/spatial-sessions.js.map +1 -1
- package/dist/server/routes/style-library.js +39 -0
- package/dist/server/routes/style-library.js.map +1 -1
- package/dist/server/spatial-render-service.d.ts +21 -0
- package/dist/server/spatial-render-service.js +67 -0
- package/dist/server/spatial-render-service.js.map +1 -0
- package/dist/server/spatial-render-worker.d.ts +1 -0
- package/dist/server/spatial-render-worker.js +15 -0
- package/dist/server/spatial-render-worker.js.map +1 -0
- package/dist/server/spatial-render.d.ts +15 -3
- package/dist/server/spatial-render.js +47 -14
- package/dist/server/spatial-render.js.map +1 -1
- package/locales/en/common.json +94 -14
- package/migrations/0009_spatial_styles.sql +31 -0
- package/migrations/0010_style_preview_models.sql +8 -0
- package/package.json +1 -1
- package/schemas/composition-draft.schema.json +474 -1
- package/schemas/spatial-draft.schema.json +12 -0
- package/schemas/spatial-operations.schema.json +12 -0
- package/skills/human2ai/SKILL.md +23 -9
- package/skills/human2ai/references/composition.md +192 -1
- package/skills/human2ai/references/spatial-modeling.md +119 -0
- package/skills/human2ai/references/spatial.md +7 -2
- package/web/out/404/index.html +1 -1
- package/web/out/404.html +1 -1
- package/web/out/__next.__PAGE__.txt +7 -5
- package/web/out/__next._full.txt +7 -5
- package/web/out/__next._tree.txt +4 -2
- package/web/out/_next/static/chunks/101.6ef34adad3e9815b.js +1 -0
- package/web/out/_next/static/chunks/130-7e9e715a084569bb.js +1 -0
- package/web/out/_next/static/chunks/166-96a8c6ae1e9aed59.js +1 -0
- package/web/out/_next/static/chunks/218.7b89674409b344b8.js +1 -0
- package/web/out/_next/static/chunks/484.92b016222d6749f2.js +1 -0
- package/web/out/_next/static/chunks/{381-4a803b79da320e6e.js → 635-611c009924b842be.js} +54 -54
- package/web/out/_next/static/chunks/653-6dfb97fec9a2d91b.js +1 -0
- package/web/out/_next/static/chunks/678-32d3aa1859450d63.js +1 -0
- package/web/out/_next/static/chunks/83607670-fd2f339702a222e4.js +1 -0
- package/web/out/_next/static/chunks/app/_not-found/{page-59ce938ad0594022.js → page-b92817fdc4609975.js} +1 -1
- package/web/out/_next/static/chunks/app/composition/page-6c12ee8472715448.js +1 -0
- package/web/out/_next/static/chunks/app/{layout-6351ae607c4ee18d.js → layout-1dd9196cde94389c.js} +1 -1
- package/web/out/_next/static/chunks/app/page-741ecaf9ee8c3c07.js +1 -0
- package/web/out/_next/static/chunks/app/spatial/page-5ba0940650df6c7f.js +1 -0
- package/web/out/_next/static/chunks/app/styles/page-1ccfc2c5fbc1e646.js +1 -0
- package/web/out/_next/static/chunks/app/ui-sketch/page-ef4f2e531583e684.js +1 -0
- package/web/out/_next/static/chunks/{c3f2cda1-9e279dab137b7272.js → c3f2cda1-ef85a0897724e46b.js} +1 -1
- package/web/out/_next/static/chunks/main-app-cf37a257d91ce62e.js +1 -0
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-33b4f58f02e82215.js +1 -0
- package/web/out/_next/static/chunks/webpack-d16ce1f994e98178.js +1 -0
- package/web/out/_next/static/css/06743b5635914999.css +5 -0
- package/web/out/_next/static/css/0b43ff4a0439c97e.css +1 -0
- package/web/out/_next/static/css/1f8501a43042a5a2.css +1 -0
- package/web/out/_next/static/css/39e8cace36461a15.css +1 -0
- package/web/out/_not-found/__next._full.txt +3 -3
- package/web/out/_not-found/__next._not-found.__PAGE__.txt +3 -3
- package/web/out/_not-found/__next._tree.txt +1 -1
- package/web/out/_not-found/index.html +1 -1
- package/web/out/_not-found/index.txt +3 -3
- package/web/out/composition/__next._full.txt +6 -5
- package/web/out/composition/__next._tree.txt +3 -2
- package/web/out/composition/__next.composition.__PAGE__.txt +6 -5
- package/web/out/composition/index.html +1 -1
- package/web/out/composition/index.txt +6 -5
- package/web/out/index.html +1 -1
- package/web/out/index.txt +7 -5
- package/web/out/spatial/__next._full.txt +6 -5
- package/web/out/spatial/__next._tree.txt +3 -2
- package/web/out/spatial/__next.spatial.__PAGE__.txt +6 -5
- package/web/out/spatial/index.html +1 -1
- package/web/out/spatial/index.txt +6 -5
- package/web/out/styles/__next._full.txt +6 -5
- package/web/out/styles/__next._tree.txt +3 -2
- package/web/out/styles/__next.styles.__PAGE__.txt +6 -5
- package/web/out/styles/index.html +1 -1
- package/web/out/styles/index.txt +6 -5
- package/web/out/ui-sketch/__next._full.txt +6 -5
- package/web/out/ui-sketch/__next._tree.txt +3 -2
- package/web/out/ui-sketch/__next.ui-sketch.__PAGE__.txt +6 -5
- package/web/out/ui-sketch/index.html +1 -1
- package/web/out/ui-sketch/index.txt +6 -5
- package/web/out/_next/static/chunks/130-f2627352fc1e1f49.js +0 -1
- package/web/out/_next/static/chunks/678-b0ea409290a64ff4.js +0 -1
- package/web/out/_next/static/chunks/728-ce64a38c9e8339e8.js +0 -1
- package/web/out/_next/static/chunks/83607670-bc1279370476e59f.js +0 -1
- package/web/out/_next/static/chunks/app/composition/page-b0a2f7370b949cf9.js +0 -1
- package/web/out/_next/static/chunks/app/page-a6fde4165eb4be1e.js +0 -1
- package/web/out/_next/static/chunks/app/spatial/page-2c3df91fd1d7d444.js +0 -1
- package/web/out/_next/static/chunks/app/styles/page-54b11f1945d64255.js +0 -1
- package/web/out/_next/static/chunks/app/ui-sketch/page-1abcd70a81ac7b30.js +0 -1
- package/web/out/_next/static/chunks/main-app-8946bf6a8c0dc843.js +0 -1
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-5ac7248e26f2e308.js +0 -1
- package/web/out/_next/static/chunks/webpack-97ae63c0e0b2a512.js +0 -1
- package/web/out/_next/static/css/7bfa3a5c92836f5c.css +0 -5
- /package/web/out/_next/static/{1To86KpfZhDmNzmTIgEuy → n4UcxqMmr_2CBmSxBp52z}/_buildManifest.js +0 -0
- /package/web/out/_next/static/{1To86KpfZhDmNzmTIgEuy → n4UcxqMmr_2CBmSxBp52z}/_ssgManifest.js +0 -0
|
@@ -4,6 +4,7 @@ import { mkdir, rm, unlink, writeFile } from "node:fs/promises";
|
|
|
4
4
|
import { basename, dirname, join, resolve, sep } from "node:path";
|
|
5
5
|
import { STYLE_CATEGORIES, STYLE_CREATOR_TYPES, } from "../domain/style/index.js";
|
|
6
6
|
import { defaultStylePromptSummary, MAX_STYLE_PROMPT_SUMMARY_LENGTH } from "../domain/style/prompt-summary.js";
|
|
7
|
+
import { validStyleModel } from "../domain/style/model-input.js";
|
|
7
8
|
import { inspectImageInput, MAX_IMAGE_ASSET_BYTES } from "./image-input.js";
|
|
8
9
|
import { ProjectSessionRepository, RevisionConflictError } from "./project-session-repository.js";
|
|
9
10
|
export class StyleNotFoundError extends Error {
|
|
@@ -181,11 +182,66 @@ export class StyleLibraryRepository {
|
|
|
181
182
|
throw new StyleReferenceNotFoundError(styleId, referenceId);
|
|
182
183
|
return { reference: mapReference(row), filePath };
|
|
183
184
|
}
|
|
185
|
+
async setPreviewModel(styleId, input) {
|
|
186
|
+
const style = this.getStyle(styleId);
|
|
187
|
+
assertRevision(input.expectedRevision, style.revision);
|
|
188
|
+
if (!validStyleModel(input.data))
|
|
189
|
+
throw new InvalidStyleReferenceError("Use a self-contained GLB 2.0 model up to 10 MB, with embedded geometry and textures and no external decoder dependencies.");
|
|
190
|
+
const previous = this.previewModelRow(styleId);
|
|
191
|
+
const id = randomUUID();
|
|
192
|
+
const relativePath = join("styles", styleId, `${id}.glb`);
|
|
193
|
+
const filePath = this.filePath(relativePath);
|
|
194
|
+
const now = new Date().toISOString();
|
|
195
|
+
await mkdir(dirname(filePath), { recursive: true, mode: 0o700 });
|
|
196
|
+
await writeFile(filePath, input.data, { flag: "wx", mode: 0o600 });
|
|
197
|
+
try {
|
|
198
|
+
this.database.transaction(() => {
|
|
199
|
+
this.incrementRevision(styleId, input.expectedRevision, now);
|
|
200
|
+
this.database.prepare(`INSERT INTO style_preview_models (style_id, id, relative_path, original_filename, byte_size, created_at)
|
|
201
|
+
VALUES (?, ?, ?, ?, ?, ?) ON CONFLICT(style_id) DO UPDATE SET
|
|
202
|
+
id = excluded.id, relative_path = excluded.relative_path, original_filename = excluded.original_filename,
|
|
203
|
+
byte_size = excluded.byte_size, created_at = excluded.created_at
|
|
204
|
+
`).run(styleId, id, relativePath, safeFilename(input.filename), input.data.length, now);
|
|
205
|
+
})();
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
await unlink(filePath).catch(() => undefined);
|
|
209
|
+
throw error;
|
|
210
|
+
}
|
|
211
|
+
if (previous)
|
|
212
|
+
await unlink(this.filePath(previous.relative_path)).catch(() => undefined);
|
|
213
|
+
return this.getStyle(styleId);
|
|
214
|
+
}
|
|
215
|
+
async deletePreviewModel(styleId, input) {
|
|
216
|
+
const style = this.getStyle(styleId);
|
|
217
|
+
assertRevision(input.expectedRevision, style.revision);
|
|
218
|
+
const previous = this.previewModelRow(styleId);
|
|
219
|
+
if (!previous)
|
|
220
|
+
return style;
|
|
221
|
+
this.database.transaction(() => {
|
|
222
|
+
this.incrementRevision(styleId, input.expectedRevision, new Date().toISOString());
|
|
223
|
+
this.database.prepare("DELETE FROM style_preview_models WHERE style_id = ?").run(styleId);
|
|
224
|
+
})();
|
|
225
|
+
await unlink(this.filePath(previous.relative_path)).catch(() => undefined);
|
|
226
|
+
return this.getStyle(styleId);
|
|
227
|
+
}
|
|
228
|
+
getPreviewModel(styleId, modelId) {
|
|
229
|
+
this.getStyle(styleId);
|
|
230
|
+
const row = this.previewModelRow(styleId);
|
|
231
|
+
if (!row || row.id !== modelId || !existsSync(this.filePath(row.relative_path)))
|
|
232
|
+
throw new StyleReferenceNotFoundError(styleId, modelId);
|
|
233
|
+
return { model: mapPreviewModel(row), filePath: this.filePath(row.relative_path) };
|
|
234
|
+
}
|
|
235
|
+
previewModelRow(styleId) {
|
|
236
|
+
return this.database.prepare("SELECT * FROM style_preview_models WHERE style_id = ?").get(styleId);
|
|
237
|
+
}
|
|
184
238
|
mapStyle(row) {
|
|
185
239
|
const references = this.database.prepare(`${REFERENCE_SELECT}
|
|
186
240
|
WHERE style_id = ?
|
|
187
241
|
ORDER BY position, id`).all(row.id);
|
|
242
|
+
const model = this.previewModelRow(row.id);
|
|
188
243
|
return {
|
|
244
|
+
...(model ? { previewModel: mapPreviewModel(model) } : {}),
|
|
189
245
|
id: row.id,
|
|
190
246
|
name: row.name,
|
|
191
247
|
category: row.category,
|
|
@@ -287,4 +343,7 @@ function mapReference(row) {
|
|
|
287
343
|
createdAt: row.created_at,
|
|
288
344
|
};
|
|
289
345
|
}
|
|
346
|
+
function mapPreviewModel(row) {
|
|
347
|
+
return { id: row.id, originalFilename: row.original_filename, byteSize: row.byte_size, createdAt: row.created_at };
|
|
348
|
+
}
|
|
290
349
|
//# sourceMappingURL=style-library-repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style-library-repository.js","sourceRoot":"","sources":["../../src/database/style-library-repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"style-library-repository.js","sourceRoot":"","sources":["../../src/database/style-library-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { visibleAreaMetrics } from "./draft.ts";
|
|
2
|
+
import { type CompositionPlanIntersection } from "./planning-intersections.ts";
|
|
2
3
|
import type { CompositionArea, CompositionDraft, CompositionVisualWeight, Point } from "./types.ts";
|
|
3
4
|
export type ClippedSide = "top" | "right" | "bottom" | "left";
|
|
4
5
|
export interface CompositionAxisFact {
|
|
@@ -40,6 +41,8 @@ export interface CompositionLayoutFacts {
|
|
|
40
41
|
}>;
|
|
41
42
|
}
|
|
42
43
|
export interface CompositionInspection {
|
|
44
|
+
plans?: CompositionDraft["plans"];
|
|
45
|
+
planningIntersections: CompositionPlanIntersection[];
|
|
43
46
|
version: 1;
|
|
44
47
|
kind: "composition-inspection";
|
|
45
48
|
sourceFingerprint: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { validateDraft, visibleAreaMetrics } from "./draft.js";
|
|
2
2
|
import { COMPOSITION_CANVAS, canvasPointToFrame, frameBoundsInCanvas, } from "./frame.js";
|
|
3
3
|
import { areaGeometry, compositionImageBounds, geometryBounds } from "./geometry.js";
|
|
4
|
+
import { compositionPlanningIntersections } from "./planning-intersections.js";
|
|
4
5
|
import { fingerprintText } from "../fingerprint.js";
|
|
5
6
|
export function draftFingerprint(input) {
|
|
6
7
|
const draft = validateDraft(input);
|
|
@@ -64,6 +65,8 @@ export function inspectComposition(input) {
|
|
|
64
65
|
return {
|
|
65
66
|
version: 1,
|
|
66
67
|
kind: "composition-inspection",
|
|
68
|
+
...(draft.plans ? { plans: structuredClone(draft.plans) } : {}),
|
|
69
|
+
planningIntersections: compositionPlanningIntersections(draft),
|
|
67
70
|
sourceFingerprint: draftFingerprint(draft),
|
|
68
71
|
processingSemantic: draft.processingSemantic,
|
|
69
72
|
frame: structuredClone(draft.frame),
|
|
@@ -257,6 +260,7 @@ function inspectedPoint(point, frame) {
|
|
|
257
260
|
}
|
|
258
261
|
function canonicalDraftJson(draft) {
|
|
259
262
|
return JSON.stringify({
|
|
263
|
+
...(draft.plans ? { plans: draft.plans } : {}),
|
|
260
264
|
...(draft.states ? {
|
|
261
265
|
activeStateId: draft.activeStateId,
|
|
262
266
|
states: draft.states.map(({ id, number, name, layout }) => ({ id, number, name, layout })),
|
|
@@ -307,6 +311,7 @@ function canonicalDraftJson(draft) {
|
|
|
307
311
|
...(area.rotation === undefined ? {} : { rotation: area.rotation }),
|
|
308
312
|
...(area.width === undefined ? {} : { width: area.width }),
|
|
309
313
|
...(area.height === undefined ? {} : { height: area.height }),
|
|
314
|
+
...(area.corners === undefined ? {} : { corners: area.corners }),
|
|
310
315
|
})),
|
|
311
316
|
images: draft.images.map((image) => ({
|
|
312
317
|
id: image.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../src/domain/composition/analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAQrF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA2GpD,MAAM,UAAU,gBAAgB,CAAC,KAAuB;IACtD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAuB;IACxD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;QACzD,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK;YAC1C,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5E,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAClD,SAAS,EAAE,KAAK,CACd,CAAC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,SAAS,CAC/E;YACD,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzD,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnC,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;YAC/C,MAAM,EAAE;gBACN,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;gBACtE,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;gBACtE,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;gBACvE,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;aACxE;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjD,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAClD,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;YACnD,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YACtD,SAAS,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3F,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC/B,YAAY,EAAE,YAAY,CAAC;gBACzB,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAClB,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;gBACjC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAClB,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;aACnC,EAAE,KAAK,CAAC,KAAK,CAAC;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,wBAAwB;QAC9B,iBAAiB,EAAE,gBAAgB,CAAC,KAAK,CAAC;QAC1C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;QACnC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,KAAK;YACR,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;SACtC,CAAC,CAAC;QACH,aAAa,EAAE,KAAK,CAAC,aAAa;YAChC,CAAC,CAAC;gBACE,GAAG,KAAK,CAAC,aAAa;gBACtB,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC;aACpD;YACH,CAAC,CAAC,IAAI;QACR,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE;YACJ,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;YACzC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;SACnC;QACD,OAAO;QACP,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;QAC9B,MAAM,EAAE,KAAK,CAAC,kBAAkB,KAAK,kBAAkB;YACrD,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC;YACpC,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAuB;IAC5C,MAAM,OAAO,GAAG;QACd,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,GAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YACnF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAM,GAAG,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC,MAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;aAClG,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,CAAC,GAAG,EAAE,GAAG,CAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;KACzF,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC9F,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjE,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;QACvC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC;QAC3D,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC;QAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS;YAC1E,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YACjG,qBAAqB,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC;YACjG,eAAe,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC;SACpF,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAClB,KAAuB,EACvB,KAAqC;IAErC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IAChC,MAAM,YAAY,GAA8C;QAC9D,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,EAAE;QACP,UAAU,EAAE,EAAE;KACf,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvE,OAAO;QACL,kBAAkB;QAClB,aAAa,EAAE,KAAK;aACjB,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,aAAa,CAAC;aAC5D,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACtB,YAAY;QACZ,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC9D,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/D,OAAO,EAAE;gBACP,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACtC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;aAC3B;SACF,CAAC,CAAC;QACH,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,kBAAkB,CAAC;QACjD,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,QAAQ,EAAE,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;aACpD,CAAC,CAAC,CAAC;YACJ,MAAM,iBAAiB,GAAG,SAAS;iBAChC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC;iBAC1C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACvB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,iBAAiB;gBACjB,aAAa,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI;gBAClC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;aACnD,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,KAAqC,EACrC,kBAA0B;IAE1B,MAAM,KAAK,GAAoC,EAAE,CAAC;IAClD,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;QACpE,KAAK,IAAI,WAAW,GAAG,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,CAAC,EAAE,CAAC;YACpF,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YAClC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;YACjE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;YAClE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;YACrE,MAAM,UAAU,GAAiC,EAAE,CAAC;YACpD,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI;gBACjD,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvD,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7C,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACxD,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACtD,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7C,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;aACjD,EAAE,CAAC;gBACX,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,kBAAkB,EAAE,CAAC;oBAC7D,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC1B,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACvD,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC1D,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChE,aAAa,EAAE,KAAK,CAAC,OAAO,CAC1B,KAAK,CAAC,MAAM,CAAC,QAAQ,EACrB,KAAK,CAAC,MAAM,CAAC,QAAQ,EACrB,MAAM,CAAC,MAAM,CAAC,QAAQ,EACtB,MAAM,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAC;gBACF,WAAW,EAAE,KAAK,CAAC,OAAO,CACxB,KAAK,CAAC,MAAM,CAAC,QAAQ,EACrB,KAAK,CAAC,MAAM,CAAC,QAAQ,EACrB,MAAM,CAAC,MAAM,CAAC,QAAQ,EACtB,MAAM,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAC;gBACF,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAC9B,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAChC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CACjC,CAAC;gBACF,UAAU;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,MAAc;IAChD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,OAAO,CACd,YAAoB,EACpB,YAAoB,EACpB,aAAqB,EACrB,aAAqB;IAErB,IAAI,YAAY,GAAG,aAAa;QAAE,OAAO,aAAa,GAAG,YAAY,CAAC;IACtE,IAAI,aAAa,GAAG,YAAY;QAAE,OAAO,YAAY,GAAG,aAAa,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAY,EACZ,MAAwD;IAExD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,IAAqB,EACrB,KAAsC;IAEtC,OAAO,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,QAAQ,CACf,KAAkD,EAClD,KAAuB;IAEvB,MAAM,IAAI,GAA0B,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,KAAK,IAAI,MAAM,GAAG,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC;gBACR,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACxC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;gBAC5E,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;aACzE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CACnB,MAAyC,EACzC,gBAAkC;IAElC,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/E,IAAI,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,KAAY;IAC5B,OAAO;QACL,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK;QACrC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAY,EAAE,KAAuB;IAC3D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAuB;IACjD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;SAC3F,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,KAAK,EAAE;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;YACxB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;YAC1B,MAAM,EAAE;gBACN,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;gBAC/B,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;aAClC;SACF;QACD,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QACvE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACjE,EAAE;YACF,CAAC;YACD,CAAC;YACD,GAAG,gBAAgB,CAAC,QAAQ,CAAC;SAC9B,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,aAAa;YACrB,CAAC,CAAC;gBACE,aAAa,EAAE;oBACb,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE;oBAC1B,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;oBACxB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;oBACxB,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ;oBACtC,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC;iBACzC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,gBAAgB,CAAC,IAAI,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5E,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAC9D,CAAC,CAAC;QACH,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,gBAAgB,CAAC,KAAK,CAAC;YAC1B,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;SAC/E,CAAC,CAAC;KACJ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAKzB;IACC,OAAO;QACL,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxD,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC1E,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;QAChF,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;KAC5E,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../src/domain/composition/analysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ export declare function addDirectionLine(input: CompositionDraft): {
|
|
|
31
31
|
export declare function copyCompositionItems(input: CompositionDraft, ids: readonly string[]): CompositionClipboardItem[];
|
|
32
32
|
export declare function pasteCompositionItems(input: CompositionDraft, clipboard: readonly CompositionClipboardItem[], offset: Point): PasteCompositionItemsResult;
|
|
33
33
|
export declare function moveItem(input: CompositionDraft, id: string, point: Point): CompositionDraft;
|
|
34
|
+
export declare function moveTextRegionCorner(input: CompositionDraft, id: string, index: number, point: Point): CompositionDraft;
|
|
34
35
|
export declare function resizeArea(input: CompositionDraft, id: string, nextArea: number): CompositionDraft;
|
|
35
36
|
export declare function resizeFreeArea(input: CompositionDraft, id: string, width: number, height: number): CompositionDraft;
|
|
36
37
|
export declare function rotateArea(input: CompositionDraft, id: string, rotation: number): CompositionDraft;
|
|
@@ -48,3 +49,4 @@ export declare function moveFrame(input: CompositionDraft, point: Point): Compos
|
|
|
48
49
|
export declare function resizeFrame(input: CompositionDraft, scale: number, corner?: CompositionFrameCorner): CompositionDraft;
|
|
49
50
|
export declare function resizeFrameToBounds(input: CompositionDraft, bounds: CompositionFrameBounds): CompositionDraft;
|
|
50
51
|
export declare function visibleAreaMetrics(input: CompositionDraft): VisibleAreaMetrics;
|
|
52
|
+
export declare function normalizeCompositionSymmetryRotation(value: number, frame: CompositionFrameSize): number;
|
|
@@ -5,8 +5,8 @@ import compositionDraftSchema from "../../../schemas/composition-draft.schema.js
|
|
|
5
5
|
type: "json"
|
|
6
6
|
};
|
|
7
7
|
import { createHuman2AiCanvasNodeMetadata, normalizeHuman2AiCanvasNodeMetadata, } from "../canvas-node-metadata.js";
|
|
8
|
-
import { calculateVisibleAreaMetrics, freeDimensionsFromArea, } from "./geometry.js";
|
|
9
|
-
import { COMPOSITION_CANVAS, changeCompositionFrameSize, createCompositionFrame, isCompositionFrameRatioSupported, moveCompositionFrame, resizeCompositionFrame, resizeCompositionFrameToBounds, } from "./frame.js";
|
|
8
|
+
import { calculateVisibleAreaMetrics, freeDimensionsFromArea, areaGeometry, isConvexTextOutline, polygonArea, } from "./geometry.js";
|
|
9
|
+
import { COMPOSITION_CANVAS, changeCompositionFrameSize, compositionSymmetryRotations, createCompositionFrame, isCompositionFrameRatioSupported, moveCompositionFrame, resizeCompositionFrame, resizeCompositionFrameToBounds, } from "./frame.js";
|
|
10
10
|
export const MAX_FOCUS_POINTS = 3;
|
|
11
11
|
export const PRIMITIVES = ["circle", "triangle", "quadrilateral"];
|
|
12
12
|
export const ASPECTS = ["square", "free", "landscape", "portrait"];
|
|
@@ -35,10 +35,11 @@ export function createDraft(frame = { width: 1600, height: 900 }) {
|
|
|
35
35
|
directionLine: null,
|
|
36
36
|
areas: [],
|
|
37
37
|
images: [],
|
|
38
|
+
plans: [{ id: "plan-1", type: "thirds", axes: "both", visible: true }],
|
|
38
39
|
});
|
|
39
40
|
}
|
|
40
41
|
export function validateDraft(input) {
|
|
41
|
-
const normalizedInput = normalizeCompositionItemMetadata(input);
|
|
42
|
+
const normalizedInput = normalizeCompositionItemMetadata(normalizeLegacyCompositionPlanning(input));
|
|
42
43
|
if (!validateSchema(normalizedInput)) {
|
|
43
44
|
throw new Error(formatValidationErrors(validateSchema.errors));
|
|
44
45
|
}
|
|
@@ -51,6 +52,26 @@ export function validateDraft(input) {
|
|
|
51
52
|
: structuredClone(validatedInput.frame);
|
|
52
53
|
if (legacyFrame)
|
|
53
54
|
migrateLegacyDraftCoordinates(draft);
|
|
55
|
+
if (draft.plans && new Set(draft.plans.map((plan) => plan.id)).size !== draft.plans.length) {
|
|
56
|
+
throw new Error("Composition planning ids must be unique within a state.");
|
|
57
|
+
}
|
|
58
|
+
if (draft.plans)
|
|
59
|
+
draft.plans = draft.plans.map((plan) => {
|
|
60
|
+
const base = { id: plan.id, visible: plan.visible };
|
|
61
|
+
if (plan.type === "triangle")
|
|
62
|
+
return { ...base, type: plan.type, x: plan.x, y: plan.y, rotation: normalizeRotation(plan.rotation), width: plan.width, height: plan.height };
|
|
63
|
+
if (plan.type === "radial")
|
|
64
|
+
return plan.mode === "free"
|
|
65
|
+
? { ...base, type: plan.type, x: plan.x, y: plan.y, mode: plan.mode, angles: plan.angles.map(normalizeRotation) }
|
|
66
|
+
: { ...base, type: plan.type, x: plan.x, y: plan.y, mode: plan.mode, rotation: normalizeRotation(plan.rotation), rayCount: plan.rayCount, spread: plan.spread };
|
|
67
|
+
if (plan.type === "symmetry")
|
|
68
|
+
return { ...base, type: plan.type, x: 0.5, y: 0.5, rotation: normalizeCompositionSymmetryRotation(plan.rotation, draft.frame) };
|
|
69
|
+
if (plan.type === "golden-spiral") {
|
|
70
|
+
const transform = { x: plan.x, y: plan.y, rotation: normalizeRotation(plan.rotation) };
|
|
71
|
+
return { ...base, type: plan.type, ...transform, scale: plan.scale, mirrored: plan.mirrored };
|
|
72
|
+
}
|
|
73
|
+
return { ...base, type: plan.type, axes: plan.axes };
|
|
74
|
+
});
|
|
54
75
|
const ids = new Set();
|
|
55
76
|
for (const item of [
|
|
56
77
|
...draft.focusPoints,
|
|
@@ -66,6 +87,16 @@ export function validateDraft(input) {
|
|
|
66
87
|
? { ...draft.directionLine, rotation: normalizeRotation(draft.directionLine.rotation) }
|
|
67
88
|
: null;
|
|
68
89
|
draft.areas.forEach((area) => {
|
|
90
|
+
if (area.corners) {
|
|
91
|
+
if (!isConvexTextOutline(area.corners))
|
|
92
|
+
throw new Error("Text region corners must form a convex quadrilateral.");
|
|
93
|
+
const xs = area.corners.map((point) => point.x), ys = area.corners.map((point) => point.y);
|
|
94
|
+
if (Math.min(...xs) > 1e-8 || Math.min(...ys) > 1e-8
|
|
95
|
+
|| Math.max(...xs) < 1 - 1e-8 || Math.max(...ys) < 1 - 1e-8) {
|
|
96
|
+
throw new Error("Text region corners must span their normalized bounding box.");
|
|
97
|
+
}
|
|
98
|
+
area.area = area.width * area.height * polygonArea(area.corners);
|
|
99
|
+
}
|
|
69
100
|
if (area.primitive === "circle" && area.aspect !== "free")
|
|
70
101
|
area.rotation = 0;
|
|
71
102
|
if (area.primitive === "quadrilateral" &&
|
|
@@ -267,13 +298,51 @@ export function moveItem(input, id, point) {
|
|
|
267
298
|
item.y = point.y;
|
|
268
299
|
return draft;
|
|
269
300
|
}
|
|
301
|
+
export function moveTextRegionCorner(input, id, index, point) {
|
|
302
|
+
const draft = validateDraft(input);
|
|
303
|
+
const area = findArea(draft, id);
|
|
304
|
+
if (!isCompositionTextRegion(area) || !Number.isInteger(index) || index < 0 || index > 3)
|
|
305
|
+
return input;
|
|
306
|
+
if (!Number.isFinite(point.x) || !Number.isFinite(point.y))
|
|
307
|
+
return input;
|
|
308
|
+
const geometry = areaGeometry({ ...area, x: 0, y: 0, rotation: 0 }, COMPOSITION_CANVAS);
|
|
309
|
+
if (geometry.type !== "polygon")
|
|
310
|
+
return input;
|
|
311
|
+
const angle = (area.rotation ?? 0) * Math.PI / 180;
|
|
312
|
+
const dx = (point.x - area.x) * COMPOSITION_CANVAS.width;
|
|
313
|
+
const dy = (point.y - area.y) * COMPOSITION_CANVAS.height;
|
|
314
|
+
geometry.points[index] = {
|
|
315
|
+
x: dx * Math.cos(angle) + dy * Math.sin(angle),
|
|
316
|
+
y: -dx * Math.sin(angle) + dy * Math.cos(angle),
|
|
317
|
+
};
|
|
318
|
+
const xs = geometry.points.map((point) => point.x);
|
|
319
|
+
const ys = geometry.points.map((point) => point.y);
|
|
320
|
+
const left = Math.min(...xs), top = Math.min(...ys);
|
|
321
|
+
const width = Math.max(...xs) - left, height = Math.max(...ys) - top;
|
|
322
|
+
if (width < 8 || height < 8)
|
|
323
|
+
return input;
|
|
324
|
+
const corners = geometry.points.map((point) => ({
|
|
325
|
+
x: (point.x - left) / width, y: (point.y - top) / height,
|
|
326
|
+
}));
|
|
327
|
+
if (!isConvexTextOutline(corners))
|
|
328
|
+
return input;
|
|
329
|
+
const offsetX = left + width / 2, offsetY = top + height / 2;
|
|
330
|
+
area.x += (offsetX * Math.cos(angle) - offsetY * Math.sin(angle)) / COMPOSITION_CANVAS.width;
|
|
331
|
+
area.y += (offsetX * Math.sin(angle) + offsetY * Math.cos(angle)) / COMPOSITION_CANVAS.height;
|
|
332
|
+
area.width = width / COMPOSITION_CANVAS.width;
|
|
333
|
+
area.height = height / COMPOSITION_CANVAS.height;
|
|
334
|
+
area.aspect = "free";
|
|
335
|
+
area.corners = corners;
|
|
336
|
+
area.area = area.width * area.height * polygonArea(corners);
|
|
337
|
+
return draft;
|
|
338
|
+
}
|
|
270
339
|
export function resizeArea(input, id, nextArea) {
|
|
271
340
|
const draft = validateDraft(input);
|
|
272
341
|
const area = findArea(draft, id);
|
|
273
342
|
if (!Number.isFinite(nextArea) || nextArea <= 0)
|
|
274
343
|
return draft;
|
|
275
344
|
if (area.aspect === "free") {
|
|
276
|
-
const scale = Math.sqrt(nextArea / (area.width * area.height));
|
|
345
|
+
const scale = Math.sqrt(nextArea / (area.corners ? area.area : area.width * area.height));
|
|
277
346
|
area.width *= scale;
|
|
278
347
|
area.height *= scale;
|
|
279
348
|
}
|
|
@@ -291,7 +360,8 @@ export function resizeFreeArea(input, id, width, height) {
|
|
|
291
360
|
area.width = width;
|
|
292
361
|
area.height = height;
|
|
293
362
|
area.aspect = "free";
|
|
294
|
-
const areaFactor = area.
|
|
363
|
+
const areaFactor = area.corners ? polygonArea(area.corners)
|
|
364
|
+
: area.primitive === "circle" ? Math.PI / 4 : area.primitive === "triangle" ? 0.5 : 1;
|
|
295
365
|
area.area = width * height * areaFactor;
|
|
296
366
|
return draft;
|
|
297
367
|
}
|
|
@@ -336,6 +406,7 @@ export function setAreaAspect(input, id, aspect) {
|
|
|
336
406
|
Object.assign(area, freeDimensionsFromArea(area.area, COMPOSITION_CANVAS, 1.6, area.primitive));
|
|
337
407
|
}
|
|
338
408
|
else if (aspect !== "free") {
|
|
409
|
+
delete area.corners;
|
|
339
410
|
delete area.width;
|
|
340
411
|
delete area.height;
|
|
341
412
|
}
|
|
@@ -408,6 +479,17 @@ export function changeFrame(input, frame) {
|
|
|
408
479
|
const draft = validateDraft(input);
|
|
409
480
|
validateFrame(frame);
|
|
410
481
|
draft.frame = changeCompositionFrameSize(draft.frame, frame);
|
|
482
|
+
if (draft.plans)
|
|
483
|
+
draft.plans = draft.plans.map((plan) => {
|
|
484
|
+
if (plan.type !== "symmetry")
|
|
485
|
+
return plan;
|
|
486
|
+
// Corner-aligned axes follow the new ratio; the original eight directions stay fixed.
|
|
487
|
+
if (Math.abs(plan.rotation / 45 - Math.round(plan.rotation / 45)) < 1e-8)
|
|
488
|
+
return plan;
|
|
489
|
+
const angle = plan.rotation * Math.PI / 180;
|
|
490
|
+
const rotation = Math.atan2(Math.sin(angle) * frame.height / input.frame.height, Math.cos(angle) * frame.width / input.frame.width) * 180 / Math.PI;
|
|
491
|
+
return { ...plan, rotation: normalizeCompositionSymmetryRotation(rotation, draft.frame) };
|
|
492
|
+
});
|
|
411
493
|
return draft;
|
|
412
494
|
}
|
|
413
495
|
export function moveFrame(input, point) {
|
|
@@ -453,6 +535,40 @@ function validateFrame(frame) {
|
|
|
453
535
|
if (values.bounds !== undefined)
|
|
454
536
|
validateFrameBounds(values.bounds, ratio);
|
|
455
537
|
}
|
|
538
|
+
function normalizeLegacyCompositionPlanning(input) {
|
|
539
|
+
if (!input || typeof input !== "object" || Array.isArray(input))
|
|
540
|
+
return input;
|
|
541
|
+
const source = input;
|
|
542
|
+
const frame = source.frame;
|
|
543
|
+
const plans = Array.isArray(source.plans) ? source.plans.map((inputPlan) => {
|
|
544
|
+
if (!inputPlan || typeof inputPlan !== "object" || Array.isArray(inputPlan))
|
|
545
|
+
return inputPlan;
|
|
546
|
+
const { enabled: _enabled, note: _note, ...plan } = inputPlan;
|
|
547
|
+
if (plan.type === "radial" && plan.mode === undefined)
|
|
548
|
+
return { ...plan, mode: "uniform" };
|
|
549
|
+
if (plan?.type !== "triangle" || !Array.isArray(plan.points) || plan.points.length !== 3
|
|
550
|
+
|| !plan.points.every((p) => p && Number.isFinite(p.x) && Number.isFinite(p.y))
|
|
551
|
+
|| !frame || !Number.isFinite(frame.width) || !Number.isFinite(frame.height) || frame.width <= 0 || frame.height <= 0)
|
|
552
|
+
return plan;
|
|
553
|
+
const [apex, left, right] = plan.points.map((p) => ({ x: p.x * frame.width, y: p.y * frame.height }));
|
|
554
|
+
const dx = right.x - left.x, dy = right.y - left.y;
|
|
555
|
+
const width = Math.hypot(dx, dy);
|
|
556
|
+
if (width === 0)
|
|
557
|
+
return plan;
|
|
558
|
+
const mid = { x: (left.x + right.x) / 2, y: (left.y + right.y) / 2 };
|
|
559
|
+
const height = ((mid.x - apex.x) * -dy + (mid.y - apex.y) * dx) / width;
|
|
560
|
+
if (height === 0)
|
|
561
|
+
return plan;
|
|
562
|
+
const { points: _points, ...base } = plan;
|
|
563
|
+
return { ...base, x: (mid.x + dy / width * height / 2) / frame.width,
|
|
564
|
+
y: (mid.y - dx / width * height / 2) / frame.height,
|
|
565
|
+
rotation: Math.atan2(dy, dx) * 180 / Math.PI + (height < 0 ? 180 : 0),
|
|
566
|
+
width: width / frame.width, height: Math.abs(height) / frame.height };
|
|
567
|
+
}) : undefined;
|
|
568
|
+
const states = Array.isArray(source.states) ? source.states.map((state) => state && typeof state === "object"
|
|
569
|
+
? { ...state, layout: normalizeLegacyCompositionPlanning(state.layout) } : state) : undefined;
|
|
570
|
+
return { ...source, ...(plans ? { plans } : {}), ...(states ? { states } : {}) };
|
|
571
|
+
}
|
|
456
572
|
function normalizeCompositionItemMetadata(input) {
|
|
457
573
|
if (!input || typeof input !== "object" || Array.isArray(input))
|
|
458
574
|
return input;
|
|
@@ -593,6 +709,11 @@ function validateImageCrop(crop) {
|
|
|
593
709
|
throw new Error("Image crop must stay inside the source image.");
|
|
594
710
|
}
|
|
595
711
|
}
|
|
712
|
+
export function normalizeCompositionSymmetryRotation(value, frame) {
|
|
713
|
+
const rotation = normalizeRotation(value);
|
|
714
|
+
const distance = (angle) => Math.abs(((angle - rotation + 540) % 360) - 180);
|
|
715
|
+
return compositionSymmetryRotations(frame).reduce((closest, angle) => distance(angle) < distance(closest) ? angle : closest);
|
|
716
|
+
}
|
|
596
717
|
function normalizeRotation(value) {
|
|
597
718
|
return ((value % 360) + 360) % 360;
|
|
598
719
|
}
|