mirror of
https://github.com/lllin000/PaperForge.git
synced 2026-07-22 06:50:53 +00:00
#38: File Recovery-style version history panel with i18n (en/zh). - _renderVersionMode() with paper list + timeline + restore/compare - version-history.ts service for scan/restore/compare - Paper mode [版本历史] button - i18n strings for all panel text #40: @ Deep Search with query rewrite + hybrid retrieval. - query_rewrite.py: abbreviation expansion (28 terms) + synonyms (12) - hybrid_search(): BM25 FTS5 + vec0 k-NN + score fusion (0.3/0.7) - retrieve --deep flag routes to hybrid_search - Graceful vec0 fallback (FTS5-only) - 17 new tests Co-authored-by: VersionPanel <agent> Co-authored-by: DeepSearch <agent>
910 lines
22 KiB
Text
910 lines
22 KiB
Text
{
|
|
"type": "excalidraw",
|
|
"version": 2,
|
|
"source": "claude-code",
|
|
"elements": [
|
|
{
|
|
"id": "panel_bg",
|
|
"type": "rectangle",
|
|
"x": 0, "y": 0,
|
|
"width": 700, "height": 520,
|
|
"angle": 0,
|
|
"strokeColor": "#475569",
|
|
"backgroundColor": "#f1f5f9",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100001,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "title",
|
|
"type": "text",
|
|
"x": 20, "y": 16,
|
|
"width": 280,
|
|
"height": 30,
|
|
"angle": 0,
|
|
"strokeColor": "#1e293b",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100002,
|
|
"fontSize": 24,
|
|
"fontFamily": 2,
|
|
"text": "Version History",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "paper_count",
|
|
"type": "text",
|
|
"x": 280, "y": 24,
|
|
"width": 100,
|
|
"height": 20,
|
|
"angle": 0,
|
|
"strokeColor": "#64748b",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100003,
|
|
"fontSize": 14,
|
|
"fontFamily": 2,
|
|
"text": "(12 papers)",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "back_btn",
|
|
"type": "rectangle",
|
|
"x": 620, "y": 12,
|
|
"width": 60, "height": 28,
|
|
"angle": 0,
|
|
"strokeColor": "#475569",
|
|
"backgroundColor": "#e0f2fe",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100004,
|
|
"boundElements": [
|
|
{ "id": "back_label", "type": "text" }
|
|
]
|
|
},
|
|
{
|
|
"id": "back_label",
|
|
"type": "text",
|
|
"x": 632, "y": 16,
|
|
"width": 36,
|
|
"height": 20,
|
|
"angle": 0,
|
|
"strokeColor": "#334155",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100005,
|
|
"fontSize": 14,
|
|
"fontFamily": 2,
|
|
"text": "Back",
|
|
"textAlign": "center",
|
|
"verticalAlign": "middle",
|
|
"containerId": "back_btn"
|
|
},
|
|
{
|
|
"id": "left_panel_bg",
|
|
"type": "rectangle",
|
|
"x": 12, "y": 52,
|
|
"width": 200, "height": 420,
|
|
"angle": 0,
|
|
"strokeColor": "#475569",
|
|
"backgroundColor": "#ffffff",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100010,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "filter_label",
|
|
"type": "text",
|
|
"x": 24, "y": 60,
|
|
"width": 60,
|
|
"height": 18,
|
|
"angle": 0,
|
|
"strokeColor": "#64748b",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100011,
|
|
"fontSize": 12,
|
|
"fontFamily": 2,
|
|
"text": "Filter",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "filter_box",
|
|
"type": "rectangle",
|
|
"x": 24, "y": 82,
|
|
"width": 176, "height": 24,
|
|
"angle": 0,
|
|
"strokeColor": "#cbd5e1",
|
|
"backgroundColor": "#f8fafc",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100012,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "filter_placeholder",
|
|
"type": "text",
|
|
"x": 30, "y": 85,
|
|
"width": 120,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#94a3b8",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100013,
|
|
"fontSize": 12,
|
|
"fontFamily": 2,
|
|
"text": "Search papers...",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "paper_item_1_bg",
|
|
"type": "rectangle",
|
|
"x": 14, "y": 116,
|
|
"width": 196, "height": 60,
|
|
"angle": 0,
|
|
"strokeColor": "#dbeafe",
|
|
"backgroundColor": "#eff6ff",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100020,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "paper_item_1_title",
|
|
"type": "text",
|
|
"x": 20, "y": 120,
|
|
"width": 180,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#1e293b",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100021,
|
|
"fontSize": 12,
|
|
"fontFamily": 2,
|
|
"text": "Glueck_2005_Osteolysis",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "paper_item_1_versions",
|
|
"type": "text",
|
|
"x": 20, "y": 140,
|
|
"width": 180,
|
|
"height": 14,
|
|
"angle": 0,
|
|
"strokeColor": "#64748b",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100022,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "v1 \u2192 v2 \u2192 v3 \u25cf 2.1 MB",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "paper_item_1_badge",
|
|
"type": "ellipse",
|
|
"x": 190, "y": 122,
|
|
"width": 16, "height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#dc2626",
|
|
"backgroundColor": "#fecaca",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100023,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "paper_item_2_bg",
|
|
"type": "rectangle",
|
|
"x": 14, "y": 180,
|
|
"width": 196, "height": 60,
|
|
"angle": 0,
|
|
"strokeColor": "#e2e8f0",
|
|
"backgroundColor": "#ffffff",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100024,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "paper_item_2_title",
|
|
"type": "text",
|
|
"x": 20, "y": 184,
|
|
"width": 180,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#334155",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100025,
|
|
"fontSize": 12,
|
|
"fontFamily": 2,
|
|
"text": "Gao_2020_Bioelectronic",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "paper_item_2_versions",
|
|
"type": "text",
|
|
"x": 20, "y": 204,
|
|
"width": 180,
|
|
"height": 14,
|
|
"angle": 0,
|
|
"strokeColor": "#64748b",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100026,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "v1 \u25cf 0.8 MB",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "paper_item_3_bg",
|
|
"type": "rectangle",
|
|
"x": 14, "y": 244,
|
|
"width": 196, "height": 60,
|
|
"angle": 0,
|
|
"strokeColor": "#e2e8f0",
|
|
"backgroundColor": "#ffffff",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100027,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "paper_item_3_title",
|
|
"type": "text",
|
|
"x": 20, "y": 248,
|
|
"width": 180,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#334155",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100028,
|
|
"fontSize": 12,
|
|
"fontFamily": 2,
|
|
"text": "Lyu_AI_VTE_Prevention",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "paper_item_3_versions",
|
|
"type": "text",
|
|
"x": 20, "y": 268,
|
|
"width": 180,
|
|
"height": 14,
|
|
"angle": 0,
|
|
"strokeColor": "#64748b",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100029,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "v1 \u2192 v2 \u25cf 1.5 MB",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "right_panel_bg",
|
|
"type": "rectangle",
|
|
"x": 220, "y": 52,
|
|
"width": 468, "height": 420,
|
|
"angle": 0,
|
|
"strokeColor": "#475569",
|
|
"backgroundColor": "#ffffff",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100030,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "detail_title",
|
|
"type": "text",
|
|
"x": 232, "y": 60,
|
|
"width": 440,
|
|
"height": 20,
|
|
"angle": 0,
|
|
"strokeColor": "#1e293b",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100031,
|
|
"fontSize": 16,
|
|
"fontFamily": 2,
|
|
"text": "Glueck_2005_Osteolysis_CaseReport",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "timeline_line",
|
|
"type": "line",
|
|
"x": 252, "y": 108,
|
|
"width": 0, "height": 240,
|
|
"angle": 0,
|
|
"strokeColor": "#cbd5e1",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100032,
|
|
"points": [[0, 0], [0, 240]],
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "timeline_dot_v3",
|
|
"type": "ellipse",
|
|
"x": 246, "y": 108,
|
|
"width": 12, "height": 12,
|
|
"angle": 0,
|
|
"strokeColor": "#166534",
|
|
"backgroundColor": "#bbf7d0",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100040,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "timeline_label_v3",
|
|
"type": "text",
|
|
"x": 272, "y": 106,
|
|
"width": 400,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#166534",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100041,
|
|
"fontSize": 13,
|
|
"fontFamily": 2,
|
|
"text": "v3 (current) \u2014 2026-07-10 10:00 \u2014 43KB \u2014 renderer 2.1.0",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "timeline_dot_v2",
|
|
"type": "ellipse",
|
|
"x": 246, "y": 170,
|
|
"width": 12, "height": 12,
|
|
"angle": 0,
|
|
"strokeColor": "#475569",
|
|
"backgroundColor": "#e2e8f0",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100042,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "timeline_label_v2",
|
|
"type": "text",
|
|
"x": 272, "y": 168,
|
|
"width": 400,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#334155",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100043,
|
|
"fontSize": 13,
|
|
"fontFamily": 2,
|
|
"text": "v2 (rebuild) \u2014 2026-07-09 14:30 \u2014 42KB \u2014 renderer 2.0.0",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "restore_v2_btn",
|
|
"type": "rectangle",
|
|
"x": 280, "y": 190,
|
|
"width": 64, "height": 22,
|
|
"angle": 0,
|
|
"strokeColor": "#1e40af",
|
|
"backgroundColor": "#dbeafe",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100044,
|
|
"boundElements": [
|
|
{ "id": "restore_v2_label", "type": "text" }
|
|
]
|
|
},
|
|
{
|
|
"id": "restore_v2_label",
|
|
"type": "text",
|
|
"x": 290, "y": 192,
|
|
"width": 44,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#334155",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100045,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "Restore",
|
|
"textAlign": "center",
|
|
"verticalAlign": "middle",
|
|
"containerId": "restore_v2_btn"
|
|
},
|
|
{
|
|
"id": "compare_v2_btn",
|
|
"type": "rectangle",
|
|
"x": 350, "y": 190,
|
|
"width": 64, "height": 22,
|
|
"angle": 0,
|
|
"strokeColor": "#475569",
|
|
"backgroundColor": "#f1f5f9",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100046,
|
|
"boundElements": [
|
|
{ "id": "compare_v2_label", "type": "text" }
|
|
]
|
|
},
|
|
{
|
|
"id": "compare_v2_label",
|
|
"type": "text",
|
|
"x": 358, "y": 192,
|
|
"width": 48,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#334155",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100047,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "Compare",
|
|
"textAlign": "center",
|
|
"verticalAlign": "middle",
|
|
"containerId": "compare_v2_btn"
|
|
},
|
|
{
|
|
"id": "timeline_dot_v1",
|
|
"type": "ellipse",
|
|
"x": 246, "y": 232,
|
|
"width": 12, "height": 12,
|
|
"angle": 0,
|
|
"strokeColor": "#475569",
|
|
"backgroundColor": "#e2e8f0",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100048,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "timeline_label_v1",
|
|
"type": "text",
|
|
"x": 272, "y": 230,
|
|
"width": 400,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#64748b",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100049,
|
|
"fontSize": 13,
|
|
"fontFamily": 2,
|
|
"text": "v1 (original OCR) \u2014 2026-06-01 09:00 \u2014 38KB",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "restore_v1_btn",
|
|
"type": "rectangle",
|
|
"x": 280, "y": 252,
|
|
"width": 64, "height": 22,
|
|
"angle": 0,
|
|
"strokeColor": "#1e40af",
|
|
"backgroundColor": "#dbeafe",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100050,
|
|
"boundElements": [
|
|
{ "id": "restore_v1_label", "type": "text" }
|
|
]
|
|
},
|
|
{
|
|
"id": "restore_v1_label",
|
|
"type": "text",
|
|
"x": 290, "y": 254,
|
|
"width": 44,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#334155",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100051,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "Restore",
|
|
"textAlign": "center",
|
|
"verticalAlign": "middle",
|
|
"containerId": "restore_v1_btn"
|
|
},
|
|
{
|
|
"id": "compare_v1_btn",
|
|
"type": "rectangle",
|
|
"x": 350, "y": 252,
|
|
"width": 64, "height": 22,
|
|
"angle": 0,
|
|
"strokeColor": "#475569",
|
|
"backgroundColor": "#f1f5f9",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100052,
|
|
"boundElements": [
|
|
{ "id": "compare_v1_label", "type": "text" }
|
|
]
|
|
},
|
|
{
|
|
"id": "compare_v1_label",
|
|
"type": "text",
|
|
"x": 358, "y": 254,
|
|
"width": 48,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#334155",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100053,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "Compare",
|
|
"textAlign": "center",
|
|
"verticalAlign": "middle",
|
|
"containerId": "compare_v1_btn"
|
|
},
|
|
{
|
|
"id": "compare_preview_section",
|
|
"type": "rectangle",
|
|
"x": 232, "y": 290,
|
|
"width": 444, "height": 120,
|
|
"angle": 0,
|
|
"strokeColor": "#e2e8f0",
|
|
"backgroundColor": "#f8fafc",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100060,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "compare_preview_title",
|
|
"type": "text",
|
|
"x": 240, "y": 296,
|
|
"width": 200,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#334155",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100061,
|
|
"fontSize": 12,
|
|
"fontFamily": 2,
|
|
"text": "v2 vs current \u2014 2 paragraphs changed",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "diff_item_1",
|
|
"type": "rectangle",
|
|
"x": 240, "y": 318,
|
|
"width": 428, "height": 18,
|
|
"angle": 0,
|
|
"strokeColor": "#fef9c3",
|
|
"backgroundColor": "#fefce8",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100062,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "diff_item_1_text",
|
|
"type": "text",
|
|
"x": 246, "y": 319,
|
|
"width": 400,
|
|
"height": 14,
|
|
"angle": 0,
|
|
"strokeColor": "#854d0e",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100063,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "Introduction: background paragraph restructured",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "diff_item_2",
|
|
"type": "rectangle",
|
|
"x": 240, "y": 340,
|
|
"width": 428, "height": 18,
|
|
"angle": 0,
|
|
"strokeColor": "#dcfce7",
|
|
"backgroundColor": "#f0fdf4",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100064,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "diff_item_2_text",
|
|
"type": "text",
|
|
"x": 246, "y": 341,
|
|
"width": 400,
|
|
"height": 14,
|
|
"angle": 0,
|
|
"strokeColor": "#166534",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100065,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "Methods: statistical paragraph added",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "diff_item_3",
|
|
"type": "rectangle",
|
|
"x": 240, "y": 362,
|
|
"width": 428, "height": 18,
|
|
"angle": 0,
|
|
"strokeColor": "#e2e8f0",
|
|
"backgroundColor": "#ffffff",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100066,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "diff_item_3_text",
|
|
"type": "text",
|
|
"x": 246, "y": 363,
|
|
"width": 400,
|
|
"height": 14,
|
|
"angle": 0,
|
|
"strokeColor": "#64748b",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100067,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "Results: unchanged (2/3 tables reformatted)",
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"containerId": null
|
|
},
|
|
{
|
|
"id": "action_bar_bg",
|
|
"type": "rectangle",
|
|
"x": 12, "y": 478,
|
|
"width": 676, "height": 36,
|
|
"angle": 0,
|
|
"strokeColor": "#e2e8f0",
|
|
"backgroundColor": "#f8fafc",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100070,
|
|
"boundElements": null
|
|
},
|
|
{
|
|
"id": "restore_all_btn",
|
|
"type": "rectangle",
|
|
"x": 22, "y": 482,
|
|
"width": 120, "height": 28,
|
|
"angle": 0,
|
|
"strokeColor": "#1e40af",
|
|
"backgroundColor": "#dbeafe",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100071,
|
|
"boundElements": [
|
|
{ "id": "restore_all_label", "type": "text" }
|
|
]
|
|
},
|
|
{
|
|
"id": "restore_all_label",
|
|
"type": "text",
|
|
"x": 28, "y": 488,
|
|
"width": 108,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#334155",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100072,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "Restore selected",
|
|
"textAlign": "center",
|
|
"verticalAlign": "middle",
|
|
"containerId": "restore_all_btn"
|
|
},
|
|
{
|
|
"id": "clear_btn",
|
|
"type": "rectangle",
|
|
"x": 150, "y": 482,
|
|
"width": 180, "height": 28,
|
|
"angle": 0,
|
|
"strokeColor": "#475569",
|
|
"backgroundColor": "#f1f5f9",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100073,
|
|
"boundElements": [
|
|
{ "id": "clear_label", "type": "text" }
|
|
]
|
|
},
|
|
{
|
|
"id": "clear_label",
|
|
"type": "text",
|
|
"x": 160, "y": 488,
|
|
"width": 160,
|
|
"height": 16,
|
|
"angle": 0,
|
|
"strokeColor": "#334155",
|
|
"backgroundColor": "transparent",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"seed": 100074,
|
|
"fontSize": 11,
|
|
"fontFamily": 2,
|
|
"text": "Clear old versions (free 4.4 MB)",
|
|
"textAlign": "center",
|
|
"verticalAlign": "middle",
|
|
"containerId": "clear_btn"
|
|
}
|
|
],
|
|
"appState": {
|
|
"viewBackgroundColor": "#ffffff"
|
|
}
|
|
}
|