ACR Designer
A GUI tool for building pixel-perfect reports
Designer → JSON → Engine → PDF / PNG
The key point is:
👉 The Designer and Engine are completely separated
⸻
Why the designer matters
In reporting systems, two things are critical:
• Rendering accuracy
• Usability of the designer
Even if the engine is perfect,
• If it’s hard to design
• If adjustments are difficult
• If the preview does not match output
👉 It cannot be used in real-world scenarios
⸻
What I learned
One unexpected result:
👉 The designer was harder to build than the engine
Because it requires:
• UI state management
• Mouse interaction
• Coordinate transformation
• Font rendering
👉 Keeping the visual state and internal data perfectly aligned
⸻
Multi-platform considerations
ACR is designed to produce identical results across:
• Windows
• macOS
• Linux
Therefore,
👉 The designer must follow the same principle
⸻
GitHub
ACR Designer is available on GitHub:
Feedback and contributions are welcome.
⸻
What’s next
Planned support includes:
• ESC/POS (receipts)
• ZPL (labels)
• SBPL
👉 Expanding into real hardware output
⸻
Conclusion
ACR now consists of:
• A Rust-based rendering engine
• An Avalonia-based designer
👉 Together, they form a complete reporting system
⸻
Final thoughts
When I finished the engine, I felt the project was halfway done.
After building the designer,
👉 it finally became a usable system