0.4.0 • Published 4 years ago
ac-designs v0.4.0
ac-designs
This package makes it easy to generate and parse QR codes for Animal Crossing designs.
Many thanks to ACNLPatternTool, which served as inspiration and reference for much of the design processing and data formatting code in this library.
This isn't quite ready for use yet, so check back soon!
Roadmap
QRData
Class- Generate QR code images
- Switch image generation to node-canvas
Design
Class- Read QR properties from byte data
- Write QR properties to byte data
- Read design data from one or more
QRData
instances - Write new design data back out to
QRData
instances - Convert normal images to AC designs, scaling and converting colors where necessary
ColorPalette
/Color
Classes- Convert between AC colors and standard RGB colors
IndexedImage
Classes- Store the design's image data in a separate class
- Get/set the color index for individual pixels
- Get/set all color index values for each segment
- Enable compositing multiple image data segments together in an arbitrary layout
- Enable modifying individual pixel bytes from the colorIndexes array on derived segments (via proxies)
- Provide individual clothing segments (e.g. front/back/sleeves) based on the usage type
Image
Class- Convert AC design format to normal images
- Output PNG files/data URLs
- Output to canvas elements
- Use xBRZ to smooth upscaled images
- Switch to node-canvas
Cleanup
- Improve naming consistency between
to*
andget*
methods - Improve consistency between QR image and rendered design image output methods
- Update
Color
to make it more clear that color values are ACNH byte codes - Tests: Import classes from
'../src/index'
- Improve error messages (e.g., show the expected/actual byte counts)
Rename fields called colorPalette to palette- Include the transparent color in ColorPalette
- Change colorData/"color data" to image data
- Improve naming consistency between
Documentation/examples
- Write documentation
- Add node example
- Add Vue examples
- Image previews
- QR images
- Individual segment previews (front/back/sleeves/etc)
- Interactive canvas for drawing designs