@deepblend/dsh-blender-ui 0.4.0 → 0.5.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/client.js CHANGED
@@ -371,6 +371,9 @@ window.__ModuleLoader__.load({
371
371
  'editor.animated': '动画控制的通道已禁用。',
372
372
  'editor.invalid': '{field} 的值无效。',
373
373
  'editor.size': '尺寸(mm)',
374
+ 'editor.boxWidth': '宽(mm)',
375
+ 'editor.boxDepth': '深(mm)',
376
+ 'editor.boxHeight': '高(mm)',
374
377
  'editor.radius': '半径(mm)',
375
378
  'editor.handledCup': '带把手杯体',
376
379
  'editor.wallThickness': '杯壁厚度(mm)',
@@ -959,6 +962,9 @@ window.__ModuleLoader__.load({
959
962
  'editor.animated': 'Channels driven by animation are disabled.',
960
963
  'editor.invalid': 'Invalid value for {field}.',
961
964
  'editor.size': 'Size (mm)',
965
+ 'editor.boxWidth': 'Width (mm)',
966
+ 'editor.boxDepth': 'Depth (mm)',
967
+ 'editor.boxHeight': 'Height (mm)',
962
968
  'editor.radius': 'Radius (mm)',
963
969
  'editor.handledCup': 'Handled cup',
964
970
  'editor.wallThickness': 'Wall thickness (mm)',
@@ -2054,7 +2060,13 @@ window.__ModuleLoader__.load({
2054
2060
  }
2055
2061
  const generator = draft.entity.generator
2056
2062
  if (generator) {
2063
+ if (generator.dimensions !== undefined) {
2064
+ if (!['cube', 'rounded_box'].includes(generator.shape) || generator.size !== undefined
2065
+ || !Array.isArray(generator.dimensions) || generator.dimensions.length !== 3) bad('dimensions')
2066
+ else generator.dimensions.forEach((value, axis) => scalar(value, `dimensions.${EDITOR_AXES[axis]}`, Number.MIN_VALUE))
2067
+ }
2057
2068
  for (const key of GENERATOR_FIELDS[generator.shape] || []) {
2069
+ if (key === 'size' && generator.dimensions !== undefined) continue
2058
2070
  const bounds = generatorIntegerBounds(generator, key)
2059
2071
  if (bounds?.[2] && generator[key] % bounds[2]) bad(key)
2060
2072
  scalar(generator[key], key, key === 'rootTension' ? 1 : bounds ? bounds[0] : Number.MIN_VALUE,
@@ -4455,7 +4467,11 @@ window.__ModuleLoader__.load({
4455
4467
  el('p', { className: 'db-muted', key: 'local-size' }, t('editor.localDimensions', { scale: (draft.entity.transform.scale || [1, 1, 1]).join(' × ') })),
4456
4468
  geometry.shape === 'rounded_box' ? el('p', { className: 'db-muted', key: 'rounded' }, t('editor.roundedRequired')) : null,
4457
4469
  geometry.shape === 'handled_cup' ? el('p', { className: 'db-muted', key: 'cup-help' }, t('editor.cupHelp')) : null,
4458
- ...(GENERATOR_FIELDS[geometry.shape] || []).filter(key => geometry.shape !== 'handled_cup' || !CUP_ADVANCED_FIELDS.includes(key)).map(geometryField),
4470
+ ...(GENERATOR_FIELDS[geometry.shape] || []).filter(key => !(key === 'size' && geometry.dimensions !== undefined)
4471
+ && (geometry.shape !== 'handled_cup' || !CUP_ADVANCED_FIELDS.includes(key))).map(geometryField),
4472
+ ...(geometry.dimensions !== undefined ? [t('editor.boxWidth'), t('editor.boxDepth'), t('editor.boxHeight')].map((label, index) => numeric(
4473
+ label, `editor-generator-dimensions-${EDITOR_AXES[index]}`, geometry.dimensions[index],
4474
+ value => actions.updateEditor('generator', ['dimensions', index], value), { factor: 1000, min: Number.MIN_VALUE })) : []),
4459
4475
  geometry.shape === 'handled_cup' ? el('details', { key: 'cup-advanced' },
4460
4476
  el('summary', null, t('editor.cupAdvanced')), ...CUP_ADVANCED_FIELDS.map(geometryField)) : null,
4461
4477
  toggle(t('editor.bevel'), 'editor-generator-bevel', Boolean(geometry.bevel), value => actions.updateEditor('generator', ['bevel'], value ? { width: 0.001, segments: 3 } : undefined), geometry.shape === 'rounded_box'),
package/lib/index.js CHANGED
@@ -439,6 +439,7 @@ export function statusForError(error) {
439
439
  return 400
440
440
  case BlenderErrorCode.RENDER_JOB_CONFLICT:
441
441
  case BlenderErrorCode.REVISION_CONFLICT:
442
+ case BlenderErrorCode.SCENE_FEATURE_UNSUPPORTED:
442
443
  return 409
443
444
  default:
444
445
  return 500
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepblend/dsh-blender-ui",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "description": "DeepBlend workbench UI: Host half (typed HTTP API) and Web Client half (sidebar, panels, tool cards).",
6
6
  "main": "lib/index.js",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "dependencies": {
22
- "@deepblend/dsh-blender-contracts": "0.4.0"
22
+ "@deepblend/dsh-blender-contracts": "0.5.0"
23
23
  },
24
24
  "license": "MIT",
25
25
  "repository": {