
GraphCompose: как я приволок ECS из геймдева и снапшот-тесты из фронта в PDF-генерацию на Java
TL;DR Я сделал библиотеку для генерации PDF на Java, в которой: Документ описывается семантически (модули, секции, параграфы, таблицы, слои), а не через moveTo/lineTo/showText . Layout и рендер — это два разных прохода...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. TL;DR Я сделал библиотеку для генерации PDF на Java, в которой: Документ описывается семантически (модули, секции, параграфы, таблицы, слои), а не через moveTo/lineTo/showText . Layout и рендер — это два разных прохода . Геометрия резолвится один раз, потом её рисуют.
Поэтому документ можно тестировать до того, как написан хотя бы один байт PDF . Под капотом — ECS-архитектура в стиле игровых движков: Entity / Component / System. Сущности документа лежат в EntityManager , компоненты прицепляются и снимаются, системы ( LayoutSystem , PaginationSystem , RenderingSystem ) работают над ними.
Технические детали
Тестирование трёхуровневое: unit → layout-снапшоты (как у Jest для React) → визуальная регрессия по PNG-диффу . На простом инвойсе библиотека идёт 2. 57 мс, JasperReports — 4.
На стресс-тесте: 50 потоков, 5000 документов, 0 ошибок, ~2000 doc/sec . Это статья про задумку и инженерные решения, которые получились нетривиальными. Если вам интересно, как декларативный UI, ECS и снапшот-тесты влезают в одну библиотеку для PDF — заходите.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





