v1.0.2 — Custom Pen & Highlighter Controls, Smooth Inking Ribbon, & CI Hardening
FluidCore v1.0.2 introduces user-configurable stroke weights and colors for both the Pen and Highlighter tools, an interactive contextual toolbar UI with per-tool memory, and a complete rendering overhaul of the infinite canvas highlighter engine for silky-smooth, bead-free translucent highlighting.
🌟 What's New in v1.0.2
1. Custom Inking Properties with Independent Tool Memory
- Per-Tool Memory: Pen and Highlighter now independently remember their custom color and thickness. Switching tools or toggling the Eraser (
E) preserves your exact settings. - Architectural Grounding:
ToolManagerserves as the single source of truth, synchronizing properties in real time across the PDF Reader (DocumentPane/InkOverlay) and Infinite Spatial Workspace (WorkspaceView/WorkspaceRenderer).
2. Modern Contextual Toolbar UI (TopToolbarWidget)
- Interactive Color Pill (
fc-color-pill):- Displays the active tool's color swatch.
- Clicking opens the Color Popover with curated high-contrast palettes tailored for Pen (8 rich tones) and Highlighter (6 vibrant translucent tones).
- Includes a direct Hex code input (
#RRGGBB) with real-time validation and a native system color dialog launcher.
- Interactive Weight Pill (
fc-weight-pill):- Live thickness dot and numeric label (e.g.,
2.0 pt/14.0 pt). - Clicking opens the Weight Popover featuring:
- Live Anti-Aliased Preview Canvas: Visualizes stroke thickness, round caps, and exact alpha compositing before you draw.
- Quick Preset Pills: One-click thickness options (
1px,2px,4px,8pxfor Pen;8px,14px,22px,32pxfor Highlighter). - Continuous Slider & Stepper Buttons: Smooth
GtkScaleadjustments with[-]and[+]nudge controls.
- Live thickness dot and numeric label (e.g.,
- Context-Aware Sensitivity: Inking pills automatically enter a subtle dimmed state when non-drawing tools (Select, Eraser, Crop, Connector) are active.
3. Keyboard Shortcuts for Inking
- Press
[to decrement active tool stroke thickness (by 0.5 pt for Pen, 2.0 pt for Highlighter). - Press
]to increment active tool stroke thickness (by 0.5 pt for Pen, 2.0 pt for Highlighter).
4. Silky-Smooth Translucent Highlighter Rendering
- Eliminated Overlapping "Beads" / "Caterpillar" Artifact: Replaced per-segment direct canvas drawing with isolated offscreen group compositing (
cairo_push_group/cairo_pop_group_to_source). Overlapping segment round caps now fuse at 100% opacity into a unified mask before being stamped onto the canvas in a single pass at uniform 45% alpha. - Centripetal Catmull–Rom Bézier Splines: Raw, faceted polygonal line segments are now interpolated with smooth cubic Bézier curves (
cairo_curve_to), matching the PDF document overlay standard. - Consistent In-Flight vs. Committed Rendering: Live in-flight strokes and committed workspace nodes use identical Bézier mathematics, eliminating visual popping or shape warping upon stylus/mouse release.
- Preserved Pen Dynamics: Fountain pen pressure variation and calligraphic stroke dynamics remain 100% untouched.
5. Build System & CI Hardening
- Added
libsqlite3-dev,zlib1g-dev, anddpkg-devpackages to Ubuntu CI jobs to ensure zero packaging failures on GitHub Actions runners. - Hardened CMake SQLite target resolution in
src/libfluidcorewith seamless fallback betweenSQLite::SQLite3andSQLite3::SQLite3. - Expanded unit test coverage with
ToolManagerTest(38/38 CTest suites passing with 100% success on both Windows and Linux).
📦 Downloads & Binaries
| Platform | Package | Format | File Name | Size | SHA-256 Checksum |
|---|---|---|---|---|---|
| Windows | Native Installer | .exe |
FluidCore-Setup-x64.exe |
30.0 MB | 8BA8767A3BC66AC4F9A9E115DF1EB01F227A00FB93D59F5B105FCD66FBA60BA5 |
| Windows | Portable Zip | .zip |
fluidcore-windows-x64.zip |
41.8 MB | DDD1B73015E5A36677BE99D92B354FFDCF17A852AAACE6246EE615C7257F17A5 |
| Linux | Debian Package | .deb |
fluidcore_1.0.2_amd64.deb |
6.9 MB | D94F26F06F3B389259BCA876B275A05131B69279809E210B6F5C65D334D15AB8 |
| Linux | AppImage Bundle | .AppImage |
FluidCore-1.0.2-x86_64.AppImage |
34.0 MB | 9D087337161848A5B34AF5D386F1B6342C781F4DC4F7C7CC65FC43AB7A694938 |
🚀 Verification & Integrity
To verify package integrity after download:
Windows (PowerShell):
Get-FileHash FluidCore-Setup-x64.exe -Algorithm SHA256
Get-FileHash fluidcore-windows-x64.zip -Algorithm SHA256
**Full Changelog**: https://github.com/developerakshat12/FluidCorePDF/compare/v1.0.1...v1.0.2
**Full Changelog**: https://github.com/developerakshat12/FluidCorePDF/compare/v1.0.1...v1.0.2