human2ai 0.1.5 → 0.1.6

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 (166) hide show
  1. package/README.en.md +51 -28
  2. package/README.md +51 -28
  3. package/dist/cli/main.js +33 -21
  4. package/dist/cli/main.js.map +1 -1
  5. package/dist/database/composition-session-repository.d.ts +2 -0
  6. package/dist/database/composition-session-repository.js +1 -0
  7. package/dist/database/composition-session-repository.js.map +1 -1
  8. package/dist/database/draft-version-store.d.ts +8 -1
  9. package/dist/database/draft-version-store.js +21 -4
  10. package/dist/database/draft-version-store.js.map +1 -1
  11. package/dist/database/project-session-repository.d.ts +24 -1
  12. package/dist/database/project-session-repository.js +80 -0
  13. package/dist/database/project-session-repository.js.map +1 -1
  14. package/dist/database/session-preview-validation.d.ts +3 -0
  15. package/dist/database/session-preview-validation.js +44 -0
  16. package/dist/database/session-preview-validation.js.map +1 -0
  17. package/dist/database/spatial-session-repository.d.ts +2 -0
  18. package/dist/database/spatial-session-repository.js +1 -0
  19. package/dist/database/spatial-session-repository.js.map +1 -1
  20. package/dist/database/svg-input.js +9 -1
  21. package/dist/database/svg-input.js.map +1 -1
  22. package/dist/database/ui-sketch-session-repository.d.ts +3 -0
  23. package/dist/database/ui-sketch-session-repository.js +6 -0
  24. package/dist/database/ui-sketch-session-repository.js.map +1 -1
  25. package/dist/domain/canvas-frame.d.ts +15 -0
  26. package/dist/domain/canvas-frame.js +24 -0
  27. package/dist/domain/canvas-frame.js.map +1 -0
  28. package/dist/domain/canvas-node-tone.d.ts +1 -0
  29. package/dist/domain/canvas-node-tone.js +9 -0
  30. package/dist/domain/canvas-node-tone.js.map +1 -0
  31. package/dist/domain/canvas-shape-overlap.d.ts +12 -0
  32. package/dist/domain/canvas-shape-overlap.js +79 -0
  33. package/dist/domain/canvas-shape-overlap.js.map +1 -0
  34. package/dist/domain/composition/analysis.d.ts +1 -0
  35. package/dist/domain/composition/analysis.js +6 -3
  36. package/dist/domain/composition/analysis.js.map +1 -1
  37. package/dist/domain/composition/draft.d.ts +6 -1
  38. package/dist/domain/composition/draft.js +42 -27
  39. package/dist/domain/composition/draft.js.map +1 -1
  40. package/dist/domain/composition/frame.d.ts +5 -8
  41. package/dist/domain/composition/frame.js +21 -68
  42. package/dist/domain/composition/frame.js.map +1 -1
  43. package/dist/domain/composition/index.d.ts +3 -3
  44. package/dist/domain/composition/index.js +3 -3
  45. package/dist/domain/composition/index.js.map +1 -1
  46. package/dist/domain/composition/raster.d.ts +2 -0
  47. package/dist/domain/composition/raster.js +19 -0
  48. package/dist/domain/composition/raster.js.map +1 -0
  49. package/dist/domain/composition/refinement/engine.js +1 -0
  50. package/dist/domain/composition/refinement/engine.js.map +1 -1
  51. package/dist/domain/composition/refinement/types.d.ts +1 -0
  52. package/dist/domain/composition/render.d.ts +6 -0
  53. package/dist/domain/composition/render.js +84 -20
  54. package/dist/domain/composition/render.js.map +1 -1
  55. package/dist/domain/composition/states.js +14 -8
  56. package/dist/domain/composition/states.js.map +1 -1
  57. package/dist/domain/composition/text-warp.d.ts +8 -0
  58. package/dist/domain/composition/text-warp.js +60 -0
  59. package/dist/domain/composition/text-warp.js.map +1 -0
  60. package/dist/domain/composition/types.d.ts +9 -4
  61. package/dist/domain/session/canvas-edit-history.d.ts +2 -0
  62. package/dist/domain/session/canvas-edit-history.js +2 -0
  63. package/dist/domain/session/canvas-edit-history.js.map +1 -1
  64. package/dist/domain/session/preview.d.ts +16 -0
  65. package/dist/domain/session/preview.js +48 -0
  66. package/dist/domain/session/preview.js.map +1 -0
  67. package/dist/domain/session/types.d.ts +8 -0
  68. package/dist/domain/ui-sketch/appearance.d.ts +12 -0
  69. package/dist/domain/ui-sketch/appearance.js +24 -0
  70. package/dist/domain/ui-sketch/appearance.js.map +1 -0
  71. package/dist/domain/ui-sketch/draft.js +3 -1
  72. package/dist/domain/ui-sketch/draft.js.map +1 -1
  73. package/dist/domain/ui-sketch/render.js +21 -17
  74. package/dist/domain/ui-sketch/render.js.map +1 -1
  75. package/dist/domain/ui-sketch/session-preview.d.ts +27 -0
  76. package/dist/domain/ui-sketch/session-preview.js +43 -0
  77. package/dist/domain/ui-sketch/session-preview.js.map +1 -0
  78. package/dist/domain/ui-sketch/types.d.ts +2 -0
  79. package/dist/server/app.d.ts +1 -1
  80. package/dist/server/app.js +8 -0
  81. package/dist/server/app.js.map +1 -1
  82. package/dist/server/routes/project-sessions.js +47 -3
  83. package/dist/server/routes/project-sessions.js.map +1 -1
  84. package/dist/server/routes/session-previews.d.ts +3 -0
  85. package/dist/server/routes/session-previews.js +104 -0
  86. package/dist/server/routes/session-previews.js.map +1 -0
  87. package/dist/server/session-preview-service.d.ts +55 -0
  88. package/dist/server/session-preview-service.js +255 -0
  89. package/dist/server/session-preview-service.js.map +1 -0
  90. package/locales/en/common.json +59 -6
  91. package/migrations/0011_session_groups.sql +21 -0
  92. package/package.json +1 -1
  93. package/schemas/composition-draft.schema.json +11 -2
  94. package/schemas/ui-sketch-draft.schema.json +85 -0
  95. package/skills/human2ai/SKILL.md +1 -1
  96. package/skills/human2ai/references/composition-projection.md +5 -3
  97. package/skills/human2ai/references/composition.md +51 -10
  98. package/skills/human2ai/references/ui-layout.md +7 -1
  99. package/web/out/404/index.html +1 -1
  100. package/web/out/404.html +1 -1
  101. package/web/out/__next.__PAGE__.txt +14 -13
  102. package/web/out/__next._full.txt +23 -22
  103. package/web/out/__next._tree.txt +5 -5
  104. package/web/out/_next/static/chunks/{380-6a6a9517cf13350e.js → 164-d8dd2b053f27bf62.js} +30 -30
  105. package/web/out/_next/static/chunks/348-6baeec6b3dbf02ab.js +1 -0
  106. package/web/out/_next/static/chunks/app/_not-found/page-742cf440bebb3b9b.js +1 -0
  107. package/web/out/_next/static/chunks/app/composition/page-8d037a4b99bb5546.js +1 -0
  108. package/web/out/_next/static/chunks/app/layout-ca2f61a5a618caea.js +1 -0
  109. package/web/out/_next/static/chunks/app/{page-b027a8ffdb9dda66.js → page-9b8bd42a93c9242c.js} +1 -1
  110. package/web/out/_next/static/chunks/app/spatial/page-1d16089ca24b2eb8.js +1 -0
  111. package/web/out/_next/static/chunks/app/styles/{page-87d77b1f3e8fdd21.js → page-e4d3c95957349351.js} +1 -1
  112. package/web/out/_next/static/chunks/app/ui-sketch/page-23e5c3b12d99082c.js +1 -0
  113. package/web/out/_next/static/chunks/main-app-5419a575f3ff4496.js +1 -0
  114. package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-15f5118ed5e001a8.js +1 -0
  115. package/web/out/_next/static/chunks/webpack-e781b4e158568ba0.js +1 -0
  116. package/web/out/_next/static/css/{d42ebb6745c15e30.css → 210db1811016f805.css} +1 -1
  117. package/web/out/_next/static/css/2160a6bbf2cb551c.css +1 -0
  118. package/web/out/_next/static/css/{db78da93b4de5040.css → 28a4978acacc40b0.css} +1 -1
  119. package/web/out/_next/static/css/{c739d0131cdcc891.css → 2a0db06638359895.css} +1 -1
  120. package/web/out/_next/static/css/4b1f9941c214d619.css +5 -0
  121. package/web/out/_next/static/css/9c61ee5fe683073a.css +1 -0
  122. package/web/out/_not-found/__next._full.txt +21 -18
  123. package/web/out/_not-found/__next._not-found.__PAGE__.txt +11 -8
  124. package/web/out/_not-found/__next._tree.txt +5 -3
  125. package/web/out/_not-found/index.html +1 -1
  126. package/web/out/_not-found/index.txt +21 -18
  127. package/web/out/composition/__next._full.txt +26 -26
  128. package/web/out/composition/__next._tree.txt +6 -7
  129. package/web/out/composition/__next.composition.__PAGE__.txt +13 -13
  130. package/web/out/composition/index.html +1 -1
  131. package/web/out/composition/index.txt +26 -26
  132. package/web/out/index.html +1 -1
  133. package/web/out/index.txt +23 -22
  134. package/web/out/spatial/__next._full.txt +25 -24
  135. package/web/out/spatial/__next._tree.txt +5 -5
  136. package/web/out/spatial/__next.spatial.__PAGE__.txt +12 -11
  137. package/web/out/spatial/index.html +1 -1
  138. package/web/out/spatial/index.txt +25 -24
  139. package/web/out/styles/__next._full.txt +25 -24
  140. package/web/out/styles/__next._tree.txt +5 -5
  141. package/web/out/styles/__next.styles.__PAGE__.txt +12 -11
  142. package/web/out/styles/index.html +1 -1
  143. package/web/out/styles/index.txt +25 -24
  144. package/web/out/ui-sketch/__next._full.txt +26 -26
  145. package/web/out/ui-sketch/__next._tree.txt +6 -7
  146. package/web/out/ui-sketch/__next.ui-sketch.__PAGE__.txt +13 -13
  147. package/web/out/ui-sketch/index.html +1 -1
  148. package/web/out/ui-sketch/index.txt +26 -26
  149. package/web/out/_next/static/chunks/130-930cfe062cda6fb5.js +0 -1
  150. package/web/out/_next/static/chunks/166-64abdc6456626378.js +0 -1
  151. package/web/out/_next/static/chunks/20-0801fc297cda2a7a.js +0 -1
  152. package/web/out/_next/static/chunks/678-6a688c1f8589183c.js +0 -1
  153. package/web/out/_next/static/chunks/app/_not-found/page-527a4b0506fa60cb.js +0 -1
  154. package/web/out/_next/static/chunks/app/composition/page-945cb9644c513407.js +0 -1
  155. package/web/out/_next/static/chunks/app/layout-33fe456f6115412e.js +0 -1
  156. package/web/out/_next/static/chunks/app/spatial/page-c52d564a39d3b592.js +0 -1
  157. package/web/out/_next/static/chunks/app/ui-sketch/page-69219e06cc93c28f.js +0 -1
  158. package/web/out/_next/static/chunks/main-app-4a71cca48ead7720.js +0 -1
  159. package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-6a956dd8904b8723.js +0 -1
  160. package/web/out/_next/static/chunks/webpack-c0280e9af5fc8cd3.js +0 -1
  161. package/web/out/_next/static/css/0ab45995828642ec.css +0 -1
  162. package/web/out/_next/static/css/0c7915cdb1509f9d.css +0 -1
  163. package/web/out/_next/static/css/4fb1bde9070d5094.css +0 -5
  164. package/web/out/_next/static/css/d787350911847f22.css +0 -1
  165. /package/web/out/_next/static/{Rem7hlT5iXtA-5codwSoe → MtSBeMOcAQHxKAV1fmedM}/_buildManifest.js +0 -0
  166. /package/web/out/_next/static/{Rem7hlT5iXtA-5codwSoe → MtSBeMOcAQHxKAV1fmedM}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"project-session-repository.js","sourceRoot":"","sources":["../../src/database/project-session-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-session-repository.js","sourceRoot":"","sources":["../../src/database/project-session-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { DatabaseConnection } from "./migrate.ts";
2
+ import type { UiSketchDraft } from "../domain/ui-sketch/types.ts";
3
+ export declare function validateSessionPreviewReferences(database: DatabaseConnection, ownerId: string, draft: UiSketchDraft, previous?: UiSketchDraft): void;
@@ -0,0 +1,44 @@
1
+ import { InvalidRecordError } from "./project-session-repository.js";
2
+ import { previewSourceKey } from "../domain/session/preview.js";
3
+ export function validateSessionPreviewReferences(database, ownerId, draft, previous) {
4
+ const owner = database.prepare("SELECT project_id FROM sessions WHERE id = ?").get(ownerId);
5
+ for (const image of draft.images) {
6
+ const ref = image.previewReference;
7
+ if (!ref)
8
+ continue;
9
+ if (ref.sessionId === ownerId)
10
+ throw new InvalidRecordError("A session preview cannot reference its own session.");
11
+ if (!image.assetId || !database.prepare("SELECT id FROM image_assets WHERE id = ? AND session_id = ?").get(image.assetId, ownerId)) {
12
+ throw new InvalidRecordError("Session previews require an image owned by the destination session.");
13
+ }
14
+ const source = database.prepare("SELECT project_id, session_type FROM sessions WHERE id = ?").get(ref.sessionId);
15
+ if (!source || !owner.project_id || owner.project_id !== source.project_id || source.session_type !== ref.sessionType) {
16
+ // Retain or restore only an exact destination-owned historical snapshot.
17
+ // This also covers local undo submitted through the normal save endpoint.
18
+ if (previous?.images.some(before => before.assetId === image.assetId && before.previewReference
19
+ && previewSourceKey(before.previewReference) === previewSourceKey(ref) && before.previewReference.renderedRevision === ref.renderedRevision))
20
+ continue;
21
+ const retained = database.prepare(`SELECT 1 FROM ui_sketch_draft_versions v, json_each(v.draft_json, '$.images') image
22
+ WHERE v.session_id = ? AND json_extract(image.value, '$.assetId') = ?
23
+ AND json_extract(image.value, '$.previewReference.sessionId') = ?
24
+ AND json_extract(image.value, '$.previewReference.sessionType') = ?
25
+ AND json_extract(image.value, '$.previewReference.renderedRevision') = ?
26
+ AND coalesce(json_extract(image.value, '$.previewReference.stateId'), json_extract(image.value, '$.previewReference.cameraId')) = ? LIMIT 1`)
27
+ .get(ownerId, image.assetId, ref.sessionId, ref.sessionType, ref.renderedRevision, ref.sessionType === "spatial" ? ref.cameraId : ref.stateId);
28
+ if (retained)
29
+ continue;
30
+ throw new InvalidRecordError("Session previews require another session of the specified type in the same project.");
31
+ }
32
+ const table = ref.sessionType === "spatial" ? "spatial_draft_versions" : ref.sessionType === "ui-layout" ? "ui_sketch_draft_versions" : "composition_draft_versions";
33
+ const row = database.prepare(`SELECT draft_json FROM ${table} WHERE session_id = ? AND revision = ?`).get(ref.sessionId, ref.renderedRevision);
34
+ if (!row)
35
+ throw new InvalidRecordError("The preview source revision does not exist.");
36
+ const content = JSON.parse(row.draft_json);
37
+ const ids = ref.sessionType === "spatial" ? content.cameras.map((c) => c.id)
38
+ : ref.sessionType === "ui-layout" ? content.stateTabs?.map((s) => s.id) ?? ["start", ...content.stages.map((s) => s.id)]
39
+ : content.states?.map((s) => s.id) ?? ["state-1"];
40
+ if (!ids.includes(ref.sessionType === "spatial" ? ref.cameraId : ref.stateId))
41
+ throw new InvalidRecordError("The selected preview output does not exist.");
42
+ }
43
+ }
44
+ //# sourceMappingURL=session-preview-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-preview-validation.js","sourceRoot":"","sources":["../../src/database/session-preview-validation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { RestoreDraftVersionInput } from "../domain/session/index.ts";
2
+ import { type DraftSavedEvent } from "./draft-version-store.ts";
2
3
  import type { DatabaseConnection } from "./migrate.ts";
3
4
  import type { CreateDraftVersionInput, UndoDraftVersionInput } from "../domain/session/index.ts";
4
5
  import { type SpatialDraft, type SpatialOperation } from "../domain/spatial/index.ts";
@@ -8,6 +9,7 @@ export declare class SpatialSessionRepository {
8
9
  private applyingOperations;
9
10
  constructor(database: DatabaseConnection);
10
11
  listDraftVersions(sessionId: string): import("../domain/session/draft-version.ts").DraftVersion<SpatialDraft>[];
12
+ onDraftSaved(listener: (event: DraftSavedEvent<SpatialDraft>) => void): () => void;
11
13
  getLatestDraftVersion(sessionId: string, knownRevision?: number): import("../domain/session/draft-version.ts").DraftVersion<SpatialDraft> | null;
12
14
  getDraftVersion(sessionId: string, revision: number): import("../domain/session/draft-version.ts").DraftVersion<SpatialDraft>;
13
15
  createDraftVersion(sessionId: string, input: CreateDraftVersionInput): import("../domain/session/draft-version.ts").DraftVersion<SpatialDraft>;
@@ -15,6 +15,7 @@ export class SpatialSessionRepository {
15
15
  });
16
16
  }
17
17
  listDraftVersions(sessionId) { return this.draftVersions.listDraftVersions(sessionId); }
18
+ onDraftSaved(listener) { return this.draftVersions.onSaved(listener); }
18
19
  getLatestDraftVersion(sessionId, knownRevision) { return this.draftVersions.getLatestDraftVersion(sessionId, knownRevision); }
19
20
  getDraftVersion(sessionId, revision) { return this.draftVersions.getDraftVersion(sessionId, revision); }
20
21
  createDraftVersion(sessionId, input) { return this.draftVersions.createDraftVersion(sessionId, input); }
@@ -1 +1 @@
1
- {"version":3,"file":"spatial-session-repository.js","sourceRoot":"","sources":["../../src/database/spatial-session-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spatial-session-repository.js","sourceRoot":"","sources":["../../src/database/spatial-session-repository.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,11 @@ const elements = new Set([
13
13
  ]);
14
14
  // Image nodes accept portable static SVG, without executing or fetching content.
15
15
  export function isSelfContainedSvg(data) {
16
+ return validateSvg(data, 0);
17
+ }
18
+ function validateSvg(data, imageDepth) {
19
+ if (imageDepth > 32)
20
+ return false;
16
21
  try {
17
22
  const source = new TextDecoder("utf-8", { fatal: true }).decode(data);
18
23
  const parser = new SaxesParser({ xmlns: true });
@@ -42,7 +47,10 @@ export function isSelfContainedSvg(data) {
42
47
  const localReference = /^#[^\s]+$/.test(value);
43
48
  const embeddedBitmap = tag.local === "image"
44
49
  && /^data:image\/(?:png|jpeg|webp);base64,[a-z\d+/=\s]+$/i.test(value);
45
- if (!localReference && !embeddedBitmap)
50
+ const embeddedSvg = tag.local === "image"
51
+ && /^data:image\/svg\+xml;base64,[a-z\d+/=\s]+$/i.test(value)
52
+ && validateSvg(Buffer.from(value.slice(value.indexOf(",") + 1), "base64"), imageDepth + 1);
53
+ if (!localReference && !embeddedBitmap && !embeddedSvg)
46
54
  reject();
47
55
  }
48
56
  if (["style", "fill", "stroke", "filter", "clip-path", "mask", "marker", "marker-start", "marker-mid", "marker-end", "cursor"].includes(attribute.local)
@@ -1 +1 @@
1
- {"version":3,"file":"svg-input.js","sourceRoot":"","sources":["../../src/database/svg-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svg-input.js","sourceRoot":"","sources":["../../src/database/svg-input.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,13 @@ import { type UiSketchDraftVersion } from "../domain/ui-sketch/index.ts";
3
3
  import type { UiSketchDraft } from "../domain/ui-sketch/index.ts";
4
4
  import type { CreateDraftVersionInput } from "../domain/session/index.ts";
5
5
  import type { DatabaseConnection } from "./migrate.ts";
6
+ import type { DraftSavedEvent } from "./draft-version-store.ts";
6
7
  export { DraftRevisionConflictError as UiSketchDraftRevisionConflictError, DraftSessionTypeMismatchError as UiSketchSessionRequiredError, DraftVersionNotFoundError as UiSketchDraftVersionNotFoundError, } from "./draft-version-errors.ts";
7
8
  export declare class UiSketchSessionRepository {
8
9
  private readonly draftVersions;
9
10
  constructor(database: DatabaseConnection);
11
+ onDraftSaved(listener: (event: DraftSavedEvent<UiSketchDraft>) => void): () => void;
12
+ refreshPreviewVersion(sessionId: string, input: CreateDraftVersionInput, batchId: string): import("../domain/session/draft-version.ts").DraftVersion<UiSketchDraft>;
10
13
  listDraftVersions(sessionId: string): UiSketchDraftVersion[];
11
14
  getDraftVersion(sessionId: string, revision: number): UiSketchDraftVersion;
12
15
  getLatestDraftVersion(sessionId: string, knownRevision?: number): UiSketchDraftVersion | null;
@@ -1,5 +1,6 @@
1
1
  import { uiSketchDraftFingerprint, validateUiSketchDraft, } from "../domain/ui-sketch/index.js";
2
2
  import { DraftVersionStore } from "./draft-version-store.js";
3
+ import { validateSessionPreviewReferences } from "./session-preview-validation.js";
3
4
  export { DraftRevisionConflictError as UiSketchDraftRevisionConflictError, DraftSessionTypeMismatchError as UiSketchSessionRequiredError, DraftVersionNotFoundError as UiSketchDraftVersionNotFoundError, } from "./draft-version-errors.js";
4
5
  export class UiSketchSessionRepository {
5
6
  draftVersions;
@@ -11,8 +12,13 @@ export class UiSketchSessionRepository {
11
12
  sessionLabel: "UI sketch session",
12
13
  validateDraft: validateUiSketchDraft,
13
14
  fingerprint: uiSketchDraftFingerprint,
15
+ validateSessionDraft: (id, draft, previous) => validateSessionPreviewReferences(database, id, draft, previous),
14
16
  });
15
17
  }
18
+ onDraftSaved(listener) { return this.draftVersions.onSaved(listener); }
19
+ refreshPreviewVersion(sessionId, input, batchId) {
20
+ return this.draftVersions.createDraftVersion(sessionId, input, batchId);
21
+ }
16
22
  listDraftVersions(sessionId) {
17
23
  return this.draftVersions.listDraftVersions(sessionId);
18
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ui-sketch-session-repository.js","sourceRoot":"","sources":["../../src/database/ui-sketch-session-repository.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GAEtB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAI7D,OAAO,EACL,0BAA0B,IAAI,kCAAkC,EAChE,6BAA6B,IAAI,4BAA4B,EAC7D,yBAAyB,IAAI,iCAAiC,GAC/D,MAAM,2BAA2B,CAAC;AAEnC,MAAM,OAAO,yBAAyB;IACnB,aAAa,CAAmC;IAEjE,YAAY,QAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAiB,CAAgB,QAAQ,EAAE;YAClE,KAAK,EAAE,0BAA0B;YACjC,iBAAiB,EAAE,KAAK;YACxB,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,mBAAmB;YACjC,aAAa,EAAE,qBAAqB;YACpC,WAAW,EAAE,wBAAwB;SACtC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,eAAe,CAAC,SAAiB,EAAE,QAAgB;QACjD,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,qBAAqB,CAAC,SAAiB,EAAE,aAAsB;QAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC5E,CAAC;IAED,kBAAkB,CAChB,SAAiB,EACjB,KAA8B;QAE9B,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,mBAAmB,CAAC,SAAiB,EAAE,KAA+B;QACpE,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,gBAAgB,CACd,SAAiB,EACjB,KAAiE;QAEjE,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;CACF"}
1
+ {"version":3,"file":"ui-sketch-session-repository.js","sourceRoot":"","sources":["../../src/database/ui-sketch-session-repository.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GAEtB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAGnF,OAAO,EACL,0BAA0B,IAAI,kCAAkC,EAChE,6BAA6B,IAAI,4BAA4B,EAC7D,yBAAyB,IAAI,iCAAiC,GAC/D,MAAM,2BAA2B,CAAC;AAEnC,MAAM,OAAO,yBAAyB;IACnB,aAAa,CAAmC;IAEjE,YAAY,QAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAiB,CAAgB,QAAQ,EAAE;YAClE,KAAK,EAAE,0BAA0B;YACjC,iBAAiB,EAAE,KAAK;YACxB,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,mBAAmB;YACjC,aAAa,EAAE,qBAAqB;YACpC,WAAW,EAAE,wBAAwB;YACrC,oBAAoB,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,gCAAgC,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC;SAC/G,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,QAAyD,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExH,qBAAqB,CAAC,SAAiB,EAAE,KAA8B,EAAE,OAAe;QACtF,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,eAAe,CAAC,SAAiB,EAAE,QAAgB;QACjD,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,qBAAqB,CAAC,SAAiB,EAAE,aAAsB;QAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC5E,CAAC;IAED,kBAAkB,CAChB,SAAiB,EACjB,KAA8B;QAE9B,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,mBAAmB,CAAC,SAAiB,EAAE,KAA+B;QACpE,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,gBAAgB,CACd,SAAiB,EACjB,KAAiE;QAEjE,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ export interface CanvasFrameSize {
2
+ width: number;
3
+ height: number;
4
+ }
5
+ export interface CanvasFrameBounds extends CanvasFrameSize {
6
+ x: number;
7
+ y: number;
8
+ }
9
+ export declare const MINIMUM_CANVAS_FRAME_SIZE = 10;
10
+ export declare const DEFAULT_CANVAS_FRAME: Readonly<CanvasFrameBounds>;
11
+ /** Pointer edits use the UI editor's integer pixel bounds. */
12
+ export declare function canvasFrameAtBounds(bounds: CanvasFrameBounds): CanvasFrameBounds;
13
+ /** Numeric edits keep the center; incomplete or too-small input is not committed. */
14
+ export declare function resizeCanvasFrame(frame: CanvasFrameBounds, size: CanvasFrameSize): CanvasFrameBounds;
15
+ export declare function canvasFrameForRatio(frame: CanvasFrameBounds, ratio: CanvasFrameSize): CanvasFrameBounds;
@@ -0,0 +1,24 @@
1
+ export const MINIMUM_CANVAS_FRAME_SIZE = 10;
2
+ export const DEFAULT_CANVAS_FRAME = Object.freeze({ x: 0, y: 0, width: 960, height: 560 });
3
+ /** Pointer edits use the UI editor's integer pixel bounds. */
4
+ export function canvasFrameAtBounds(bounds) {
5
+ return {
6
+ x: Math.round(bounds.x), y: Math.round(bounds.y),
7
+ width: Math.max(MINIMUM_CANVAS_FRAME_SIZE, Math.round(bounds.width)),
8
+ height: Math.max(MINIMUM_CANVAS_FRAME_SIZE, Math.round(bounds.height)),
9
+ };
10
+ }
11
+ /** Numeric edits keep the center; incomplete or too-small input is not committed. */
12
+ export function resizeCanvasFrame(frame, size) {
13
+ const width = Math.round(size.width), height = Math.round(size.height);
14
+ if (!Number.isFinite(width) || !Number.isFinite(height)
15
+ || width < MINIMUM_CANVAS_FRAME_SIZE || height < MINIMUM_CANVAS_FRAME_SIZE)
16
+ return frame;
17
+ if (width === frame.width && height === frame.height)
18
+ return frame;
19
+ return { x: frame.x + (frame.width - width) / 2, y: frame.y + (frame.height - height) / 2, width, height };
20
+ }
21
+ export function canvasFrameForRatio(frame, ratio) {
22
+ return resizeCanvasFrame(frame, { width: frame.width, height: frame.width * ratio.height / ratio.width });
23
+ }
24
+ //# sourceMappingURL=canvas-frame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-frame.js","sourceRoot":"","sources":["../../src/domain/canvas-frame.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAgC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAExH,8DAA8D;AAC9D,MAAM,UAAU,mBAAmB,CAAC,MAAyB;IAC3D,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAChD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAAC,KAAwB,EAAE,IAAqB;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;WAClD,KAAK,GAAG,yBAAyB,IAAI,MAAM,GAAG,yBAAyB;QAAE,OAAO,KAAK,CAAC;IAC3F,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAwB,EAAE,KAAsB;IAClF,OAAO,iBAAiB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;AAC5G,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function canvasNodeTone(id: string): number;
@@ -0,0 +1,9 @@
1
+ // Keep a node's marker stable across deletion, reordering and state changes.
2
+ export function canvasNodeTone(id) {
3
+ let hash = 0;
4
+ for (let index = 0; index < id.length; index += 1) {
5
+ hash = (Math.imul(hash, 31) + id.charCodeAt(index)) >>> 0;
6
+ }
7
+ return hash % 6;
8
+ }
9
+ //# sourceMappingURL=canvas-node-tone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-node-tone.js","sourceRoot":"","sources":["../../src/domain/canvas-node-tone.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface CanvasOutlinePoint {
2
+ x: number;
3
+ y: number;
4
+ }
5
+ export interface CanvasOverlapShape {
6
+ id: string;
7
+ tone: number;
8
+ geometry: readonly unknown[];
9
+ outline: () => readonly CanvasOutlinePoint[];
10
+ }
11
+ export declare function createCanvasShapeOverlap(): (shapes: readonly CanvasOverlapShape[]) => ReadonlySet<string>;
12
+ export declare function rectangleOutline(x: number, y: number, width: number, height: number): CanvasOutlinePoint[];
@@ -0,0 +1,79 @@
1
+ const EPSILON = 1e-7;
2
+ function contains(outer, inner) {
3
+ return inner.every((point) => {
4
+ let sign = 0;
5
+ for (let i = 0; i < outer.length; i += 1) {
6
+ const a = outer[i], b = outer[(i + 1) % outer.length];
7
+ const cross = (b.x - a.x) * (point.y - a.y) - (b.y - a.y) * (point.x - a.x);
8
+ if (Math.abs(cross) <= EPSILON)
9
+ continue;
10
+ if (sign && Math.sign(cross) !== sign)
11
+ return false;
12
+ sign = Math.sign(cross);
13
+ }
14
+ return true;
15
+ });
16
+ }
17
+ function intersects(a, b) {
18
+ for (const polygon of [a, b]) {
19
+ for (let i = 0; i < polygon.length; i += 1) {
20
+ const start = polygon[i], end = polygon[(i + 1) % polygon.length];
21
+ const nx = end.y - start.y, ny = start.x - end.x;
22
+ const project = (points) => {
23
+ const values = points.map((point) => point.x * nx + point.y * ny);
24
+ return [Math.min(...values), Math.max(...values)];
25
+ };
26
+ const [amin, amax] = project(a), [bmin, bmax] = project(b);
27
+ if (Math.min(amax, bmax) - Math.max(amin, bmin) <= EPSILON)
28
+ return false;
29
+ }
30
+ }
31
+ return true;
32
+ }
33
+ // Recompute relations only for changed geometry. Deletion removes its incident
34
+ // relations; it never reconstructs surviving outlines or rechecks other pairs.
35
+ export function createCanvasShapeOverlap() {
36
+ const entries = new Map();
37
+ return (shapes) => {
38
+ const incoming = new Map(shapes.map((shape) => [shape.id, shape]));
39
+ const changed = new Set();
40
+ for (const [id, old] of entries) {
41
+ const next = incoming.get(id);
42
+ if (next && old.tone === next.tone && old.geometry.length === next.geometry.length && old.geometry.every((value, index) => Object.is(value, next.geometry[index])))
43
+ continue;
44
+ for (const peer of old.borders.keys())
45
+ entries.get(peer)?.borders.delete(id);
46
+ entries.delete(id);
47
+ }
48
+ for (const shape of shapes) {
49
+ if (entries.has(shape.id))
50
+ continue;
51
+ const points = shape.outline();
52
+ entries.set(shape.id, { ...shape, points, borders: new Map(), bounds: {
53
+ left: Math.min(...points.map((point) => point.x)), right: Math.max(...points.map((point) => point.x)),
54
+ top: Math.min(...points.map((point) => point.y)), bottom: Math.max(...points.map((point) => point.y)),
55
+ } });
56
+ changed.add(shape.id);
57
+ }
58
+ for (const id of changed) {
59
+ const a = entries.get(id);
60
+ for (const b of entries.values()) {
61
+ if (a.id === b.id || a.tone !== b.tone || (changed.has(b.id) && b.id < a.id))
62
+ continue;
63
+ if (a.bounds.right <= b.bounds.left || b.bounds.right <= a.bounds.left
64
+ || a.bounds.bottom <= b.bounds.top || b.bounds.bottom <= a.bounds.top)
65
+ continue;
66
+ if (!intersects(a.points, b.points))
67
+ continue;
68
+ const aContainsB = contains(a.points, b.points), bContainsA = contains(b.points, a.points);
69
+ a.borders.set(b.id, !aContainsB || bContainsA);
70
+ b.borders.set(a.id, !bContainsA || aContainsB);
71
+ }
72
+ }
73
+ return new Set([...entries.values()].filter((entry) => [...entry.borders.values()].some(Boolean)).map(({ id }) => id));
74
+ };
75
+ }
76
+ export function rectangleOutline(x, y, width, height) {
77
+ return [{ x, y }, { x: x + width, y }, { x: x + width, y: y + height }, { x, y: y + height }];
78
+ }
79
+ //# sourceMappingURL=canvas-shape-overlap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-shape-overlap.js","sourceRoot":"","sources":["../../src/domain/canvas-shape-overlap.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB,SAAS,QAAQ,CAAC,KAAoC,EAAE,KAAoC;IAC1F,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO;gBAAE,SAAS;YACzC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;YACpD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,CAAgC,EAAE,CAAgC;IACpF,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,CAAC,MAAqC,EAAE,EAAE;gBACxD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC;YACF,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,OAAO;gBAAE,OAAO,KAAK,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IACzC,OAAO,CAAC,MAAqC,EAAuB,EAAE;QACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC7K,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7E,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,SAAS;YACpC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE;oBACpE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrG,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACtG,EAAE,CAAC,CAAC;YACL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;oBAAE,SAAS;gBACvF,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI;uBACjE,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG;oBAAE,SAAS;gBAClF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC3F,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC;gBAC/C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;IAClF,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;AAChG,CAAC"}
@@ -47,6 +47,7 @@ export interface CompositionInspection {
47
47
  kind: "composition-inspection";
48
48
  sourceFingerprint: string;
49
49
  processingSemantic: CompositionDraft["processingSemantic"];
50
+ previewMode: NonNullable<CompositionDraft["previewMode"]>;
50
51
  frame: CompositionDraft["frame"];
51
52
  overallNote: string;
52
53
  focusPoints: CompositionDraft["focusPoints"];
@@ -1,4 +1,4 @@
1
- import { validateDraft, visibleAreaMetrics } from "./draft.js";
1
+ import { validateDraft, visibleAreaMetrics, visibleCompositionDraft } from "./draft.js";
2
2
  import { COMPOSITION_CANVAS, canvasPointToFrame, frameBoundsInCanvas, } from "./frame.js";
3
3
  import { areaGeometry, compositionImageBounds, geometryBounds } from "./geometry.js";
4
4
  import { compositionPlanningIntersections } from "./planning-intersections.js";
@@ -8,7 +8,7 @@ export function draftFingerprint(input) {
8
8
  return fingerprintText(canonicalDraftJson(draft));
9
9
  }
10
10
  export function inspectComposition(input) {
11
- const draft = validateDraft(input);
11
+ const draft = visibleCompositionDraft(validateDraft(input));
12
12
  const metrics = visibleAreaMetrics(draft);
13
13
  const inspectedAreas = draft.areas.map((area, index) => {
14
14
  const bounds = geometryBounds(areaGeometry(area, COMPOSITION_CANVAS));
@@ -67,8 +67,9 @@ export function inspectComposition(input) {
67
67
  kind: "composition-inspection",
68
68
  ...(draft.plans ? { plans: structuredClone(draft.plans) } : {}),
69
69
  planningIntersections: compositionPlanningIntersections(draft),
70
- sourceFingerprint: draftFingerprint(draft),
70
+ sourceFingerprint: draftFingerprint(input),
71
71
  processingSemantic: draft.processingSemantic,
72
+ previewMode: draft.previewMode ?? "precise",
72
73
  frame: structuredClone(draft.frame),
73
74
  overallNote: draft.overallNote,
74
75
  focusPoints: draft.focusPoints.map((focus) => ({
@@ -269,6 +270,7 @@ function canonicalDraftJson(draft) {
269
270
  version: draft.version,
270
271
  kind: draft.kind,
271
272
  processingSemantic: draft.processingSemantic,
273
+ ...(draft.previewMode === "soft" ? { previewMode: draft.previewMode } : {}),
272
274
  frame: {
273
275
  width: draft.frame.width,
274
276
  height: draft.frame.height,
@@ -333,6 +335,7 @@ function round(value) {
333
335
  }
334
336
  function nonEmptyMetadata(metadata) {
335
337
  return {
338
+ ...(metadata.visible === false ? { visible: false } : {}),
336
339
  ...(metadata.note === "" ? {} : { note: metadata.note }),
337
340
  ...(metadata.annotation === "" ? {} : { annotation: metadata.annotation }),
338
341
  ...(metadata.semanticType === "" ? {} : { semanticType: metadata.semanticType }),
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../src/domain/composition/analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../src/domain/composition/analysis.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AddCompositionImageOptions, AddAreaOptions, AreaAspect, CompositionArea, CompositionAreaMetadataPatch, CompositionClipboardItem, CompositionDraft, CompositionFrameBounds, CompositionFrameCorner, CompositionFrameSize, CompositionImage, CompositionNodeMetadataPatch, PasteCompositionItemsResult, CompositionProcessingSemantic, CompositionVisualWeight, Point, Primitive, VisibleAreaMetrics } from "./types.ts";
1
+ import type { AddCompositionImageOptions, AddAreaOptions, AreaAspect, CompositionArea, CompositionAreaMetadataPatch, CompositionClipboardItem, CompositionDraft, CompositionFrameBounds, CompositionFrameCorner, CompositionFrameSize, CompositionImage, CompositionNodeMetadataPatch, PasteCompositionItemsResult, CompositionProcessingSemantic, CompositionPreviewMode, CompositionVisualWeight, Point, Primitive, VisibleAreaMetrics } from "./types.ts";
2
2
  export declare const MAX_FOCUS_POINTS = 3;
3
3
  export declare const PRIMITIVES: readonly Primitive[];
4
4
  export declare const ASPECTS: readonly AreaAspect[];
@@ -32,6 +32,8 @@ export declare function copyCompositionItems(input: CompositionDraft, ids: reado
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
34
  export declare function moveTextRegionCorner(input: CompositionDraft, id: string, index: number, point: Point): CompositionDraft;
35
+ /** Corner geometry for an already validated area; also used before scheduling a UI frame. */
36
+ export declare function moveTextRegionAreaCorner(area: CompositionArea, index: number, point: Point): CompositionArea;
35
37
  export declare function resizeArea(input: CompositionDraft, id: string, nextArea: number): CompositionDraft;
36
38
  export declare function resizeFreeArea(input: CompositionDraft, id: string, width: number, height: number): CompositionDraft;
37
39
  export declare function rotateArea(input: CompositionDraft, id: string, rotation: number): CompositionDraft;
@@ -43,10 +45,13 @@ export declare function removeItem(input: CompositionDraft, id: string): Composi
43
45
  export declare function updateItemMetadata(input: CompositionDraft, id: string, patch: CompositionNodeMetadataPatch): CompositionDraft;
44
46
  export declare function updateAreaMetadata(input: CompositionDraft, id: string, patch: CompositionAreaMetadataPatch): CompositionDraft;
45
47
  export declare function updateCompositionImage(input: CompositionDraft, id: string, patch: Partial<Pick<CompositionImage, "assetId" | "crop" | "visualWeight">>): CompositionDraft;
48
+ export declare function setCompositionPreviewMode(draft: CompositionDraft, previewMode: CompositionPreviewMode): CompositionDraft;
46
49
  export declare function setProcessingSemantic(input: CompositionDraft, processingSemantic: CompositionProcessingSemantic): CompositionDraft;
47
50
  export declare function changeFrame(input: CompositionDraft, frame: CompositionFrameSize): CompositionDraft;
48
51
  export declare function moveFrame(input: CompositionDraft, point: Point): CompositionDraft;
49
52
  export declare function resizeFrame(input: CompositionDraft, scale: number, corner?: CompositionFrameCorner): CompositionDraft;
50
53
  export declare function resizeFrameToBounds(input: CompositionDraft, bounds: CompositionFrameBounds): CompositionDraft;
51
54
  export declare function visibleAreaMetrics(input: CompositionDraft): VisibleAreaMetrics;
55
+ /** Read-only projection for output and hit testing; never persist this filtered draft. */
56
+ export declare function visibleCompositionDraft(input: CompositionDraft): CompositionDraft;
52
57
  export declare function normalizeCompositionSymmetryRotation(value: number, frame: CompositionFrameSize): number;