added motion simulator feature

This commit is contained in:
ykcheungab
2026-09-21 16:11:45 +08:00
parent ccedb9ddd9
commit f1bec62ca4
21 changed files with 5025 additions and 12 deletions
+49
View File
@@ -181,6 +181,7 @@
"workspace": {
"tab_axes": "Axis debug",
"tab_sequence": "Test sequence",
"tab_finger": "Finger debug",
"tab_sensor": "Sensor",
"tab_surface": "Surface map",
"tab_points": "Calibration points",
@@ -189,6 +190,54 @@
"reserved_surface": "Multi-point calibration sensitivity will be drawn as a colour map on the sensor's 3D surface here: each point's sensitivity interpolated and coloured, with a legend and range.",
"reserved_points": "The calibration point table and capture controls will appear here: platform coordinates, reference load, sampling statistics and the resulting sensitivity."
},
"finger": {
"title": "Finger calibration-point debug",
"bundle_path": "Export bundle",
"load": "Load bundle…",
"reset_view": "Reset view",
"initial_view": "Initial view",
"textured": "UV texture: {name}",
"untextured": "No UV texture: showing the shaded layout map.",
"texture_missing": "No texture at {path}: showing the shaded layout map.",
"flat_title": "Flat image (click to pick)",
"readout_title": "Readouts",
"preview_title": "3D preview",
"points_title": "Picked points",
"select_hint": "Click a point on the flat image to pick a calibration point.",
"no_bundle": "No export bundle loaded.",
"no_surface": "Pixel ({x}, {y}) is not on the sensing surface (UV gap).",
"row_sensor_point": "Sensor point (mm)",
"row_sensor_normal": "Surface normal",
"row_platform_point": "Platform point (mm)",
"row_pose": "Pose X / Y / yaw / pitch",
"row_residual": "Alignment residual",
"row_frames": "Frame mapping",
"row_bundle": "Bundle",
"bundle_summary": "{vertices} vertices · {triangles} triangles · {extent} mm · {scale} mm per unit",
"plate_thickness": "Mounting plate",
"tool_offset": "Tool offset x,y,z",
"clear_points": "Clear points",
"point_count": "{count} points",
"residual_value": "{residual}° — {verdict}",
"reachable": "this normal can be aligned with Z",
"unreachable": "this normal cannot be aligned with Z (yaw travel limit)",
"reach_summary": "Alignable surface vertices {aligned}/{vertices} ({share}%), worst {worst}°",
"preview_legend": "Surface colour = alignment residual (green aligned, red not) · yellow is the tool axis · X/Y are the table, Z the tool travel",
"show_axes": "Show motion axes",
"sim_play": "Play motion",
"sim_stop": "Stop",
"sim_hint": "Play the solved motion: the stages rotate the normal onto the tool axis, then the XY table moves. Pick a point first.",
"preview_no_gl": "No OpenGL context: {error}",
"preview_draw_failed": "Drawing failed: {error}",
"preview_solve_failed": "Solve failed: {error}",
"col_x": "x", "col_y": "y", "col_z": "z",
"col_nx": "nx", "col_ny": "ny", "col_nz": "nz",
"col_X": "X", "col_Y": "Y", "col_Z": "Z",
"col_yaw": "yaw", "col_pitch": "pitch", "col_residual": "residual(°)",
"loaded": "Bundle loaded: {vertices} vertices · {extent} mm",
"load_failed": "Load failed: {error}",
"picked": "Picked: residual {residual}° · yaw {yaw}° · pitch {pitch}°"
},
"sequence": {
"title": "Test sequence design",
"profile_title": "Point generation",