«Виола», математика и скобки

Два дня занимался математическим модулем в «Виоле».

Поручил нейросети посмотреть, есть ли что-то, что автор начинал делать, но не доделал. Оказалось — есть! В коде есть недоделанная реализация пропорциональных скобок: сделаны токены и логика, но код не соединён с парсером, и некоторые сложные случаи не обрабатываются.

С наскоку задачу решить не удалось — она оказалась сложной. Сначала мы сделали отдельные теги для разных видов скобок, дописали обработку и поправили все баги, а на следующий день убрали теги и научили парсер генерировать нужные токены на скобки.

Звучит, вроде, несложно, но на деле коммит оказался очень объёмным. Зато сейчас всё работает очень хорошо.

Ещё в комментариях к коду есть указание на то, что ширина скобки должна, по задумке автора, меняться динамически в зависимости от её высоты. Но я попробовал — смотрится плохо, фиксированная выглядит намного лучше, поэтому реализовывать это не стал.

Скриншот веб-страницы с примерами вложенных скобок и формул: a+(b+c), [x]+y, дробь с вложенными скобками, сумма и интеграл с круглыми и квадратными скобками.

5 комментариев

Какой у вас GPU

Я тут случайно узнал, что через WebGL, оказывается, можно определить какой графический ускоритель используется на машине, где запущен браузер. Окно я стилизовал просто потому что просто так выводить было скучно. Посмотрите что у вас там написано.

Технически берётся параметр UNMASKED_RENDERER_WEBGL у контекста объекта WebGL.

GPU checker

_

×

У меня тут сейчас написано следующее:
ANGLE (Apple, ANGLE Metal Renderer: Apple M3 Max, Unspecified Version)

У братишки на рабочем компьютере (там «Виндоуз»):
ANGLE (Intel, Intel(R) UHD Graphics 770 (0x0000A780) Direct3D11 vs_5_0 ps_5_0, D3D11)

На моём смартфоне «Сяоми 14 Ультра»:
Adreno (TM) 750

Добавлено: как справедливо заметили в комментариях в телеграмном канале, это странно, что браузер позволяет так точно определить эту информацию, посколько производители браузеров часто борются с идентификацией браузера, а тут информация, которая позволяет производить идентификацию точнее.

6 комментариев