human2ai 0.1.0
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/LICENSE +21 -0
- package/README.md +120 -0
- package/assets/quaternius/License_Standard.txt +22 -0
- package/assets/quaternius/README.md +31 -0
- package/assets/quaternius/Superhero_Female_FullBody.bin +0 -0
- package/assets/quaternius/Superhero_Female_FullBody.gltf +2056 -0
- package/assets/quaternius/Superhero_Male_FullBody.bin +0 -0
- package/assets/quaternius/Superhero_Male_FullBody.gltf +2018 -0
- package/dist/cli/integration.d.ts +39 -0
- package/dist/cli/integration.js +466 -0
- package/dist/cli/integration.js.map +1 -0
- package/dist/cli/main.d.ts +17 -0
- package/dist/cli/main.js +1455 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/database/composition-session-repository.d.ts +37 -0
- package/dist/database/composition-session-repository.js +147 -0
- package/dist/database/composition-session-repository.js.map +1 -0
- package/dist/database/draft-version-errors.d.ts +29 -0
- package/dist/database/draft-version-errors.js +47 -0
- package/dist/database/draft-version-errors.js.map +1 -0
- package/dist/database/draft-version-store.d.ts +30 -0
- package/dist/database/draft-version-store.js +168 -0
- package/dist/database/draft-version-store.js.map +1 -0
- package/dist/database/image-asset-repository.d.ts +37 -0
- package/dist/database/image-asset-repository.js +101 -0
- package/dist/database/image-asset-repository.js.map +1 -0
- package/dist/database/image-input.d.ts +15 -0
- package/dist/database/image-input.js +28 -0
- package/dist/database/image-input.js.map +1 -0
- package/dist/database/migrate.d.ts +4 -0
- package/dist/database/migrate.js +45 -0
- package/dist/database/migrate.js.map +1 -0
- package/dist/database/project-session-repository.d.ts +72 -0
- package/dist/database/project-session-repository.js +291 -0
- package/dist/database/project-session-repository.js.map +1 -0
- package/dist/database/spatial-session-repository.d.ts +26 -0
- package/dist/database/spatial-session-repository.js +44 -0
- package/dist/database/spatial-session-repository.js.map +1 -0
- package/dist/database/style-library-repository.d.ts +70 -0
- package/dist/database/style-library-repository.js +290 -0
- package/dist/database/style-library-repository.js.map +1 -0
- package/dist/database/svg-input.d.ts +1 -0
- package/dist/database/svg-input.js +77 -0
- package/dist/database/svg-input.js.map +1 -0
- package/dist/database/ui-sketch-session-repository.d.ts +19 -0
- package/dist/database/ui-sketch-session-repository.js +35 -0
- package/dist/database/ui-sketch-session-repository.js.map +1 -0
- package/dist/domain/canvas-layer-order.d.ts +6 -0
- package/dist/domain/canvas-layer-order.js +40 -0
- package/dist/domain/canvas-layer-order.js.map +1 -0
- package/dist/domain/canvas-node-metadata.d.ts +20 -0
- package/dist/domain/canvas-node-metadata.js +17 -0
- package/dist/domain/canvas-node-metadata.js.map +1 -0
- package/dist/domain/canvas-states.d.ts +8 -0
- package/dist/domain/canvas-states.js +23 -0
- package/dist/domain/canvas-states.js.map +1 -0
- package/dist/domain/composition/analysis.d.ts +104 -0
- package/dist/domain/composition/analysis.js +337 -0
- package/dist/domain/composition/analysis.js.map +1 -0
- package/dist/domain/composition/camera-reference.d.ts +24 -0
- package/dist/domain/composition/camera-reference.js +34 -0
- package/dist/domain/composition/camera-reference.js.map +1 -0
- package/dist/domain/composition/draft.d.ts +50 -0
- package/dist/domain/composition/draft.js +609 -0
- package/dist/domain/composition/draft.js.map +1 -0
- package/dist/domain/composition/frame.d.ts +23 -0
- package/dist/domain/composition/frame.js +154 -0
- package/dist/domain/composition/frame.js.map +1 -0
- package/dist/domain/composition/geometry.d.ts +15 -0
- package/dist/domain/composition/geometry.js +262 -0
- package/dist/domain/composition/geometry.js.map +1 -0
- package/dist/domain/composition/index.d.ts +13 -0
- package/dist/domain/composition/index.js +10 -0
- package/dist/domain/composition/index.js.map +1 -0
- package/dist/domain/composition/layers.d.ts +4 -0
- package/dist/domain/composition/layers.js +12 -0
- package/dist/domain/composition/layers.js.map +1 -0
- package/dist/domain/composition/records.d.ts +14 -0
- package/dist/domain/composition/records.js +2 -0
- package/dist/domain/composition/records.js.map +1 -0
- package/dist/domain/composition/refinement/engine.d.ts +12 -0
- package/dist/domain/composition/refinement/engine.js +521 -0
- package/dist/domain/composition/refinement/engine.js.map +1 -0
- package/dist/domain/composition/refinement/relations.d.ts +16 -0
- package/dist/domain/composition/refinement/relations.js +293 -0
- package/dist/domain/composition/refinement/relations.js.map +1 -0
- package/dist/domain/composition/refinement/types.d.ts +181 -0
- package/dist/domain/composition/refinement/types.js +2 -0
- package/dist/domain/composition/refinement/types.js.map +1 -0
- package/dist/domain/composition/render.d.ts +5 -0
- package/dist/domain/composition/render.js +169 -0
- package/dist/domain/composition/render.js.map +1 -0
- package/dist/domain/composition/states.d.ts +9 -0
- package/dist/domain/composition/states.js +104 -0
- package/dist/domain/composition/states.js.map +1 -0
- package/dist/domain/composition/types.d.ts +149 -0
- package/dist/domain/composition/types.js +2 -0
- package/dist/domain/composition/types.js.map +1 -0
- package/dist/domain/composition/workflow.d.ts +15 -0
- package/dist/domain/composition/workflow.js +77 -0
- package/dist/domain/composition/workflow.js.map +1 -0
- package/dist/domain/fingerprint.d.ts +2 -0
- package/dist/domain/fingerprint.js +25 -0
- package/dist/domain/fingerprint.js.map +1 -0
- package/dist/domain/session/canvas-edit-history.d.ts +17 -0
- package/dist/domain/session/canvas-edit-history.js +53 -0
- package/dist/domain/session/canvas-edit-history.js.map +1 -0
- package/dist/domain/session/capabilities.d.ts +16 -0
- package/dist/domain/session/capabilities.js +84 -0
- package/dist/domain/session/capabilities.js.map +1 -0
- package/dist/domain/session/draft-version.d.ts +41 -0
- package/dist/domain/session/draft-version.js +2 -0
- package/dist/domain/session/draft-version.js.map +1 -0
- package/dist/domain/session/index.d.ts +5 -0
- package/dist/domain/session/index.js +3 -0
- package/dist/domain/session/index.js.map +1 -0
- package/dist/domain/session/types.d.ts +23 -0
- package/dist/domain/session/types.js +2 -0
- package/dist/domain/session/types.js.map +1 -0
- package/dist/domain/spatial/assets/quaternius-female-rig.json +799 -0
- package/dist/domain/spatial/assets/quaternius-rig.json +799 -0
- package/dist/domain/spatial/assets/quaternius-superhero-female.json +1 -0
- package/dist/domain/spatial/assets/quaternius-superhero.json +1 -0
- package/dist/domain/spatial/camera-box.d.ts +13 -0
- package/dist/domain/spatial/camera-box.js +52 -0
- package/dist/domain/spatial/camera-box.js.map +1 -0
- package/dist/domain/spatial/geometric-model.d.ts +4 -0
- package/dist/domain/spatial/geometric-model.js +101 -0
- package/dist/domain/spatial/geometric-model.js.map +1 -0
- package/dist/domain/spatial/hands.d.ts +36 -0
- package/dist/domain/spatial/hands.js +128 -0
- package/dist/domain/spatial/hands.js.map +1 -0
- package/dist/domain/spatial/index.d.ts +30 -0
- package/dist/domain/spatial/index.js +381 -0
- package/dist/domain/spatial/index.js.map +1 -0
- package/dist/domain/spatial/kinematics.d.ts +27 -0
- package/dist/domain/spatial/kinematics.js +285 -0
- package/dist/domain/spatial/kinematics.js.map +1 -0
- package/dist/domain/spatial/lighting.d.ts +35 -0
- package/dist/domain/spatial/lighting.js +173 -0
- package/dist/domain/spatial/lighting.js.map +1 -0
- package/dist/domain/spatial/model.d.ts +5 -0
- package/dist/domain/spatial/model.js +193 -0
- package/dist/domain/spatial/model.js.map +1 -0
- package/dist/domain/spatial/morph.d.ts +3 -0
- package/dist/domain/spatial/morph.js +187 -0
- package/dist/domain/spatial/morph.js.map +1 -0
- package/dist/domain/spatial/proportions.d.ts +46 -0
- package/dist/domain/spatial/proportions.js +59 -0
- package/dist/domain/spatial/proportions.js.map +1 -0
- package/dist/domain/spatial/reference-lines.d.ts +6 -0
- package/dist/domain/spatial/reference-lines.js +58 -0
- package/dist/domain/spatial/reference-lines.js.map +1 -0
- package/dist/domain/spatial/scene-cache.d.ts +15 -0
- package/dist/domain/spatial/scene-cache.js +69 -0
- package/dist/domain/spatial/scene-cache.js.map +1 -0
- package/dist/domain/spatial/scene.d.ts +8 -0
- package/dist/domain/spatial/scene.js +69 -0
- package/dist/domain/spatial/scene.js.map +1 -0
- package/dist/domain/spatial/types.d.ts +187 -0
- package/dist/domain/spatial/types.js +5 -0
- package/dist/domain/spatial/types.js.map +1 -0
- package/dist/domain/style/index.d.ts +1 -0
- package/dist/domain/style/index.js +2 -0
- package/dist/domain/style/index.js.map +1 -0
- package/dist/domain/style/prompt-summary.d.ts +2 -0
- package/dist/domain/style/prompt-summary.js +11 -0
- package/dist/domain/style/prompt-summary.js.map +1 -0
- package/dist/domain/style/types.d.ts +32 -0
- package/dist/domain/style/types.js +3 -0
- package/dist/domain/style/types.js.map +1 -0
- package/dist/domain/ui-sketch/draft.d.ts +12 -0
- package/dist/domain/ui-sketch/draft.js +424 -0
- package/dist/domain/ui-sketch/draft.js.map +1 -0
- package/dist/domain/ui-sketch/geometry.d.ts +7 -0
- package/dist/domain/ui-sketch/geometry.js +11 -0
- package/dist/domain/ui-sketch/geometry.js.map +1 -0
- package/dist/domain/ui-sketch/groups.d.ts +5 -0
- package/dist/domain/ui-sketch/groups.js +40 -0
- package/dist/domain/ui-sketch/groups.js.map +1 -0
- package/dist/domain/ui-sketch/index.d.ts +8 -0
- package/dist/domain/ui-sketch/index.js +8 -0
- package/dist/domain/ui-sketch/index.js.map +1 -0
- package/dist/domain/ui-sketch/layers.d.ts +4 -0
- package/dist/domain/ui-sketch/layers.js +11 -0
- package/dist/domain/ui-sketch/layers.js.map +1 -0
- package/dist/domain/ui-sketch/render.d.ts +2 -0
- package/dist/domain/ui-sketch/render.js +58 -0
- package/dist/domain/ui-sketch/render.js.map +1 -0
- package/dist/domain/ui-sketch/standardize.d.ts +17 -0
- package/dist/domain/ui-sketch/standardize.js +139 -0
- package/dist/domain/ui-sketch/standardize.js.map +1 -0
- package/dist/domain/ui-sketch/states.d.ts +5 -0
- package/dist/domain/ui-sketch/states.js +21 -0
- package/dist/domain/ui-sketch/states.js.map +1 -0
- package/dist/domain/ui-sketch/types.d.ts +73 -0
- package/dist/domain/ui-sketch/types.js +2 -0
- package/dist/domain/ui-sketch/types.js.map +1 -0
- package/dist/server/app.d.ts +18 -0
- package/dist/server/app.js +108 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/image-content-type-parser.d.ts +2 -0
- package/dist/server/image-content-type-parser.js +5 -0
- package/dist/server/image-content-type-parser.js.map +1 -0
- package/dist/server/routes/composition-sessions.d.ts +3 -0
- package/dist/server/routes/composition-sessions.js +190 -0
- package/dist/server/routes/composition-sessions.js.map +1 -0
- package/dist/server/routes/draft-version-routes.d.ts +10 -0
- package/dist/server/routes/draft-version-routes.js +201 -0
- package/dist/server/routes/draft-version-routes.js.map +1 -0
- package/dist/server/routes/image-assets.d.ts +3 -0
- package/dist/server/routes/image-assets.js +114 -0
- package/dist/server/routes/image-assets.js.map +1 -0
- package/dist/server/routes/project-sessions.d.ts +48 -0
- package/dist/server/routes/project-sessions.js +305 -0
- package/dist/server/routes/project-sessions.js.map +1 -0
- package/dist/server/routes/spatial-sessions.d.ts +3 -0
- package/dist/server/routes/spatial-sessions.js +80 -0
- package/dist/server/routes/spatial-sessions.js.map +1 -0
- package/dist/server/routes/style-library.d.ts +3 -0
- package/dist/server/routes/style-library.js +308 -0
- package/dist/server/routes/style-library.js.map +1 -0
- package/dist/server/routes/ui-sketch-sessions.d.ts +3 -0
- package/dist/server/routes/ui-sketch-sessions.js +14 -0
- package/dist/server/routes/ui-sketch-sessions.js.map +1 -0
- package/dist/server/runtime.d.ts +30 -0
- package/dist/server/runtime.js +123 -0
- package/dist/server/runtime.js.map +1 -0
- package/dist/server/spatial-render.d.ts +5 -0
- package/dist/server/spatial-render.js +360 -0
- package/dist/server/spatial-render.js.map +1 -0
- package/dist/server/start.d.ts +1 -0
- package/dist/server/start.js +3 -0
- package/dist/server/start.js.map +1 -0
- package/licenses/THIRD-PARTY-NOTICES.txt +16664 -0
- package/licenses/YisiUI-LICENSE +21 -0
- package/locales/en/common.json +671 -0
- package/migrations/0001_projects_and_sessions.sql +45 -0
- package/migrations/0002_composition_versions_and_refinements.sql +26 -0
- package/migrations/0003_ui_sketch_draft_versions.sql +12 -0
- package/migrations/0004_image_assets.sql +16 -0
- package/migrations/0005_style_library.sql +31 -0
- package/migrations/0006_session_styles.sql +6 -0
- package/migrations/0007_svg_image_assets.sql +19 -0
- package/migrations/0008_spatial_spaces.sql +20 -0
- package/package.json +82 -0
- package/schemas/composition-draft.schema.json +234 -0
- package/schemas/composition-refinement-plan.schema.json +758 -0
- package/schemas/spatial-draft.schema.json +517 -0
- package/schemas/spatial-operations.schema.json +1082 -0
- package/schemas/ui-layout-standardization-plan.schema.json +29 -0
- package/schemas/ui-sketch-draft.schema.json +197 -0
- package/skills/human2ai/SKILL.md +149 -0
- package/skills/human2ai/agents/openai.yaml +3 -0
- package/skills/human2ai/references/composition-projection.md +170 -0
- package/skills/human2ai/references/composition.md +79 -0
- package/skills/human2ai/references/spatial.md +188 -0
- package/skills/human2ai/references/svg-images.md +27 -0
- package/skills/human2ai/references/ui-layout.md +100 -0
- package/web/out/404/index.html +1 -0
- package/web/out/404.html +1 -0
- package/web/out/__next.__PAGE__.txt +26 -0
- package/web/out/__next._full.txt +21 -0
- package/web/out/__next._tree.txt +4 -0
- package/web/out/_next/static/TV-jgcACg6HANZAMZTE2S/_buildManifest.js +1 -0
- package/web/out/_next/static/TV-jgcACg6HANZAMZTE2S/_ssgManifest.js +1 -0
- package/web/out/_next/static/chunks/130-9fadd0432daff55d.js +1 -0
- package/web/out/_next/static/chunks/158-eb00456e1bab68b3.js +52 -0
- package/web/out/_next/static/chunks/20-0801fc297cda2a7a.js +1 -0
- package/web/out/_next/static/chunks/248-d4a79649dae2a3f8.js +259 -0
- package/web/out/_next/static/chunks/678-1305cadf8254d814.js +1 -0
- package/web/out/_next/static/chunks/728-eb8b667f79229443.js +1 -0
- package/web/out/_next/static/chunks/83607670-bc1279370476e59f.js +1 -0
- package/web/out/_next/static/chunks/app/_global-error/page-5eece43b8152c414.js +1 -0
- package/web/out/_next/static/chunks/app/_not-found/page-c0cd75ac39fbf9cf.js +1 -0
- package/web/out/_next/static/chunks/app/composition/page-051ee2fabb12110a.js +1 -0
- package/web/out/_next/static/chunks/app/layout-745ca27ef8830f4f.js +1 -0
- package/web/out/_next/static/chunks/app/page-0027378a269a6168.js +1 -0
- package/web/out/_next/static/chunks/app/spatial/page-266dedc81784d4f6.js +1 -0
- package/web/out/_next/static/chunks/app/styles/page-d5cb83af828ea9ed.js +1 -0
- package/web/out/_next/static/chunks/app/ui-sketch/page-2a8436e05a05c618.js +1 -0
- package/web/out/_next/static/chunks/c3f2cda1-9e279dab137b7272.js +342 -0
- package/web/out/_next/static/chunks/c7879cf7-7873c8afd9c9c666.js +1 -0
- package/web/out/_next/static/chunks/framework-6eacf80ec1e4c887.js +1 -0
- package/web/out/_next/static/chunks/main-5ee8fd93319f955c.js +5 -0
- package/web/out/_next/static/chunks/main-app-0cf10803ab17c700.js +1 -0
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/app-error-5eece43b8152c414.js +1 -0
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/forbidden-5eece43b8152c414.js +1 -0
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-728204b7cccc4ed2.js +1 -0
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/not-found-5eece43b8152c414.js +1 -0
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/unauthorized-5eece43b8152c414.js +1 -0
- package/web/out/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/web/out/_next/static/chunks/webpack-97ae63c0e0b2a512.js +1 -0
- package/web/out/_next/static/css/3b7982b41ed8eccd.css +4 -0
- package/web/out/_next/static/css/81ae71f1d3e9a866.css +1 -0
- package/web/out/_next/static/css/8c3843f4951fa9f6.css +5 -0
- package/web/out/_next/static/css/c739d0131cdcc891.css +1 -0
- package/web/out/_next/static/css/ce1b4bb3ad3c6073.css +1 -0
- package/web/out/_next/static/css/db96ae2e88545d96.css +1 -0
- package/web/out/_not-found/__next._full.txt +18 -0
- package/web/out/_not-found/__next._not-found.__PAGE__.txt +24 -0
- package/web/out/_not-found/__next._tree.txt +3 -0
- package/web/out/_not-found/index.html +1 -0
- package/web/out/_not-found/index.txt +18 -0
- package/web/out/composition/__next._full.txt +25 -0
- package/web/out/composition/__next._tree.txt +6 -0
- package/web/out/composition/__next.composition.__PAGE__.txt +31 -0
- package/web/out/composition/index.html +1 -0
- package/web/out/composition/index.txt +25 -0
- package/web/out/index.html +1 -0
- package/web/out/index.txt +21 -0
- package/web/out/spatial/__next._full.txt +23 -0
- package/web/out/spatial/__next._tree.txt +4 -0
- package/web/out/spatial/__next.spatial.__PAGE__.txt +29 -0
- package/web/out/spatial/index.html +1 -0
- package/web/out/spatial/index.txt +23 -0
- package/web/out/styles/__next._full.txt +23 -0
- package/web/out/styles/__next._tree.txt +4 -0
- package/web/out/styles/__next.styles.__PAGE__.txt +29 -0
- package/web/out/styles/index.html +1 -0
- package/web/out/styles/index.txt +23 -0
- package/web/out/ui-sketch/__next._full.txt +25 -0
- package/web/out/ui-sketch/__next._tree.txt +6 -0
- package/web/out/ui-sketch/__next.ui-sketch.__PAGE__.txt +31 -0
- package/web/out/ui-sketch/index.html +1 -0
- package/web/out/ui-sketch/index.txt +25 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** In-memory operation history; server revisions remain an independent append-only log. */
|
|
2
|
+
export class CanvasEditHistory {
|
|
3
|
+
past = [];
|
|
4
|
+
future = [];
|
|
5
|
+
current;
|
|
6
|
+
constructor(initial) {
|
|
7
|
+
this.current = structuredClone(initial);
|
|
8
|
+
}
|
|
9
|
+
get canUndo() { return this.past.length > 0; }
|
|
10
|
+
get canRedo() { return this.future.length > 0; }
|
|
11
|
+
record(next, beforeContext, afterContext = beforeContext, group) {
|
|
12
|
+
if (JSON.stringify(this.current) === JSON.stringify(next))
|
|
13
|
+
return false;
|
|
14
|
+
const previous = this.past.at(-1);
|
|
15
|
+
const after = structuredClone(next);
|
|
16
|
+
if (group && previous?.group === group) {
|
|
17
|
+
previous.after = after;
|
|
18
|
+
previous.afterContext = afterContext;
|
|
19
|
+
if (JSON.stringify(previous.before) === JSON.stringify(after))
|
|
20
|
+
this.past.pop();
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
this.past.push({ before: this.current, after, beforeContext, afterContext, group });
|
|
24
|
+
if (this.past.length > 100)
|
|
25
|
+
this.past.shift();
|
|
26
|
+
}
|
|
27
|
+
this.current = after;
|
|
28
|
+
this.future = [];
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
undo() {
|
|
32
|
+
const entry = this.past.pop();
|
|
33
|
+
if (!entry)
|
|
34
|
+
return null;
|
|
35
|
+
this.future.push(entry);
|
|
36
|
+
this.current = entry.before;
|
|
37
|
+
return { draft: structuredClone(this.current), context: entry.beforeContext };
|
|
38
|
+
}
|
|
39
|
+
redo() {
|
|
40
|
+
const entry = this.future.pop();
|
|
41
|
+
if (!entry)
|
|
42
|
+
return null;
|
|
43
|
+
this.past.push(entry);
|
|
44
|
+
this.current = entry.after;
|
|
45
|
+
return { draft: structuredClone(this.current), context: entry.afterContext };
|
|
46
|
+
}
|
|
47
|
+
reset(draft) {
|
|
48
|
+
this.current = structuredClone(draft);
|
|
49
|
+
this.past = [];
|
|
50
|
+
this.future = [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=canvas-edit-history.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SessionType } from "./types.ts";
|
|
2
|
+
export type SessionOperationMode = "read" | "derive" | "artifact";
|
|
3
|
+
export interface SessionOperationDefinition {
|
|
4
|
+
id: string;
|
|
5
|
+
mode: SessionOperationMode;
|
|
6
|
+
command: readonly string[];
|
|
7
|
+
sessionScoped: boolean;
|
|
8
|
+
sourceCaptureKind?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface SessionTypeDefinition {
|
|
11
|
+
sessionType: SessionType;
|
|
12
|
+
captureKind: "composition-draft" | "ui-layout-draft" | "spatial-draft";
|
|
13
|
+
uiPath: string;
|
|
14
|
+
operations: readonly SessionOperationDefinition[];
|
|
15
|
+
}
|
|
16
|
+
export declare function sessionTypeDefinition(type: SessionType): SessionTypeDefinition;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
const SESSION_TYPE_DEFINITIONS = {
|
|
2
|
+
spatial: {
|
|
3
|
+
sessionType: "spatial", captureKind: "spatial-draft", uiPath: "/spatial/",
|
|
4
|
+
operations: [
|
|
5
|
+
{ id: "spatial.methods@1", mode: "read", command: ["spatial", "methods"], sessionScoped: false },
|
|
6
|
+
{ id: "spatial.inspect@1", mode: "read", command: ["spatial", "inspect", "--revision", "<revision>"], sessionScoped: true, sourceCaptureKind: "spatial-draft" },
|
|
7
|
+
{ id: "spatial.apply@1", mode: "derive", command: ["spatial", "apply", "--revision", "<revision>", "--input", "<operations.json>"], sessionScoped: true, sourceCaptureKind: "spatial-draft" },
|
|
8
|
+
{ id: "spatial.render@1", mode: "artifact", command: ["spatial", "render", "--revision", "<revision>", "--camera", "<camera-id>", "--output", "<preview.png>"], sessionScoped: true, sourceCaptureKind: "spatial-draft" },
|
|
9
|
+
{ id: "spatial.render-box@1", mode: "artifact", command: ["spatial", "render", "--revision", "<revision>", "--box", "<box-id>", "--view", "sheet", "--output", "<six-views.png>"], sessionScoped: true, sourceCaptureKind: "spatial-draft" },
|
|
10
|
+
],
|
|
11
|
+
},
|
|
12
|
+
"image-composition": {
|
|
13
|
+
sessionType: "image-composition",
|
|
14
|
+
captureKind: "composition-draft",
|
|
15
|
+
uiPath: "/composition/",
|
|
16
|
+
operations: [
|
|
17
|
+
{
|
|
18
|
+
id: "composition.methods@1",
|
|
19
|
+
mode: "read",
|
|
20
|
+
command: ["composition", "methods"],
|
|
21
|
+
sessionScoped: false,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: "composition.inspect@1",
|
|
25
|
+
mode: "read",
|
|
26
|
+
command: ["composition", "inspect", "--revision", "<revision>"],
|
|
27
|
+
sessionScoped: true,
|
|
28
|
+
sourceCaptureKind: "composition-draft",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: "composition.refine@1",
|
|
32
|
+
mode: "derive",
|
|
33
|
+
command: [
|
|
34
|
+
"composition",
|
|
35
|
+
"apply",
|
|
36
|
+
"--revision",
|
|
37
|
+
"<revision>",
|
|
38
|
+
"--plan",
|
|
39
|
+
"<plan.json>",
|
|
40
|
+
],
|
|
41
|
+
sessionScoped: true,
|
|
42
|
+
sourceCaptureKind: "composition-draft",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "composition.reference@1",
|
|
46
|
+
mode: "artifact",
|
|
47
|
+
command: [
|
|
48
|
+
"composition",
|
|
49
|
+
"reference",
|
|
50
|
+
"--run",
|
|
51
|
+
"<run-id>",
|
|
52
|
+
"--output",
|
|
53
|
+
"<reference.png>",
|
|
54
|
+
],
|
|
55
|
+
sessionScoped: true,
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
"ui-layout": {
|
|
60
|
+
sessionType: "ui-layout",
|
|
61
|
+
captureKind: "ui-layout-draft",
|
|
62
|
+
uiPath: "/ui-sketch/",
|
|
63
|
+
operations: [
|
|
64
|
+
{
|
|
65
|
+
id: "ui-layout.render@1",
|
|
66
|
+
mode: "artifact",
|
|
67
|
+
command: ["ui-layout", "render", "--revision", "<revision>", "--state", "<state-id>", "--output", "<preview.png>"],
|
|
68
|
+
sessionScoped: true,
|
|
69
|
+
sourceCaptureKind: "ui-layout-draft",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
id: "ui-layout.standardize@1",
|
|
73
|
+
mode: "derive",
|
|
74
|
+
command: ["ui-layout", "standardize", "--input", "<document.json>", "--output", "<standardized.json>"],
|
|
75
|
+
sessionScoped: false,
|
|
76
|
+
sourceCaptureKind: "ui-layout-draft",
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
export function sessionTypeDefinition(type) {
|
|
82
|
+
return SESSION_TYPE_DEFINITIONS[type];
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/domain/session/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface StyleProcessingInput {
|
|
2
|
+
styleId: string;
|
|
3
|
+
styleRevision: number;
|
|
4
|
+
sessionRevision: number;
|
|
5
|
+
}
|
|
6
|
+
export interface StyleProcessing {
|
|
7
|
+
styleId: string;
|
|
8
|
+
styleRevision: number;
|
|
9
|
+
sourceRevision: number;
|
|
10
|
+
resultRevision: number;
|
|
11
|
+
}
|
|
12
|
+
export interface DraftVersion<TDraft> {
|
|
13
|
+
id: string;
|
|
14
|
+
sessionId: string;
|
|
15
|
+
revision: number;
|
|
16
|
+
fingerprint: string;
|
|
17
|
+
draft: TDraft;
|
|
18
|
+
createdAt: string;
|
|
19
|
+
styleProcessing?: StyleProcessing;
|
|
20
|
+
}
|
|
21
|
+
export interface CreateDraftVersionInput {
|
|
22
|
+
expectedLatestRevision: number;
|
|
23
|
+
draft: unknown;
|
|
24
|
+
styleProcessing?: StyleProcessingInput;
|
|
25
|
+
}
|
|
26
|
+
export interface UndoDraftVersionInput {
|
|
27
|
+
changeRevision: number;
|
|
28
|
+
expectedLatestRevision: number;
|
|
29
|
+
}
|
|
30
|
+
export interface RestoreDraftVersionInput {
|
|
31
|
+
targetRevision: number;
|
|
32
|
+
expectedLatestRevision: number;
|
|
33
|
+
}
|
|
34
|
+
export interface DraftVersionOperations<TDraft> {
|
|
35
|
+
restoreDraftVersion(sessionId: string, input: RestoreDraftVersionInput): DraftVersion<TDraft>;
|
|
36
|
+
listDraftVersions(sessionId: string): DraftVersion<TDraft>[];
|
|
37
|
+
getLatestDraftVersion(sessionId: string, knownRevision?: number): DraftVersion<TDraft> | null;
|
|
38
|
+
getDraftVersion(sessionId: string, revision: number): DraftVersion<TDraft>;
|
|
39
|
+
createDraftVersion(sessionId: string, input: CreateDraftVersionInput): DraftVersion<TDraft>;
|
|
40
|
+
undoDraftVersion(sessionId: string, input: UndoDraftVersionInput): DraftVersion<TDraft>;
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft-version.js","sourceRoot":"","sources":["../../../src/domain/session/draft-version.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const SESSION_TYPES: readonly ["image-composition", "ui-layout", "spatial"];
|
|
2
|
+
export type SessionType = (typeof SESSION_TYPES)[number];
|
|
3
|
+
export type SessionLifecycleStage = "draft" | "interpreted" | "approved" | "exported";
|
|
4
|
+
export interface Project {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
description: string | null;
|
|
8
|
+
revision: number;
|
|
9
|
+
sessionCount: number;
|
|
10
|
+
createdAt: string;
|
|
11
|
+
updatedAt: string;
|
|
12
|
+
}
|
|
13
|
+
export interface Session {
|
|
14
|
+
id: string;
|
|
15
|
+
projectId: string | null;
|
|
16
|
+
styleId: string | null;
|
|
17
|
+
sessionType: SessionType;
|
|
18
|
+
title: string;
|
|
19
|
+
lifecycleStage: SessionLifecycleStage;
|
|
20
|
+
revision: number;
|
|
21
|
+
createdAt: string;
|
|
22
|
+
updatedAt: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domain/session/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,mBAAmB,EAAE,WAAW,EAAE,SAAS,CAAU,CAAC"}
|