Sina - سینا
A modern 2D graphics rendering engine written in pure Rust, inspired by Skia.
✨ Features
- ✅ Pure Rust: No C/C++ dependencies, fully memory-safe
- ✅ Vector Graphics: Path rendering with Bezier curves
- ✅ Text Rendering: TrueType (.ttf) and OpenType (.otf) font support
- ✅ Complex Scripts: Arabic, Hebrew, CJK, and more via rustybuzz
- ✅ Multiple Backends: CPU (software) and GPU (WebGPU - planned)
- ✅ High Performance: SIMD optimizations and glyph caching
- ✅ Clean API: Ergonomic, Rust-idiomatic interface
🚀 Quick Start
Add Sina to your Cargo.toml:
[]
= "0.1.0"
Drawing Shapes
use ;
Drawing Text
use ;
📦 Project Structure
- sina: All-in-one rendering engine
- Core types (geometry, color, paint, path, surface)
- CPU backend (raqote software rasterizer)
- Text rendering (fontdue + rustybuzz)
- GPU backend (wgpu - planned)
� Examples
📚 Documentation
- Features - Comprehensive feature list and status
- Roadmap - Development roadmap and planned features
- API Docs - Full API documentation
- GitHub - Source code
🛠️ Pure Rust Stack
| Crate | Purpose |
|---|---|
| lyon | Vector path tessellation |
| raqote | CPU 2D rasterization |
| wgpu | GPU acceleration |
| ttf-parser | Font metadata |
| fontdue | Glyph rasterization |
| rustybuzz | Text shaping |
| glam | Mathematics |
| image | PNG encoding |
🧪 Building & Testing
# Build
# Test
📄 License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
at your option.
🤝 Contributing
Contributions welcome! Please submit a Pull Request.
Sina - سینا - A treasure trove of 2D graphics capabilities! 🎨