Colorbound 1.0
Продолжаю разработку плагина для фотошопа. Начал тестировать полноценную версию 1.0 Colorbound в боевых условиях. Напомню, что делаю свой собственный расширенный колорпикер с возможностью работать с цветовыми гармониями. Раньше я думал, что делаю маленький плагин. Ну, круг, гармонии, несколько полезных функций - что там вообще может пойти не так? Потом маленький колорпикер столкнулся с реальным фотошопом. Выяснилось, что для стабильной разработки нужна нормальная архитектура, а не набор элементов, которые "вроде стоят на своих местах". Пришлось разбираться с layout, flow, адаптивным ресайзом, состояниями контролов, цветовыми схемами фотошопа, и в итоге отдельно собирать все в Figma, чтобы показать кодексу, как интерфейс вообще должен вести себя. Потом оказалось, что плагин прекрасно работает через инструменты разработки - и местами перестает работать при обычном запуске фотошопа. Дев-среда маскировала часть ограничений реального окружения: всплывали проблемы с синхронизацией, генерацией и выводом растровых элементов и другие вещи, существование которых я изначально даже не подозревал. Отдельную боль доставил вывод H кольца и треуголника/квадрата, т.к. возможности фотошопа в этой части оказались настолько урезаны, что пришлось придумывать пути обхода. Где-то в этот момент эксперимент "сделаю себе удобный колорпикер" окончательно превратился в разработку нормального приложения. ИИ, кстати, очень бодро помогал писать код. А вот самостоятельно понять, какую архитектуру строить, почему предыдущая начала разваливаться и какое решение не породит еще три костыля, он почему-то не захотел. Пришлось опять все делать самому. Какая неожиданность. Но теперь Colorbound наконец дошел до состояния, которое я могу называть 1.0 и нормально тестировать как цельный инструмент, а не набор работающих функций. Так что проект жив. И, кажется, маленьким он уже не будет. Из приятного - понравилось разбираться с математикой цвета. Честно говоря о многом даже не задумывался. Но разобравшись, лучше стал понимать что происходит с цветом на изображении.