wip(mechanic): inflight damage-flow + vendor scheme + PhotoAnnotate + TT views

Маркер «вот где остановилась mechanic-сессия» — не разбито по логическим коммитам,
зафиксировано целиком чтобы не потерять при отвлечении/чекаутах.

Modified:
- pages/InspectionEditor.tsx — расширение damage-flow внутри редактора
- pages/VehicleCard.tsx — vendor data + расширение карточки
- pages/InspectionReview.tsx — обновлённый review
- api/{auth,inspections,photos,vehicles}.ts — новые endpoints для TT + photo flow
- components/damage-flow/DamageClassifyDialog.tsx — multi-step UI
- components/vehicle-scheme/VendorVehicleScheme.tsx — SVG zone interaction
- data/damageVocabulary.ts — обновлённый словарь повреждений
- frontend index.html/manifest/icons — PWA-метаданные

New (untracked):
- components/damage-flow/PhotoAnnotateStep.tsx — новый шаг flow'а
- components/tt/ — vendor TT-state UI
- pages/TtStateDetail.tsx — экран осмотра вендора
- recon/findings/damage_model.md + damage_vocabulary.json + scheme/ — recon docs

Cleanup: удалены bash-garbage 'Last' и 'dict[str' из frontend/.
This commit is contained in:
2026-05-20 11:16:21 +10:00
parent e0083b894f
commit 7e2cf0c9c8
132 changed files with 2823 additions and 106 deletions
@@ -0,0 +1 @@
<path class="21" ontouchstart="onstart(21)" ontouchend="onend(21)" fill = "#ffffff" d="M307.76000000000005,1038.83C311.14000000000004,1045.8899999999999,314.6,1052.9099999999999,318.02000000000004,1059.96C320.43000000000006,1065.13,323.04,1070.8600000000001,328.23,1073.76C331.98,1075.14,336.08000000000004,1074.98,340,1075.43C374.31,1077.52,408.7,1076.6200000000001,443.06,1076.8400000000001C458.77,1076.2,474.54,1076.4700000000003,490.18,1074.6100000000001C495.5,1074.2,498.77,1069.2900000000002,501.15000000000003,1065.0500000000002C505.43,1056.1900000000003,509.90000000000003,1047.41,514,1038.4700000000003C445.25,1038.6300000000003,376.5,1038.3400000000001,307.76,1038.8300000000002Z" /><path class="21" ontouchstart="onstart(21)" ontouchend="onend(21)" fill = "#ffffff" d="M303.57,1024.0600000000002C303.29,1027.0100000000002,304.86,1029.7200000000003,305.75,1032.4600000000003C375.75,1032.4900000000002,445.76,1032.4600000000003,515.76,1032.6100000000004C517.04,1029.2700000000004,519.17,1025.5800000000004,517.51,1021.9900000000004C515.9,1018.5000000000003,513.35,1014.4700000000004,509.11,1014.2000000000004C505.43,1013.6500000000004,501.7,1013.8300000000004,498,1013.8000000000004C436.98,1013.8000000000004,375.95,1013.7800000000004,314.93,1013.9300000000004C309.02,1013.4900000000004,304.74,1018.7700000000004,303.57,1024.0600000000004Z" /><path class="21" ontouchstart="onstart(21)" ontouchend="onend(21)" fill = "#ffffff" d="M316.5000000000001,841.3900000000003C316.8400000000001,860.6000000000004,319.10000000000014,879.7200000000004,320.16000000000014,898.8900000000003C330.7400000000001,908.0000000000003,343.6300000000001,915.5800000000004,357.85000000000014,916.5200000000003C376.46000000000015,918.7300000000004,395.22000000000014,919.3100000000003,413.95000000000016,919.1300000000003C432.98000000000013,919.3700000000003,452.0600000000002,918.1500000000003,470.89000000000016,915.3900000000003C481.28000000000014,912.5100000000003,490.89000000000016,907.0500000000003,499.10000000000014,900.1100000000004C500.92000000000013,899.0600000000004,500.51000000000016,896.8000000000004,500.7400000000001,895.0700000000004C501.85000000000014,877.1800000000004,503.8700000000001,859.3300000000004,504.1300000000001,841.4100000000004C496.3300000000001,847.7100000000004,486.7100000000001,851.1000000000005,477.1300000000001,853.6600000000004C453.92000000000013,859.5800000000004,429.8100000000001,860.5700000000004,405.9600000000001,860.1800000000004C384.1400000000001,860.1000000000004,362.0700000000001,858.8200000000004,340.9500000000001,852.9600000000004C332.2500000000001,850.4700000000004,323.6100000000001,847.1400000000003,316.5000000000001,841.3900000000003Z" />