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.
- package/README.en.md +51 -28
- package/README.md +51 -28
- package/dist/cli/main.js +33 -21
- package/dist/cli/main.js.map +1 -1
- package/dist/database/composition-session-repository.d.ts +2 -0
- package/dist/database/composition-session-repository.js +1 -0
- package/dist/database/composition-session-repository.js.map +1 -1
- package/dist/database/draft-version-store.d.ts +8 -1
- package/dist/database/draft-version-store.js +21 -4
- package/dist/database/draft-version-store.js.map +1 -1
- package/dist/database/project-session-repository.d.ts +24 -1
- package/dist/database/project-session-repository.js +80 -0
- package/dist/database/project-session-repository.js.map +1 -1
- package/dist/database/session-preview-validation.d.ts +3 -0
- package/dist/database/session-preview-validation.js +44 -0
- package/dist/database/session-preview-validation.js.map +1 -0
- package/dist/database/spatial-session-repository.d.ts +2 -0
- package/dist/database/spatial-session-repository.js +1 -0
- package/dist/database/spatial-session-repository.js.map +1 -1
- package/dist/database/svg-input.js +9 -1
- package/dist/database/svg-input.js.map +1 -1
- package/dist/database/ui-sketch-session-repository.d.ts +3 -0
- package/dist/database/ui-sketch-session-repository.js +6 -0
- package/dist/database/ui-sketch-session-repository.js.map +1 -1
- package/dist/domain/canvas-frame.d.ts +15 -0
- package/dist/domain/canvas-frame.js +24 -0
- package/dist/domain/canvas-frame.js.map +1 -0
- package/dist/domain/canvas-node-tone.d.ts +1 -0
- package/dist/domain/canvas-node-tone.js +9 -0
- package/dist/domain/canvas-node-tone.js.map +1 -0
- package/dist/domain/canvas-shape-overlap.d.ts +12 -0
- package/dist/domain/canvas-shape-overlap.js +79 -0
- package/dist/domain/canvas-shape-overlap.js.map +1 -0
- package/dist/domain/composition/analysis.d.ts +1 -0
- package/dist/domain/composition/analysis.js +6 -3
- package/dist/domain/composition/analysis.js.map +1 -1
- package/dist/domain/composition/clipboard.d.ts +3 -0
- package/dist/domain/composition/clipboard.js +30 -0
- package/dist/domain/composition/clipboard.js.map +1 -0
- package/dist/domain/composition/draft.d.ts +6 -1
- package/dist/domain/composition/draft.js +42 -27
- package/dist/domain/composition/draft.js.map +1 -1
- package/dist/domain/composition/frame.d.ts +5 -8
- package/dist/domain/composition/frame.js +21 -68
- package/dist/domain/composition/frame.js.map +1 -1
- package/dist/domain/composition/index.d.ts +4 -3
- package/dist/domain/composition/index.js +4 -3
- package/dist/domain/composition/index.js.map +1 -1
- package/dist/domain/composition/raster.d.ts +2 -0
- package/dist/domain/composition/raster.js +19 -0
- package/dist/domain/composition/raster.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/refinement/types.d.ts +1 -0
- package/dist/domain/composition/render.d.ts +6 -0
- package/dist/domain/composition/render.js +84 -20
- package/dist/domain/composition/render.js.map +1 -1
- package/dist/domain/composition/states.js +14 -8
- package/dist/domain/composition/states.js.map +1 -1
- package/dist/domain/composition/text-warp.d.ts +8 -0
- package/dist/domain/composition/text-warp.js +60 -0
- package/dist/domain/composition/text-warp.js.map +1 -0
- package/dist/domain/composition/types.d.ts +9 -4
- package/dist/domain/session/canvas-edit-history.d.ts +2 -0
- package/dist/domain/session/canvas-edit-history.js +2 -0
- package/dist/domain/session/canvas-edit-history.js.map +1 -1
- package/dist/domain/session/preview.d.ts +16 -0
- package/dist/domain/session/preview.js +48 -0
- package/dist/domain/session/preview.js.map +1 -0
- package/dist/domain/session/types.d.ts +8 -0
- package/dist/domain/ui-sketch/appearance.d.ts +12 -0
- package/dist/domain/ui-sketch/appearance.js +24 -0
- package/dist/domain/ui-sketch/appearance.js.map +1 -0
- package/dist/domain/ui-sketch/clipboard.d.ts +2 -0
- package/dist/domain/ui-sketch/clipboard.js +21 -1
- package/dist/domain/ui-sketch/clipboard.js.map +1 -1
- package/dist/domain/ui-sketch/draft.js +3 -1
- package/dist/domain/ui-sketch/draft.js.map +1 -1
- package/dist/domain/ui-sketch/index.d.ts +1 -1
- package/dist/domain/ui-sketch/index.js +1 -1
- package/dist/domain/ui-sketch/index.js.map +1 -1
- package/dist/domain/ui-sketch/render.js +21 -17
- package/dist/domain/ui-sketch/render.js.map +1 -1
- package/dist/domain/ui-sketch/session-preview.d.ts +27 -0
- package/dist/domain/ui-sketch/session-preview.js +43 -0
- package/dist/domain/ui-sketch/session-preview.js.map +1 -0
- package/dist/domain/ui-sketch/types.d.ts +2 -0
- package/dist/server/app.d.ts +1 -1
- package/dist/server/app.js +8 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/routes/project-sessions.js +47 -3
- package/dist/server/routes/project-sessions.js.map +1 -1
- package/dist/server/routes/session-previews.d.ts +3 -0
- package/dist/server/routes/session-previews.js +104 -0
- package/dist/server/routes/session-previews.js.map +1 -0
- package/dist/server/session-preview-service.d.ts +55 -0
- package/dist/server/session-preview-service.js +255 -0
- package/dist/server/session-preview-service.js.map +1 -0
- package/locales/en/common.json +63 -8
- package/migrations/0011_session_groups.sql +21 -0
- package/package.json +1 -1
- package/schemas/composition-draft.schema.json +11 -2
- package/schemas/ui-sketch-draft.schema.json +85 -0
- package/skills/human2ai/SKILL.md +1 -1
- package/skills/human2ai/references/composition-projection.md +5 -3
- package/skills/human2ai/references/composition.md +51 -10
- package/skills/human2ai/references/ui-layout.md +7 -1
- package/web/out/404/index.html +1 -1
- package/web/out/404.html +1 -1
- package/web/out/__next.__PAGE__.txt +14 -13
- package/web/out/__next._full.txt +23 -22
- package/web/out/__next._tree.txt +5 -5
- package/web/out/_next/static/chunks/348-845058912fd7c5e5.js +1 -0
- package/web/out/_next/static/chunks/{380-6a6a9517cf13350e.js → 60-f12915d6c3a2c6a3.js} +67 -67
- package/web/out/_next/static/chunks/app/_not-found/page-508d7dc25aaa3aa9.js +1 -0
- package/web/out/_next/static/chunks/app/composition/page-30c8fcabe591ab65.js +1 -0
- package/web/out/_next/static/chunks/app/layout-68da0027d158df26.js +1 -0
- package/web/out/_next/static/chunks/app/{page-b027a8ffdb9dda66.js → page-96f541a0e6fa160b.js} +1 -1
- package/web/out/_next/static/chunks/app/spatial/page-ac4e6cda25dea88f.js +1 -0
- package/web/out/_next/static/chunks/app/styles/page-4f0f5e04e35adaa3.js +1 -0
- package/web/out/_next/static/chunks/app/ui-sketch/page-08ddf9773e8f15ed.js +1 -0
- package/web/out/_next/static/chunks/main-app-3e9223f29047fc41.js +1 -0
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-2d183cd08094b261.js +1 -0
- package/web/out/_next/static/chunks/webpack-9a8652ec72df780b.js +1 -0
- package/web/out/_next/static/css/04c7fcbfa9004e04.css +1 -0
- package/web/out/_next/static/css/0777c3d5c25abf92.css +1 -0
- package/web/out/_next/static/css/3d47424e508934f6.css +5 -0
- package/web/out/_next/static/css/{d42ebb6745c15e30.css → 5062b0bcc3118ed8.css} +1 -1
- package/web/out/_next/static/css/5d259915312c51c1.css +1 -0
- package/web/out/_next/static/css/9c61ee5fe683073a.css +1 -0
- package/web/out/_not-found/__next._full.txt +21 -18
- package/web/out/_not-found/__next._not-found.__PAGE__.txt +11 -8
- package/web/out/_not-found/__next._tree.txt +5 -3
- package/web/out/_not-found/index.html +1 -1
- package/web/out/_not-found/index.txt +21 -18
- package/web/out/composition/__next._full.txt +26 -26
- package/web/out/composition/__next._tree.txt +6 -7
- package/web/out/composition/__next.composition.__PAGE__.txt +13 -13
- package/web/out/composition/index.html +1 -1
- package/web/out/composition/index.txt +26 -26
- package/web/out/index.html +1 -1
- package/web/out/index.txt +23 -22
- package/web/out/spatial/__next._full.txt +25 -24
- package/web/out/spatial/__next._tree.txt +5 -5
- package/web/out/spatial/__next.spatial.__PAGE__.txt +12 -11
- package/web/out/spatial/index.html +1 -1
- package/web/out/spatial/index.txt +25 -24
- package/web/out/styles/__next._full.txt +25 -24
- package/web/out/styles/__next._tree.txt +5 -5
- package/web/out/styles/__next.styles.__PAGE__.txt +12 -11
- package/web/out/styles/index.html +1 -1
- package/web/out/styles/index.txt +25 -24
- package/web/out/ui-sketch/__next._full.txt +26 -26
- package/web/out/ui-sketch/__next._tree.txt +6 -7
- package/web/out/ui-sketch/__next.ui-sketch.__PAGE__.txt +13 -13
- package/web/out/ui-sketch/index.html +1 -1
- package/web/out/ui-sketch/index.txt +26 -26
- package/web/out/_next/static/chunks/130-930cfe062cda6fb5.js +0 -1
- package/web/out/_next/static/chunks/166-64abdc6456626378.js +0 -1
- package/web/out/_next/static/chunks/20-0801fc297cda2a7a.js +0 -1
- package/web/out/_next/static/chunks/678-6a688c1f8589183c.js +0 -1
- package/web/out/_next/static/chunks/app/_not-found/page-527a4b0506fa60cb.js +0 -1
- package/web/out/_next/static/chunks/app/composition/page-945cb9644c513407.js +0 -1
- package/web/out/_next/static/chunks/app/layout-33fe456f6115412e.js +0 -1
- package/web/out/_next/static/chunks/app/spatial/page-c52d564a39d3b592.js +0 -1
- package/web/out/_next/static/chunks/app/styles/page-87d77b1f3e8fdd21.js +0 -1
- package/web/out/_next/static/chunks/app/ui-sketch/page-69219e06cc93c28f.js +0 -1
- package/web/out/_next/static/chunks/main-app-4a71cca48ead7720.js +0 -1
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-6a956dd8904b8723.js +0 -1
- package/web/out/_next/static/chunks/webpack-c0280e9af5fc8cd3.js +0 -1
- package/web/out/_next/static/css/0ab45995828642ec.css +0 -1
- package/web/out/_next/static/css/0c7915cdb1509f9d.css +0 -1
- package/web/out/_next/static/css/4fb1bde9070d5094.css +0 -5
- package/web/out/_next/static/css/c739d0131cdcc891.css +0 -1
- package/web/out/_next/static/css/d787350911847f22.css +0 -1
- package/web/out/_next/static/css/db78da93b4de5040.css +0 -1
- /package/web/out/_next/static/{Rem7hlT5iXtA-5codwSoe → MsEzgYkCNtygwkUNRRXe7}/_buildManifest.js +0 -0
- /package/web/out/_next/static/{Rem7hlT5iXtA-5codwSoe → MsEzgYkCNtygwkUNRRXe7}/_ssgManifest.js +0 -0
|
@@ -173,6 +173,7 @@ export function auditRefinement(sourceInput, refinedInput, plan) {
|
|
|
173
173
|
? { ...draft.directionLine, rotation: 0 } : draft.directionLine;
|
|
174
174
|
const preserved = {
|
|
175
175
|
processingSemantic: source.processingSemantic === refined.processingSemantic,
|
|
176
|
+
previewMode: (source.previewMode ?? "precise") === (refined.previewMode ?? "precise"),
|
|
176
177
|
frame: equal(source.frame, refined.frame),
|
|
177
178
|
focusIdentity: equal(source.focusPoints.map(({ id }) => id), refined.focusPoints.map(({ id }) => id)),
|
|
178
179
|
areaIdentity: sourceAreaIds.length === refinedAreaIds.length &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/domain/composition/refinement/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/domain/composition/refinement/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { CompositionArea, CompositionDraft } from "./types.ts";
|
|
2
2
|
export type CompositionImageSourceResolver = (assetId: string) => string | undefined;
|
|
3
3
|
export declare function renderCompositionSvg(input: CompositionDraft, resolveImageSource?: CompositionImageSourceResolver): string;
|
|
4
|
+
/** Content-only drawing, shared by the editor onion skin and CLI preview. */
|
|
5
|
+
export declare function renderCompositionNodesSvg(input: CompositionDraft, resolveImageSource?: CompositionImageSourceResolver): string[];
|
|
4
6
|
export declare function renderCompositionReferenceSvg(input: CompositionDraft, resolveImageSource?: CompositionImageSourceResolver): string;
|
|
7
|
+
/** A normalized text block stretches with the region, independently on each axis. */
|
|
8
|
+
export declare function renderCompositionDisplayTextSvg(area: CompositionArea, clipId?: string): string;
|
|
9
|
+
/** Broad falloff follows the authored mass without presenting a hard silhouette. */
|
|
10
|
+
export declare function renderCompositionSoftAreaSvg(area: CompositionArea, gradientId?: string): string;
|
|
5
11
|
export declare function renderCompositionLightSourceSvg(area: CompositionArea, gradientId?: string, appearance?: "editor" | "reference"): string;
|
|
@@ -1,16 +1,33 @@
|
|
|
1
1
|
import { compositionLayerOrder } from "./layers.js";
|
|
2
|
+
import { textRegionWarp } from "./text-warp.js";
|
|
2
3
|
import { compositionPlanGeometry } from "./planning.js";
|
|
3
|
-
import { validateDraft } from "./draft.js";
|
|
4
|
+
import { isCompositionTextRegion, validateDraft, visibleCompositionDraft } from "./draft.js";
|
|
4
5
|
import { COMPOSITION_CANVAS, frameBoundsInCanvas, } from "./frame.js";
|
|
5
6
|
import { areaGeometry, compositionDraftWorldBounds, directionLineGeometry, geometryBounds, textRegionLines, } from "./geometry.js";
|
|
6
7
|
export function renderCompositionSvg(input, resolveImageSource) {
|
|
7
|
-
const draft = validateDraft(input);
|
|
8
|
+
const draft = visibleCompositionDraft(validateDraft(input));
|
|
8
9
|
const frame = frameBoundsInCanvas(draft.frame);
|
|
9
10
|
const world = compositionDraftWorldBounds(draft);
|
|
10
11
|
const background = [
|
|
11
12
|
`<rect x="${format(world.x)}" y="${format(world.y)}" width="${format(world.width)}" height="${format(world.height)}" fill="#f3f3f3"/>`,
|
|
12
13
|
`<rect x="${format(frame.x)}" y="${format(frame.y)}" width="${format(frame.width)}" height="${format(frame.height)}" fill="#ffffff"/>`,
|
|
13
14
|
];
|
|
15
|
+
const orderedElements = [...background, ...renderCompositionNodesSvg(draft, resolveImageSource)];
|
|
16
|
+
if (draft.plans?.some((plan) => plan.visible)) {
|
|
17
|
+
orderedElements.push(`<defs><clipPath id="composition-planning-frame"><rect x="${format(frame.x)}" y="${format(frame.y)}" width="${format(frame.width)}" height="${format(frame.height)}"/></clipPath></defs>`);
|
|
18
|
+
for (const plan of draft.plans.filter((entry) => entry.visible)) {
|
|
19
|
+
const paths = compositionPlanGeometry(plan, draft.frame).paths.map((points) => `<polyline points="${points.map((p) => `${format(p.x)},${format(p.y)}`).join(" ")}"/>`).join("");
|
|
20
|
+
orderedElements.push(`<g data-composition-plan="${escapeAttribute(plan.id)}" clip-path="url(#composition-planning-frame)" fill="none" stroke="#B8C4D2" stroke-width="2" stroke-dasharray="8 5">${paths}</g>`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
orderedElements.push(`<rect x="${format(frame.x)}" y="${format(frame.y)}" width="${format(frame.width)}" height="${format(frame.height)}" fill="none" stroke="#000000" stroke-width="2"/>`);
|
|
24
|
+
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${format(world.x)} ${format(world.y)} ${format(world.width)} ${format(world.height)}" width="${format(world.width)}" height="${format(world.height)}" role="img" aria-label="构图草图">
|
|
25
|
+
${orderedElements.map((element) => ` ${element}`).join("\n")}
|
|
26
|
+
</svg>`;
|
|
27
|
+
}
|
|
28
|
+
/** Content-only drawing, shared by the editor onion skin and CLI preview. */
|
|
29
|
+
export function renderCompositionNodesSvg(input, resolveImageSource) {
|
|
30
|
+
const draft = visibleCompositionDraft(input);
|
|
14
31
|
const elements = [];
|
|
15
32
|
for (const image of draft.images) {
|
|
16
33
|
elements.push(renderImageElement(image, resolveImageSource));
|
|
@@ -30,6 +47,9 @@ export function renderCompositionSvg(input, resolveImageSource) {
|
|
|
30
47
|
else {
|
|
31
48
|
elements.push(`<polygon points="${geometry.points.map((point) => `${format(point.x)},${format(point.y)}`).join(" ")}" fill="#c8c8c8" stroke="#000000" stroke-width="4"/>`);
|
|
32
49
|
}
|
|
50
|
+
if (isCompositionTextRegion(area) && area.displayText?.trim()) {
|
|
51
|
+
elements[elements.length - 1] += renderCompositionDisplayTextSvg(area);
|
|
52
|
+
}
|
|
33
53
|
}
|
|
34
54
|
if (draft.directionLine) {
|
|
35
55
|
const line = directionLineGeometry(draft.directionLine, COMPOSITION_CANVAS);
|
|
@@ -44,21 +64,10 @@ export function renderCompositionSvg(input, resolveImageSource) {
|
|
|
44
64
|
`<circle cx="${format(x)}" cy="${format(y)}" r="9" fill="#ffffff" stroke="#000000" stroke-width="3"/>`,
|
|
45
65
|
].join(""));
|
|
46
66
|
}
|
|
47
|
-
|
|
48
|
-
if (draft.plans?.some((plan) => plan.visible)) {
|
|
49
|
-
orderedElements.push(`<defs><clipPath id="composition-planning-frame"><rect x="${format(frame.x)}" y="${format(frame.y)}" width="${format(frame.width)}" height="${format(frame.height)}"/></clipPath></defs>`);
|
|
50
|
-
for (const plan of draft.plans.filter((entry) => entry.visible)) {
|
|
51
|
-
const paths = compositionPlanGeometry(plan, draft.frame).paths.map((points) => `<polyline points="${points.map((p) => `${format(p.x)},${format(p.y)}`).join(" ")}"/>`).join("");
|
|
52
|
-
orderedElements.push(`<g data-composition-plan="${escapeAttribute(plan.id)}" clip-path="url(#composition-planning-frame)" fill="none" stroke="#B8C4D2" stroke-width="2" stroke-dasharray="8 5">${paths}</g>`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
orderedElements.push(`<rect x="${format(frame.x)}" y="${format(frame.y)}" width="${format(frame.width)}" height="${format(frame.height)}" fill="none" stroke="#000000" stroke-width="2"/>`);
|
|
56
|
-
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${format(world.x)} ${format(world.y)} ${format(world.width)} ${format(world.height)}" width="${format(world.width)}" height="${format(world.height)}" role="img" aria-label="构图草图">
|
|
57
|
-
${orderedElements.map((element) => ` ${element}`).join("\n")}
|
|
58
|
-
</svg>`;
|
|
67
|
+
return orderedCompositionElements(draft, elements);
|
|
59
68
|
}
|
|
60
69
|
export function renderCompositionReferenceSvg(input, resolveImageSource) {
|
|
61
|
-
const draft = validateDraft(input);
|
|
70
|
+
const draft = visibleCompositionDraft(validateDraft(input));
|
|
62
71
|
const frame = frameBoundsInCanvas(draft.frame);
|
|
63
72
|
const minimumEdge = Math.min(frame.width, frame.height);
|
|
64
73
|
const strokeWidth = minimumEdge * 0.004;
|
|
@@ -68,13 +77,19 @@ export function renderCompositionReferenceSvg(input, resolveImageSource) {
|
|
|
68
77
|
...draft.areas.map((area) => {
|
|
69
78
|
if (area.isLightSource)
|
|
70
79
|
return renderCompositionLightSourceSvg(area, undefined, "reference");
|
|
80
|
+
if (draft.previewMode === "soft" && area.semanticType !== "text-region" && !area.corners) {
|
|
81
|
+
return renderCompositionSoftAreaSvg(area);
|
|
82
|
+
}
|
|
83
|
+
if (draft.previewMode !== "soft" && isCompositionTextRegion(area) && area.displayText?.trim()) {
|
|
84
|
+
return renderCompositionDisplayTextSvg(area);
|
|
85
|
+
}
|
|
71
86
|
const geometry = areaGeometry(area, COMPOSITION_CANVAS);
|
|
72
87
|
if (area.corners && geometry.type === "polygon") {
|
|
73
88
|
const points = geometry.points.map((point) => `${format(point.x)},${format(point.y)}`).join(" ");
|
|
74
89
|
const lines = textRegionLines(area, COMPOSITION_CANVAS).map(([start, end]) => `<line x1="${format(start.x)}" y1="${format(start.y)}" x2="${format(end.x)}" y2="${format(end.y)}" stroke="#555555" stroke-width="${format(strokeWidth * 2)}" stroke-linecap="round"/>`);
|
|
75
90
|
return `<g data-region-kind="text-region"><polygon data-reference-role="text-outline" points="${points}" fill="#e3e3e3"/><g data-reference-role="typography">${lines.join("")}</g></g>`;
|
|
76
91
|
}
|
|
77
|
-
const shape =
|
|
92
|
+
const shape = renderReferenceShape(geometry, `data-reference-role="influence-zone" fill="#1F292B" fill-opacity="0.12" stroke="#1F292B" stroke-width="2" vector-effect="non-scaling-stroke"${geometry.type === "ellipse" ? ` transform="rotate(${format(area.rotation ?? 0)} ${format(geometry.cx)} ${format(geometry.cy)})"` : ""}`);
|
|
78
93
|
if (area.semanticType !== "text-region") {
|
|
79
94
|
return `<g data-region-kind="content-region">${shape}</g>`;
|
|
80
95
|
}
|
|
@@ -107,7 +122,6 @@ export function renderCompositionReferenceSvg(input, resolveImageSource) {
|
|
|
107
122
|
}
|
|
108
123
|
return [
|
|
109
124
|
`<svg xmlns="http://www.w3.org/2000/svg" width="${draft.frame.width}" height="${draft.frame.height}" viewBox="${format(frame.x)} ${format(frame.y)} ${format(frame.width)} ${format(frame.height)}">`,
|
|
110
|
-
`<defs><radialGradient id="composition-region-gradient"><stop offset="0" stop-color="#8f8f8f" stop-opacity="0.32"/><stop offset="0.58" stop-color="#9a9a9a" stop-opacity="0.22"/><stop offset="1" stop-color="#b8b8b8" stop-opacity="0"/></radialGradient></defs>`,
|
|
111
125
|
`<rect x="${format(frame.x)}" y="${format(frame.y)}" width="${format(frame.width)}" height="${format(frame.height)}" fill="#ffffff"/>`,
|
|
112
126
|
...orderedCompositionElements(draft, elements),
|
|
113
127
|
"</svg>",
|
|
@@ -118,6 +132,51 @@ function orderedCompositionElements(draft, elements) {
|
|
|
118
132
|
const byId = new Map(nodes.map((node, index) => [node.id, elements[index]]));
|
|
119
133
|
return compositionLayerOrder(draft).map((id) => byId.get(id));
|
|
120
134
|
}
|
|
135
|
+
/** A normalized text block stretches with the region, independently on each axis. */
|
|
136
|
+
export function renderCompositionDisplayTextSvg(area, clipId = `composition-text-${area.id}`) {
|
|
137
|
+
if (!area.displayText?.trim())
|
|
138
|
+
return "";
|
|
139
|
+
const geometry = areaGeometry({ ...area, rotation: 0 }, COMPOSITION_CANVAS);
|
|
140
|
+
if (geometry.type !== "polygon" || geometry.width === undefined)
|
|
141
|
+
return "";
|
|
142
|
+
const { width, height, center } = geometry;
|
|
143
|
+
const lines = area.displayText.replace(/\r\n?/g, "\n").split("\n");
|
|
144
|
+
const id = escapeAttribute(clipId);
|
|
145
|
+
// A 1.2em line box leaves room for CJK, accents and Latin descenders.
|
|
146
|
+
const text = lines.map((line, index) => line.trim()
|
|
147
|
+
? `<text x="0" y="${index * 1200 + 950}" textLength="1000" lengthAdjust="spacingAndGlyphs">${escapeAttribute(line)}</text>`
|
|
148
|
+
: "").join("");
|
|
149
|
+
const points = geometry.points.map(point => `${format(point.x)},${format(point.y)}`).join(" ");
|
|
150
|
+
const block = `<svg x="${area.corners ? 0 : format(center.x - width / 2)}" y="${area.corners ? 0 : format(center.y - height / 2)}" width="${format(width)}" height="${format(height)}" viewBox="0 0 1000 ${lines.length * 1200}" preserveAspectRatio="none" overflow="hidden" fill="#1F292B" stroke="none" font-family="Arial, 'Noto Sans CJK SC', 'Microsoft YaHei', sans-serif" font-size="1000" font-weight="400" dominant-baseline="alphabetic" text-anchor="start" style="white-space:pre" xml:space="preserve">${text}</svg>`;
|
|
151
|
+
let content = block;
|
|
152
|
+
if (area.corners) {
|
|
153
|
+
const patches = textRegionWarp(geometry.points, width, height);
|
|
154
|
+
content = `<defs><g id="${id}-content">${block}</g></defs>` + patches.map((patch, index) => {
|
|
155
|
+
// Tiny overlap removes antialias seams; the outer outline still bounds the result.
|
|
156
|
+
const clip = patch.target.map((p, i, vertices) => {
|
|
157
|
+
const previous = vertices[(i + vertices.length - 1) % vertices.length];
|
|
158
|
+
const next = vertices[(i + 1) % vertices.length];
|
|
159
|
+
const before = Math.hypot(p.x - previous.x, p.y - previous.y);
|
|
160
|
+
const after = Math.hypot(next.x - p.x, next.y - p.y);
|
|
161
|
+
const nx1 = (p.y - previous.y) / before, ny1 = (previous.x - p.x) / before;
|
|
162
|
+
const nx2 = (next.y - p.y) / after, ny2 = (p.x - next.x) / after;
|
|
163
|
+
const overlap = 0.5 / (1 + nx1 * nx2 + ny1 * ny2);
|
|
164
|
+
return `${format(p.x + (nx1 + nx2) * overlap)},${format(p.y + (ny1 + ny2) * overlap)}`;
|
|
165
|
+
}).join(" ");
|
|
166
|
+
return `<clipPath id="${id}-${index}"><polygon points="${clip}"/></clipPath><g clip-path="url(#${id}-${index})"><use data-text-warp-patch="${index}" href="#${id}-content" transform="matrix(${patch.matrix.map(value => Number(value.toFixed(9))).join(" ")})"/></g>`;
|
|
167
|
+
}).join("");
|
|
168
|
+
}
|
|
169
|
+
return `<g data-region-kind="text-region" data-reference-role="display-text" transform="rotate(${format(area.rotation ?? 0)} ${format(center.x)} ${format(center.y)})"><defs><clipPath id="${id}"><polygon points="${points}"/></clipPath></defs><g clip-path="url(#${id})">${content}</g></g>`;
|
|
170
|
+
}
|
|
171
|
+
/** Broad falloff follows the authored mass without presenting a hard silhouette. */
|
|
172
|
+
export function renderCompositionSoftAreaSvg(area, gradientId = `composition-soft-${area.id}`) {
|
|
173
|
+
const id = escapeAttribute(gradientId);
|
|
174
|
+
const geometry = areaGeometry({ ...area, rotation: 0 }, COMPOSITION_CANVAS);
|
|
175
|
+
const bounds = geometryBounds(geometry);
|
|
176
|
+
const blur = Math.min(bounds.maximumX - bounds.minimumX, bounds.maximumY - bounds.minimumY) * 0.09;
|
|
177
|
+
const shape = renderReferenceShape(geometry, `data-reference-role="influence-zone" fill="url(#${id})" stroke="none" filter="url(#${id}-blur)"`);
|
|
178
|
+
return `<g data-region-kind="content-region" data-preview-mode="soft" transform="rotate(${format(area.rotation ?? 0)} ${format(area.x * COMPOSITION_CANVAS.width)} ${format(area.y * COMPOSITION_CANVAS.height)})"><defs><radialGradient id="${id}" r="70%"><stop offset="0" stop-color="#1F292B" stop-opacity="0.28"/><stop offset="0.55" stop-color="#1F292B" stop-opacity="0.16"/><stop offset="1" stop-color="#1F292B" stop-opacity="0.03"/></radialGradient><filter id="${id}-blur" x="-40%" y="-40%" width="180%" height="180%" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="${format(blur)}"/></filter></defs>${shape}</g>`;
|
|
179
|
+
}
|
|
121
180
|
// Editor geometry stays explicit; generation receives a soft lighting cue,
|
|
122
181
|
// not a silhouette to reproduce. Neither rendering specifies emission direction.
|
|
123
182
|
export function renderCompositionLightSourceSvg(area, gradientId = `composition-light-${area.id}`, appearance = "editor") {
|
|
@@ -165,9 +224,14 @@ function renderImageElement(image, resolveImageSource) {
|
|
|
165
224
|
const clipId = `composition-image-${image.id.replace(/[^a-zA-Z0-9_-]/g, "-")}`;
|
|
166
225
|
return `<g data-region-kind="image"${transform}><defs><clipPath id="${clipId}"><rect x="${format(x)}" y="${format(y)}" width="${format(width)}" height="${format(height)}"/></clipPath></defs><image href="${escapeAttribute(source)}" x="${format(sourceX)}" y="${format(sourceY)}" width="${format(sourceWidth)}" height="${format(sourceHeight)}" preserveAspectRatio="${crop ? "none" : "xMidYMid slice"}" clip-path="url(#${clipId})"/></g>`;
|
|
167
226
|
}
|
|
168
|
-
function
|
|
169
|
-
|
|
170
|
-
|
|
227
|
+
function renderReferenceShape(geometry, attributes) {
|
|
228
|
+
if (geometry.type === "circle") {
|
|
229
|
+
return `<circle cx="${format(geometry.cx)}" cy="${format(geometry.cy)}" r="${format(geometry.radius)}" ${attributes}/>`;
|
|
230
|
+
}
|
|
231
|
+
if (geometry.type === "ellipse") {
|
|
232
|
+
return `<ellipse cx="${format(geometry.cx)}" cy="${format(geometry.cy)}" rx="${format(geometry.radiusX)}" ry="${format(geometry.radiusY)}" ${attributes}/>`;
|
|
233
|
+
}
|
|
234
|
+
return `<polygon points="${geometry.points.map(point => `${format(point.x)},${format(point.y)}`).join(" ")}" ${attributes}/>`;
|
|
171
235
|
}
|
|
172
236
|
function format(value) {
|
|
173
237
|
return String(Math.round(value * 1000) / 1000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/domain/composition/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/domain/composition/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,12 +9,18 @@ function captureLayout(draft) {
|
|
|
9
9
|
width: draft.frame.bounds.width, height: draft.frame.bounds.height,
|
|
10
10
|
} },
|
|
11
11
|
layerOrder: compositionLayerOrder(draft),
|
|
12
|
-
focusPoints: draft.focusPoints.map(({ id, x, y }) => ({ id, x, y })),
|
|
13
|
-
directionLine: draft.directionLine ? (({ id, x, y, rotation }) => ({ id, x, y, rotation }))(draft.directionLine) : null,
|
|
14
|
-
areas: draft.areas.map(({ id, x, y, area, aspect, rotation, width, height, corners }) => ({ id, x, y, area, aspect, rotation, width, height, ...(corners ? { corners: structuredClone(corners) } : {}) })),
|
|
15
|
-
images: draft.images.map(({ id, x, y, width, height, rotation }) => ({ id, x, y, width, height, rotation })),
|
|
12
|
+
focusPoints: draft.focusPoints.map(({ id, x, y, visible }) => ({ id, x, y, ...(visible === undefined ? {} : { visible }) })),
|
|
13
|
+
directionLine: draft.directionLine ? (({ id, x, y, rotation, visible }) => ({ id, x, y, rotation, ...(visible === undefined ? {} : { visible }) }))(draft.directionLine) : null,
|
|
14
|
+
areas: draft.areas.map(({ id, x, y, area, aspect, rotation, width, height, corners, visible }) => ({ id, x, y, area, aspect, rotation, width, height, ...(visible === undefined ? {} : { visible }), ...(corners ? { corners: structuredClone(corners) } : {}) })),
|
|
15
|
+
images: draft.images.map(({ id, x, y, width, height, rotation, visible }) => ({ id, x, y, width, height, rotation, ...(visible === undefined ? {} : { visible }) })),
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
+
function applyNodeLayout(node, layout) {
|
|
19
|
+
if (!layout)
|
|
20
|
+
return { ...node };
|
|
21
|
+
const { visible, ...content } = node;
|
|
22
|
+
return { ...content, ...layout };
|
|
23
|
+
}
|
|
18
24
|
function applyLayout(draft, layout) {
|
|
19
25
|
const { plans: _plans, ...contentDraft } = draft;
|
|
20
26
|
const points = new Map(layout.focusPoints.map((node) => [node.id, node]));
|
|
@@ -25,16 +31,16 @@ function applyLayout(draft, layout) {
|
|
|
25
31
|
...(layout.plans ? { plans: structuredClone(layout.plans) } : {}),
|
|
26
32
|
frame: structuredClone(layout.frame),
|
|
27
33
|
layerOrder: [...layout.layerOrder],
|
|
28
|
-
focusPoints: draft.focusPoints.map((node) => (
|
|
29
|
-
directionLine: draft.directionLine ?
|
|
34
|
+
focusPoints: draft.focusPoints.map((node) => applyNodeLayout(node, points.get(node.id))),
|
|
35
|
+
directionLine: draft.directionLine ? applyNodeLayout(draft.directionLine, layout.directionLine ?? undefined) : null,
|
|
30
36
|
areas: draft.areas.map((node) => {
|
|
31
37
|
const saved = areas.get(node.id);
|
|
32
38
|
if (!saved)
|
|
33
39
|
return { ...node };
|
|
34
|
-
const { x, y, area, aspect, rotation, width, height, corners, ...content } = node;
|
|
40
|
+
const { x, y, area, aspect, rotation, width, height, corners, visible, ...content } = node;
|
|
35
41
|
return { ...content, ...saved };
|
|
36
42
|
}),
|
|
37
|
-
images: draft.images.map((node) => (
|
|
43
|
+
images: draft.images.map((node) => applyNodeLayout(node, images.get(node.id))),
|
|
38
44
|
};
|
|
39
45
|
}
|
|
40
46
|
export function compositionStates(draft) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"states.js","sourceRoot":"","sources":["../../../src/domain/composition/states.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpD,SAAS,aAAa,CAAC,KAAuB;IAC5C,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE;gBACrE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;aACnE,EAAE;QACH,UAAU,EAAE,qBAAqB,CAAC,KAAK,CAAC;QACxC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"states.js","sourceRoot":"","sources":["../../../src/domain/composition/states.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Point } from "./types.ts";
|
|
2
|
+
export interface TextWarpPatch {
|
|
3
|
+
source: Point[];
|
|
4
|
+
target: Point[];
|
|
5
|
+
matrix: number[];
|
|
6
|
+
}
|
|
7
|
+
/** Portable SVG uses affine patches to approximate the four-corner projective mapping. */
|
|
8
|
+
export declare function textRegionWarp(points: readonly Point[], width: number, height: number): TextWarpPatch[];
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/** Portable SVG uses affine patches to approximate the four-corner projective mapping. */
|
|
2
|
+
export function textRegionWarp(points, width, height) {
|
|
3
|
+
const [p0, p1, p2, p3] = points;
|
|
4
|
+
const dx1 = p1.x - p2.x, dx2 = p3.x - p2.x;
|
|
5
|
+
const dy1 = p1.y - p2.y, dy2 = p3.y - p2.y;
|
|
6
|
+
const dx = p0.x - p1.x + p2.x - p3.x;
|
|
7
|
+
const dy = p0.y - p1.y + p2.y - p3.y;
|
|
8
|
+
const determinant = dx1 * dy2 - dx2 * dy1;
|
|
9
|
+
const g = (dx * dy2 - dx2 * dy) / determinant;
|
|
10
|
+
const h = (dx1 * dy - dx * dy1) / determinant;
|
|
11
|
+
const project = ({ x, y }) => {
|
|
12
|
+
const u = x / width, v = y / height;
|
|
13
|
+
const denominator = g * u + h * v + 1;
|
|
14
|
+
return {
|
|
15
|
+
x: ((p1.x - p0.x + g * p1.x) * u + (p3.x - p0.x + h * p3.x) * v + p0.x) / denominator,
|
|
16
|
+
y: ((p1.y - p0.y + g * p1.y) * u + (p3.y - p0.y + h * p3.y) * v + p0.y) / denominator,
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
const source = [{ x: 0, y: 0 }, { x: width, y: 0 }, { x: width, y: height }, { x: 0, y: height }];
|
|
20
|
+
// Rectangles and parallelograms need only one exact transform.
|
|
21
|
+
if (Math.abs(g) + Math.abs(h) < 1e-10) {
|
|
22
|
+
return [{ source, target: [...points], matrix: triangleMatrix(source, points) }];
|
|
23
|
+
}
|
|
24
|
+
const patches = [];
|
|
25
|
+
const split = (triangle, depth) => {
|
|
26
|
+
const target = triangle.map(project);
|
|
27
|
+
const middle = triangle.map((point, i) => midpoint(point, triangle[(i + 1) % 3]));
|
|
28
|
+
const error = Math.max(...middle.map((point, i) => {
|
|
29
|
+
const actual = project(point), linear = midpoint(target[i], target[(i + 1) % 3]);
|
|
30
|
+
return Math.hypot(actual.x - linear.x, actual.y - linear.y);
|
|
31
|
+
}));
|
|
32
|
+
// Bound both the geometric error for normal canvas sizes and worst-case DOM work.
|
|
33
|
+
if (error > 0.3 && depth < 5) {
|
|
34
|
+
split([triangle[0], middle[0], middle[2]], depth + 1);
|
|
35
|
+
split([middle[0], triangle[1], middle[1]], depth + 1);
|
|
36
|
+
split([middle[2], middle[1], triangle[2]], depth + 1);
|
|
37
|
+
split([middle[0], middle[1], middle[2]], depth + 1);
|
|
38
|
+
}
|
|
39
|
+
else
|
|
40
|
+
patches.push({ source: triangle, target, matrix: triangleMatrix(triangle, target) });
|
|
41
|
+
};
|
|
42
|
+
split([source[0], source[1], source[2]], 0);
|
|
43
|
+
split([source[0], source[2], source[3]], 0);
|
|
44
|
+
return patches;
|
|
45
|
+
}
|
|
46
|
+
function midpoint(a, b) {
|
|
47
|
+
return { x: (a.x + b.x) / 2, y: (a.y + b.y) / 2 };
|
|
48
|
+
}
|
|
49
|
+
function triangleMatrix(source, target) {
|
|
50
|
+
const sx1 = source[1].x - source[0].x, sy1 = source[1].y - source[0].y;
|
|
51
|
+
const sx2 = source[2].x - source[0].x, sy2 = source[2].y - source[0].y;
|
|
52
|
+
const tx1 = target[1].x - target[0].x, ty1 = target[1].y - target[0].y;
|
|
53
|
+
const tx2 = target[2].x - target[0].x, ty2 = target[2].y - target[0].y;
|
|
54
|
+
const det = sx1 * sy2 - sx2 * sy1;
|
|
55
|
+
const a = (tx1 * sy2 - tx2 * sy1) / det, b = (ty1 * sy2 - ty2 * sy1) / det;
|
|
56
|
+
const c = (sx1 * tx2 - sx2 * tx1) / det, d = (sx1 * ty2 - sx2 * ty1) / det;
|
|
57
|
+
return [a, b, c, d, target[0].x - a * source[0].x - c * source[0].y,
|
|
58
|
+
target[0].y - b * source[0].x - d * source[0].y];
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=text-warp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-warp.js","sourceRoot":"","sources":["../../../src/domain/composition/text-warp.ts"],"names":[],"mappings":"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"}
|