Skip to content

refactor(engine): remove the dead legacy-ECS execution classes#322

Merged
DemchaAV merged 1 commit into
2.0-devfrom
build/2.0-remove-ecs-core
Jul 6, 2026
Merged

refactor(engine): remove the dead legacy-ECS execution classes#322
DemchaAV merged 1 commit into
2.0-devfrom
build/2.0-remove-ecs-core

Conversation

@DemchaAV

@DemchaAV DemchaAV commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Why

The engine still carried the legacy Entity-Component-System execution layer — the ECS layout/pagination systems and renderable render-markers that the canonical pipeline replaced. It's reached by no public API, no ServiceLoader registration, and no reflection: document.layout does its own layout/pagination and document.backend.fixed.pdf (PdfFragmentRenderHandler) does its own rendering.

What

  • Delete 53 dead classes: the ECS layout/pagination systems (LayoutSystem, PaginationLayoutSystem, PageBreaker, PageLayoutCalculator, TextBlockProcessor, ContainerAligner/ContainerExpander/ContainerLayoutManager/ModuleWidthResolver), the renderable render-markers (Circle, Rectangle, Container, Row, Line, Link, Module, Element, HContainer, VContainer, TableRow, BarcodeComponent, ChunkedBlockText, ImageComponent, PageBreakComponent), EntityRenderOrder, RenderingSystemBase, the guides.impl render impls, and the value-objects only they used — plus 3 orphaned unit tests and 4 now-empty packages.
  • Kept (still live infra): the Entity/EntityManager model and the engine.debug snapshot types — they back the canonical layout coordinate/geometry and the graph-compose-testing snapshot assertions. Fully retiring the Entity model is a separate, larger engine change.
  • Repoint the contributor docs (implementation-guide, package-map, overview, pagination-ordering, CONTRIBUTING) from the deleted classes to the surviving TextComponent/BlockText markers and the PdfFragmentRenderHandler surface; remove a dead logback appender; trim the pagination package doc.

Tests

Full aggregator verify (core + render-pdf + render-docx + render-pptx + templates + testing + qa, incl. javadoc + doc-snippet gates): BUILD SUCCESS, 0 failures. Core tests 378→345 — exactly the 3 deleted ECS-system unit tests; every other module unchanged (render-pdf 108, qa 630, …). The deleted systems' pagination/table-row behaviour stays covered by the canonical suite (PaginationEdgeCaseTest, DocumentSessionTest, TableRowSpanDemoTest). examples/benchmarks verified to carry no compile dependency on the removed classes.

Delete the legacy Entity-Component-System execution layer the canonical
pipeline no longer uses: the ECS layout/pagination systems (LayoutSystem,
PaginationLayoutSystem, PageBreaker, PageLayoutCalculator, TextBlockProcessor,
the container aligner/expander/layout-manager/module-width-resolver), the
renderable render-marker components (Circle, Rectangle, Container, Row, Line,
Link, Module, Element, HContainer, VContainer, TableRow, BarcodeComponent,
ChunkedBlockText, ImageComponent, PageBreakComponent), EntityRenderOrder,
RenderingSystemBase, the guide-render impls, and the value objects only they
used — 53 classes plus 3 orphaned unit tests and 4 emptied packages. No public
API, ServiceLoader, or reflection reaches them; the canonical pipeline
(document.layout + document.backend.fixed.pdf) does its own layout,
pagination, and rendering.

The Entity/EntityManager model and the engine.debug snapshot types stay — they
still back the canonical layout coordinate/geometry and the graph-compose-testing
snapshot assertions.

Repoint the contributor docs from the deleted classes to the surviving
TextComponent/BlockText markers and the PdfFragmentRenderHandler surface,
remove a dead logback appender, and trim the pagination package doc.
@DemchaAV DemchaAV merged commit 03c5d6c into 2.0-dev Jul 6, 2026
10 checks passed
@DemchaAV DemchaAV deleted the build/2.0-remove-ecs-core branch July 6, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant