Skip to content

refactor(templates): remove the V2 invoice/proposal builtins#274

Merged
DemchaAV merged 1 commit into
2.0-devfrom
refactor/2.0-remove-v2-builtins
Jun 30, 2026
Merged

refactor(templates): remove the V2 invoice/proposal builtins#274
DemchaAV merged 1 commit into
2.0-devfrom
refactor/2.0-remove-v2-builtins

Conversation

@DemchaAV

Copy link
Copy Markdown
Owner

Why

InvoiceTemplateV2 / ProposalTemplateV2 — the cinematic builtins on BusinessTheme — are superseded by the layered ModernInvoice / ModernProposal presets, which render the same specs through the generic DocumentTemplate<S> seam on a BrandTheme. With the builtins gone, the per-family interfaces api/InvoiceTemplate + api/ProposalTemplate have no implementer.

What

  • Delete builtins/{InvoiceTemplateV2,ProposalTemplateV2} + package-info, the orphaned api/{InvoiceTemplate,ProposalTemplate} interfaces, their 2 unit tests + 3 demo tests, and CustomBusinessThemeExample (it demoed custom theming the v2 invoice doesn't yet express).
  • Drop the CustomBusinessTheme example registrations (GenerateAllExamples, ShowcaseMetadata, README) and repoint the surviving javadoc + showcase strings off the removed types.
  • The InvoiceV2VisualParityTest / ProposalV2VisualParityTest keep rendering ModernInvoice / ModernProposal against their committed baselines (the builtin reference was javadoc-only).

The builtins' private composer substrate (support/business) is removed in a follow-up. Remaining doc/prose mentions of the builtins (README cinematic sections, package-map.md, api-stability.md §4) are part of the docs/ledger pass.

Tests

./mvnw verify javadoc:javadoc -pl . — 1602 tests, 0 failures, javadoc clean. examples test-compile; benchmarks test (39) + the perf-smoke run (CurrentSpeedBenchmark -Dgraphcompose.benchmark.profile=smoke) both green. japicmp runs report-only on this line.

InvoiceTemplateV2 and ProposalTemplateV2 — the cinematic builtins on
BusinessTheme — are superseded by the layered ModernInvoice / ModernProposal
presets, which render the same specs through the generic DocumentTemplate<S>
seam on a BrandTheme. With the builtins gone, the per-family api interfaces
InvoiceTemplate / ProposalTemplate have no implementer.

Delete the two V2 builtins, the InvoiceTemplate / ProposalTemplate
interfaces, their unit and demo tests, and CustomBusinessThemeExample (it
demoed custom theming the v2 invoice does not yet express). Drop the
CustomBusinessTheme example registrations and repoint the surviving javadoc
and showcase strings off the removed types. The visual parity tests keep
rendering ModernInvoice / ModernProposal against their committed baselines.
The builtins' private composer substrate (support/business) is removed in a
follow-up.

Tests: ./mvnw verify javadoc:javadoc -pl . — 1602 tests, 0 failures,
javadoc clean; examples test-compile; benchmark gates + perf-smoke green.
@DemchaAV DemchaAV merged commit 38d59ab into 2.0-dev Jun 30, 2026
11 checks passed
@DemchaAV DemchaAV deleted the refactor/2.0-remove-v2-builtins branch June 30, 2026 06:30
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