@deepblend/dsh-blender-host 0.6.4 → 0.8.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/lib/index.js CHANGED
@@ -5631,6 +5631,7 @@ export function buildReviewerPrompt(review, views, baselineReview) {
5631
5631
  lines.push(' - Geometry: silhouette, proportion, edge treatment, wall thickness and joins. Materials: plausible reflectance, roughness and texture scale. Lighting: readable form, highlights and contact shadows. goalFit: required parts, proportions and finish against the authored brief.')
5632
5632
  lines.push(' - Mark unavailable or hidden evidence unassessable. Missing evidence is not a pass. Keep judgments separate from technical measurements.')
5633
5633
  lines.push(' - A finding whose viewId is not one of the views above is DISCARDED, so name a real view.')
5634
+ lines.push(' - For occlusion findings, "objectId" identifies the object whose visibility is blocked, not the object blocking it. Name the blocking object in "evidence" and use its id only as the target of a repair operation.')
5634
5635
  lines.push(' - "operations" must use only these ScenePatch operations, and they are applied all-or-nothing:')
5635
5636
  lines.push(' entity.transform.update {entityId, location?, rotationEuler?, scale?}')
5636
5637
  lines.push(' entity.visibility.set {entityId, visible}')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepblend/dsh-blender-host",
3
- "version": "0.6.4",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "description": "DeepBlend Host service: the blenderStudio business facade over the BlenderRuntime seam.",
6
6
  "main": "lib/index.js",
@@ -20,7 +20,7 @@
20
20
  "./package.json": "./package.json"
21
21
  },
22
22
  "dependencies": {
23
- "@deepblend/dsh-blender-contracts": "0.6.4",
23
+ "@deepblend/dsh-blender-contracts": "0.8.0",
24
24
  "sharp": "0.35.5"
25
25
  },
26
26
  "license": "MIT",
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schemaVersion": "deepblend.recipe/v1",
3
3
  "id": "deepblend.glazed-cup",
4
- "version": "3.0.0",
4
+ "version": "3.1.0",
5
5
  "title": "青釉带把手杯",
6
- "description": "105 mm 高的陶瓷杯,3 mm 壁厚,圆润杯沿与连续把手。根部曲面展开过渡;可调整釉色、光泽与曝光,创建后修改尺寸和连接曲面。",
6
+ "description": "用高度、杯口外径和壁厚三个毫米参数创建带把手陶瓷杯,杯身与把手连接同步调整;保留釉色、可继续编辑的几何、原生保存和细节预览。",
7
7
  "author": {
8
8
  "name": "DeepBlend contributors",
9
9
  "url": "https://github.com/pearjelly/deep-blend"
@@ -20,12 +20,14 @@
20
20
  "geometry.handled_cup.tension",
21
21
  "geometry.handled_cup.tension.extended",
22
22
  "geometry.primitive",
23
- "material.principled"
23
+ "material.principled",
24
+ "recipe.geometry-bindings",
25
+ "recipe.generator-bindings"
24
26
  ]
25
27
  },
26
28
  "input": {
27
29
  "path": "scene-spec.json",
28
- "sha256": "4bbc13795cfc54f10cc2605c24072d11deb2f029381d38b97753d4003d58d5e7"
30
+ "sha256": "ad9ae3509dc1cb9ebd01acc153f5d6724a7d2e7318d90858dedb55d2ca3cb09c"
29
31
  },
30
32
  "preview": {
31
33
  "path": "preview.png",
@@ -34,6 +36,199 @@
34
36
  "alt": "青釉带把手杯默认参数的实际 Blender 主视角渲染"
35
37
  },
36
38
  "parameters": [
39
+ {
40
+ "id": "cup-height-mm",
41
+ "title": "杯身高度(毫米)",
42
+ "description": "杯身高度,联动把手上下连接位置与默认摄影构图。",
43
+ "type": "number",
44
+ "default": 105,
45
+ "minimum": 95,
46
+ "maximum": 130,
47
+ "bindings": [
48
+ {
49
+ "kind": "generator",
50
+ "entityId": "cup",
51
+ "property": "height",
52
+ "multiplier": 0.001
53
+ },
54
+ {
55
+ "kind": "generator",
56
+ "entityId": "cup",
57
+ "property": "handleLower",
58
+ "multiplier": 0.0002666666666666667
59
+ },
60
+ {
61
+ "kind": "generator",
62
+ "entityId": "cup",
63
+ "property": "handleUpper",
64
+ "multiplier": 0.0007428571428571429
65
+ },
66
+ {
67
+ "kind": "camera",
68
+ "cameraId": "hero",
69
+ "property": "location",
70
+ "axis": "x",
71
+ "multiplier": 0.0014952380952380953
72
+ },
73
+ {
74
+ "kind": "camera",
75
+ "cameraId": "hero",
76
+ "property": "location",
77
+ "axis": "y",
78
+ "multiplier": -0.002333333333333333
79
+ },
80
+ {
81
+ "kind": "camera",
82
+ "cameraId": "hero",
83
+ "property": "location",
84
+ "axis": "z",
85
+ "multiplier": 0.0012857142857142859
86
+ },
87
+ {
88
+ "kind": "camera",
89
+ "cameraId": "hero",
90
+ "property": "targetPoint",
91
+ "axis": "z",
92
+ "multiplier": 0.0005
93
+ },
94
+ {
95
+ "kind": "camera",
96
+ "cameraId": "roots",
97
+ "property": "location",
98
+ "axis": "x",
99
+ "multiplier": 0.0008666666666666667
100
+ },
101
+ {
102
+ "kind": "camera",
103
+ "cameraId": "roots",
104
+ "property": "location",
105
+ "axis": "y",
106
+ "multiplier": -0.0016666666666666666
107
+ },
108
+ {
109
+ "kind": "camera",
110
+ "cameraId": "roots",
111
+ "property": "location",
112
+ "axis": "z",
113
+ "multiplier": 0.0009714285714285713
114
+ },
115
+ {
116
+ "kind": "camera",
117
+ "cameraId": "roots",
118
+ "property": "targetPoint",
119
+ "axis": "z",
120
+ "multiplier": 0.0005238095238095238
121
+ },
122
+ {
123
+ "kind": "camera",
124
+ "cameraId": "inside",
125
+ "property": "location",
126
+ "axis": "x",
127
+ "multiplier": 0.0013333333333333335
128
+ },
129
+ {
130
+ "kind": "camera",
131
+ "cameraId": "inside",
132
+ "property": "location",
133
+ "axis": "y",
134
+ "multiplier": -0.0019047619047619048
135
+ },
136
+ {
137
+ "kind": "camera",
138
+ "cameraId": "inside",
139
+ "property": "location",
140
+ "axis": "z",
141
+ "multiplier": 0.0030476190476190477
142
+ },
143
+ {
144
+ "kind": "camera",
145
+ "cameraId": "inside",
146
+ "property": "targetPoint",
147
+ "axis": "z",
148
+ "multiplier": 0.0004761904761904762
149
+ }
150
+ ]
151
+ },
152
+ {
153
+ "id": "cup-outer-diameter-mm",
154
+ "title": "杯口外径(毫米)",
155
+ "description": "杯口外径,联动把手截面、杯身连接尺寸与默认摄影中心。",
156
+ "type": "number",
157
+ "default": 80,
158
+ "minimum": 72,
159
+ "maximum": 96,
160
+ "bindings": [
161
+ {
162
+ "kind": "generator",
163
+ "entityId": "cup",
164
+ "property": "radius",
165
+ "multiplier": 0.0005
166
+ },
167
+ {
168
+ "kind": "generator",
169
+ "entityId": "cup",
170
+ "property": "handleRadius",
171
+ "multiplier": 6.875e-05
172
+ },
173
+ {
174
+ "kind": "generator",
175
+ "entityId": "cup",
176
+ "property": "rootRadius",
177
+ "multiplier": 0.00011250000000000001
178
+ },
179
+ {
180
+ "kind": "generator",
181
+ "entityId": "cup",
182
+ "property": "rootLength",
183
+ "multiplier": 7.5e-05
184
+ },
185
+ {
186
+ "kind": "camera",
187
+ "cameraId": "hero",
188
+ "property": "location",
189
+ "axis": "x",
190
+ "multiplier": 0.000225
191
+ },
192
+ {
193
+ "kind": "camera",
194
+ "cameraId": "hero",
195
+ "property": "targetPoint",
196
+ "axis": "x",
197
+ "multiplier": 0.000225
198
+ },
199
+ {
200
+ "kind": "camera",
201
+ "cameraId": "roots",
202
+ "property": "location",
203
+ "axis": "x",
204
+ "multiplier": 0.0005499999999999999
205
+ },
206
+ {
207
+ "kind": "camera",
208
+ "cameraId": "roots",
209
+ "property": "targetPoint",
210
+ "axis": "x",
211
+ "multiplier": 0.0005499999999999999
212
+ }
213
+ ]
214
+ },
215
+ {
216
+ "id": "cup-wall-mm",
217
+ "title": "杯壁厚度(毫米)",
218
+ "description": "杯壁厚度,保留原底厚和圆角。",
219
+ "type": "number",
220
+ "default": 3,
221
+ "minimum": 3,
222
+ "maximum": 5,
223
+ "bindings": [
224
+ {
225
+ "kind": "generator",
226
+ "entityId": "cup",
227
+ "property": "wallThickness",
228
+ "multiplier": 0.001
229
+ }
230
+ ]
231
+ },
37
232
  {
38
233
  "id": "main-color",
39
234
  "title": "陶瓷釉色",
@@ -48,7 +48,13 @@
48
48
  "shape": "handled_cup",
49
49
  "rootRadius": 0.009,
50
50
  "rootLength": 0.006,
51
- "rootTension": 2.5
51
+ "rootTension": 2.5,
52
+ "height": 0.105,
53
+ "radius": 0.04,
54
+ "wallThickness": 0.003,
55
+ "handleLower": 0.027999999999999997,
56
+ "handleUpper": 0.078,
57
+ "handleRadius": 0.0055000000000000005
52
58
  },
53
59
  "materialId": "glaze",
54
60
  "tags": [
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schemaVersion": "deepblend.recipe/v1",
3
3
  "id": "deepblend.metal-lamp",
4
- "version": "2.0.0",
4
+ "version": "2.1.0",
5
5
  "title": "香槟金属桌灯",
6
- "description": "连续旋压灯罩、沿曲面延伸的金属细纹、珐琅内衬、曲线弯臂与贴地线缆。分别调整旋压件和拉丝件的粗糙度,同步调整金属颜色与摄影曝光。",
6
+ "description": "连续旋压灯罩、沿曲面延伸的金属细纹、珐琅内衬、曲线弯臂与贴地线缆。分别调整旋压件和拉丝件的粗糙度,同步调整金属颜色与摄影曝光;灯罩外径联动金属壁与内衬,颈口保持,提供独立内衬检查相机。",
7
7
  "author": {
8
8
  "name": "DeepBlend contributors",
9
9
  "url": "https://github.com/pearjelly/deep-blend"
@@ -11,7 +11,7 @@
11
11
  "license": "MIT",
12
12
  "source": {
13
13
  "url": "https://github.com/pearjelly/deep-blend",
14
- "note": "Native metal-lamp benchmark with UV grain. SceneSpec bytes and native hero pixels are pinned; preview metadata is removed. Source URL is attribution, not an installation endpoint."
14
+ "note": "Native metal-lamp benchmark with UV grain. SceneSpec bytes and native hero pixels are pinned; preview metadata is removed. Hero geometry/materials/camera remain unchanged; paired-profile diameter control and liner inspection camera are added. Source URL is attribution, not an installation endpoint."
15
15
  },
16
16
  "compatibility": {
17
17
  "sceneSchemaVersion": "deepblend.scene/v1",
@@ -24,12 +24,14 @@
24
24
  "material.anisotropy",
25
25
  "material.principled",
26
26
  "material.procedural",
27
- "material.procedural.uv"
27
+ "material.procedural.uv",
28
+ "recipe.geometry-bindings",
29
+ "recipe.lathe-shell-bindings"
28
30
  ]
29
31
  },
30
32
  "input": {
31
33
  "path": "scene-spec.json",
32
- "sha256": "4a9ea6e09e757acf23dc01593a94a3a51776ec697f15853b1ba62f0ed9515f1f"
34
+ "sha256": "9170d39ad1d3b14e1e9332c10d0f0daf922c259407ea6ab545ef53e4b02f64f0"
33
35
  },
34
36
  "preview": {
35
37
  "path": "preview.png",
@@ -38,6 +40,28 @@
38
40
  "alt": "香槟金属桌灯默认参数及曲面细纹的实际 Blender 渲染"
39
41
  },
40
42
  "parameters": [
43
+ {
44
+ "id": "shade-diameter-mm",
45
+ "title": "灯罩外径(毫米)",
46
+ "description": "调整实际灯罩外径,联动金属壁和内衬,保持颈口、弯臂、灯泡与关节;不整体缩放。",
47
+ "type": "number",
48
+ "default": 209.8,
49
+ "minimum": 180,
50
+ "maximum": 250,
51
+ "bindings": [
52
+ {
53
+ "kind": "lathe-shell",
54
+ "entityId": "shade-shell",
55
+ "linerEntityId": "shade-enamel-lining",
56
+ "outerPointCount": 45,
57
+ "linerStart": 3,
58
+ "linerPointCount": 37,
59
+ "rimHeight": 0.008,
60
+ "neckAnchorHeight": 0.118,
61
+ "multiplier": 0.0005
62
+ }
63
+ ]
64
+ },
41
65
  {
42
66
  "id": "main-color",
43
67
  "title": "主金属颜色",
@@ -2331,7 +2331,6 @@
2331
2331
  },
2332
2332
  {
2333
2333
  "id": "detail",
2334
- "role": "detail",
2335
2334
  "lens": 70,
2336
2335
  "sensorWidth": 36,
2337
2336
  "clipping": [
@@ -2374,6 +2373,32 @@
2374
2373
  0.2
2375
2374
  ],
2376
2375
  "fStop": 11
2376
+ },
2377
+ {
2378
+ "id": "liner-inspection",
2379
+ "role": "detail",
2380
+ "lens": 50,
2381
+ "clipping": [
2382
+ 0.005,
2383
+ 250
2384
+ ],
2385
+ "targetPoint": [
2386
+ 0.045,
2387
+ 0,
2388
+ 0.394
2389
+ ],
2390
+ "transform": {
2391
+ "location": [
2392
+ 0.29,
2393
+ -0.35,
2394
+ 0.205
2395
+ ],
2396
+ "scale": [
2397
+ 1,
2398
+ 1,
2399
+ 1
2400
+ ]
2401
+ }
2377
2402
  }
2378
2403
  ],
2379
2404
  "shots": [