改善 Studio 回放布局与传感器切换体验

缩短界面提示,保存上次视频目录,并防止旧结果绘入 Finger 3D。针对性测试及可见界面复测通过。
This commit is contained in:
ykcheungab
2026-10-06 20:18:50 +08:00
parent 425fa0d44d
commit 321e52f47a
11 changed files with 265 additions and 41 deletions
+7 -6
View File
@@ -209,13 +209,13 @@
"view_mode_tip": "Image display mode while running",
"replay_pipeline": "Recorded video (raw camera image)",
"replay_pipeline_tip": "Replay shows the recorded raw camera image with no live arrow overlay; to get arrows and depth from analysis, use View → Analyze video",
"replay_raw_note": "A recording stores only the raw camera image: there is no flow or depth to draw, because this recording has no analysis result yet. Opening a recording runs the pass automatically, or press “Analyze video”; once a result exists this pane can draw arrows and the depth map",
"replay_raw_note": "No analysis result yet. Opening a recording runs analysis, or choose Analyze video… above.",
"frame_missing_note": "This frame carries no {fields}: there is nothing for this view to draw",
"field_flow": "flow",
"field_depth": "depth",
"recompute_pipeline": "Recomputed from the recording (not the recorded value)",
"recompute_pipeline_tip": "This frame is what the current algorithm version computes for that footage — not the measurement that was recorded at the time.",
"replay_empty": "No recording open\nPress “Open recording…” below",
"replay_empty": "No video open\nChoose “Recorded video…” above",
"arrow_empty": "No image yet\nPick a video or camera, then press Run",
"arrow_empty_tip": "The deformation arrow image appears here while running or previewing",
"arrow_render_failed": "Flow arrows could not be drawn for this frame\nTry another view, or reload the video",
@@ -244,7 +244,7 @@
"mesh3d_reset_tip": "Reset view: back to the framing the scene itself uses",
"replay_analysis_running": "this recording is being analysed: there are no arrows or depth to draw until it finishes. Progress and Cancel are on the analysis panel.",
"replay_analysis_failed": "there is no analysis result to draw: {reason}. Only the raw camera image can be shown here; once that is dealt with, Analyze video runs the pass again by hand.",
"replay_analysis_unavailable": "this is not a recording that can be analysed (its folder has no session.json, or no raw_*.mp4 segment): no pass can run, so this panel shows the raw camera image only. For forces and deformation from this video use View > Analyze video."
"replay_analysis_unavailable": "This video has no analysis setup. Choose Analyze video… above to select one and generate results."
},
"chart": {
"fn": "FN",
@@ -295,7 +295,7 @@
"no_video": "This recording has no usable video segment",
"open_failed": "Could not open that recording: {error}",
"not_a_recording": "“{name}” is not a recording: its folder has no forces.csv (a recording is the video plus forces.csv and session.json). Replay needs a recording; to just watch this video, open it as a video or use View ▸ Analyze video.",
"video_only_opened": "“{name}” has no recording beside it (no forces.csv), so it is playing as a video: the picture and the timeline work, the force charts are empty. For forces and deformation use View ▸ Analyze video.",
"video_only_opened": "Opened “{name}”; no analysis result yet. Choose Analyze video… above to generate one.",
"video_only_notice": "This video has no recording beside it (no forces.csv): it plays, but the force charts and the recording details are empty.",
"video_only_panel": "This is not a recording, and this video cannot be decoded (no forces.csv beside it, and it does not read as playable video)\nYou can still try View ▸ Analyze video",
"empty_recording": "This recording has no playable picture (no raw_*.mp4 segment), so it cannot be replayed",
@@ -449,8 +449,9 @@
"phase_connecting": "Connecting",
"phase_running": "Acquiring",
"phase_error": "Error",
"rail_video_name": "Video file: {name}",
"rail_result_profile": "Result profile: {type}",
"rail_video_name": "Video: {name}",
"rail_recent_video": "Previous video: {name}",
"rail_result_profile": "Result: {type}",
"rail_result_reused": "Stored result",
"rail_result_complete": "Analysis complete",
"rail_result_running": "Analysing…",
+7 -6
View File
@@ -209,13 +209,13 @@
"view_mode_tip": "运行时的图像显示模式",
"replay_pipeline": "录制视频(原始相机图像)",
"replay_pipeline_tip": "回放显示的是录制下来的原始相机图像,不含实时箭头叠加;要看分析得到的箭头与深度请用「视图 → 分析视频」",
"replay_raw_note": "录像只保存原始相机图像:这里没有光流/深度可画,因为这个录像还没有分析结果。打开录像会自动跑一遍分析,也可以点「分析视频」手动生成;有结果后本面板就能画箭头和深度图",
"replay_raw_note": "尚无分析结果。打开录像会自动分析,或点顶部「分析视频…」。",
"frame_missing_note": "本帧没有{fields}:这个视图这一帧没有数据可画",
"field_flow": "光流",
"field_depth": "深度",
"recompute_pipeline": "由录像重算(非记录值)",
"recompute_pipeline_tip": "这一帧是当前算法版本对录像重新计算得到的,不是当初记录下来的测量值。",
"replay_empty": "尚未打开录制\n点击下方「打开录制…」",
"replay_empty": "尚未打开录像\n点击顶部「选择录制视频…」",
"arrow_empty": "尚未采集图像\n请选择视频或摄像机后点击「运行」",
"arrow_empty_tip": "运行或预览后在此显示形变箭头图",
"arrow_render_failed": "本帧无法绘制形变箭头\n请换一种视图,或重新加载视频",
@@ -244,7 +244,7 @@
"mesh3d_reset_tip": "复位视角:回到场景自带的取景",
"replay_analysis_running": "正在分析这个录像:跑完之前这里没有箭头/深度可画,进度与取消在分析面板上。",
"replay_analysis_failed": "没有可画的分析结果:{reason}。这里只能显示原始相机图像;处理完之后可以点「分析视频」再跑一遍。",
"replay_analysis_unavailable": "这不是一条可分析的录像(同目录没有 session.json,或没有 raw_*.mp4 分段):没有能跑的分析,本面板只能显示原始相机图像。要从这段视频得到力值/形变,请用 视图 ▸ 分析视频。"
"replay_analysis_unavailable": "视频尚无分析配置。点顶部「分析视频…」选择配置并生成结果。"
},
"chart": {
"fn": "FN",
@@ -295,7 +295,7 @@
"no_video": "这段录制没有可用的视频分段",
"open_failed": "无法打开该录制: {error}",
"not_a_recording": "「{name}」不是一条记录:同目录没有 forces.csv(一条记录 = 录像 + forces.csv + session.json)。回放需要记录;只想看这段视频请直接打开视频,或用「分析视频」。",
"video_only_opened": "「{name}」没有配套记录(无 forces.csv),已按视频播放:可以看画面与拖时间轴,力曲线为空。要得到力值/形变,请使用 视图 ▸ 分析视频。",
"video_only_opened": "已打开「{name}」;尚无分析结果。点顶部「分析视频…」生成。",
"video_only_notice": "这段视频没有配套记录(同目录无 forces.csv):可以播放,但力曲线与记录信息为空。",
"video_only_panel": "这不是一条记录,而且无法解码这段视频(没有 forces.csv,也不像可播放的视频文件)\n可以试试 视图 ▸ 分析视频",
"empty_recording": "这条记录没有可播放的画面(没有 raw_*.mp4 视频分段),因此无法回放",
@@ -449,8 +449,9 @@
"phase_connecting": "连接中",
"phase_running": "采集中",
"phase_error": "出错",
"rail_video_name": "视频文件: {name}",
"rail_result_profile": "结果配置: {type}",
"rail_video_name": "视频:{name}",
"rail_recent_video": "上次视频:{name}",
"rail_result_profile": "结果:{type}",
"rail_result_reused": "已复用缓存结果",
"rail_result_complete": "分析完成",
"rail_result_running": "正在分析…",
+2 -1
View File
@@ -6,6 +6,7 @@
"camera_id": "0",
"source_mode": "camera",
"video_path": "",
"last_video_directory": "",
"show_cal_panel": false,
"show_finger_3d": true,
"show_fps": false,
@@ -35,5 +36,5 @@
"finger_2d_orientation": "rotate180",
"settings_expanded": false,
"view_preset": "custom",
"splitter_sizes": [340, 480, 400]
"splitter_sizes": [560, 400, 480, 0]
}