Skip to content

docs: add GD module development plan#504

Merged
fglock merged 1 commit intomasterfrom
docs/gd-development-plan
Apr 13, 2026
Merged

docs: add GD module development plan#504
fglock merged 1 commit intomasterfrom
docs/gd-development-plan

Conversation

@fglock
Copy link
Copy Markdown
Owner

@fglock fglock commented Apr 13, 2026

Summary

  • Add development plan for implementing the Perl GD module on PerlOnJava
  • Backend: java.awt.Graphics2D + BufferedImage (JDK built-in, zero new Maven dependencies)
  • GD has no CLI tool and no pure-Perl fallback, so Java XS is the only viable approach
  • Plan covers ~147 XS functions across 3 phases:
    • Phase 1 (Core MVP): Image creation, drawing primitives, color management, PNG/JPEG/GIF I/O (~35 functions)
    • Phase 2: Copy/merge, brushes, styles, full polygon support (~25 functions)
    • Phase 3: Filters, transforms, GIF animation, TIFF/WebP via TwelveMonkeys (~40 functions)
  • Documents downstream consumers that would become usable: GD::Graph, GD::Barcode, GD::SecurityImage, PDF::API2, etc.
  • Pure Perl files from CPAN (GD::Polygon, GD::Simple, GD::Polyline, GD::Group) can be reused as-is

Test plan

  • Documentation only — no code changes
  • Verified no other files modified

Generated with Devin

Development plan for implementing Perl GD module on PerlOnJava using
java.awt.Graphics2D and BufferedImage as the backend. Covers ~147 XS
functions across 3 phases, with zero new Maven dependencies for core
functionality.

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@fglock fglock merged commit a335389 into master Apr 13, 2026
2 checks passed
@fglock fglock deleted the docs/gd-development-plan branch April 13, 2026 13:13
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