Add regression tests for prop attachment, centering, and editor UX
- Implemented test_phase9a_prop_attach.gd to validate anchor schema, alignment math, and preview isolation. - Implemented test_phase9b_prop_centering.gd to check canonical origin presentation, bounds, centering, and save threshold. - Implemented test_phase9c_prop_editor_ux.gd to assess the user experience in the prop editor, including anchor renaming and UI responsiveness. - Added corresponding .uid files for each test. - Created sync_sources.py script to manage markdown file synchronization with the notebook. - Added .gitignore for virtual environment files.
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"anchors": {
|
||||
"origin": {
|
||||
"allowed_hands": "both",
|
||||
"role": "pivot",
|
||||
"rotation_deg": 0.0,
|
||||
"x": 0.0,
|
||||
"y": 0.0,
|
||||
"z_index_offset": 0
|
||||
},
|
||||
"primary_grip": {
|
||||
"allowed_hands": "both",
|
||||
"role": "grip",
|
||||
"rotation_deg": 0.0,
|
||||
"x": 0.0,
|
||||
"y": 0.0,
|
||||
"z_index_offset": 1
|
||||
}
|
||||
},
|
||||
"material_preset": "rubber",
|
||||
"metadata": {
|
||||
"created_at": "2026-09-21T16:00:00",
|
||||
"modified_at": "2026-09-21T16:00:00"
|
||||
},
|
||||
"prop_name": "Baseball",
|
||||
"shapes": [
|
||||
{
|
||||
"closed": true,
|
||||
"fill_color": "#F5F5F0FF",
|
||||
"outline_color": "#A0A0A0FF",
|
||||
"outline_width": 2.0,
|
||||
"points": [
|
||||
{ "x": 35.0, "y": 0.0 },
|
||||
{ "x": 30.31, "y": 17.5 },
|
||||
{ "x": 17.5, "y": 30.31 },
|
||||
{ "x": 0.0, "y": 35.0 },
|
||||
{ "x": -17.5, "y": 30.31 },
|
||||
{ "x": -30.31, "y": 17.5 },
|
||||
{ "x": -35.0, "y": 0.0 },
|
||||
{ "x": -30.31, "y": -17.5 },
|
||||
{ "x": -17.5, "y": -30.31 },
|
||||
{ "x": 0.0, "y": -35.0 },
|
||||
{ "x": 17.5, "y": -30.31 },
|
||||
{ "x": 30.31, "y": -17.5 }
|
||||
],
|
||||
"radius": 35.0,
|
||||
"reshaped": false,
|
||||
"shape_type": "circle",
|
||||
"vertex_flags": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||
},
|
||||
{
|
||||
"closed": false,
|
||||
"fill_color": "#00000000",
|
||||
"outline_color": "#D62828FF",
|
||||
"outline_width": 2.0,
|
||||
"points": [
|
||||
{ "x": -12.0, "y": -28.0 },
|
||||
{ "x": -22.0, "y": -14.0 },
|
||||
{ "x": -22.0, "y": 14.0 },
|
||||
{ "x": -12.0, "y": 28.0 }
|
||||
],
|
||||
"reshaped": true,
|
||||
"shape_type": "line",
|
||||
"vertex_flags": [0, 0, 0, 0]
|
||||
},
|
||||
{
|
||||
"closed": false,
|
||||
"fill_color": "#00000000",
|
||||
"outline_color": "#D62828FF",
|
||||
"outline_width": 2.0,
|
||||
"points": [
|
||||
{ "x": 12.0, "y": -28.0 },
|
||||
{ "x": 22.0, "y": -14.0 },
|
||||
{ "x": 22.0, "y": 14.0 },
|
||||
{ "x": 12.0, "y": 28.0 }
|
||||
],
|
||||
"reshaped": true,
|
||||
"shape_type": "line",
|
||||
"vertex_flags": [0, 0, 0, 0]
|
||||
}
|
||||
],
|
||||
"version": "1.0"
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"anchors": {
|
||||
"origin": {
|
||||
"allowed_hands": "both",
|
||||
"role": "pivot",
|
||||
"rotation_deg": 0.0,
|
||||
"x": 0.0,
|
||||
"y": 0.0,
|
||||
"z_index_offset": 0
|
||||
},
|
||||
"primary_grip": {
|
||||
"allowed_hands": "both",
|
||||
"role": "grip",
|
||||
"rotation_deg": 0.0,
|
||||
"x": 0.0,
|
||||
"y": -42.5,
|
||||
"z_index_offset": 1
|
||||
}
|
||||
},
|
||||
"material_preset": "wood",
|
||||
"metadata": {
|
||||
"created_at": "2026-09-21T16:00:00",
|
||||
"modified_at": "2026-09-21T16:00:00"
|
||||
},
|
||||
"prop_name": "Brown Briefcase",
|
||||
"shapes": [
|
||||
{
|
||||
"closed": true,
|
||||
"fill_color": "#3D2314FF",
|
||||
"outline_color": "#26150CFF",
|
||||
"outline_width": 2.0,
|
||||
"points": [
|
||||
{ "x": -25.0, "y": -30.0 },
|
||||
{ "x": -25.0, "y": -55.0 },
|
||||
{ "x": 25.0, "y": -55.0 },
|
||||
{ "x": 25.0, "y": -30.0 },
|
||||
{ "x": 18.0, "y": -30.0 },
|
||||
{ "x": 18.0, "y": -47.0 },
|
||||
{ "x": -18.0, "y": -47.0 },
|
||||
{ "x": -18.0, "y": -30.0 }
|
||||
],
|
||||
"reshaped": true,
|
||||
"shape_type": "polygon",
|
||||
"vertex_flags": [0, 0, 0, 0, 0, 0, 0, 0]
|
||||
},
|
||||
{
|
||||
"closed": true,
|
||||
"fill_color": "#6D3C19FF",
|
||||
"outline_color": "#3B200AFF",
|
||||
"outline_width": 3.0,
|
||||
"points": [
|
||||
{ "x": -70.0, "y": -30.0 },
|
||||
{ "x": 70.0, "y": -30.0 },
|
||||
{ "x": 70.0, "y": 40.0 },
|
||||
{ "x": -70.0, "y": 40.0 }
|
||||
],
|
||||
"reshaped": false,
|
||||
"shape_type": "polygon",
|
||||
"vertex_flags": [0, 0, 0, 0]
|
||||
},
|
||||
{
|
||||
"closed": true,
|
||||
"fill_color": "#D4AF37FF",
|
||||
"outline_color": "#8B7500FF",
|
||||
"outline_width": 1.5,
|
||||
"points": [
|
||||
{ "x": -45.0, "y": -32.0 },
|
||||
{ "x": -30.0, "y": -32.0 },
|
||||
{ "x": -30.0, "y": -22.0 },
|
||||
{ "x": -45.0, "y": -22.0 }
|
||||
],
|
||||
"reshaped": false,
|
||||
"shape_type": "polygon",
|
||||
"vertex_flags": [0, 0, 0, 0]
|
||||
},
|
||||
{
|
||||
"closed": true,
|
||||
"fill_color": "#D4AF37FF",
|
||||
"outline_color": "#8B7500FF",
|
||||
"outline_width": 1.5,
|
||||
"points": [
|
||||
{ "x": 30.0, "y": -32.0 },
|
||||
{ "x": 45.0, "y": -32.0 },
|
||||
{ "x": 45.0, "y": -22.0 },
|
||||
{ "x": 30.0, "y": -22.0 }
|
||||
],
|
||||
"reshaped": false,
|
||||
"shape_type": "polygon",
|
||||
"vertex_flags": [0, 0, 0, 0]
|
||||
}
|
||||
],
|
||||
"version": "1.0"
|
||||
}
|
||||
Reference in New Issue
Block a user