Current Plans for Prawn's Development
This document will describe my general plans and high level goals so that the community can stay active in Prawn's development and also provide feedback where needed. We will start with a super simple core system and then work to build a more robust library capable of replacing PDF::Writer as the Ruby Mendicant sprint goes on.
Checkpoint Two (Archaean)
In the same style as Hadean prawn, this checkpoint is about implementing the most basic functionality that does something useful, this time for text drawing.
Features targeted for the Archaean checkpoint are:
- Absolute positioning of text elements
- Basic free-flowing text support
- Page margins
- Support for built in PDF fonts
- Full support for colorized fonts (fill / stroke)
- Possible font embedding support
- Possible work on i18n for Ruby 1.8 / 1.9 text
I hope to get the above features completed by May 15th
Checkpoint Three (Proterozoic)
Complex life forms have not yet developed, but general idea:
Either circle back and work more on PDF fundamentals OR Begin working on a table model similar to SimpleTable but without teh suck.
This will be determined when we see how prawn looks at this stage.
Completed Checkpoints
Checkpoint One (Hadean)
The first stage of development will be centering around drawing primitives and document / page configuration details.
With Hadean Prawn you should be able to:
- Draw lines, boxes, and other polygons
- Produce Full Color PDFs, allowing polygon-fill and line stroking
- Set the page size to various common paper sizes (A4,US Letter,US Legal, etc)
- Set the orientation of a page as portrait or landscape
- Define callbacks to be executed at the start and end of each new page
- Possibly draw Bezier curves and circles
I plan to create enough examples to clearly show the features in action, which will then serve as a basis for community feedback on interface. Please stay involved by letting me know whether or not you like the way things turn out.
My goal is to have Hadean Prawn ready to be grilled by Cinco De Mayo. Things may move faster or slower, depending on the difficulty level of the above features. I am also planning on writing specs and API documentation as I go with this library, rather than stabilizing down the line, so this means that progress will be slow and deliberate rather than fast and dangerous. Of course, fast and dangerous forks are a definite possibility.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
Archaean Prawn—43% complete
Completed 3 of 7 tickets
