Я переместил модуль shape в подкаталог shape/ для лучшей организации кода.
Изменил пути импорта в связанных файлах, чтобы соответствовать новому местоположению модуля.
Удалил возвраты null из `getLocalBounds` и заменил их на обработку ошибок для улучшения надежности.
Я перенёс логику создания объектов фигур из `Document.zig` и `Object.zig` в новый модуль `shape.zig`. Это упрощает добавление новых фигур и улучшает организацию кода.
Удалил структуру слоев. Теперь объекты хранятся непосредственно в документе, а вложенность реализуется через поле children структуры Object. Это упростило структуру документа и позволило создавать иерархические объекты.