chore: удалён TASK.md
This commit is contained in:
@@ -1,32 +0,0 @@
|
|||||||
# Фикс би-нокулярного рендера RayNeo: scale=true → scale=false
|
|
||||||
|
|
||||||
Живой тест на RayNeo X2: экран 1280×480, каждый глаз видит СВОЮ половину
|
|
||||||
(640×480). `Binocular(scale = true)` (GlassesMovieScreen.kt:63) рисует
|
|
||||||
контент на весь экран и сжимает scaleX 0.5 → каждый SurfaceView (буфер
|
|
||||||
~850×455, полный кадр) визуально 425px в половине глаза 640px → **каждый
|
|
||||||
глаз видит ПОЛОВИНУ кадра**, растянутую на 640px (масштаб ×1.5) → видео
|
|
||||||
выглядит «сплющенным по горизонтали» (жалоба пользователя).
|
|
||||||
|
|
||||||
SurfaceFlinger подтверждает: слои #0/#1 с scaleX=0.5006, translate 215/640.
|
|
||||||
|
|
||||||
## Изменение (app-glasses, GlassesMovieScreen.kt)
|
|
||||||
|
|
||||||
`Binocular(scale = true)` → `Binocular(scale = false)`.
|
|
||||||
|
|
||||||
Что это даёт (scale=false — ветка Row + two Columns weight 1f):
|
|
||||||
- BinocularScreenSize = (ширина/2, высота) = (640, 480);
|
|
||||||
- calculateVideoSizeFull(896×480, maxWidth=640, maxHeight=455) →
|
|
||||||
SurfaceView 640×343 (16:9 вписан в пол-экрана, поля 68+69 сверху/снизу
|
|
||||||
— чёрный фон Row);
|
|
||||||
- ДВА SurfaceView 640×343: левый в левой половине, правый в правой —
|
|
||||||
каждый глаз видит ПОЛНЫЙ кадр с полями. Пропорции правильные.
|
|
||||||
|
|
||||||
letterboxRect в drawFrame оставить (страховка: SurfaceView 640×343 =
|
|
||||||
ровно 16:9 — letterboxRect вернёт полный viewport, ничего не сломает).
|
|
||||||
|
|
||||||
## Проверка
|
|
||||||
- Тесты/сборка зелёные (`./gradlew :app-glasses:testDebugUnitTest
|
|
||||||
:app-glasses:assembleDebug`).
|
|
||||||
- Железо (после установки): скрин очков — ДВА одинаковых кадра 640×343
|
|
||||||
(поля сверху/снизу), в каждом глазу полный кадр; пользователь видит
|
|
||||||
правильные пропорции (не «квадратное»).
|
|
||||||
Reference in New Issue
Block a user