Post #338
262
Forwarded from netricks
Друзья.
Выпущен большой апдейт Zencad, скромно наречённый v2.0.0 .
Я вероломно не стал менять репозиторий на zencad2 или что-то в этом роде, а проапдейтил по живому. Изменения частично несовместимые, хотя мы старались поломать как можно меньше снаружи. Именно снаружи. Внутри изменения довольно таки глобальные.
Вот основные пункты, по которым прошлась стройка:
- Биндинг геометрического ядра заменён с pythonocc на cadquery-ocp-novtk, благодаря чему zencad отныне без танцев с бубном устанавливается из pypi.
- Ядро ленивых вычислений evalcache обновлено до evalcache.v2, а по сути переписано с нуля. Идея та же, но реализация проще, взрослее, строже, предсказуемее.
- Сильно переработана система типов, а слой кеширования теперь вместо обёртки объекта служит деталью его внутренней реализации. Раньше функция box возвращала LazyObject, оборачивающий Solid, сейчас она возвращает Solid, внутри которого храняться детали вычислительного графа.
- Скрипты по прежнему исполняются в отдельных процессах, но теперь вместо подмены и встраивания окон геометрия передаётся по ipc каналу.
- Специально для удобства работы ИИ-агентов добавлены инструменты zencad inspect, zencad check, zencad render, а так же расширено api селекторами и операциями для исследования топологии.
Это должно сделать нерабочими скрипты, которые обращались напрямую к методам геометрического ядра opencascade, кастомизировали lazy систему, или делали какие-то манипуляции с дисплэй-виджетом.
Детали, а также вопросы миграции более подробно изложены в https://mirmik.github.io/zencad/ru/version2.html и https://mirmik.github.io/zencad/ru/migration.html
Протестирована работа на linux (ubuntu 24.04), windows 11, и какой-то macos. У меня всё.
Выпущен большой апдейт Zencad, скромно наречённый v2.0.0 .
Я вероломно не стал менять репозиторий на zencad2 или что-то в этом роде, а проапдейтил по живому. Изменения частично несовместимые, хотя мы старались поломать как можно меньше снаружи. Именно снаружи. Внутри изменения довольно таки глобальные.
Вот основные пункты, по которым прошлась стройка:
- Биндинг геометрического ядра заменён с pythonocc на cadquery-ocp-novtk, благодаря чему zencad отныне без танцев с бубном устанавливается из pypi.
- Ядро ленивых вычислений evalcache обновлено до evalcache.v2, а по сути переписано с нуля. Идея та же, но реализация проще, взрослее, строже, предсказуемее.
- Сильно переработана система типов, а слой кеширования теперь вместо обёртки объекта служит деталью его внутренней реализации. Раньше функция box возвращала LazyObject, оборачивающий Solid, сейчас она возвращает Solid, внутри которого храняться детали вычислительного графа.
- Скрипты по прежнему исполняются в отдельных процессах, но теперь вместо подмены и встраивания окон геометрия передаётся по ipc каналу.
- Специально для удобства работы ИИ-агентов добавлены инструменты zencad inspect, zencad check, zencad render, а так же расширено api селекторами и операциями для исследования топологии.
Это должно сделать нерабочими скрипты, которые обращались напрямую к методам геометрического ядра opencascade, кастомизировали lazy систему, или делали какие-то манипуляции с дисплэй-виджетом.
Детали, а также вопросы миграции более подробно изложены в https://mirmik.github.io/zencad/ru/version2.html и https://mirmik.github.io/zencad/ru/migration.html
Протестирована работа на linux (ubuntu 24.04), windows 11, и какой-то macos. У меня всё.
- 👍 5

