Skip to content

Commit 5f1c5c2

Browse files
aldoruizlunaclaude
andauthored
fix(julia-vase): constraints as expressions the Studio evaluates (#191)
Both constraints were written in a structured shape (parameter / condition / value, and reference / factor) that nothing reads: the Studio's useConstraints takes `expression` (or the legacy `rule`) and skips an entry that has neither, so neither rule ever fired. No other consumer reads that shape (yantra4d apps/ and the keystone src/ have no reader for condition / factor). Rewritten as the expression the fields spelled out: wall_thickness >= 0.8 and wave_amplitude < base_radius * 0.333, the declared factor kept as written. Severity and both messages are unchanged. The ripple_vase preset (wave_amplitude 15, base_radius default 40, so the bound is 13.32) now lights the warning. It is a warning, and the house rule only requires presets to satisfy error constraints; the preset is left as it is. Signed-off-by: Aldo Ruiz Luna <aldo.ruiz.luna@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 9db8c26 commit 5f1c5c2

1 file changed

Lines changed: 2 additions & 7 deletions

File tree

‎julia-vase/project.json‎

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -295,20 +295,15 @@
295295
],
296296
"constraints": [
297297
{
298-
"parameter": "wall_thickness",
299-
"condition": ">=",
300-
"value": 0.8,
298+
"expression": "wall_thickness >= 0.8",
301299
"severity": "error",
302300
"message": {
303301
"en": "Wall thickness must be at least 0.8mm for printability",
304302
"es": "El grosor de pared debe ser al menos 0.8mm para impresión"
305303
}
306304
},
307305
{
308-
"parameter": "wave_amplitude",
309-
"condition": "<",
310-
"reference": "base_radius",
311-
"factor": 0.333,
306+
"expression": "wave_amplitude < base_radius * 0.333",
312307
"severity": "warning",
313308
"message": {
314309
"en": "Wave amplitude should be less than 1/3 of base radius to avoid self-intersection",

0 commit comments

Comments
 (0)