docs(gd): refine GD module plan based on jcpan -t Chart investigation#562
Merged
docs(gd): refine GD module plan based on jcpan -t Chart investigation#562
Conversation
- Add risk-rated effort breakdown table - Split Phase 1 into truecolor MVP + Phase 1.5 palette mode (palette is the trickiest piece; defer it so Chart can be unblocked sooner) - Replace `make dev` with `make` (per AGENTS.md) - Document module-loading convention: register Perl symbols in Java `initialize()` rather than rewriting `bootstrap GD` as XSLoader - Note headless mode must be set before any AWT/BufferedImage use - Commit to embedding GD's bitmap fonts as static byte arrays (not AWT Monospaced approximation) for pixel-correct GD::Graph/Chart - Note GIF write is in stock JDK since Java 6 (no patent issue) - Switch Phase 1 verify target from hand-rolled snippet to `jcpan -t GD`; `jcpan -t Chart` becomes the Phase 1.5/2 integration check - Add "Alternatives Considered" section recording rejected options (CLI wrapper, JNI/FFI, SVG-only, stub-only, skip-list as complementary) Generated with [Devin](https://cli.devin.ai/docs) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
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.
Summary
Refines
dev/modules/gd.mdbased on thejcpan -t Chartinvestigation. No code changes.Key updates:
IndexColorModelrebuild). Lets us unblockChart/GD::Graphsooner without bogging Phase 1 down on Java's immutable palette model.make dev→make(per AGENTS.md,make devwas disabled).initialize(); the upstreambootstrap GDline should just be dropped, not rewritten asXSLoader::load.BufferedImage/Graphics2Dis touched (AWT latches it on first use).java.awt.Font("Monospaced", …). The approximation is host-dependent and breaksGD::Graphaxis alignment../jcpan -t GD(the upstream distribution's own t/);./jcpan -t Chartbecomes the Phase 1.5 / Phase 2 integration check.jcpan -tmissing-XS skip-list is worth doing as a complementary UX fix.Test plan
git diffreviewed for accuracyGenerated with Devin