Skip to content

v1.0.2 — Custom Pen & Highlighter Controls, Smooth Inking Ribbon, & CI Hardening

Choose a tag to compare

@developerakshat12 developerakshat12 released this 07 Sep 08:37
· 42 commits to main since this release

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: ToolManager serves 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, 8px for Pen; 8px, 14px, 22px, 32px for Highlighter).
      • Continuous Slider & Stepper Buttons: Smooth GtkScale adjustments with [-] and [+] nudge controls.
  • 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, and dpkg-dev packages to Ubuntu CI jobs to ensure zero packaging failures on GitHub Actions runners.
  • Hardened CMake SQLite target resolution in src/libfluidcore with seamless fallback between SQLite::SQLite3 and SQLite3::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