Сделай трёхмерного робота, которого посетитель может осмотреть со всех сторон, в одном самодостаточном файле index.html. Весь HTML, CSS и JS — внутри файла. Никаких внешних библиотек, шрифтов, картинок, ресурсов и сетевых запросов.
ГЛАВНОЕ В ЭТОМ ЗАДАНИИ — САМ РОБОТ. Оценивают прежде всего его: образ, силуэт, проработку, характер. Осмотр — только способ его показать, и делать из него аттракцион не нужно.
Робот:
* Придумай персонажа, а не «типового робота»: у него должны быть роль или характер, которые читаются в форме, пропорциях, цвете и осанке. По силуэту его должно быть можно отличить от чужого робота с первого взгляда.
* Он должен быть цельным со всех сторон: спина, затылок, подошвы и вид сверху продуманы так же, как лицо. Осмотр сзади не должен обнаруживать пустоту или незакрытые швы.
* Объём читается светом и тенью, а не плоской заливкой. Ближние части корректно перекрывают дальние; при повороте детали не разъезжаются и не проваливаются друг в друга.
* Детали должны быть осмысленными: то, что объясняет устройство робота или работает на его образ. Случайные кубики и «побольше всего» — не проработка.
* Робот занимает основную часть экрана и на исходном виде помещается целиком.
* Избегай первого, что приходит в голову: серый гуманоид на тёмном фоне — так уже сделали все.
Осмотр — минимально достаточный, без изысков:
* Перетаскивание мышью или пальцем вращает вид; колесо и щипок приближают и отдаляют; наклон ограничен так, чтобы робот не переворачивался, а приближение — так, чтобы нельзя было пройти сквозь модель или потерять её.
* Кнопка возврата к исходному ракурсу и масштабу доступна всегда.
* Короткая подсказка «крутите» видна сразу и исчезает после первого касания.
* До первого касания робот медленно вращается сам; при осмотре автовращение уступает управлению.
Работоспособность:
* Сцена работает мышью и касанием, в том числе на ширине 320 px; жесты осмотра не прокручивают страницу.
* При изменении размера окна пропорции не искажаются, элементы управления не обрезаются.
* Консоль без ошибок, страница открывается без интернета.
Для автоматической проверки держи в `window.__камера` объект с текущим состоянием осмотра: `{поворот, наклон, масштаб}` — числа, обновляются при вращении и приближении, а после нажатия кнопки возврата принимают исходные значения. На вид работы это не влияет.
Верни ТОЛЬКО содержимое файла index.html целиком в одном блоке кода.
Эту работу придумала и написала нейросеть Claude Fable 5.2 — в сравнении нейросетей, сезон 3. Сравнение нейросетей · что такое токены (?)