human2ai 0.1.2 → 0.1.3
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 +2 -2
- package/README.md +10 -2
- package/dist/cli/main.js +21 -13
- package/dist/cli/main.js.map +1 -1
- package/dist/domain/composition/analysis.js +1 -0
- package/dist/domain/composition/analysis.js.map +1 -1
- package/dist/domain/composition/draft.d.ts +1 -0
- package/dist/domain/composition/draft.js +53 -3
- package/dist/domain/composition/draft.js.map +1 -1
- package/dist/domain/composition/geometry.d.ts +5 -1
- package/dist/domain/composition/geometry.js +40 -2
- package/dist/domain/composition/geometry.js.map +1 -1
- package/dist/domain/composition/index.d.ts +2 -2
- package/dist/domain/composition/index.js +2 -2
- package/dist/domain/composition/index.js.map +1 -1
- package/dist/domain/composition/refinement/engine.js +1 -0
- package/dist/domain/composition/refinement/engine.js.map +1 -1
- package/dist/domain/composition/render.js +6 -1
- package/dist/domain/composition/render.js.map +1 -1
- package/dist/domain/composition/states.js +2 -2
- package/dist/domain/composition/states.js.map +1 -1
- package/dist/domain/composition/types.d.ts +3 -1
- package/dist/domain/session/capabilities.js +1 -0
- package/dist/domain/session/capabilities.js.map +1 -1
- package/dist/domain/spatial/camera-box-sheet.d.ts +15 -0
- package/dist/domain/spatial/camera-box-sheet.js +24 -0
- package/dist/domain/spatial/camera-box-sheet.js.map +1 -0
- package/dist/domain/spatial/camera-box.d.ts +1 -1
- package/dist/domain/spatial/camera-box.js +6 -2
- package/dist/domain/spatial/camera-box.js.map +1 -1
- package/dist/domain/spatial/index.d.ts +1 -0
- package/dist/domain/spatial/index.js +1 -0
- package/dist/domain/spatial/index.js.map +1 -1
- package/dist/domain/spatial/render-inputs.d.ts +3 -0
- package/dist/domain/spatial/render-inputs.js +6 -0
- package/dist/domain/spatial/render-inputs.js.map +1 -0
- package/dist/domain/spatial/scene-cache.js +3 -2
- package/dist/domain/spatial/scene-cache.js.map +1 -1
- package/dist/domain/spatial/types.d.ts +8 -0
- package/dist/domain/spatial/types.js.map +1 -1
- package/dist/domain/style/types.d.ts +1 -1
- package/dist/domain/style/types.js +1 -1
- package/dist/domain/style/types.js.map +1 -1
- package/dist/domain/ui-sketch/clipboard.d.ts +12 -0
- package/dist/domain/ui-sketch/clipboard.js +55 -0
- package/dist/domain/ui-sketch/clipboard.js.map +1 -0
- package/dist/domain/ui-sketch/index.d.ts +1 -0
- package/dist/domain/ui-sketch/index.js +1 -0
- package/dist/domain/ui-sketch/index.js.map +1 -1
- package/dist/server/routes/spatial-sessions.js +11 -3
- package/dist/server/routes/spatial-sessions.js.map +1 -1
- package/dist/server/spatial-render.d.ts +2 -2
- package/dist/server/spatial-render.js +9 -7
- package/dist/server/spatial-render.js.map +1 -1
- package/locales/en/common.json +34 -10
- package/migrations/0009_spatial_styles.sql +31 -0
- package/package.json +1 -1
- package/schemas/composition-draft.schema.json +17 -1
- package/schemas/spatial-draft.schema.json +12 -0
- package/schemas/spatial-operations.schema.json +12 -0
- package/skills/human2ai/SKILL.md +11 -5
- package/skills/human2ai/references/spatial-modeling.md +99 -0
- package/skills/human2ai/references/spatial.md +7 -2
- package/web/out/404/index.html +1 -1
- package/web/out/404.html +1 -1
- package/web/out/__next.__PAGE__.txt +7 -5
- package/web/out/__next._full.txt +7 -5
- package/web/out/__next._tree.txt +4 -2
- package/web/out/_next/static/chunks/130-027b022c82d30077.js +1 -0
- package/web/out/_next/static/chunks/678-6f33e7277564a5df.js +1 -0
- package/web/out/_next/static/chunks/728-7597352c3a7eeaf9.js +1 -0
- package/web/out/_next/static/chunks/{381-4a803b79da320e6e.js → 773-24ba65074da7fa71.js} +29 -29
- package/web/out/_next/static/chunks/app/_not-found/page-58bf95050b473956.js +1 -0
- package/web/out/_next/static/chunks/app/composition/page-30184e9c21352991.js +1 -0
- package/web/out/_next/static/chunks/app/{layout-6351ae607c4ee18d.js → layout-3b5f82ced220ef42.js} +1 -1
- package/web/out/_next/static/chunks/app/page-d41d1cdb1d6ed018.js +1 -0
- package/web/out/_next/static/chunks/app/spatial/page-fc3c66e1f94ed210.js +1 -0
- package/web/out/_next/static/chunks/app/styles/page-194a16109270e08d.js +1 -0
- package/web/out/_next/static/chunks/app/ui-sketch/page-c28eeab67fea766e.js +1 -0
- package/web/out/_next/static/chunks/main-app-ec9e35d71481270a.js +1 -0
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-f62e60e5a6e74304.js +1 -0
- package/web/out/_next/static/chunks/{webpack-97ae63c0e0b2a512.js → webpack-fdd377b620f7ea99.js} +1 -1
- package/web/out/_next/static/css/1f8501a43042a5a2.css +1 -0
- package/web/out/_next/static/css/2ed56cbf8f662d23.css +5 -0
- package/web/out/_next/static/css/96839f63fcc5e50d.css +1 -0
- package/web/out/_not-found/__next._full.txt +3 -3
- package/web/out/_not-found/__next._not-found.__PAGE__.txt +3 -3
- package/web/out/_not-found/__next._tree.txt +1 -1
- package/web/out/_not-found/index.html +1 -1
- package/web/out/_not-found/index.txt +3 -3
- package/web/out/composition/__next._full.txt +6 -5
- package/web/out/composition/__next._tree.txt +3 -2
- package/web/out/composition/__next.composition.__PAGE__.txt +6 -5
- package/web/out/composition/index.html +1 -1
- package/web/out/composition/index.txt +6 -5
- package/web/out/index.html +1 -1
- package/web/out/index.txt +7 -5
- package/web/out/spatial/__next._full.txt +6 -5
- package/web/out/spatial/__next._tree.txt +3 -2
- package/web/out/spatial/__next.spatial.__PAGE__.txt +6 -5
- package/web/out/spatial/index.html +1 -1
- package/web/out/spatial/index.txt +6 -5
- package/web/out/styles/__next._full.txt +6 -5
- package/web/out/styles/__next._tree.txt +3 -2
- package/web/out/styles/__next.styles.__PAGE__.txt +6 -5
- package/web/out/styles/index.html +1 -1
- package/web/out/styles/index.txt +6 -5
- package/web/out/ui-sketch/__next._full.txt +6 -5
- package/web/out/ui-sketch/__next._tree.txt +3 -2
- package/web/out/ui-sketch/__next.ui-sketch.__PAGE__.txt +6 -5
- package/web/out/ui-sketch/index.html +1 -1
- package/web/out/ui-sketch/index.txt +6 -5
- package/web/out/_next/static/chunks/130-f2627352fc1e1f49.js +0 -1
- package/web/out/_next/static/chunks/678-b0ea409290a64ff4.js +0 -1
- package/web/out/_next/static/chunks/728-ce64a38c9e8339e8.js +0 -1
- package/web/out/_next/static/chunks/app/_not-found/page-59ce938ad0594022.js +0 -1
- package/web/out/_next/static/chunks/app/composition/page-b0a2f7370b949cf9.js +0 -1
- package/web/out/_next/static/chunks/app/page-a6fde4165eb4be1e.js +0 -1
- package/web/out/_next/static/chunks/app/spatial/page-2c3df91fd1d7d444.js +0 -1
- package/web/out/_next/static/chunks/app/styles/page-54b11f1945d64255.js +0 -1
- package/web/out/_next/static/chunks/app/ui-sketch/page-1abcd70a81ac7b30.js +0 -1
- package/web/out/_next/static/chunks/main-app-8946bf6a8c0dc843.js +0 -1
- package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-5ac7248e26f2e308.js +0 -1
- package/web/out/_next/static/css/7bfa3a5c92836f5c.css +0 -5
- /package/web/out/_next/static/{1To86KpfZhDmNzmTIgEuy → Wakl9xK54qWYuP4Hpi0W9}/_buildManifest.js +0 -0
- /package/web/out/_next/static/{1To86KpfZhDmNzmTIgEuy → Wakl9xK54qWYuP4Hpi0W9}/_ssgManifest.js +0 -0
package/skills/human2ai/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: human2ai
|
|
3
|
-
description: Collaborate through local Human2AI design sessions, its style library, and its CLI. Use in a consumer project containing .human2ai/integration.json to inspect, edit, refine, review, or undo design work; to draw a reference picture as editable scene or editorial composition (“把这张图的构图画到画布上”); to project existing UI into a layout canvas (“把 UI 放到画布上让我修改”); or to reuse a visual style. The consumer project's Agent owns downstream implementation.
|
|
3
|
+
description: Collaborate through local Human2AI design sessions, its style library, and its CLI. Use in a consumer project containing .human2ai/integration.json to inspect, edit, refine, review, or undo design work; to draw a reference picture as editable scene or editorial composition (“把这张图的构图画到画布上”); to project existing UI into a layout canvas (“把 UI 放到画布上让我修改”); to model in the consumer project using a style and 3D spatial guidance; or to reuse a visual style. The consumer project's Agent owns downstream implementation.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Human2AI
|
|
@@ -30,10 +30,10 @@ If the integration config is missing, stop and tell the user that this repositor
|
|
|
30
30
|
|
|
31
31
|
## Use the shared style library
|
|
32
32
|
|
|
33
|
-
The style library is global to the local Human2AI service. Each composition or
|
|
33
|
+
The style library is global to the local Human2AI service. Each composition, UI or spatial session can bind one of its styles; the browser and Agent share that binding. Search it when the user asks to reuse a style or when you need to select a style for canvas processing or consumer-project modeling:
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
|
-
<runner> style list [--category <visual|ui>] [--creator <user|agent>]
|
|
36
|
+
<runner> style list [--category <visual|ui|spatial>] [--creator <user|agent>]
|
|
37
37
|
<runner> style get --style <style-id>
|
|
38
38
|
```
|
|
39
39
|
|
|
@@ -42,14 +42,14 @@ The style library is global to the local Human2AI service. Each composition or U
|
|
|
42
42
|
When a style encountered during Agent work is worth keeping, save it directly as an Agent-created entry; there is no proposal or pending-review state:
|
|
43
43
|
|
|
44
44
|
```text
|
|
45
|
-
<runner> style create --name <name> --category <visual|ui> --description <specification> --summary <sentence>
|
|
45
|
+
<runner> style create --name <name> --category <visual|ui|spatial> --description <specification> --summary <sentence>
|
|
46
46
|
<runner> style add-reference --style <style-id> --input <image> --expected-revision <n>
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
A style may have no reference image, but its design specification must be non-empty. Supply a separate concise sentence capturing its distinctive visual traits (typically 30–60 Chinese characters, maximum 240 characters). Browser prompt copying adds only this sentence, without a model call or the full specification. Keep the sentence consistent when editing the specification. Older entries without a sentence fall back to their first description sentence until edited. The creation entrypoint permanently marks these entries as `agent`; entries created in the browser remain `user` even after Agent edits. Update or permanently delete only when the user requests it or it is otherwise clearly part of the current task:
|
|
50
50
|
|
|
51
51
|
```text
|
|
52
|
-
<runner> style update --style <style-id> --expected-revision <n> [--name <name>] [--category <visual|ui>] [--description <specification>] [--summary <sentence>]
|
|
52
|
+
<runner> style update --style <style-id> --expected-revision <n> [--name <name>] [--category <visual|ui|spatial>] [--description <specification>] [--summary <sentence>]
|
|
53
53
|
<runner> style remove-reference --style <style-id> --reference <reference-id> --expected-revision <n>
|
|
54
54
|
<runner> style delete --style <style-id> --expected-revision <n>
|
|
55
55
|
```
|
|
@@ -106,12 +106,18 @@ For spatial sessions, read [references/spatial.md](references/spatial.md). Creat
|
|
|
106
106
|
|
|
107
107
|
When generating an image from a spatial camera, follow that reference's **Camera references for image generation** guidance for interpreting pose intent, correcting anatomical inaccuracies, and excluding guide markings from the generated image.
|
|
108
108
|
|
|
109
|
+
## Model in the consumer project
|
|
110
|
+
|
|
111
|
+
When the user asks for final 3D models or a scene in their project, read [references/spatial-modeling.md](references/spatial-modeling.md). Combine the full style specification and reference images with the Human2AI spatial session's layout, scale, pose and camera guidance. Build and review the result using the consumer project's existing tools. A style binding does not alter the guide scene or record completion of external modeling. Use the spatial authoring workflow above only when the guide scene itself needs edits.
|
|
112
|
+
|
|
109
113
|
## Choose refinement or style processing
|
|
110
114
|
|
|
111
115
|
A request for 精修, mathematical proportion, symmetry, focal guidance, or rule-based composition calls for the independent refinement workflow in [references/composition.md](references/composition.md). Do not infer a style request from these terms or bind a library style. Refinement may preserve the source without changes when the Agent finds no justified improvement. Use style processing below only when style application is part of the user’s intent.
|
|
112
116
|
|
|
113
117
|
## Process a canvas with its style
|
|
114
118
|
|
|
119
|
+
This workflow applies to composition and UI canvases. For modeling from a spatial session, use the consumer-project workflow above.
|
|
120
|
+
|
|
115
121
|
For a request to recover the composition of a reference picture, first follow the reference-projection workflow in [references/composition.md](references/composition.md). Abstract the structure that organizes attention, weight, rhythm and space; judge the resulting experience rather than resemblance to object outlines. Choose each shape for its contribution to the whole and explain that contribution in its description. New reference nodes have empty notes, and a new reference draft has an empty overall note. The supplied picture is the visual evidence for that task. Apply a different style only when requested; an existing binding must not silently redesign the recovered composition.
|
|
116
122
|
|
|
117
123
|
When modifying a styled session, use `style.current.description` and its reference images as design constraints. A request to apply or improve the style calls for actual canvas edits, not just adding a style name or rewriting notes.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Model in a consumer project from style and spatial guidance
|
|
2
|
+
|
|
3
|
+
Human2AI supplies design intent. The consumer project owns final geometry,
|
|
4
|
+
materials, scene code and model assets. Use its existing renderer, modeling tools
|
|
5
|
+
and asset conventions; reading a style does not install or run a modeling engine.
|
|
6
|
+
|
|
7
|
+
## Read the style and spatial guidance
|
|
8
|
+
|
|
9
|
+
Resolve the integration and service using the parent Skill. The library is shared
|
|
10
|
+
by projects connected to the same local service, not automatically across machines.
|
|
11
|
+
|
|
12
|
+
For a supplied spatial session, run `session connect --session <id>`. Read
|
|
13
|
+
`style.current`, `capture.latest`, and the returned commands. Retain its existing
|
|
14
|
+
style unless the user requests another. When a style is requested but none is
|
|
15
|
+
bound, inspect suitable entries with `style list --category spatial` and
|
|
16
|
+
`style get --style <id>`, choose according to the task, and bind through the
|
|
17
|
+
connection's command using its session revision. Categories are discovery filters,
|
|
18
|
+
not restrictions on binding. Reconnect after binding or a revision conflict.
|
|
19
|
+
|
|
20
|
+
Use the full description and inspect the reference images; the name and
|
|
21
|
+
`promptSummary` alone are insufficient modeling instructions. A standalone style
|
|
22
|
+
can also guide modeling without creating a Human2AI session.
|
|
23
|
+
|
|
24
|
+
For a saved spatial guide, use one captured revision for inspection and all views:
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
<runner> spatial inspect --session <id> --revision <n> --output .human2ai-data/output/spatial-guide.json
|
|
28
|
+
<runner> spatial render --session <id> --revision <n> --camera <camera-id> --output .human2ai-data/output/spatial-guide.png
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Read [spatial.md](spatial.md) for coordinates, character transforms, camera
|
|
32
|
+
projection and optional depth, structure or observation-box references. Inspect
|
|
33
|
+
the rendered image as well as the structured data. Select cameras from the actual
|
|
34
|
+
draft and the user's request. An unsaved space has no saved revision to inspect;
|
|
35
|
+
do not invent guidance or silently create a guide when the task is standalone
|
|
36
|
+
modeling. Export additional views only when they clarify occlusion or geometry.
|
|
37
|
+
|
|
38
|
+
## Interpret the inputs
|
|
39
|
+
|
|
40
|
+
- The user's requested content, functions, dimensions, pose constraints and
|
|
41
|
+
delivery requirements govern the result.
|
|
42
|
+
- The spatial draft guides relative positions, scale relationships, pose,
|
|
43
|
+
occlusion and camera framing. Preserve explicitly required placements and
|
|
44
|
+
viewpoints. Treat other blockout details as approximate guidance that can be
|
|
45
|
+
refined for the actual objects.
|
|
46
|
+
- Read each character, object, camera and observation box's optional `note`
|
|
47
|
+
alongside its stable ID, name and geometry. These user instructions explain
|
|
48
|
+
what placeholders represent and which relationships or views must be retained;
|
|
49
|
+
they are available in `inspect` rather than drawn into the PNG. Preserve them
|
|
50
|
+
if the task also requires editing the Human2AI guide.
|
|
51
|
+
- The style guides shape language, proportion tendencies, surface detail,
|
|
52
|
+
materials, palette and lighting. Resolve these within the user's spatial
|
|
53
|
+
constraints rather than moving the scene to fit a style reference image.
|
|
54
|
+
- Placeholder boxes, pose-guide colors, joint markings and geometric mannequins
|
|
55
|
+
are authoring aids unless the user explicitly asks for those appearances.
|
|
56
|
+
For example, a house placeholder can become a detailed house while retaining
|
|
57
|
+
its intended footprint and relationship to neighboring objects.
|
|
58
|
+
|
|
59
|
+
Account for the consumer project's units, coordinate system and camera conventions
|
|
60
|
+
when translating guidance. Do not import Human2AI's database or private runtime
|
|
61
|
+
modules into the consumer application. Human2AI exports scene data and reference
|
|
62
|
+
PNGs; it does not currently expose a GLB export command.
|
|
63
|
+
|
|
64
|
+
## Build and review
|
|
65
|
+
|
|
66
|
+
Implement with the consumer project's available modeling workflow and save the
|
|
67
|
+
deliverables in its normal source/asset locations. Keep temporary references and
|
|
68
|
+
previews in ignored `.human2ai-data/output/`. Ask for a missing tool choice only
|
|
69
|
+
when it materially blocks the requested deliverable.
|
|
70
|
+
|
|
71
|
+
Render the consumer result from the requested viewpoint. Compare layout, relative
|
|
72
|
+
scale, silhouettes, pose and occlusion with the spatial guide, and compare forms,
|
|
73
|
+
materials, palette and lighting with the style. Use extra viewpoints to inspect
|
|
74
|
+
the completed geometry where needed. Preserve user-authored work while iterating.
|
|
75
|
+
State any unsupported requirement rather than reporting an unverified result.
|
|
76
|
+
|
|
77
|
+
Report the produced files and which spatial/style requirements were verified.
|
|
78
|
+
Include the source session/capture and style revisions when available from the
|
|
79
|
+
connection. Do not mark the Human2AI guide as processed or rewrite its draft just
|
|
80
|
+
to record that modeling finished elsewhere. Re-read current guidance before a
|
|
81
|
+
subsequent task instead of assuming an earlier binding is still current.
|
|
82
|
+
|
|
83
|
+
## Author a reusable 3D style
|
|
84
|
+
|
|
85
|
+
Save it with `style create --category spatial` using the parent Skill's commands.
|
|
86
|
+
Keep the full specification in `description`, plus a concise summary and optional
|
|
87
|
+
reference images. Use this outline as relevant to the actual style:
|
|
88
|
+
|
|
89
|
+
- Forms: silhouettes, curvature, simplification and edge treatment.
|
|
90
|
+
- Proportions: characteristic exaggeration and consistency across object families.
|
|
91
|
+
- Surfaces: materials, reflectivity, roughness and visible texture treatment.
|
|
92
|
+
- Palette: dominant, supporting and accent colors.
|
|
93
|
+
- Lighting and presentation: shadow softness, contrast and preferred camera treatment.
|
|
94
|
+
- Boundaries: defining traits to retain and treatments that would contradict them.
|
|
95
|
+
|
|
96
|
+
Reference images can show an overview, details and useful alternate angles.
|
|
97
|
+
Keep project-specific dimensions, polygon budgets and output formats with the
|
|
98
|
+
project's task unless they are essential to this reusable style. A style entry
|
|
99
|
+
stores a specification and images; mesh files remain consumer-project assets.
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
A `spatial` session owns an editable scene, independent of composition and UI sessions. Characters, simple objects, and multiple named output cameras share that scene. The browser's orbit view is temporary; moving a character never reframes an output camera.
|
|
4
4
|
|
|
5
|
+
Characters, primitive objects, output cameras and observation boxes may carry a `note` with user instructions. Read it with the entity's ID, name and geometry when interpreting the scene; a placeholder's note can explain the real object it represents or required framing. Missing or empty notes mean no instructions. Preserve notes when editing other properties. To update a note, use the corresponding `put-character`, `put-object`, `put-camera` or `put-camera-box` with the current entity and changed `note`; use an empty string to clear it. Notes are saved and undoable with the scene, included in `inspect`, and never drawn into reference PNGs.
|
|
6
|
+
|
|
5
7
|
## Connect, inspect, edit, review
|
|
6
8
|
|
|
7
9
|
Use the runner and API origin discovered by the parent skill. Start with `session connect --session <id>` and `capture list --session <id>`. A new space has revision 0 and a default `camera-1`. For an existing revision:
|
|
@@ -65,13 +67,16 @@ Create a box and fit it in one `spatial apply` batch:
|
|
|
65
67
|
<runner> spatial render --session <id> --revision <n> --box hands-reference --output hands-sheet.png
|
|
66
68
|
<runner> spatial render --session <id> --revision <n> --box hands-reference --view top --pass structure --output hands-top.png
|
|
67
69
|
<runner> spatial render --session <id> --revision <n> --box hands-reference --view sheet --pass depth --output hands-depth.png
|
|
70
|
+
<runner> spatial render --session <id> --revision <n> --box hands-reference --views front,left,top --pass color --output .human2ai-data/output/hands-three-views.png
|
|
68
71
|
```
|
|
69
72
|
|
|
70
73
|
`--camera` and `--box` are mutually exclusive. `--view` requires `--box` and accepts `sheet` (default), `front`, `back`, `left`, `right`, `top`, `bottom`. Export individual PNGs by running the command for each face. The sheet is 3×2: front/back/left, then right/top/bottom. Each tile has a 28 px English direction/axis label above it, with 12 px dividers between tiles so cropped limbs do not appear connected across views. Directions refer to the **box-local axes**, not the character's anatomical left/right: front +Z, back −Z, left −X, right +X, top +Y, bottom −Y. In the top image, local −Z points up; in the bottom image, local +Z points up. All faces use the same metric scale. Color preserves transparency; structure/depth use their usual white/black backgrounds, and skeleton uses its pale opaque background with bones visible through surfaces. All four passes support both sheets and individual faces. Box depth maps 0 to `size` metres from each face using a fixed shared linear range, unlike ordinary cameras' visible-surface normalization.
|
|
71
74
|
|
|
72
|
-
The
|
|
75
|
+
Use `--views front,left,top` to combine only the directions needed for the task into one PNG. It requires `--box` and accepts 1–6 distinct names from `front,back,left,right,top,bottom`, separated by commas; whitespace around names is ignored. The supplied order is retained, left to right and then top to bottom, with at most three columns. A single selected direction still includes its label; use `--view front` for the original unlabelled square image. `--view` and `--views` are mutually exclusive; `sheet`, duplicate names and empty selections are invalid in `--views`. All four render passes support combinations. Export reads one saved revision and does not change the box, scene or browser's active direction buttons. The browser and CLI share the sheet layout rules; browser captions follow its locale while CLI captions retain English box-local direction/axis labels. Choose the useful views yourself, or use the user's explicitly requested directions; no browser interaction is required. Create the output directory before exporting.
|
|
76
|
+
|
|
77
|
+
The HTTP route is `GET /api/v1/sessions/:sessionId/spatial/camera-boxes/:boxId.png?revision=<n>&view=sheet&pass=color`. For a combination, replace `view=sheet` with `views=front,left,top`; the response's `x-spatial-box-views` header lists the rendered directions in order, and caching distinguishes both selection and order. Render is read-only and revision-addressed; box edits are saved and undoable through the existing draft history. `session connect` discovers `spatial.render-box@1` and `spatial.render-box-views@1`; `spatial methods` exposes the closed operation schemas, `cameraBoxViews`, the `cameraBoxViewSelection` parameter contract, and `cameraBoxGuidance` (canonical wording: `spatial.cameraBoxGenerationGuidance` in both locale resources). The CLI result includes `views` for an explicit combination and retains `view` for the original single-view/six-view mode.
|
|
73
78
|
|
|
74
|
-
When generating, export the main camera and auxiliary boxes from the **same revision**. Include the returned `cameraBoxGuidance` in the prompt: the main camera determines composition; the sheet shows the same subjects at one moment from
|
|
79
|
+
When generating, export the main camera and auxiliary boxes from the **same revision**. Include the returned `cameraBoxGuidance` in the prompt: the main camera determines composition; the sheet shows the same subjects at one moment from the selected directions, solely to resolve occlusion, digit ownership and approximate flexion. Request one final image, with no contact-sheet layout, duplicate subjects, direction labels, or joint/body markings. Preserve gesture intent while allowing natural anatomical corrections. Inspect the exported views yourself before generation; start with the main camera plus the useful hand views, adding full-space depth or an informative full-resolution face when useful. More views do not guarantee correct fingers, and cannot repair an impossible underlying pose automatically.
|
|
75
80
|
|
|
76
81
|
## Character model styles
|
|
77
82
|
|
package/web/out/404/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/db96ae2e88545d96.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3b7982b41ed8eccd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/db96ae2e88545d96.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3b7982b41ed8eccd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-fdd377b620f7ea99.js"/><script src="/_next/static/chunks/c7879cf7-7873c8afd9c9c666.js" async=""></script><script src="/_next/static/chunks/158-eb00456e1bab68b3.js" async=""></script><script src="/_next/static/chunks/main-app-ec9e35d71481270a.js" async=""></script><script src="/_next/static/chunks/20-0801fc297cda2a7a.js" async=""></script><script src="/_next/static/chunks/678-6f33e7277564a5df.js" async=""></script><script src="/_next/static/chunks/app/layout-3b5f82ced220ef42.js" async=""></script><meta name="robots" content="noindex"/><title>以形塑形</title><meta name="description" content="使用基础图形规划画面重心、主体占比与视觉方向。"/><link rel="icon" href="/favicon.ico?8ea2c044dfe599d2" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icon.svg?e28b017365bd9a4d" type="image/svg+xml" sizes="any"/><title>404: This page could not be found.</title><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-fdd377b620f7ea99.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[84954,[\"20\",\"static/chunks/20-0801fc297cda2a7a.js\",\"678\",\"static/chunks/678-6f33e7277564a5df.js\",\"177\",\"static/chunks/app/layout-3b5f82ced220ef42.js\"],\"AppI18nProvider\"]\n3:I[91133,[],\"\"]\n4:I[4297,[],\"\"]\n5:I[66999,[\"20\",\"static/chunks/20-0801fc297cda2a7a.js\",\"678\",\"static/chunks/678-6f33e7277564a5df.js\",\"177\",\"static/chunks/app/layout-3b5f82ced220ef42.js\"],\"YisiUiInspectorHost\"]\n6:I[31872,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[31872,[],\"ViewportBoundary\"]\nc:I[31872,[],\"MetadataBoundary\"]\ne:I[57567,[],\"default\",1]\n:HL[\"/_next/static/css/db96ae2e88545d96.css\",\"style\"]\n:HL[\"/_next/static/css/3b7982b41ed8eccd.css\",\"style\"]\n9:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/db96ae2e88545d96.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3b7982b41ed8eccd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"zh-CN\",\"children\":[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L5\",null,{}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Wakl9xK54qWYuP4Hpi0W9\"}\n9:C\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nf:I[12569,[],\"IconMark\"]\n8:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"以形塑形\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"使用基础图形规划画面重心、主体占比与视觉方向。\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?8ea2c044dfe599d2\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg?e28b017365bd9a4d\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"$Lf\",\"4\",{}]]\n"])</script></body></html>
|
package/web/out/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/db96ae2e88545d96.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3b7982b41ed8eccd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/db96ae2e88545d96.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3b7982b41ed8eccd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-fdd377b620f7ea99.js"/><script src="/_next/static/chunks/c7879cf7-7873c8afd9c9c666.js" async=""></script><script src="/_next/static/chunks/158-eb00456e1bab68b3.js" async=""></script><script src="/_next/static/chunks/main-app-ec9e35d71481270a.js" async=""></script><script src="/_next/static/chunks/20-0801fc297cda2a7a.js" async=""></script><script src="/_next/static/chunks/678-6f33e7277564a5df.js" async=""></script><script src="/_next/static/chunks/app/layout-3b5f82ced220ef42.js" async=""></script><meta name="robots" content="noindex"/><title>以形塑形</title><meta name="description" content="使用基础图形规划画面重心、主体占比与视觉方向。"/><link rel="icon" href="/favicon.ico?8ea2c044dfe599d2" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icon.svg?e28b017365bd9a4d" type="image/svg+xml" sizes="any"/><title>404: This page could not be found.</title><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-fdd377b620f7ea99.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[84954,[\"20\",\"static/chunks/20-0801fc297cda2a7a.js\",\"678\",\"static/chunks/678-6f33e7277564a5df.js\",\"177\",\"static/chunks/app/layout-3b5f82ced220ef42.js\"],\"AppI18nProvider\"]\n3:I[91133,[],\"\"]\n4:I[4297,[],\"\"]\n5:I[66999,[\"20\",\"static/chunks/20-0801fc297cda2a7a.js\",\"678\",\"static/chunks/678-6f33e7277564a5df.js\",\"177\",\"static/chunks/app/layout-3b5f82ced220ef42.js\"],\"YisiUiInspectorHost\"]\n6:I[31872,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[31872,[],\"ViewportBoundary\"]\nc:I[31872,[],\"MetadataBoundary\"]\ne:I[57567,[],\"default\",1]\n:HL[\"/_next/static/css/db96ae2e88545d96.css\",\"style\"]\n:HL[\"/_next/static/css/3b7982b41ed8eccd.css\",\"style\"]\n9:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/db96ae2e88545d96.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3b7982b41ed8eccd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"zh-CN\",\"children\":[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L5\",null,{}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Wakl9xK54qWYuP4Hpi0W9\"}\n9:C\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nf:I[12569,[],\"IconMark\"]\n8:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"以形塑形\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"使用基础图形规划画面重心、主体占比与视觉方向。\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?8ea2c044dfe599d2\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg?e28b017365bd9a4d\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"$Lf\",\"4\",{}]]\n"])</script></body></html>
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[1076,[],"ClientPageRoot"]
|
|
3
|
-
3:I[
|
|
3
|
+
3:I[49,["460","static/chunks/83607670-bc1279370476e59f.js","746","static/chunks/c3f2cda1-9e279dab137b7272.js","20","static/chunks/20-0801fc297cda2a7a.js","773","static/chunks/773-24ba65074da7fa71.js","678","static/chunks/678-6f33e7277564a5df.js","130","static/chunks/130-027b022c82d30077.js","974","static/chunks/app/page-d41d1cdb1d6ed018.js"],"default"]
|
|
4
4
|
6:I[31872,[],"OutletBoundary"]
|
|
5
5
|
7:"$Sreact.suspense"
|
|
6
6
|
b:I[31872,[],"ViewportBoundary"]
|
|
7
7
|
c:I[31872,[],"MetadataBoundary"]
|
|
8
8
|
d:I[12569,[],"IconMark"]
|
|
9
|
-
f:I[84954,["20","static/chunks/20-0801fc297cda2a7a.js","678","static/chunks/678-
|
|
9
|
+
f:I[84954,["20","static/chunks/20-0801fc297cda2a7a.js","678","static/chunks/678-6f33e7277564a5df.js","177","static/chunks/app/layout-3b5f82ced220ef42.js"],"AppI18nProvider"]
|
|
10
10
|
10:I[91133,[],""]
|
|
11
11
|
11:I[4297,[],""]
|
|
12
|
-
12:I[66999,["20","static/chunks/20-0801fc297cda2a7a.js","678","static/chunks/678-
|
|
13
|
-
:HL["/_next/static/css/
|
|
12
|
+
12:I[66999,["20","static/chunks/20-0801fc297cda2a7a.js","678","static/chunks/678-6f33e7277564a5df.js","177","static/chunks/app/layout-3b5f82ced220ef42.js"],"YisiUiInspectorHost"]
|
|
13
|
+
:HL["/_next/static/css/2ed56cbf8f662d23.css","style"]
|
|
14
|
+
:HL["/_next/static/css/96839f63fcc5e50d.css","style"]
|
|
15
|
+
:HL["/_next/static/css/1f8501a43042a5a2.css","style"]
|
|
14
16
|
:HL["/_next/static/css/db96ae2e88545d96.css","style"]
|
|
15
17
|
:HL["/_next/static/css/3b7982b41ed8eccd.css","style"]
|
|
16
18
|
a:X
|
|
17
|
-
0:{"buildId":"
|
|
19
|
+
0:{"buildId":"Wakl9xK54qWYuP4Hpi0W9","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/2ed56cbf8f662d23.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/96839f63fcc5e50d.css","precedence":"next"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/1f8501a43042a5a2.css","precedence":"next"}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":"$@9","staleTime":"$a","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$Lb",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$7",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"以形塑形"}],["$","meta","1",{"name":"description","content":"使用基础图形规划画面重心、主体占比与视觉方向。"}],["$","link","2",{"rel":"icon","href":"/favicon.ico?8ea2c044dfe599d2","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/icon.svg?e28b017365bd9a4d","type":"image/svg+xml","sizes":"any"}],["$","$Ld","4",{}]]}]}]}],null]}],"isPartial":"$@e","staleTime":"$a","varyParams":null},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/db96ae2e88545d96.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/3b7982b41ed8eccd.css","precedence":"next"}]],["$","html",null,{"lang":"zh-CN","children":["$","body",null,{"children":[["$","$Lf",null,{"children":["$","$L10",null,{"parallelRouterKey":"children","template":["$","$L11",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$L12",null,{}]]}]}]]}],"isPartial":"$@13","staleTime":"$a","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@14","rootVaryParams":null,"needsRuntimeRequest":"$@15"}
|
|
18
20
|
4:{}
|
|
19
21
|
5:"$0:data:0:rsc:props:children:0:props:serverProvidedParams:params"
|
|
20
22
|
8:null
|
package/web/out/__next._full.txt
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[84954,["20","static/chunks/20-0801fc297cda2a7a.js","678","static/chunks/678-
|
|
2
|
+
2:I[84954,["20","static/chunks/20-0801fc297cda2a7a.js","678","static/chunks/678-6f33e7277564a5df.js","177","static/chunks/app/layout-3b5f82ced220ef42.js"],"AppI18nProvider"]
|
|
3
3
|
3:I[91133,[],""]
|
|
4
4
|
4:I[4297,[],""]
|
|
5
|
-
5:I[66999,["20","static/chunks/20-0801fc297cda2a7a.js","678","static/chunks/678-
|
|
5
|
+
5:I[66999,["20","static/chunks/20-0801fc297cda2a7a.js","678","static/chunks/678-6f33e7277564a5df.js","177","static/chunks/app/layout-3b5f82ced220ef42.js"],"YisiUiInspectorHost"]
|
|
6
6
|
6:I[1076,[],"ClientPageRoot"]
|
|
7
|
-
7:I[
|
|
7
|
+
7:I[49,["460","static/chunks/83607670-bc1279370476e59f.js","746","static/chunks/c3f2cda1-9e279dab137b7272.js","20","static/chunks/20-0801fc297cda2a7a.js","773","static/chunks/773-24ba65074da7fa71.js","678","static/chunks/678-6f33e7277564a5df.js","130","static/chunks/130-027b022c82d30077.js","974","static/chunks/app/page-d41d1cdb1d6ed018.js"],"default"]
|
|
8
8
|
a:I[31872,[],"OutletBoundary"]
|
|
9
9
|
b:"$Sreact.suspense"
|
|
10
10
|
d:I[31872,[],"ViewportBoundary"]
|
|
@@ -12,8 +12,10 @@ f:I[31872,[],"MetadataBoundary"]
|
|
|
12
12
|
11:I[57567,[],"default",1]
|
|
13
13
|
:HL["/_next/static/css/db96ae2e88545d96.css","style"]
|
|
14
14
|
:HL["/_next/static/css/3b7982b41ed8eccd.css","style"]
|
|
15
|
-
:HL["/_next/static/css/
|
|
16
|
-
|
|
15
|
+
:HL["/_next/static/css/2ed56cbf8f662d23.css","style"]
|
|
16
|
+
:HL["/_next/static/css/96839f63fcc5e50d.css","style"]
|
|
17
|
+
:HL["/_next/static/css/1f8501a43042a5a2.css","style"]
|
|
18
|
+
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/db96ae2e88545d96.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/3b7982b41ed8eccd.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","children":["$","body",null,{"children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/2ed56cbf8f662d23.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/96839f63fcc5e50d.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/1f8501a43042a5a2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],null]}],false]],"m":"$undefined","G":["$11",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"Wakl9xK54qWYuP4Hpi0W9"}
|
|
17
19
|
8:{}
|
|
18
20
|
9:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
|
|
19
21
|
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
package/web/out/__next._tree.txt
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
:HL["/_next/static/css/db96ae2e88545d96.css","style"]
|
|
2
2
|
:HL["/_next/static/css/3b7982b41ed8eccd.css","style"]
|
|
3
|
-
:HL["/_next/static/css/
|
|
4
|
-
|
|
3
|
+
:HL["/_next/static/css/2ed56cbf8f662d23.css","style"]
|
|
4
|
+
:HL["/_next/static/css/96839f63fcc5e50d.css","style"]
|
|
5
|
+
:HL["/_next/static/css/1f8501a43042a5a2.css","style"]
|
|
6
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}},"staleTime":300,"buildId":"Wakl9xK54qWYuP4Hpi0W9"}
|