human2ai 0.1.5 → 0.1.7

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 (178) 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/clipboard.d.ts +3 -0
  38. package/dist/domain/composition/clipboard.js +30 -0
  39. package/dist/domain/composition/clipboard.js.map +1 -0
  40. package/dist/domain/composition/draft.d.ts +6 -1
  41. package/dist/domain/composition/draft.js +42 -27
  42. package/dist/domain/composition/draft.js.map +1 -1
  43. package/dist/domain/composition/frame.d.ts +5 -8
  44. package/dist/domain/composition/frame.js +21 -68
  45. package/dist/domain/composition/frame.js.map +1 -1
  46. package/dist/domain/composition/index.d.ts +4 -3
  47. package/dist/domain/composition/index.js +4 -3
  48. package/dist/domain/composition/index.js.map +1 -1
  49. package/dist/domain/composition/raster.d.ts +2 -0
  50. package/dist/domain/composition/raster.js +19 -0
  51. package/dist/domain/composition/raster.js.map +1 -0
  52. package/dist/domain/composition/refinement/engine.js +1 -0
  53. package/dist/domain/composition/refinement/engine.js.map +1 -1
  54. package/dist/domain/composition/refinement/types.d.ts +1 -0
  55. package/dist/domain/composition/render.d.ts +6 -0
  56. package/dist/domain/composition/render.js +84 -20
  57. package/dist/domain/composition/render.js.map +1 -1
  58. package/dist/domain/composition/states.js +14 -8
  59. package/dist/domain/composition/states.js.map +1 -1
  60. package/dist/domain/composition/text-warp.d.ts +8 -0
  61. package/dist/domain/composition/text-warp.js +60 -0
  62. package/dist/domain/composition/text-warp.js.map +1 -0
  63. package/dist/domain/composition/types.d.ts +9 -4
  64. package/dist/domain/session/canvas-edit-history.d.ts +2 -0
  65. package/dist/domain/session/canvas-edit-history.js +2 -0
  66. package/dist/domain/session/canvas-edit-history.js.map +1 -1
  67. package/dist/domain/session/preview.d.ts +16 -0
  68. package/dist/domain/session/preview.js +48 -0
  69. package/dist/domain/session/preview.js.map +1 -0
  70. package/dist/domain/session/types.d.ts +8 -0
  71. package/dist/domain/ui-sketch/appearance.d.ts +12 -0
  72. package/dist/domain/ui-sketch/appearance.js +24 -0
  73. package/dist/domain/ui-sketch/appearance.js.map +1 -0
  74. package/dist/domain/ui-sketch/clipboard.d.ts +2 -0
  75. package/dist/domain/ui-sketch/clipboard.js +21 -1
  76. package/dist/domain/ui-sketch/clipboard.js.map +1 -1
  77. package/dist/domain/ui-sketch/draft.js +3 -1
  78. package/dist/domain/ui-sketch/draft.js.map +1 -1
  79. package/dist/domain/ui-sketch/index.d.ts +1 -1
  80. package/dist/domain/ui-sketch/index.js +1 -1
  81. package/dist/domain/ui-sketch/index.js.map +1 -1
  82. package/dist/domain/ui-sketch/render.js +21 -17
  83. package/dist/domain/ui-sketch/render.js.map +1 -1
  84. package/dist/domain/ui-sketch/session-preview.d.ts +27 -0
  85. package/dist/domain/ui-sketch/session-preview.js +43 -0
  86. package/dist/domain/ui-sketch/session-preview.js.map +1 -0
  87. package/dist/domain/ui-sketch/types.d.ts +2 -0
  88. package/dist/server/app.d.ts +1 -1
  89. package/dist/server/app.js +8 -0
  90. package/dist/server/app.js.map +1 -1
  91. package/dist/server/routes/project-sessions.js +47 -3
  92. package/dist/server/routes/project-sessions.js.map +1 -1
  93. package/dist/server/routes/session-previews.d.ts +3 -0
  94. package/dist/server/routes/session-previews.js +104 -0
  95. package/dist/server/routes/session-previews.js.map +1 -0
  96. package/dist/server/session-preview-service.d.ts +55 -0
  97. package/dist/server/session-preview-service.js +255 -0
  98. package/dist/server/session-preview-service.js.map +1 -0
  99. package/locales/en/common.json +63 -8
  100. package/migrations/0011_session_groups.sql +21 -0
  101. package/package.json +1 -1
  102. package/schemas/composition-draft.schema.json +11 -2
  103. package/schemas/ui-sketch-draft.schema.json +85 -0
  104. package/skills/human2ai/SKILL.md +1 -1
  105. package/skills/human2ai/references/composition-projection.md +5 -3
  106. package/skills/human2ai/references/composition.md +51 -10
  107. package/skills/human2ai/references/ui-layout.md +7 -1
  108. package/web/out/404/index.html +1 -1
  109. package/web/out/404.html +1 -1
  110. package/web/out/__next.__PAGE__.txt +14 -13
  111. package/web/out/__next._full.txt +23 -22
  112. package/web/out/__next._tree.txt +5 -5
  113. package/web/out/_next/static/chunks/348-845058912fd7c5e5.js +1 -0
  114. package/web/out/_next/static/chunks/{380-6a6a9517cf13350e.js → 60-f12915d6c3a2c6a3.js} +67 -67
  115. package/web/out/_next/static/chunks/app/_not-found/page-508d7dc25aaa3aa9.js +1 -0
  116. package/web/out/_next/static/chunks/app/composition/page-30c8fcabe591ab65.js +1 -0
  117. package/web/out/_next/static/chunks/app/layout-68da0027d158df26.js +1 -0
  118. package/web/out/_next/static/chunks/app/{page-b027a8ffdb9dda66.js → page-96f541a0e6fa160b.js} +1 -1
  119. package/web/out/_next/static/chunks/app/spatial/page-ac4e6cda25dea88f.js +1 -0
  120. package/web/out/_next/static/chunks/app/styles/page-4f0f5e04e35adaa3.js +1 -0
  121. package/web/out/_next/static/chunks/app/ui-sketch/page-08ddf9773e8f15ed.js +1 -0
  122. package/web/out/_next/static/chunks/main-app-3e9223f29047fc41.js +1 -0
  123. package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-2d183cd08094b261.js +1 -0
  124. package/web/out/_next/static/chunks/webpack-9a8652ec72df780b.js +1 -0
  125. package/web/out/_next/static/css/04c7fcbfa9004e04.css +1 -0
  126. package/web/out/_next/static/css/0777c3d5c25abf92.css +1 -0
  127. package/web/out/_next/static/css/3d47424e508934f6.css +5 -0
  128. package/web/out/_next/static/css/{d42ebb6745c15e30.css → 5062b0bcc3118ed8.css} +1 -1
  129. package/web/out/_next/static/css/5d259915312c51c1.css +1 -0
  130. package/web/out/_next/static/css/9c61ee5fe683073a.css +1 -0
  131. package/web/out/_not-found/__next._full.txt +21 -18
  132. package/web/out/_not-found/__next._not-found.__PAGE__.txt +11 -8
  133. package/web/out/_not-found/__next._tree.txt +5 -3
  134. package/web/out/_not-found/index.html +1 -1
  135. package/web/out/_not-found/index.txt +21 -18
  136. package/web/out/composition/__next._full.txt +26 -26
  137. package/web/out/composition/__next._tree.txt +6 -7
  138. package/web/out/composition/__next.composition.__PAGE__.txt +13 -13
  139. package/web/out/composition/index.html +1 -1
  140. package/web/out/composition/index.txt +26 -26
  141. package/web/out/index.html +1 -1
  142. package/web/out/index.txt +23 -22
  143. package/web/out/spatial/__next._full.txt +25 -24
  144. package/web/out/spatial/__next._tree.txt +5 -5
  145. package/web/out/spatial/__next.spatial.__PAGE__.txt +12 -11
  146. package/web/out/spatial/index.html +1 -1
  147. package/web/out/spatial/index.txt +25 -24
  148. package/web/out/styles/__next._full.txt +25 -24
  149. package/web/out/styles/__next._tree.txt +5 -5
  150. package/web/out/styles/__next.styles.__PAGE__.txt +12 -11
  151. package/web/out/styles/index.html +1 -1
  152. package/web/out/styles/index.txt +25 -24
  153. package/web/out/ui-sketch/__next._full.txt +26 -26
  154. package/web/out/ui-sketch/__next._tree.txt +6 -7
  155. package/web/out/ui-sketch/__next.ui-sketch.__PAGE__.txt +13 -13
  156. package/web/out/ui-sketch/index.html +1 -1
  157. package/web/out/ui-sketch/index.txt +26 -26
  158. package/web/out/_next/static/chunks/130-930cfe062cda6fb5.js +0 -1
  159. package/web/out/_next/static/chunks/166-64abdc6456626378.js +0 -1
  160. package/web/out/_next/static/chunks/20-0801fc297cda2a7a.js +0 -1
  161. package/web/out/_next/static/chunks/678-6a688c1f8589183c.js +0 -1
  162. package/web/out/_next/static/chunks/app/_not-found/page-527a4b0506fa60cb.js +0 -1
  163. package/web/out/_next/static/chunks/app/composition/page-945cb9644c513407.js +0 -1
  164. package/web/out/_next/static/chunks/app/layout-33fe456f6115412e.js +0 -1
  165. package/web/out/_next/static/chunks/app/spatial/page-c52d564a39d3b592.js +0 -1
  166. package/web/out/_next/static/chunks/app/styles/page-87d77b1f3e8fdd21.js +0 -1
  167. package/web/out/_next/static/chunks/app/ui-sketch/page-69219e06cc93c28f.js +0 -1
  168. package/web/out/_next/static/chunks/main-app-4a71cca48ead7720.js +0 -1
  169. package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-6a956dd8904b8723.js +0 -1
  170. package/web/out/_next/static/chunks/webpack-c0280e9af5fc8cd3.js +0 -1
  171. package/web/out/_next/static/css/0ab45995828642ec.css +0 -1
  172. package/web/out/_next/static/css/0c7915cdb1509f9d.css +0 -1
  173. package/web/out/_next/static/css/4fb1bde9070d5094.css +0 -5
  174. package/web/out/_next/static/css/c739d0131cdcc891.css +0 -1
  175. package/web/out/_next/static/css/d787350911847f22.css +0 -1
  176. package/web/out/_next/static/css/db78da93b4de5040.css +0 -1
  177. /package/web/out/_next/static/{Rem7hlT5iXtA-5codwSoe → MsEzgYkCNtygwkUNRRXe7}/_buildManifest.js +0 -0
  178. /package/web/out/_next/static/{Rem7hlT5iXtA-5codwSoe → MsEzgYkCNtygwkUNRRXe7}/_ssgManifest.js +0 -0
@@ -4,8 +4,11 @@ export type Primitive = "circle" | "triangle" | "quadrilateral";
4
4
  export type AreaAspect = "square" | "free" | "landscape" | "portrait";
5
5
  export type CompositionShotScale = "auto" | "foreground" | "midground" | "background";
6
6
  export type CompositionProcessingSemantic = "scene-composition" | "editorial-layout";
7
+ export type CompositionPreviewMode = "precise" | "soft";
7
8
  export type CompositionVisualWeight = "auto" | "high" | "medium" | "low" | "decorative";
8
9
  export interface CompositionNodeMetadata extends Human2AiCanvasNodeMetadata {
10
+ /** State-local visibility; omitted in legacy drafts means visible. */
11
+ visible?: boolean;
9
12
  shotScale: CompositionShotScale;
10
13
  }
11
14
  export type CompositionNodeMetadataPatch = Partial<CompositionNodeMetadata>;
@@ -110,6 +113,8 @@ export interface CompositionDraft {
110
113
  version: 1;
111
114
  kind: "composition-draft";
112
115
  processingSemantic: CompositionProcessingSemantic | null;
116
+ /** Session-wide reference fidelity. New drafts use soft; legacy omissions mean precise. */
117
+ previewMode?: CompositionPreviewMode;
113
118
  frame: CompositionFrame;
114
119
  overallNote: string;
115
120
  focusPoints: FocusPoint[];
@@ -121,10 +126,10 @@ export interface CompositionLayout {
121
126
  plans?: CompositionPlan[];
122
127
  frame: CompositionFrame;
123
128
  layerOrder: string[];
124
- focusPoints: Pick<FocusPoint, "id" | "x" | "y">[];
125
- directionLine: Pick<DirectionLine, "id" | "x" | "y" | "rotation"> | null;
126
- areas: Pick<CompositionArea, "id" | "x" | "y" | "area" | "aspect" | "rotation" | "width" | "height" | "corners">[];
127
- images: Pick<CompositionImage, "id" | "x" | "y" | "width" | "height" | "rotation">[];
129
+ focusPoints: Pick<FocusPoint, "id" | "x" | "y" | "visible">[];
130
+ directionLine: Pick<DirectionLine, "id" | "x" | "y" | "rotation" | "visible"> | null;
131
+ areas: Pick<CompositionArea, "id" | "x" | "y" | "area" | "aspect" | "rotation" | "width" | "height" | "corners" | "visible">[];
132
+ images: Pick<CompositionImage, "id" | "x" | "y" | "width" | "height" | "rotation" | "visible">[];
128
133
  }
129
134
  export interface CompositionState extends CanvasStateTab {
130
135
  layout: CompositionLayout;
@@ -14,4 +14,6 @@ export declare class CanvasEditHistory<T, Context = undefined> {
14
14
  undo(): CanvasHistorySnapshot<T, Context> | null;
15
15
  redo(): CanvasHistorySnapshot<T, Context> | null;
16
16
  reset(draft: T): void;
17
+ /** Adopt derived content without creating a user operation or cancelling a gesture. */
18
+ synchronize(draft: T): void;
17
19
  }
@@ -49,5 +49,7 @@ export class CanvasEditHistory {
49
49
  this.past = [];
50
50
  this.future = [];
51
51
  }
52
+ /** Adopt derived content without creating a user operation or cancelling a gesture. */
53
+ synchronize(draft) { this.current = draft; }
52
54
  }
53
55
  //# sourceMappingURL=canvas-edit-history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-edit-history.js","sourceRoot":"","sources":["../../../src/domain/session/canvas-edit-history.ts"],"names":[],"mappings":"AAaA,2FAA2F;AAC3F,MAAM,OAAO,iBAAiB;IACpB,IAAI,GAA+B,EAAE,CAAC;IACtC,MAAM,GAA+B,EAAE,CAAC;IAChD,OAAO,CAAI;IAEX,YAAY,OAAU;QACpB,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAEzD,MAAM,CAAC,IAAO,EAAE,aAAuB,EAAE,YAAY,GAAG,aAAa,EAAE,KAAc;QACnF,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,IAAI,QAAQ,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;YACvC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;YACrC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;IAChF,CAAC;IAED,IAAI;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,KAAQ;QACZ,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"canvas-edit-history.js","sourceRoot":"","sources":["../../../src/domain/session/canvas-edit-history.ts"],"names":[],"mappings":"AAaA,2FAA2F;AAC3F,MAAM,OAAO,iBAAiB;IACpB,IAAI,GAA+B,EAAE,CAAC;IACtC,MAAM,GAA+B,EAAE,CAAC;IAChD,OAAO,CAAI;IAEX,YAAY,OAAU;QACpB,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAEzD,MAAM,CAAC,IAAO,EAAE,aAAuB,EAAE,YAAY,GAAG,aAAa,EAAE,KAAc;QACnF,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,IAAI,QAAQ,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;YACvC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;YACrC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;IAChF,CAAC;IAED,IAAI;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,KAAQ;QACZ,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,uFAAuF;IACvF,WAAW,CAAC,KAAQ,IAAU,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;CACtD"}
@@ -0,0 +1,16 @@
1
+ export type SessionPreviewSource = {
2
+ sessionId: string;
3
+ } & ({
4
+ sessionType: "spatial";
5
+ cameraId: string;
6
+ } | {
7
+ sessionType: "image-composition" | "ui-layout";
8
+ stateId: string;
9
+ });
10
+ export type SessionPreviewReference = SessionPreviewSource & {
11
+ renderedRevision: number;
12
+ };
13
+ export declare function previewSourceKey(source: SessionPreviewSource): string;
14
+ /** Consumer -> sources. Freeze each cyclic group, then refresh its downstream groups.
15
+ * The initiating session is already processed and is never revisited in this wave. */
16
+ export declare function previewWaveGroups(root: string, dependencies: ReadonlyMap<string, readonly string[]>): string[][];
@@ -0,0 +1,48 @@
1
+ export function previewSourceKey(source) {
2
+ return JSON.stringify([source.sessionId, source.sessionType, source.sessionType === "spatial" ? source.cameraId : source.stateId]);
3
+ }
4
+ /** Consumer -> sources. Freeze each cyclic group, then refresh its downstream groups.
5
+ * The initiating session is already processed and is never revisited in this wave. */
6
+ export function previewWaveGroups(root, dependencies) {
7
+ const affected = new Set([root]);
8
+ for (const source of affected)
9
+ for (const [id, sources] of dependencies) {
10
+ if (sources.includes(source))
11
+ affected.add(id);
12
+ }
13
+ affected.delete(root);
14
+ let index = 0;
15
+ const indices = new Map(), low = new Map();
16
+ const stack = [], stacked = new Set(), groups = [];
17
+ const visit = (id) => {
18
+ indices.set(id, index);
19
+ low.set(id, index++);
20
+ stack.push(id);
21
+ stacked.add(id);
22
+ for (const source of dependencies.get(id) ?? []) {
23
+ if (!affected.has(source))
24
+ continue;
25
+ if (!indices.has(source)) {
26
+ visit(source);
27
+ low.set(id, Math.min(low.get(id), low.get(source)));
28
+ }
29
+ else if (stacked.has(source))
30
+ low.set(id, Math.min(low.get(id), indices.get(source)));
31
+ }
32
+ if (low.get(id) === indices.get(id)) {
33
+ const group = [];
34
+ let member;
35
+ do {
36
+ member = stack.pop();
37
+ stacked.delete(member);
38
+ group.push(member);
39
+ } while (member !== id);
40
+ groups.push(group.sort());
41
+ }
42
+ };
43
+ for (const id of affected)
44
+ if (!indices.has(id))
45
+ visit(id);
46
+ return groups;
47
+ }
48
+ //# sourceMappingURL=preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/domain/session/preview.ts"],"names":[],"mappings":"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"}
@@ -21,3 +21,11 @@ export interface Session {
21
21
  createdAt: string;
22
22
  updatedAt: string;
23
23
  }
24
+ /** Project-tree organization; membership never changes session data or revisions. */
25
+ export interface SessionGroup {
26
+ id: string;
27
+ projectId: string;
28
+ name: string;
29
+ revision: number;
30
+ sessionIds: string[];
31
+ }
@@ -0,0 +1,12 @@
1
+ import type { UiSketchRectangle } from "./types.ts";
2
+ export declare const UI_SKETCH_TEXT_COLOR = "#1F292B";
3
+ export declare const UI_SKETCH_TEXT_LINE_HEIGHT = 1.4;
4
+ export declare function uiSketchTextBaseline(fontSize: number, line?: number): number;
5
+ export declare function uiSketchRectangleColor(id: string): string;
6
+ export declare function uiSketchRectangleBorderColor(id: string): string;
7
+ export declare function uiSketchRectangleOverlapShapes(rectangles: readonly UiSketchRectangle[]): {
8
+ id: string;
9
+ tone: number;
10
+ geometry: number[];
11
+ outline: () => import("../canvas-shape-overlap.ts").CanvasOutlinePoint[];
12
+ }[];
@@ -0,0 +1,24 @@
1
+ import { canvasNodeTone } from "../canvas-node-tone.js";
2
+ import { rectangleOutline } from "../canvas-shape-overlap.js";
3
+ // The synchronized YisiUI paper palette used by UiSketchCanvas.css.
4
+ const PAPER_COLORS = ["#B9CA8B", "#E4B653", "#87C3CC", "#DC938B", "#B79BC8", "#C9825D"];
5
+ export const UI_SKETCH_TEXT_COLOR = "#1F292B";
6
+ export const UI_SKETCH_TEXT_LINE_HEIGHT = 1.4;
7
+ export function uiSketchTextBaseline(fontSize, line = 0) {
8
+ return fontSize * (1 + line * UI_SKETCH_TEXT_LINE_HEIGHT);
9
+ }
10
+ export function uiSketchRectangleColor(id) {
11
+ return PAPER_COLORS[canvasNodeTone(id)];
12
+ }
13
+ export function uiSketchRectangleBorderColor(id) {
14
+ const fill = uiSketchRectangleColor(id);
15
+ const channels = [1, 3, 5].map(offset => Math.round(parseInt(fill.slice(offset, offset + 2), 16) * 0.25 + parseInt(UI_SKETCH_TEXT_COLOR.slice(offset, offset + 2), 16) * 0.75));
16
+ return `rgb(${channels.join(",")})`;
17
+ }
18
+ export function uiSketchRectangleOverlapShapes(rectangles) {
19
+ return rectangles.filter(item => item.visible).map(item => ({
20
+ id: item.id, tone: canvasNodeTone(item.id), geometry: [item.x, item.y, item.width, item.height],
21
+ outline: () => rectangleOutline(item.x, item.y, item.width, item.height),
22
+ }));
23
+ }
24
+ //# sourceMappingURL=appearance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appearance.js","sourceRoot":"","sources":["../../../src/domain/ui-sketch/appearance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,oEAAoE;AACpE,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAC9C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,IAAI,GAAG,CAAC;IAC7D,OAAO,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,0BAA0B,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAU;IAC/C,OAAO,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU;IACrD,MAAM,IAAI,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAC1H,CAAC,CAAC;IACH,OAAO,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,UAAwC;IACrF,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;QAC/F,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;KACzE,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -2,6 +2,8 @@ import type { UiSketchDraft } from "./types.ts";
2
2
  export type UiSketchClipboard = Pick<UiSketchDraft, "rectangles" | "texts" | "images" | "groups"> & {
3
3
  layerOrder: string[];
4
4
  };
5
+ /** Validate only copied nodes; source frame, states and overall note are not transferred. */
6
+ export declare function parseUiSketchClipboard(input: unknown): UiSketchClipboard | null;
5
7
  export declare function copyUiSketchItems(draft: UiSketchDraft, itemIds: readonly string[]): UiSketchClipboard;
6
8
  export declare function pasteUiSketchItems(input: UiSketchDraft, clipboard: UiSketchClipboard, offset: {
7
9
  x: number;
@@ -1,6 +1,26 @@
1
- import { UI_SKETCH_START_STAGE_ID, uiSketchDraftForStage, updateUiSketchStageDraft } from "./draft.js";
1
+ import { createUiSketchDraft, validateUiSketchDraft, UI_SKETCH_START_STAGE_ID, uiSketchDraftForStage, updateUiSketchStageDraft } from "./draft.js";
2
2
  import { uiSketchSelectionWithGroups } from "./groups.js";
3
3
  import { uiSketchLayerOrder } from "./layers.js";
4
+ /** Validate only copied nodes; source frame, states and overall note are not transferred. */
5
+ export function parseUiSketchClipboard(input) {
6
+ if (!input || typeof input !== "object")
7
+ return null;
8
+ const value = input;
9
+ if (!["rectangles", "texts", "images", "groups", "layerOrder"].every(key => Array.isArray(value[key])))
10
+ return null;
11
+ try {
12
+ const draft = validateUiSketchDraft({
13
+ ...createUiSketchDraft(),
14
+ rectangles: value.rectangles, texts: value.texts, images: value.images,
15
+ groups: value.groups, layerOrder: value.layerOrder,
16
+ });
17
+ const items = copyUiSketchItems(draft, [...draft.rectangles, ...draft.texts, ...draft.images].map(item => item.id));
18
+ return items.layerOrder.length ? items : null;
19
+ }
20
+ catch {
21
+ return null;
22
+ }
23
+ }
4
24
  export function copyUiSketchItems(draft, itemIds) {
5
25
  const selected = new Set(uiSketchSelectionWithGroups(draft, itemIds));
6
26
  return structuredClone({
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../../src/domain/ui-sketch/clipboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../../src/domain/ui-sketch/clipboard.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { uiSketchLayerOrder } from "./layers.js";
2
+ import { DEFAULT_CANVAS_FRAME } from "../canvas-frame.js";
2
3
  import { Ajv2020 } from "ajv/dist/2020.js";
3
4
  import uiSketchDraftSchema from "../../../schemas/ui-sketch-draft.schema.json" with {
4
5
  type: "json"
@@ -11,7 +12,7 @@ export const UI_SKETCH_END_STAGE_ID = "end";
11
12
  export const EMPTY_UI_SKETCH_DRAFT = {
12
13
  version: 1,
13
14
  kind: "ui-layout-draft",
14
- frame: { x: 0, y: 0, width: 960, height: 560 },
15
+ frame: { ...DEFAULT_CANVAS_FRAME },
15
16
  overallNote: "",
16
17
  rectangles: [],
17
18
  texts: [],
@@ -153,6 +154,7 @@ export function updateUiSketchStageDraft(draft, stageId, nextStageDraft) {
153
154
  return {
154
155
  ...previous,
155
156
  assetId: next.assetId,
157
+ ...(next.previewReference ? { previewReference: { ...next.previewReference } } : { previewReference: undefined }),
156
158
  crop: next.crop ? { ...next.crop } : null,
157
159
  note: next.note,
158
160
  annotation: next.annotation,
@@ -1 +1 @@
1
- {"version":3,"file":"draft.js","sourceRoot":"","sources":["../../../src/domain/ui-sketch/draft.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draft.js","sourceRoot":"","sources":["../../../src/domain/ui-sketch/draft.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@ export { standardizeUiSketchDraft, UI_LAYOUT_ALIGNMENT_TOLERANCE } from "./stand
5
5
  export { groupUiSketchItems, ungroupUiSketchItems, uiSketchSelectionWithGroups, retainUiSketchGroups } from "./groups.ts";
6
6
  export { uiSketchStateTabs, renameUiSketchState, deleteUiSketchState, reorderUiSketchStates } from "./states.ts";
7
7
  export { uiSketchLayerOrder, reorderUiSketchLayers } from "./layers.ts";
8
- export { copyUiSketchItems, pasteUiSketchItems, type UiSketchClipboard } from "./clipboard.ts";
8
+ export { copyUiSketchItems, pasteUiSketchItems, parseUiSketchClipboard, type UiSketchClipboard } from "./clipboard.ts";
9
9
  export { renderUiSketchSvg } from "./render.ts";
@@ -4,6 +4,6 @@ export { standardizeUiSketchDraft, UI_LAYOUT_ALIGNMENT_TOLERANCE } from "./stand
4
4
  export { groupUiSketchItems, ungroupUiSketchItems, uiSketchSelectionWithGroups, retainUiSketchGroups } from "./groups.js";
5
5
  export { uiSketchStateTabs, renameUiSketchState, deleteUiSketchState, reorderUiSketchStates } from "./states.js";
6
6
  export { uiSketchLayerOrder, reorderUiSketchLayers } from "./layers.js";
7
- export { copyUiSketchItems, pasteUiSketchItems } from "./clipboard.js";
7
+ export { copyUiSketchItems, pasteUiSketchItems, parseUiSketchClipboard } from "./clipboard.js";
8
8
  export { renderUiSketchSvg } from "./render.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/ui-sketch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE1H,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEjH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAA0B,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/ui-sketch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE1H,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEjH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAA0B,MAAM,gBAAgB,CAAC;AACvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,22 +1,26 @@
1
1
  import { sortCanvasLayers } from "../canvas-layer-order.js";
2
+ import { createCanvasShapeOverlap } from "../canvas-shape-overlap.js";
3
+ import { UI_SKETCH_TEXT_COLOR, uiSketchRectangleBorderColor, uiSketchRectangleColor, uiSketchRectangleOverlapShapes, uiSketchTextBaseline } from "./appearance.js";
2
4
  export function renderUiSketchSvg(state, resolveImageSource) {
3
5
  const width = Math.max(1, Math.round(state.frame.width));
4
6
  const height = Math.max(1, Math.round(state.frame.height));
7
+ const borderedRectangles = createCanvasShapeOverlap()(uiSketchRectangleOverlapShapes(state.rectangles));
5
8
  const rectangles = state.rectangles.filter((rectangle) => rectangle.visible).map((rectangle) => {
6
9
  const x = rectangle.x - state.frame.x;
7
10
  const y = rectangle.y - state.frame.y;
8
- const note = rectangle.note.trim();
9
- return { id: rectangle.id, svg: [
10
- `<rect x="${number(x)}" y="${number(y)}" width="${number(rectangle.width)}" height="${number(rectangle.height)}" rx="8" fill="#eef5ff" stroke="#1677ff" stroke-width="2"/>`,
11
- ...(note ? svgTextLines(note, x + rectangle.width / 2, y + rectangle.height / 2, 14, "middle", true) : []),
12
- ].join("") };
11
+ const bounds = `x="${number(x)}" y="${number(y)}" width="${number(rectangle.width)}" height="${number(rectangle.height)}"`;
12
+ const fill = `<rect ${bounds} fill="${uiSketchRectangleColor(rectangle.id)}" fill-opacity="0.82"/>`;
13
+ if (!borderedRectangles.has(rectangle.id))
14
+ return { id: rectangle.id, svg: fill };
15
+ const clipId = `ui-rectangle-${rectangle.id.replace(/[^a-zA-Z0-9_-]/g, "-")}`;
16
+ return { id: rectangle.id, svg: `${fill}<defs><clipPath id="${clipId}"><rect ${bounds}/></clipPath></defs><rect ${bounds} fill="none" stroke="${uiSketchRectangleBorderColor(rectangle.id)}" stroke-width="6" clip-path="url(#${clipId})"/>` };
13
17
  });
14
18
  const images = state.images.filter((image) => image.visible).map((image) => {
15
19
  const x = image.x - state.frame.x;
16
20
  const y = image.y - state.frame.y;
17
21
  const source = image.assetId ? resolveImageSource?.(image.assetId) : undefined;
18
22
  if (!source) {
19
- return { id: image.id, svg: `<rect data-element-kind="image" x="${number(x)}" y="${number(y)}" width="${number(image.width)}" height="${number(image.height)}" fill="#eeeeee" stroke="#8f8f8f" stroke-width="2"/>` };
23
+ return { id: image.id, svg: `<rect data-element-kind="image" x="${number(x)}" y="${number(y)}" width="${number(image.width)}" height="${number(image.height)}" fill="#F8FAF9" stroke="#ADBDB8" stroke-width="2"/>` };
20
24
  }
21
25
  const crop = image.crop;
22
26
  const sourceX = crop ? x - (crop.x / crop.width) * image.width : x;
@@ -24,25 +28,25 @@ export function renderUiSketchSvg(state, resolveImageSource) {
24
28
  const sourceWidth = crop ? image.width / crop.width : image.width;
25
29
  const sourceHeight = crop ? image.height / crop.height : image.height;
26
30
  const clipId = `ui-image-${image.id.replace(/[^a-zA-Z0-9_-]/g, "-")}`;
27
- return { id: image.id, svg: `<g data-element-kind="image"><defs><clipPath id="${clipId}"><rect x="${number(x)}" y="${number(y)}" width="${number(image.width)}" height="${number(image.height)}"/></clipPath></defs><image href="${escapeXml(source)}" x="${number(sourceX)}" y="${number(sourceY)}" width="${number(sourceWidth)}" height="${number(sourceHeight)}" preserveAspectRatio="${crop ? "none" : "xMidYMid slice"}" clip-path="url(#${clipId})"/></g>` };
31
+ const bounds = `x="${number(x)}" y="${number(y)}" width="${number(image.width)}" height="${number(image.height)}"`;
32
+ return { id: image.id, svg: `<g data-element-kind="image"><rect ${bounds} fill="none" stroke="#ADBDB8" stroke-width="2"/><defs><clipPath id="${clipId}"><rect ${bounds}/></clipPath></defs><image href="${escapeXml(source)}" x="${number(sourceX)}" y="${number(sourceY)}" width="${number(sourceWidth)}" height="${number(sourceHeight)}" preserveAspectRatio="${crop ? "none" : "xMidYMid slice"}" clip-path="url(#${clipId})"/></g>` };
28
33
  });
29
- const texts = state.texts.filter((text) => text.visible).map((text) => ({ id: text.id, svg: svgTextLines(text.text, text.x - state.frame.x, text.y - state.frame.y, text.fontSize, "start", false).join("") }));
34
+ const texts = state.texts.filter((text) => text.visible).map((text) => ({ id: text.id, svg: svgTextLines(text.text, text.x - state.frame.x, text.y - state.frame.y, text.fontSize) }));
30
35
  return [
31
- `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}">`,
36
+ `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}" overflow="hidden">`,
37
+ `<defs><clipPath id="ui-preview-frame" clipPathUnits="userSpaceOnUse"><rect width="${width}" height="${height}"/></clipPath></defs>`,
32
38
  '<rect width="100%" height="100%" fill="#ffffff"/>',
33
- '<g font-family="Inter, system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif" fill="#1f1f1f">',
39
+ `<g clip-path="url(#ui-preview-frame)" font-family="-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, sans-serif" font-weight="400" fill="${UI_SKETCH_TEXT_COLOR}">`,
34
40
  ...sortCanvasLayers([...images, ...rectangles, ...texts], state.layerOrder, (node) => node.id).map((node) => node.svg),
35
41
  "</g>",
36
42
  "</svg>",
37
43
  ].join("");
38
44
  }
39
- function svgTextLines(value, x, y, fontSize, anchor, verticallyCentered) {
40
- const lines = value.split("\n");
41
- const lineHeight = fontSize * 1.4;
42
- const startY = verticallyCentered
43
- ? y - ((lines.length - 1) * lineHeight) / 2
44
- : y + fontSize;
45
- return lines.map((line, index) => (`<text x="${number(x)}" y="${number(startY + index * lineHeight)}" font-size="${number(fontSize)}" text-anchor="${anchor}" dominant-baseline="middle">${escapeXml(line || " ")}</text>`));
45
+ function svgTextLines(value, x, y, fontSize) {
46
+ // Explicit alphabetic baselines match the editor without librsvg's
47
+ // font-fallback-dependent text-before-edge adjustment.
48
+ const lines = value.split("\n").map((line, index) => (`<tspan x="0" y="${number(uiSketchTextBaseline(fontSize, index))}">${escapeXml(line || "\u00a0")}</tspan>`));
49
+ return `<g transform="translate(${number(x)} ${number(y)})"><text x="0" y="${number(uiSketchTextBaseline(fontSize))}" font-size="${number(fontSize)}" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve" style="white-space:pre">${lines.join("")}</text></g>`;
46
50
  }
47
51
  function number(value) {
48
52
  return String(Math.round(value * 100) / 100);
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/domain/ui-sketch/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/domain/ui-sketch/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { type SessionPreviewReference } from "../session/preview.ts";
2
+ import type { UiSketchDraft } from "./types.ts";
3
+ export interface MaterializedSessionPreview {
4
+ reference: SessionPreviewReference;
5
+ assetId: string;
6
+ width: number;
7
+ height: number;
8
+ }
9
+ export declare function uiSessionPreviewSize(source: {
10
+ width: number;
11
+ height: number;
12
+ }, frame: {
13
+ width: number;
14
+ height: number;
15
+ }): {
16
+ width: number;
17
+ height: number;
18
+ };
19
+ export declare function addUiSessionPreview(draft: UiSketchDraft, preview: MaterializedSessionPreview, id: string, center?: {
20
+ x: number;
21
+ y: number;
22
+ }, size?: {
23
+ width: number;
24
+ height: number;
25
+ }): UiSketchDraft;
26
+ /** Null means an actual external edit, which must retain normal conflict handling. */
27
+ export declare function mergeUiPreviewRefresh(local: UiSketchDraft, base: UiSketchDraft, remote: UiSketchDraft): UiSketchDraft | null;
@@ -0,0 +1,43 @@
1
+ import { previewSourceKey } from "../session/preview.js";
2
+ import { createHuman2AiCanvasNodeMetadata } from "../canvas-node-metadata.js";
3
+ import { uiSketchLayerOrder } from "./layers.js";
4
+ export function uiSessionPreviewSize(source, frame) {
5
+ const scale = Math.min(1, frame.width * 0.5 / source.width, frame.height * 0.5 / source.height);
6
+ return { width: source.width * scale, height: source.height * scale };
7
+ }
8
+ export function addUiSessionPreview(draft, preview, id, center, size) {
9
+ const { width, height } = size ?? uiSessionPreviewSize(preview, draft.frame);
10
+ return { ...draft, images: [...draft.images, {
11
+ ...createHuman2AiCanvasNodeMetadata(), id, x: (center?.x ?? draft.frame.x + draft.frame.width / 2) - width / 2,
12
+ y: (center?.y ?? draft.frame.y + draft.frame.height / 2) - height / 2, width, height,
13
+ visible: true, weight: "auto", crop: null, assetId: preview.assetId, previewReference: preview.reference,
14
+ }], layerOrder: [...uiSketchLayerOrder(draft), id] };
15
+ }
16
+ function authoredContent(draft) {
17
+ return JSON.stringify({ ...draft, images: draft.images.map(image => {
18
+ if (!image.previewReference)
19
+ return image;
20
+ const { renderedRevision: _revision, ...source } = image.previewReference;
21
+ return { ...image, assetId: null, previewReference: source };
22
+ }) });
23
+ }
24
+ /** Null means an actual external edit, which must retain normal conflict handling. */
25
+ export function mergeUiPreviewRefresh(local, base, remote) {
26
+ if (authoredContent(base) !== authoredContent(remote))
27
+ return null;
28
+ const originals = new Map(base.images.map(image => [image.id, image]));
29
+ const updates = new Map(remote.images.map(image => [image.id, image]));
30
+ let changed = false;
31
+ const images = local.images.map(image => {
32
+ const before = originals.get(image.id), after = updates.get(image.id);
33
+ if (!image.previewReference || !before?.previewReference || !after?.previewReference
34
+ || previewSourceKey(image.previewReference) !== previewSourceKey(after.previewReference)
35
+ || image.assetId !== before.assetId
36
+ || image.assetId === after.assetId && image.previewReference.renderedRevision === after.previewReference.renderedRevision)
37
+ return image;
38
+ changed = true;
39
+ return { ...image, assetId: after.assetId, previewReference: after.previewReference };
40
+ });
41
+ return changed ? { ...local, images } : local;
42
+ }
43
+ //# sourceMappingURL=session-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-preview.js","sourceRoot":"","sources":["../../../src/domain/ui-sketch/session-preview.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Human2AiCanvasImageContent, Human2AiCanvasNodeMetadata, Human2AiCanvasNodeOrigin } from "../canvas-node-metadata.ts";
2
2
  import type { DraftVersion } from "../session/index.ts";
3
+ import type { SessionPreviewReference } from "../session/preview.ts";
3
4
  export interface UiSketchBounds {
4
5
  x: number;
5
6
  y: number;
@@ -29,6 +30,7 @@ export interface UiSketchImage extends UiSketchBounds, Human2AiCanvasNodeMetadat
29
30
  origin: UiSketchNodeOrigin;
30
31
  visible: boolean;
31
32
  weight: UiSketchVisualWeight;
33
+ previewReference?: SessionPreviewReference;
32
34
  }
33
35
  export interface UiSketchStageRectangleState extends UiSketchBounds {
34
36
  id: string;