>_ rehablogger
Система работает
← Все сессии
СЕССИЯ УСТРОЙСТВА

rehabapp_2026-09-08_10-32-28

Подключение…
Rehab Logger console · история загружается порциями по 250 записей
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/detailed-exercises?unit_id=1021&rehabilitation_day_id=2855&workout_id
INFO [console] [DIO] method: GET
INFO [console] ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
INFO [console] │ 🐛 FS:---> setVolume
INFO [console] └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] │ #0 FlutterSoundPlayer._setVolume (package:flutter_sound/public/flutter_sound_player.dart:2074:13)
INFO [console] │ #1 FlutterSoundPlayer.setVolume.<anonymous closure> (package:flutter_sound/public/flutter_sound_player.dart:2069:13)
INFO [console] ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
INFO [console] │ 🐛 FS:<--- _openPlayer
INFO [console] └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] │ #0 FlutterSoundPlayer._openPlayer (package:flutter_sound/public/flutter_sound_player.dart:780:13)
INFO [console] │ #1 <asynchronous suspension>
INFO [console] ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
INFO [console] │ 🐛 <--- openPlayerCompleted: true
INFO [console] └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] │ #0 FlutterSoundPlayer.openPlayerCompleted (package:flutter_sound/public/flutter_sound_player.dart:296:13)
INFO [console] │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler.<anonymous closure> (package:flutter_sound_platform_interface/method_channel_flutter_sound_player.dart:84:21)
INFO [console] ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
INFO [console] │ 🐛 ---> openPlayerCompleted: true
INFO [console] └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] │ #0 FlutterSoundPlayer.openPlayerCompleted (package:flutter_sound/public/flutter_sound_player.dart:281:13)
INFO [console] │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler.<anonymous closure> (package:flutter_sound_platform_interface/method_channel_flutter_sound_player.dart:84:21)
INFO [console] ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
INFO [console] │ 🐛 Resetting flutter_sound Player Plugin
INFO [console] └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] │ #0 FlutterSoundPlayer._openPlayer (package:flutter_sound/public/flutter_sound_player.dart:740:15)
INFO [console] │ #1 FlutterSoundPlayer.openPlayer.<anonymous closure> (package:flutter_sound/public/flutter_sound_player.dart:721:11)
INFO [console] ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
INFO [console] │ 🐛 FS:---> _openPlayer
INFO [console] └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] │ #0 FlutterSoundPlayer._openPlayer (package:flutter_sound/public/flutter_sound_player.dart:727:13)
INFO [console] │ #1 FlutterSoundPlayer.openPlayer.<anonymous closure> (package:flutter_sound/public/flutter_sound_player.dart:721:11)
INFO [console] ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
INFO [console] │ 🐛 ctor: FlutterSoundPlayer()
INFO [console] └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] │ #0 new FlutterSoundPlayer (package:flutter_sound/public/flutter_sound_player.dart:200:13)
INFO [console] │ #1 new AudioPlayerServiceImpl (package:testapp/features/training/data/services/audio_player_service_impl.dart:6:19)
INFO [console] number: 1, step_text: Лягте на бок так, чтобы рабочая нога была сверху}, {exercise_id: 42, sequence_number: 2, step_text: Убедитесь, что вы лежите ровно. Голова может лежать на руке или на подушке}, {exercise_id: 42, sequence_number: 3, step_text: Нижнюю ногу слегка согните в колене и тазобедренном суставе для устойчивости}, {exercise_id: 42, sequence_number: 4, step_text: Верхнюю ногу полностью выпрямите. Она должна находиться строго над нижней ногой, образуя одну линию с туловищем}, {exercise_id: 42, sequence_number: 5, step_text: Положите верхнюю руку на талию или на матрас перед собой для равновесия}, {exercise_id: 42, sequence_number: 6, step_text: На выдохе: Медленно поднимите (отведите) прямую ногу вверх. Движение должно происходить строго в плоскости тела, как будто вы отводите ногу в сторону. Нога не должна сгибаться в тазобедренном суставе и отклоняться вперёд по направлению к животу или назад по направлению к спине}, {exercise_id: 42, sequence_number: 7, step_text: В верхней
INFO [console] точке задержитесь на 1-2 секунды, сохраняя ногу прямой и чувствуя напряжение в боковой поверхности бедра и ягодице}, {exercise_id: 42, sequence_number: 8, step_text: На вдохе: Плавно, без рывка, опустите ногу в исходное положение. Старайтесь не класть ногу полностью на нижнюю, а остановитесь чуть выше, чтобы сохранить напряжение в мышцах}, {exercise_id: 42, sequence_number: 9, step_text: Повторите необходимое количество раз }]}}]}}
INFO [console] [DIO]
INFO [console] .п. сидя с прямыми ногами с опорой руками назад за спиной, image: https://rehabilitation.most.team/storage/exercise/photos/01KQC6319E6D4MPZ50SGTNW1Q6.png, by_body_side: by_side, execution_order_type: symmetric, approaches_count: 2, execution_count: 6, execution_time: null, instruction: {exercise_name: Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной, video: https://rehabilitation.most.team/storage/exercise/videos/01KQC6319HS0NS6B4PRV3WH9FT.mov, inventory: null, warning: Следить за тем, чтобы бедро не ротировалось (вращалось) наружу, носок стопы отведённой ноги должен “смотреть вверх”, general_description: Спина относительно поверхности может находиться от 90 до 45 градусов к полу (например, упираясь не прямыми руками, а предплечьями, отклонившись больше назад). Приподнять прямую рабочую ногу от поверхности и отвести её в сторону на сколько возможно, не опуская ногу, и вернуться в исходное положение. Можно выполнять без пауз между повторения
INFO [console] ми. Цель – тренировка мышц абдукторов бедра., steps: [{exercise_id: 41, sequence_number: 1, step_text: Сядьте на пол лицом к камере. Ноги выпрямите перед собой}, {exercise_id: 41, sequence_number: 2, step_text: Корпус отклоните назад. Спина должна находиться под углом от 90 до 45 градусов относительно пола. Для удобства и стабильности можно опираться не на прямые руки, а на предплечья, согнув руки в локтях}, {exercise_id: 41, sequence_number: 3, step_text: Приподнимите рабочую ногу на 5-10 см }, {exercise_id: 41, sequence_number: 4, step_text: На выдохе отведите рабочую ногу в сторону (наружу) на максимально возможную амплитуду, которую позволяет ваша подвижность и физическое состояние. Движение должно происходить за счёт работы мышц бедра}, {exercise_id: 41, sequence_number: 5, step_text: На вдохе так же плавно верните ногу в исходное положение (перед собой), но не кладите её на пол до окончания подхода. Нога остаётся на весу}, {exercise_id: 41, sequence_number: 6, step_text: Повторит
INFO [console] е движение ногой заданное количество раз}]}}, {id: 42, sequence_number: 5, name: Подъём прямой ноги в сторону - В и.п. лёжа на боку, image: https://rehabilitation.most.team/storage/exercise/photos/01KQC78495HZ7HDF3FGQ104G16.png, by_body_side: by_side, execution_order_type: isolated, approaches_count: 2, execution_count: 6, execution_time: null, instruction: {exercise_name: Подъём прямой ноги в сторону - В и.п. лёжа на боку, video: https://rehabilitation.most.team/storage/exercise/videos/01KQC78499GQQ5WEFZWRN07YFK.mov, inventory: null, warning: Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу, general_description: Лёжа на боку отвести верхнюю ногу в сторону (поднять). Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу. Представьте, что вы лежите на боку и прижимаетесь спиной к стене, а далее скользите пяткой верхней ноги по стене вверх. Цель – тренировка мышц абдукторов/аддукторов бедра., steps: [{exercise_id: 42, sequence_
INFO [console] амплитуде., steps: [{exercise_id: 35, sequence_number: 1, step_text: Примите положение лёжа на спине (на полу, коврике или тренировочной скамье), боком к камере}, {exercise_id: 35, sequence_number: 2, step_text: Выпрямите обе ноги в коленях}, {exercise_id: 35, sequence_number: 3, step_text: Стопы расположите параллельно друг другу на ширине таза}, {exercise_id: 35, sequence_number: 4, step_text: Руки свободно лежат вдоль туловища ладонями вниз или слегка разведены в стороны для устойчивости}, {exercise_id: 35, sequence_number: 5, step_text: Сохраняя прямое, вытянутое положение обеих ног в коленных суставах, начните выполнять одновременное движение стопами}, {exercise_id: 35, sequence_number: 6, step_text: На себя: Плавно потяните носки стоп максимально на себя (тыльное сгибание), ощущая растяжение в задней поверхности голени и подколенной области}, {exercise_id: 35, sequence_number: 7, step_text: От себя: Затем так же плавно потяните носки стоп максимально от себя (подошвенное сгибани
INFO [console] е), как будто хотите встать на "цыпочки", ощущая напряжение в икрах}, {exercise_id: 35, sequence_number: 8, step_text: Движение должно быть ритмичным, без рывков, в спокойном темпе}]}}, {id: 40, sequence_number: 3, name: Круговые движения ногой - в и.п. лежа на спине, image: https://rehabilitation.most.team/storage/exercise/photos/01KQA5HT9XV5G51WZS4TZJVDQ6.png, by_body_side: by_side, execution_order_type: symmetric, approaches_count: 2, execution_count: 6, execution_time: null, instruction: {exercise_name: Круговые движения ногой - в и.п. лежа на спине, video: https://rehabilitation.most.team/storage/exercise/videos/01KQA5HTA1S14HGRG0J5HK6SYP.mov, inventory: null, warning: Не допускайте сильного напряжения или переразгиба в пояснице, general_description: В и.п. лежа на спине. Ноги максимально выпрямлены в коленных суставах, стопы "на себя", выполнить движения по часовой стрелке, далее против часовой стрелки. Цель - тренировка четырехглавых мышц, абдукторов/аддукторов, steps: [{exercis
INFO [console] e_id: 40, sequence_number: 1, step_text: Лягте на спину, расположитесь боком рабочей ноги к камере}, {exercise_id: 40, sequence_number: 2, step_text: Руки расположите вдоль туловища ладонями вниз или в стороны для устойчивости}, {exercise_id: 40, sequence_number: 3, step_text: Ноги полностью выпрямите в коленных суставах}, {exercise_id: 40, sequence_number: 4, step_text: Стопы потяните на себя (тыльное сгибание в голеностопном суставе)}, {exercise_id: 40, sequence_number: 5, step_text: Поясницу прижмите к полу, живот слегка подтяните, чтобы избежать излишнего прогиба в пояснице}, {exercise_id: 40, sequence_number: 6, step_text: Начните выполнять круговое движение рабочей выпрямленной ногой. Нога в верхней точке должна подниматься на уровень 30°-45° градусов от пола}, {exercise_id: 40, sequence_number: 7, step_text: Направление ноги (по часовой стрелке / против часовой стрелки) меняйте после каждого повторения}]}}, {id: 41, sequence_number: 4, name: Отведение прямой ноги в сторону - В и
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-08T07:32:33.163811Z, request_id: 450e45f1-4e38-4928-948b-4aad324ad86c, version: v1}, data: {unit_id: 1021, workout_duration_start: 10, workout_duration_end: 20, body_side: right, exercises: [{id: 47, sequence_number: 1, name: Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге, image: https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png, by_body_side: by_side, execution_order_type: isolated, approaches_count: 2, execution_count: null, execution_time: 15, instruction: {exercise_name: Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге, video: https://rehabilitation.most.team/storage/exercise/videos/01KQCHWY0PXRQ1HM420M2W892Q.mov, inventory: Возвышенность (стул и т.п.), warning: Не допускайте разворота/заваливания поднятой ноги, general_description: Стоя на одной ноге, другая нога выпрямлена в колене и расположена на возвышенности (стул, скамейка, ступенька). Корпус
INFO [console] наклонён вперёд, руки тянутся к стопе поднятой ноги. Удерживать это положение заданное количество времени. Важно: колено поднятой ноги должно оставаться выпрямленным; стопа и колено поднятой ноги не должны "заваливаться" наружу (отсутствие ротации); наклон выполняется за счёт сгибания в тазобедренном суставе, а не округления спины; дыхание свободное, без задержек; ощущение растяжения должно быть комфортным, без острой боли., steps: [{exercise_id: 47, sequence_number: 1, step_text: Встаньте боком растягиваемой ноги к камере}, {exercise_id: 47, sequence_number: 2, step_text: Поставьте рабочую ногу на возвышенность, другая нога опорная}, {exercise_id: 47, sequence_number: 3, step_text: Держите спину прямой}, {exercise_id: 47, sequence_number: 4, step_text: Стопа поднятой ноги смотрит на себя}, {exercise_id: 47, sequence_number: 5, step_text: Потянитесь пальцами рук к стопе поднятой ноги. Ваша задача - не обязательно обхватить стопу, а максимально растянуться с прямой спиной}, {exercis
INFO [console] e_id: 47, sequence_number: 6, step_text: В точке максимального комфортного натяжения в задней поверхности бедра и под коленями зафиксируйте положение. Удерживайте его заданное время}]}}, {id: 35, sequence_number: 2, name: Сгибание и разгибание в голеностопных суставах, image: https://rehabilitation.most.team/storage/exercise/photos/01KQ9W7XPDJ63N5ZHWXP8PT0AK.png, by_body_side: not_by_side, execution_order_type: null, approaches_count: 2, execution_count: 6, execution_time: null, instruction: {exercise_name: Сгибание и разгибание в голеностопных суставах, video: https://rehabilitation.most.team/storage/exercise/videos/01KQ9W7XPHKNMR9R7HF5YSZY9E.mov, inventory: null, warning: Во время выполнения колени должны оставаться выпрямленными, стопы не должны разворачиваться внутрь или наружу (большой палец направлен строго вверх), general_description: Исходное положение - лёжа на спине боком к камере, ноги выпрямлены в коленях. Выполнять движения стопами на себя и от себя в максимально доступной
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-08T07:32:33.163811Z","request_id":"450e45f1-4e38-4928-948b-4aad324ad86c","version":"v1"},"data":{"unit_id":1021,"workout_duration_start":10,"workout_duration_end":20,"body_side":"right","exercises":[{"id":47,"sequence_number":1,"name":"Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png","by_body_side":"by_side","execution_order_type":"isolated","approaches_count":2,"execution_count":null,"execution_time":15,"instruction":{"exercise_name":"Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQCHWY0PXRQ1HM420M2W892Q.mov","inventory":"Возвышенность (стул и т.п.)","warning":"Не допускайте разворота/заваливания поднятой ноги","general_description":"Стоя на одной ноге, другая нога выпрямлена в колене и расположена на возвышенности (стул, скамейка, ступенька). Корпус наклонён вперёд, руки тянутся к стопе поднятой ноги. Удерживать это положение заданное количество времени. Важно: колено поднятой ноги должно оставаться выпрямленным; \nстопа и колено поднятой ноги не должны \"заваливаться\" наружу (отсутствие ротации); \nнаклон выполняется за счёт сгибания в тазобедренном суставе, а не округления спины; \nдыхание свободное, без задержек; \nощущение растяжения должно быть комфортным, без острой боли.","steps":[{"exercise_id":47,"sequence_number":1,"step_text":"Встаньте боком растягиваемой ноги к камере"},{"exercise_id":47,"sequence_number":2,"step_text":"Поставьте рабочую ногу на возвышенность, другая нога опорная"},{"exercise_id":47,"sequence_number":3,"step_text":"Держите спину прямой"},{"exercise_id":47,"sequence_number":4,"step_text":"Стопа поднятой ноги смотрит на себя"},{"exercise_id":47,"sequence_number":5,"step_text":"Потянитесь пальцами рук к стопе поднятой ноги. Ваша задача - не обязательно обхватить стопу, а максимально растянуться с прямой спиной"},{"exercise_id":47,"sequence_number":6,"step_text":"В точке максимального комфортного натяжения в задней поверхности бедра и под коленями зафиксируйте положение. Удерживайте его заданное время"}]}},{"id":35,"sequence_number":2,"name":"Сгибание и разгибание в голеностопных суставах","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQ9W7XPDJ63N5ZHWXP8PT0AK.png","by_body_side":"not_by_side","execution_order_type":null,"approaches_count":2,"execution_count":6,"execution_time":null,"instruction":{"exercise_name":"Сгибание и разгибание в голеностопных суставах","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQ9W7XPHKNMR9R7HF5YSZY9E.mov","inventory":null,"warning":"Во время выполнения колени должны оставаться выпрямленными, стопы не должны разворачиваться внутрь или наружу (большой палец направлен строго вверх)","general_description":"Исходное положение - лёжа на спине боком к камере, ноги выпрямлены в коленях. Выполнять движения стопами на себя и от себя в максимально доступной амплитуде.","steps":[{"exercise_id":35,"sequence_number":1,"step_text":"Примите положение лёжа на спине (на полу, коврике или тренировочной скамье), боком к камере"},{"exercise_id":35,"sequence_number":2,"step_text":"Выпрямите обе ноги в коленях"},{"exercise_id":35,"sequence_number":3,"step_text":"Стопы расположите параллельно друг другу на ширине таза"},{"exercise_id":35,"sequence_number":4,"step_text":"Руки свободно лежат вдоль туловища ладонями вниз или слегка разведены в стороны для устойчивости"},{"exercise_id":35,"sequence_number":5,"step_text":"Сохраняя прямое, вытянутое положение обеих ног в коленных суставах, начните выполнять одновременное движение стопами"},{"exercise_id":35,"sequence_number":6,"step_text":"На себя: Плавно потяните носки стоп максимально на себя (тыльное сгибание), ощущая растяжение в задней поверхности голени и подколенной области"},{"exercise_id":35,"sequence_number":7,"step_text":"От себя: Затем так же плавно потяните носки стоп максимально от себя (подошвенное сгибание), как будто хотите встать на \"цыпочки\", ощущая напряжение в икрах"},{"exercise_id":35,"sequence_number":8,"step_text":"Движение должно быть ритмичным, без рывков, в спокойном темпе"}]}},{"id":40,"sequence_number":3,"name":"Круговые движения ногой - в и.п. лежа на спине","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQA5HT9XV5G51WZS4TZJVDQ6.png","by_body_side":"by_side","execution_order_type":"symmetric","approaches_count":2,"execution_count":6,"execution_time":null,"instruction":{"exercise_name":"Круговые движения ногой - в и.п. лежа на спине","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQA5HTA1S14HGRG0J5HK6SYP.mov","inventory":null,"warning":"Не допускайте сильного напряжения или переразгиба в пояснице","general_description":"В и.п. лежа на спине. Ноги максимально выпрямлены в коленных суставах, стопы \"на себя\", выполнить движения по часовой стрелке, далее против часовой стрелки. Цель - тренировка четырехглавых мышц, абдукторов/аддукторов","steps":[{"exercise_id":40,"sequence_number":1,"step_text":"Лягте на спину, расположитесь боком рабочей ноги к камере"},{"exercise_id":40,"sequence_number":2,"step_text":"Руки расположите вдоль туловища ладонями вниз или в стороны для устойчивости"},{"exercise_id":40,"sequence_number":3,"step_text":"Ноги полностью выпрямите в коленных суставах"},{"exercise_id":40,"sequence_number":4,"step_text":"Стопы потяните на себя (тыльное сгибание в голеностопном суставе)"},{"exercise_id":40,"sequence_number":5,"step_text":"Поясницу прижмите к полу, живот слегка подтяните, чтобы избежать излишнего прогиба в пояснице"},{"exercise_id":40,"sequence_number":6,"step_text":"Начните выполнять круговое движение рабочей выпрямленной ногой. Нога в верхней точке должна подниматься на уровень 30°-45° градусов от пола"},{"exercise_id":40,"sequence_number":7,"step_text":"Направление ноги (по часовой стрелке / против часовой стрелки) меняйте после каждого повторения"}]}},{"id":41,"sequence_number":4,"name":"Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQC6319E6D4MPZ50SGTNW1Q6.png","by_body_side":"by_side","execution_order_type":"symmetric","approaches_count":2,"execution_count":6,"execution_time":null,"instruction":{"exercise_name":"Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQC6319HS0NS6B4PRV3WH9FT.mov","inventory":null,"warning":"Следить за тем, чтобы бедро не ротировалось (вращалось) наружу, носок стопы отведённой ноги должен “смотреть вверх”","general_description":"Спина относительно поверхности может находиться от 90 до 45 градусов к полу (например, упираясь не прямыми руками, а предплечьями, отклонившись больше назад). Приподнять прямую рабочую ногу от поверхности и отвести её в сторону на сколько возможно, не опуская ногу, и вернуться в исходное положение. Можно выполнять без пауз между повторениями. Цель – тренировка мышц абдукторов бедра.","steps":[{"exercise_id":41,"sequence_number":1,"step_text":"Сядьте на пол лицом к камере. Ноги выпрямите перед собой"},{"exercise_id":41,"sequence_number":2,"step_text":"Корпус отклоните назад. Спина должна находиться под углом от 90 до 45 градусов относительно пола. Для удобства и стабильности можно опираться не на прямые руки, а на предплечья, согнув руки в локтях"},{"exercise_id":41,"sequence_number":3,"step_text":"Приподнимите рабочую ногу на 5-10 см "},{"exercise_id":41,"sequence_number":4,"step_text":"На выдохе отведите рабочую ногу в сторону (наружу) на максимально возможную амплитуду, которую позволяет ваша подвижность и физическое состояние. Движение должно происходить за счёт работы мышц бедра"},{"exercise_id":41,"sequence_number":5,"step_text":"На вдохе так же плавно верните ногу в исходное положение (перед собой), но не кладите её на пол до окончания подхода. Нога остаётся на весу"},{"exercise_id":41,"sequence_number":6,"step_text":"Повторите движение ногой заданное количество раз"}]}},{"id":42,"sequence_number":5,"name":"Подъём прямой ноги в сторону - В и.п. лёжа на боку","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQC78495HZ7HDF3FGQ104G16.png","by_body_side":"by_side","execution_order_type":"isolated","approaches_count":2,"execution_count":6,"execution_time":null,"instruction":{"exercise_name":"Подъём прямой ноги в сторону - В и.п. лёжа на боку","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQC78499GQQ5WEFZWRN07YFK.mov","inventory":null,"warning":"Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу","general_description":"Лёжа на боку отвести верхнюю ногу в сторону (поднять). Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу. Представьте, что вы лежите на боку и прижимаетесь спиной к стене, а далее скользите пяткой верхней ноги по стене вверх. Цель – тренировка мышц абдукторов/аддукторов бедра.","steps":[{"exercise_id":42,"sequence_number":1,"step_text":"Лягте на бок так, чтобы рабочая нога была сверху"},{"exercise_id":42,"sequence_number":2,"step_text":"Убедитесь, что вы лежите ровно. Голова может лежать на руке или на подушке"},{"exercise_id":42,"sequence_number":3,"step_text":"Нижнюю ногу слегка согните в колене и тазобедренном суставе для устойчивости"},{"exercise_id":42,"sequence_number":4,"step_text":"Верхнюю ногу полностью выпрямите. Она должна находиться строго над нижней ногой, образуя одну линию с туловищем"},{"exercise_id":42,"sequence_number":5,"step_text":"Положите верхнюю руку на талию или на матрас перед собой для равновесия"},{"exercise_id":42,"sequence_number":6,"step_text":"На выдохе: Медленно поднимите (отведите) прямую ногу вверх. Движение должно происходить строго в плоскости тела, как будто вы отводите ногу в сторону. Нога не должна сгибаться в тазобедренном суставе и отклоняться вперёд по направлению к животу или назад по направлению к спине"},{"exercise_id":42,"sequence_number":7,"step_text":"В верхней точке задержитесь на 1-2 секунды, сохраняя ногу прямой и чувствуя напряжение в боковой поверхности бедра и ягодице"},{"exercise_id":42,"sequence_number":8,"step_text":"На вдохе: Плавно, без рывка, опустите ногу в исходное положение. Старайтесь не класть ногу полностью на нижнюю, а остановитесь чуть выше, чтобы сохранить напряжение в мышцах"},{"exercise_id":42,"sequence_number":9,"step_text":"Повторите необходимое количество раз "}]}}]}}
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 08 Sep 2026 07:32:33 GMT
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/exercises?unit_id=1021&rehabilitation_day_id=2855&workout_id
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 731|k5G5EyqP94CdpqtSw1xn3KwH1mDjUvJTw0XQvakDfb7abc21
INFO [console] [DIO] data:
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/exercises?unit_id=1021&rehabilitation_day_id=2855&workout_id
INFO [console] [DIO] method: GET
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-08T07:32:31.809672Z","request_id":"98a68ca5-f646-47c3-b796-19c98e850ca7","version":"v1"},"data":[]}
INFO [console] [DIO]
INFO [console] │ 🐛 FS:<--- closePlayer
INFO [console] └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] POSE_ROT: sensorOrient=270 deviceOrient=DeviceOrientation.portraitUp rotDeg=270 img=720x480 -> 480x720
INFO [console] POSE_ROT: sensorOrient=270 deviceOrient=DeviceOrientation.portraitUp rotDeg=270 img=720x480 -> 480x720
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-1076.0,100.9) -> (1635.2,2812.1) clamped=(0.0,100.9) -> (480.0,720.0) frame=480x720 screen=394x853
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] POSE_METRICS: received=12(9.1fps) processed=10(7.6fps) replaced=3(2.3fps) buildMs=19.23 estimatorMs=105.36 totalMs=106.32 actualFps=7.6
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-39.2,-18.6) -> (894.3,914.9) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-38.7,-17.9) -> (894.1,914.9) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-33.2,-14.9) -> (891.8,910.1) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-35.0,-17.0) -> (894.5,912.5) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] ROI_DEBUG: corners computed rawRect=(-883.2,-72.2) -> (1784.0,2595.1) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE_METRICS: received=14(13.9fps) processed=11(10.9fps) replaced=3(3.0fps) buildMs=29.99 estimatorMs=81.86 totalMs=82.16 actualFps=10.9
INFO [console] ROI_DEBUG: corners computed rawRect=(-275.5,100.7) -> (562.9,939.0) clamped=(0.0,100.7) -> (480.0,720.0) frame=480x720 screen=394x853
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-269.9,86.7) -> (553.0,909.7) clamped=(0.0,86.7) -> (480.0,720.0) frame=480x720 screen=853x394
INFO [console] ROI_DEBUG: corners computed rawRect=(-28.7,-12.3) -> (888.4,904.8) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE_METRICS: received=12(11.4fps) processed=12(11.4fps) replaced=0(0.0fps) buildMs=23.88 estimatorMs=51.15 totalMs=52.01 actualFps=11.4
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-814.4,-71.2) -> (1690.0,2433.2) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-175.2,100.1) -> (591.1,866.4) clamped=(0.0,100.1) -> (480.0,720.0) frame=480x720 screen=394x853
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-44.9,-30.9) -> (903.6,917.6) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-1607.6,-240.0) -> (848.5,2216.2) clamped=(0.0,0.0) -> (480.0,720.0) frame=480x720 screen=394x853
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(0.0,0.0) -> (480.0,720.0) clamped=(0.0,0.0) -> (480.0,720.0) frame=480x720 screen=394x853
INFO [console] ROI_DEBUG: corners computed rawRect=(-66.4,-57.4) -> (921.0,930.0) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-1063.6,106.7) -> (1619.1,2789.4) clamped=(0.0,106.7) -> (480.0,720.0) frame=480x720 screen=394x853
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(0.0,0.0) -> (480.0,720.0) clamped=(0.0,0.0) -> (480.0,720.0) frame=480x720 screen=394x853
INFO [console] POSE_DIAG: sensorOrient=270 imgSize=720 x 480 imgFormat=35 planes=3 pixelStride=1 rowStride=768 screenSize=394x853
INFO [console] POSE_ROT: sensorOrient=270 deviceOrient=DeviceOrientation.portraitUp rotDeg=270 img=720x480 -> 480x720
INFO [console] POSE_DIAG: sensorOrient=270 imgSize=720 x 480 imgFormat=35 planes=3 pixelStride=1 rowStride=768 screenSize=394x853
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-1442.4,23.7) -> (1115.3,2581.4) clamped=(0.0,23.7) -> (480.0,720.0) frame=480x720 screen=394x853
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-64.9,-72.6) -> (914.2,906.6) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-66.8,-61.6) -> (913.7,918.9) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] ROI_DEBUG: corners computed rawRect=(-870.1,-274.8) -> (1825.3,2420.5) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE_METRICS: received=15(14.7fps) processed=12(11.7fps) replaced=2(2.0fps) buildMs=25.82 estimatorMs=53.60 totalMs=54.36 actualFps=11.7
INFO [console] POSE_MAP: [0 norm=(0.503,0.781)] [11 norm=(0.472,0.689)] [12 norm=(0.433,0.673)] [23 norm=(0.484,0.601)] [24 norm=(0.431,0.586)]
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(0.0,0.0) -> (480.0,720.0) clamped=(0.0,0.0) -> (480.0,720.0) frame=480x720 screen=394x853
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-1032.7,113.3) -> (1613.8,2759.8) clamped=(0.0,113.3) -> (480.0,720.0) frame=480x720 screen=394x853
INFO [console] POSE_LM: [0 frame=(239,562)] [11 frame=(249,496)] [12 frame=(262,484)] [23 frame=(245,433)] [24 frame=(263,422)] frameSize=480 x 720 screenSize=394x853
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-945.8,-293.2) -> (2037.7,2690.4) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] POSE_METRICS: received=18(17.5fps) processed=18(17.5fps) replaced=0(0.0fps) buildMs=25.94 estimatorMs=50.64 totalMs=50.75 actualFps=17.5
INFO [console] POSE_METRICS: received=22(21.7fps) processed=20(19.7fps) replaced=2(2.0fps) buildMs=21.42 estimatorMs=48.18 totalMs=48.28 actualFps=19.7
INFO [console] POSE_METRICS: received=21(20.2fps) processed=15(14.5fps) replaced=6(5.8fps) buildMs=22.70 estimatorMs=67.54 totalMs=67.65 actualFps=14.5
INFO [console] POSE_METRICS: received=17(16.8fps) processed=9(8.9fps) replaced=8(7.9fps) buildMs=26.44 estimatorMs=112.04 totalMs=112.16 actualFps=8.9
INFO [console] POSE_METRICS: received=21(20.0fps) processed=10(9.5fps) replaced=11(10.5fps) buildMs=21.92 estimatorMs=104.67 totalMs=104.80 actualFps=9.5
INFO [console] POSE_METRICS: received=16(15.6fps) processed=9(8.8fps) replaced=7(6.8fps) buildMs=27.32 estimatorMs=114.04 totalMs=114.18 actualFps=8.8
INFO [console] POSE_METRICS: received=19(18.6fps) processed=11(10.8fps) replaced=8(7.8fps) buildMs=22.50 estimatorMs=92.80 totalMs=92.91 actualFps=10.8
INFO [console] POSE_METRICS: received=22(20.7fps) processed=14(13.2fps) replaced=8(7.5fps) buildMs=22.07 estimatorMs=75.62 totalMs=75.74 actualFps=13.2
INFO [console] POSE_METRICS: received=20(19.4fps) processed=10(9.7fps) replaced=10(9.7fps) buildMs=24.12 estimatorMs=97.26 totalMs=97.39 actualFps=9.7
INFO [console] POSE_METRICS: received=21(19.7fps) processed=10(9.4fps) replaced=11(10.3fps) buildMs=21.54 estimatorMs=106.43 totalMs=106.55 actualFps=9.4
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-809.1,-35.4) -> (1628.5,2402.2) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-827.1,-224.6) -> (1715.8,2318.3) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE_METRICS: received=17(16.3fps) processed=11(10.6fps) replaced=6(5.8fps) buildMs=27.79 estimatorMs=88.98 totalMs=89.20 actualFps=10.6
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-856.0,-254.5) -> (1768.9,2370.4) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-912.8,-303.6) -> (1864.4,2473.5) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(0.0,0.0) -> (720.0,480.0) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(34.7,-99.6) -> (867.1,732.9) clamped=(34.7,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(6.1,-77.5) -> (895.8,812.2) clamped=(6.1,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-822.8,-231.0) -> (1738.4,2330.2) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE_METRICS: received=17(16.3fps) processed=12(11.5fps) replaced=5(4.8fps) buildMs=23.62 estimatorMs=76.22 totalMs=76.74 actualFps=11.5
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-828.8,-155.7) -> (1745.0,2418.1) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE_METRICS: received=21(20.9fps) processed=13(12.9fps) replaced=8(8.0fps) buildMs=21.02 estimatorMs=75.90 totalMs=76.08 actualFps=12.9
INFO [console] POSE_METRICS: received=24(22.5fps) processed=20(18.8fps) replaced=4(3.8fps) buildMs=22.29 estimatorMs=52.21 totalMs=52.30 actualFps=18.8
INFO [console] POSE_METRICS: received=28(27.2fps) processed=25(24.3fps) replaced=3(2.9fps) buildMs=17.29 estimatorMs=40.98 totalMs=41.07 actualFps=24.3
INFO [console] POSE_METRICS: received=23(22.2fps) processed=20(19.3fps) replaced=3(2.9fps) buildMs=23.43 estimatorMs=50.26 totalMs=50.35 actualFps=19.3
INFO [console] POSE_METRICS: received=26(25.6fps) processed=23(22.7fps) replaced=3(3.0fps) buildMs=19.23 estimatorMs=42.82 totalMs=42.91 actualFps=22.7
INFO [console] POSE_METRICS: received=24(23.6fps) processed=22(21.6fps) replaced=2(2.0fps) buildMs=21.16 estimatorMs=46.09 totalMs=46.18 actualFps=21.6
INFO [console] POSE_METRICS: received=25(24.4fps) processed=22(21.5fps) replaced=3(2.9fps) buildMs=20.64 estimatorMs=46.38 totalMs=46.47 actualFps=21.5
INFO [console] POSE_METRICS: received=25(24.8fps) processed=24(23.8fps) replaced=1(1.0fps) buildMs=19.78 estimatorMs=41.84 totalMs=41.93 actualFps=23.8
INFO [console] POSE_METRICS: received=28(27.6fps) processed=27(26.6fps) replaced=1(1.0fps) buildMs=17.35 estimatorMs=37.50 totalMs=37.58 actualFps=26.6
INFO [console] POSE_METRICS: received=26(25.7fps) processed=23(22.7fps) replaced=3(3.0fps) buildMs=19.72 estimatorMs=43.83 totalMs=43.92 actualFps=22.7
INFO [console] POSE_METRICS: received=26(25.7fps) processed=23(22.7fps) replaced=3(3.0fps) buildMs=18.58 estimatorMs=42.44 totalMs=42.53 actualFps=22.7
INFO [console] POSE_METRICS: received=26(25.4fps) processed=24(23.5fps) replaced=2(2.0fps) buildMs=19.02 estimatorMs=40.06 totalMs=40.14 actualFps=23.5
INFO [console] POSE_METRICS: received=26(26.0fps) processed=25(25.0fps) replaced=1(1.0fps) buildMs=17.36 estimatorMs=39.87 totalMs=39.95 actualFps=25.0
INFO [console] POSE_METRICS: received=25(23.9fps) processed=23(22.0fps) replaced=2(1.9fps) buildMs=21.00 estimatorMs=42.73 totalMs=42.80 actualFps=22.0
INFO [console] POSE_METRICS: received=29(28.8fps) processed=28(27.8fps) replaced=1(1.0fps) buildMs=15.47 estimatorMs=35.88 totalMs=35.96 actualFps=27.8
INFO [console] POSE_METRICS: received=24(23.5fps) processed=21(20.6fps) replaced=3(2.9fps) buildMs=22.19 estimatorMs=48.49 totalMs=48.58 actualFps=20.6
INFO [console] POSE_METRICS: received=24(23.4fps) processed=22(21.5fps) replaced=2(2.0fps) buildMs=22.07 estimatorMs=46.45 totalMs=46.52 actualFps=21.5
INFO [console] POSE_METRICS: received=24(23.3fps) processed=22(21.3fps) replaced=2(1.9fps) buildMs=21.15 estimatorMs=42.99 totalMs=43.09 actualFps=21.3
INFO [console] POSE_METRICS: received=23(23.0fps) processed=22(22.0fps) replaced=1(1.0fps) buildMs=21.09 estimatorMs=45.43 totalMs=45.51 actualFps=22.0
INFO [console] POSE_METRICS: received=26(25.6fps) processed=23(22.7fps) replaced=3(3.0fps) buildMs=19.39 estimatorMs=44.00 totalMs=44.08 actualFps=22.7
INFO [console] POSE_METRICS: received=25(25.0fps) processed=23(23.0fps) replaced=2(2.0fps) buildMs=20.07 estimatorMs=42.77 totalMs=42.86 actualFps=23.0
INFO [console] POSE_METRICS: received=25(24.8fps) processed=23(22.8fps) replaced=2(2.0fps) buildMs=19.94 estimatorMs=43.74 totalMs=43.82 actualFps=22.8
INFO [console] POSE_METRICS: received=23(22.6fps) processed=22(21.6fps) replaced=1(1.0fps) buildMs=23.55 estimatorMs=46.18 totalMs=46.26 actualFps=21.6
INFO [console] POSE_METRICS: received=26(25.2fps) processed=24(23.2fps) replaced=2(1.9fps) buildMs=20.29 estimatorMs=40.31 totalMs=40.38 actualFps=23.2
INFO [console] POSE_METRICS: received=23(22.8fps) processed=21(20.8fps) replaced=2(2.0fps) buildMs=22.04 estimatorMs=47.92 totalMs=48.00 actualFps=20.8
INFO [console] POSE_METRICS: received=29(28.2fps) processed=25(24.3fps) replaced=4(3.9fps) buildMs=17.72 estimatorMs=41.12 totalMs=41.19 actualFps=24.3
INFO [console] POSE_METRICS: received=24(22.5fps) processed=21(19.7fps) replaced=3(2.8fps) buildMs=22.96 estimatorMs=47.53 totalMs=47.62 actualFps=19.7
INFO [console] POSE_METRICS: received=25(23.9fps) processed=23(22.0fps) replaced=2(1.9fps) buildMs=22.18 estimatorMs=45.30 totalMs=45.38 actualFps=22.0
INFO [console] POSE_METRICS: received=29(28.3fps) processed=26(25.3fps) replaced=3(2.9fps) buildMs=16.36 estimatorMs=38.56 totalMs=38.63 actualFps=25.3
INFO [console] POSE_METRICS: received=27(25.1fps) processed=25(23.3fps) replaced=2(1.9fps) buildMs=20.26 estimatorMs=42.85 totalMs=42.93 actualFps=23.3
INFO [console] POSE_METRICS: received=24(23.7fps) processed=22(21.7fps) replaced=2(2.0fps) buildMs=20.84 estimatorMs=42.50 totalMs=42.58 actualFps=21.7
INFO [console] POSE_METRICS: received=27(26.9fps) processed=24(24.0fps) replaced=3(3.0fps) buildMs=17.64 estimatorMs=40.88 totalMs=40.97 actualFps=24.0
INFO [console] POSE_METRICS: received=24(23.1fps) processed=23(22.2fps) replaced=1(1.0fps) buildMs=19.86 estimatorMs=42.63 totalMs=42.71 actualFps=22.2
INFO [console] POSE_METRICS: received=24(23.7fps) processed=23(22.7fps) replaced=1(1.0fps) buildMs=23.44 estimatorMs=43.97 totalMs=44.05 actualFps=22.7
INFO [console] POSE_METRICS: received=26(25.5fps) processed=23(22.5fps) replaced=3(2.9fps) buildMs=18.83 estimatorMs=43.34 totalMs=43.43 actualFps=22.5
INFO [console] POSE_METRICS: received=23(22.7fps) processed=22(21.7fps) replaced=1(1.0fps) buildMs=23.69 estimatorMs=46.01 totalMs=46.12 actualFps=21.7
INFO [console] POSE_METRICS: received=28(27.6fps) processed=24(23.6fps) replaced=4(3.9fps) buildMs=19.02 estimatorMs=42.16 totalMs=42.23 actualFps=23.6
INFO [console] POSE_METRICS: received=26(25.1fps) processed=23(22.2fps) replaced=3(2.9fps) buildMs=21.11 estimatorMs=44.87 totalMs=44.94 actualFps=22.2
INFO [console] POSE_METRICS: received=27(26.5fps) processed=25(24.6fps) replaced=2(2.0fps) buildMs=19.11 estimatorMs=40.61 totalMs=40.68 actualFps=24.6
INFO [console] POSE_METRICS: received=24(23.8fps) processed=21(20.8fps) replaced=3(3.0fps) buildMs=22.25 estimatorMs=47.92 totalMs=47.99 actualFps=20.8
INFO [console] POSE_METRICS: received=25(24.9fps) processed=20(19.9fps) replaced=5(5.0fps) buildMs=20.71 estimatorMs=45.35 totalMs=45.42 actualFps=19.9
INFO [console] POSE_METRICS: received=23(22.7fps) processed=20(19.7fps) replaced=3(3.0fps) buildMs=25.99 estimatorMs=47.76 totalMs=47.83 actualFps=19.7
INFO [console] POSE_METRICS: received=30(28.8fps) processed=27(25.9fps) replaced=3(2.9fps) buildMs=15.36 estimatorMs=38.43 totalMs=38.49 actualFps=25.9
INFO [console] POSE_METRICS: received=25(25.0fps) processed=23(23.0fps) replaced=2(2.0fps) buildMs=21.65 estimatorMs=43.44 totalMs=43.51 actualFps=23.0
INFO [console] POSE_METRICS: received=26(25.4fps) processed=22(21.5fps) replaced=4(3.9fps) buildMs=19.81 estimatorMs=46.35 totalMs=46.41 actualFps=21.5
INFO [console] POSE_METRICS: received=27(24.2fps) processed=26(23.3fps) replaced=1(0.9fps) buildMs=18.79 estimatorMs=40.05 totalMs=40.13 actualFps=23.3
INFO [console] POSE_METRICS: received=29(28.4fps) processed=25(24.5fps) replaced=4(3.9fps) buildMs=17.29 estimatorMs=40.06 totalMs=40.13 actualFps=24.5
INFO [console] POSE_METRICS: received=8(4.4fps) processed=7(3.8fps) replaced=1(0.5fps) buildMs=21.29 estimatorMs=261.33 totalMs=261.52 actualFps=3.8
INFO [console] POSE_METRICS: received=3(2.6fps) processed=3(2.6fps) replaced=0(0.0fps) buildMs=42.03 estimatorMs=82.25 totalMs=84.80 actualFps=2.6
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-799.8,-30.6) -> (1692.8,2462.0) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-895.3,-151.5) -> (1788.6,2532.4) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-1011.8,-326.2) -> (1896.1,2581.7) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
INFO [console] POSE_METRICS: received=12(11.5fps) processed=11(10.6fps) replaced=1(1.0fps) buildMs=29.59 estimatorMs=77.93 totalMs=78.77 actualFps=10.6
INFO [console] POSE: landmarks=33 → emitting points
INFO [console] ROI_DEBUG: corners computed rawRect=(-1004.3,-351.7) -> (2011.8,2664.3) clamped=(0.0,0.0) -> (720.0,480.0) frame=720x480 screen=853x394
$
250 строкUTF-8LIVE