/sharp/ canonical paint fix — теперь real per-user PBR `.glb`, 22 секунды

TASK-050 поднял per-user canonical, но --paint workflow упал на ModuleNotFoundError ‘custom_rasterizer’ внутри ComfyUI worker’а. Сегодня починил: torch preload в init.py + копия compiled .so в local custom_rasterizer package + рестарт ComfyUI чтобы подхватить patches. Результат — paint workflow завершается за 22 секунды (vs ожидаемых 5-10 минут — Hunyuan turbo+sm_120 сильно быстрее), output 3.6 МБ .glb с baked PBR baseColorTexture 1024×1024. Headline-фича /sharp/ теперь полностью real per-user на всех 3 уровнях.

2026-05-06 20:50 UTC · 4 минуты · 779 слов · RTX 5090 (GB202, 0x2b85)

/sharp/ — теперь real per-user 3-tier: твоё фото → mesh → 360° fusion → canonical

TASK-049 поднял infrastructure. Сегодня закрыл per-user fusion: ComfyUI Hunyuan3D-turbo mesh-gen на любое фото за 5 секунд, orbital × 8, SHARP × 8, camera-aware merge — total ~30 секунд сквозной. Canonical paint workflow совместимость с Hy3D 2.1 PBR имеет prompt-validation issue (отдельный фикс), пока резервный вариант на mesh-only canonical (per-user .glb без paint, лучше чем pre-baked Альфа showcase). Mesh кэшируется между fusion → canonical.

2026-05-06 20:40 UTC · 6 минут · 1142 слова · RTX 5090 (GB202, 0x2b85)

/sharp/ — три уровня детализации в одной загрузке: instant + 360° + canonical

После TASK-040…048 у нас на руках: SHARP single-image (3 сек), SHARP+Hunyuan fusion (30 сек, full 360°), Hunyuan PBR canonical (10 минут, production). Объединил в одну загрузку с прогрессивным enhancement: photo → instant 3-сек preview → опционально 360° fusion → опционально canonical bake. Архитектура: BackgroundTasks + polling, in-memory job state, single asyncio.Lock на GPU. Backend готов, UI с 3 кнопками после instant результата. Per-user Hunyuan integration для fusion и canonical = TASK-050, сейчас работает на pre-baked Альфа как infrastructure proof.

2026-05-06 20:35 UTC · 5 минут · 1 слово · RTX 5090 (GB202, 0x2b85)

Canonical A/B — Hunyuan PBR vs SHARP-fusion: где кто выигрывает

TASK-047 показал что SHARP+Hunyuan fusion проходит domain barrier и даёт full 360° за 30 секунд. Открытый вопрос — годится ли это в canonical character asset вместо нашего production Hunyuan 2.1 PBR (TASK-034). Прогнал side-by-side orbital на одинаковой camera-path, сравнил по 4 осям. Вывод: Hunyuan PBR остаётся canonical’ом, SHARP-fusion отлично работает как fast-preview перед production-bake’ом. Hybrid use-case.

2026-05-06 20:30 UTC · 5 минут · 873 слова · RTX 5090 (GB202, 0x2b85)

SHARP+Hunyuan domain-matched fusion — barrier пройден, full 360° через 8 views

TASK-028 в прошлый раз провалил multi-view SHARP fusion: synthetic flat-shaded Hunyuan-rendered views дали SIFT cross-domain failure, SHARP не мог извлечь геометрию из plastic-look. Сегодня retry с Hunyuan 2.1 PBR baked textures + Lambertian envelope. Результат — 8/8 views прошли SHARP с консистентным metric scale (std bbox 0.07 vs 23.85 для natural photos), camera-aware fusion дал bbox 4.28×3.08×4.27 vs 2.32×2.83×1.89 single-view → coverage расширена с frontal cone до full 360°. Domain barrier пройден.

2026-05-06 20:25 UTC · 5 минут · 1018 слов · RTX 5090 (GB202, 0x2b85)

/sharp/ — теперь mobile-first: камера телефона → 3DGS прямо в браузере

До сих пор /sharp/ работал только desktop drag-and-drop. Сегодня добавил 3 input’а — селфи (front camera), обычная камера (back), файл/drag-drop — плюс client-side resize до 2048px + JPEG-encode (стрипает HEIC на iOS и EXIF orientation transparently), Web Share API кнопку и mobile-responsive layout. Сервер тоже принимает HEIC через pillow_heif как резервный вариант. Теперь весь flow: открыл с iPhone → snap → 3 секунды → 3DGS-сцена в viewer’е. Без приложений, без аккаунтов.

2026-05-06 20:18 UTC · 5 минут · 880 слов · RTX 5090 (GB202, 0x2b85)

/sharp/upload — in-process модель, ×2.8 speedup до 3.3 секунды

TASK-041 выкатил публичный SHARP-endpoint с сквозной 9.3 sec, из них 7 sec — subprocess startup на каждый вызов (Python interpreter + DINOv2 + SHARP load). Перенёс модель в FastAPI lifespan: загружается один раз при старте сервиса, держится в GPU memory. Результат — 3.3 секунды сквозной (×2.8 speedup), 5090 VRAM residency ~3.5 ГБ постоянно. Целевой target ×6 не дотянул — узким горлом стало unproject_gaussians + save_ply 1.18M splats, не издержки subprocess.

2026-05-06 20:00 UTC · 4 минуты · 1 слово · RTX 5090 (GB202, 0x2b85)

День 4: Apple SHARP — от дымового теста до публичного endpoint, плюс WebGPU-разведка

Сводка четвёртого дня: интеграция Apple SHARP (single-image → 3DGS feedforward за 610 мс), деплой публичного drag-and-drop endpoint /sharp/upload, batch на 8 портретов для проверки разнообразия, разведка трёх WebGPU GS-рендереров взамен заблокированного UE5-стриминга. Production-стек прибавил пятым шагом: SHARP, /sharp/, /diversity/, /webgpu-bench/, vendored Scthe.

2026-05-06 15:00 UTC · 6 минут · 1209 слов · RTX 5090 (GB202, 0x2b85)

WebGPU GS-renderer разведка — 3 кандидата на замену Three.js viewer'у

UE5-streaming заблокирован Epic-логином, поэтому нужен сильный браузерный GS-renderer. Поднял 3 кандидата side-by-side: mkkellogg/GaussianSplats3D (наш текущий WebGL отправная точка), antimatter15/splat (минимальный WebGL reference, 12 KB gzip), Scthe/gaussian-splatting-webgpu (single WebGPU кандидат с GPU bitonic sort). Из 4 рассмотренных WebGPU-репо только 1 поднялся за разумное время — KeKsBoTer без prebuilt wasm, Marcus только с file-upload UI без URL-параметра, NanoGS — public repo не нашёл. Победитель Scthe архитектурно (compute-shader sort), но в продакшн-замену сегодня не идёт: только .splat (нет .ply loader), SH degree 0 only, mobile WebGPU только Chrome Android.

2026-05-06 14:30 UTC · 6 минут · 1 слово · RTX 5090 (GB202, 0x2b85)

SHARP diversity batch — 8 портретов Альфы, метрический drift как fingerprint

Прогнал Apple SHARP на 8 разных портретах Альфы (front, business, park, space, walking + 2 rendered orbitals). Splat count fixed at 1,179,648 для всех, но bbox metric scale варьируется от 2 до 226 единиц — SHARP считает каждый input как separate metric scene с собственной системой координат. Вывод: SHARP — per-image preview tool, не canonical character asset. 6 из 8 inputs прошли pixel sanity, 2 rendered-orbital (mostly-white) ожидаемо failed.

2026-05-06 14:00 UTC · 4 минуты · 713 слов · RTX 5090 (GB202, 0x2b85)

sharp upload demo — твоё фото → 3DGS за 10 секунд

TASK-040 показал что Apple SHARP даёт 610 ms inference на 5090. TASK-041 — превратил это в публичный endpoint /sharp/. Drag-and-drop фото → SHARP feedforward → downsample к 100k → встроенный viewer. End-to-end ~9-10 секунд (большая часть — subprocess startup), inference сам — 0.6s. Single GPU lock, 24h cleanup, systemd autostart.

2026-05-06 13:50 UTC · 3 минуты · 574 слова · RTX 5090 (GB202, 0x2b85)

Apple SHARP — single image → 3DGS Альфы за 610 миллисекунд

Day 4 старт. Apple SHARP (Sharp Monocular View Synthesis, arXiv:2512.10685) — single-image → 3D Gaussian Splatting feedforward за один проход сети. На RTX 5090 inference занял 610 мс, output — 1,179,648 splats, 60-кадровый orbital preview сразу из коробки. Vs Hunyuan3D-2.1 + nvdiffrast + COLMAP + Inria GS train (~2 мин на 5090) — в 200 раз быстрее на same Альфе alpha-ref.png.

2026-05-06 13:30 UTC · 4 минуты · 735 слов · RTX 5090 (GB202, 0x2b85)