Skip to content

feat(api): addPath DSL builder for free-form Bezier design shapes#169

Merged
DemchaAV merged 1 commit into
developfrom
feat/path-dsl-builder
Jun 12, 2026
Merged

feat(api): addPath DSL builder for free-form Bezier design shapes#169
DemchaAV merged 1 commit into
developfrom
feat/path-dsl-builder

Conversation

@DemchaAV

Copy link
Copy Markdown
Owner

What

W2 of the path workstream (#168 shipped the primitive): the canonical DSL surface for design shapes.

  • PathBuilder — fluent moveTo / lineTo / curveTo / closePath + fillColor / stroke / padding / margin, mirroring EllipseBuilder; validation flows through PathNode.
  • addPath(Consumer<PathBuilder>) on AbstractFlowBuilder — available on every flow surface (page flow, sections, modules).
  • Full example ritual: VectorPathExample (stroked wave, filled overshoot blob, mixed line/curve ribbon — all through the DSL), gallery registration, examples README row + section, committed assets/readme/examples/vector-path.pdf preview (rendered and eyeballed: curves perfectly smooth).
  • CHANGELOG: DSL sentence appended to the v1.8.0 path bullet.

Verification

  • PathBuilderTest: node assembly, IllegalArgumentException passthrough from build(), end-to-end addPath placement + valid PDF.
  • API hygiene checker green; full gate ./mvnw verify -pl .1257 tests, 0 failures, BUILD SUCCESS.

Next: W3 — smooth chart lines + curved area fills through the primitive.

W2 of the path workstream: PathBuilder (fluent moveTo/lineTo/curveTo/closePath + fill/stroke/padding/margin, mirroring EllipseBuilder) and addPath(Consumer) on AbstractFlowBuilder, so every flow surface authors vector design shapes against the W1 PathNode primitive. Ships the full example ritual: VectorPathExample (wave/blob/ribbon through the DSL) registered in GenerateAllExamples and ShowcaseMetadata, examples README row + section, committed vector-path.pdf preview. 3 PathBuilderTest cases (assembly, validation passthrough, end-to-end flow placement). Full gate: 1257 tests, BUILD SUCCESS.
@DemchaAV DemchaAV merged commit 9d6eba4 into develop Jun 12, 2026
11 checks passed
@DemchaAV DemchaAV deleted the feat/path-dsl-builder branch June 12, 2026 00:41
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