refactor(engine): remove the dead legacy-ECS execution classes#322
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
ServiceLoaderregistration, and no reflection:document.layoutdoes its own layout/pagination anddocument.backend.fixed.pdf(PdfFragmentRenderHandler) does its own rendering.What
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, theguides.implrender impls, and the value-objects only they used — plus 3 orphaned unit tests and 4 now-empty packages.Entity/EntityManagermodel and theengine.debugsnapshot types — they back the canonical layout coordinate/geometry and thegraph-compose-testingsnapshot assertions. Fully retiring the Entity model is a separate, larger engine change.implementation-guide,package-map,overview,pagination-ordering,CONTRIBUTING) from the deleted classes to the survivingTextComponent/BlockTextmarkers and thePdfFragmentRenderHandlersurface; remove a dead logback appender; trim thepaginationpackage 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/benchmarksverified to carry no compile dependency on the removed classes.