refactor(templates): remove the V1 invoice/proposal builtins#273
Merged
Conversation
InvoiceTemplateV1 and ProposalTemplateV1 are pre-rebuild builtins superseded by the layered v2 presets (ModernInvoice / ModernProposal), which render the same InvoiceDocumentSpec / ProposalDocumentSpec. They still had live consumers, so de-consume before deleting. Delete the two V1 builtins and the two V1-only file examples. Repoint the three benchmarks (AllocationRateProbe, CurrentSpeedBenchmark, ColdStartJmhBenchmark) and the documentation example test onto ModernInvoice/ModernProposal — the benchmarks now exercise the v2 presets (the workload renderer changes, so absolute numbers shift). Clean the dropped examples out of GenerateAllExamples, ShowcaseMetadata, and the examples README, and point the surviving InvoiceTemplate/ProposalTemplate Javadoc snippets at the V2 implementer. Tests: ./mvnw verify javadoc:javadoc -pl . — 1621 tests, 0 failures, javadoc gate clean; examples and benchmarks compile against the new jar.
ModernProposal sizes its timeline and pricing description columns to their
content with no wrap, so once the proposal benchmark moved onto the v2
preset the long-form fixture overflowed the page ("Table ProposalTimeline
width 826.5 exceeds available 551.3") and failed the perf-smoke run.
Shorten the timeline and pricing-row descriptions in the benchmark proposal
fixture so both tables fit A4 at the benchmark's 22pt margin. The long
section paragraphs that drive the multi-page pagination workload are
unchanged, so the benchmark still exercises long content. longProposal()
has no other live consumer (canonicalProposalData() is uncalled; the v2
parity test builds its own data).
Tests: ./mvnw -f benchmarks/pom.xml -DskipTests exec:java
-Dexec.mainClass=com.demcha.compose.CurrentSpeedBenchmark
-Dgraphcompose.benchmark.profile=smoke now renders invoice/cv/proposal
(BUILD SUCCESS); engine verify + benchmark gates green.
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
InvoiceTemplateV1/ProposalTemplateV1are pre-rebuild builtins superseded by the layered v2 presets (ModernInvoice/ModernProposal), which render the sameInvoiceDocumentSpec/ProposalDocumentSpec. They still had live consumers, so this de-consumes before deleting.What
builtins.{InvoiceTemplateV1,ProposalTemplateV1}and the two V1-only file examples (InvoiceFileExample,ProposalFileExample). The cinematic/v2 examples cover invoice & proposal in the gallery.AllocationRateProbe,CurrentSpeedBenchmark,ColdStartJmhBenchmark) andDocumentationExamplesTestontoModernInvoice.create()/ModernProposal.create()(same spec,DocumentTemplate.compose(session, spec)contract). The benchmarks now exercise the v2 presets — a different renderer, so absolute numbers shift.GenerateAllExamples,ShowcaseMetadata, and the examples README; point the survivingInvoiceTemplate/ProposalTemplateJavadoc snippets at the V2 implementer.The
InvoiceTemplate/ProposalTemplateinterfaces and the V2 builtins are untouched (a later step).web/examples.jsonis generated byShowcaseSyncand regenerates at release.Tests
./mvnw verify javadoc:javadoc -pl .— 1621 tests, 0 failures, javadoc gate clean.examplesandbenchmarksmodules compile against the new jar. japicmp runs report-only on this line.