diku-dk/diku-canvas
45.9
Weak · 3 October 2026
1.5k
lines of production code
F#
primary language
2
measurements over time
What this system is
DIKU-Canvas is a 2D graphics library for F\# that provides tools for rendering immutable shapes, handling user input, and managing fonts and colors. It leverages SDL2 and ImageSharp to support window-based rendering, file export, and interactive animations. The system includes comprehensive examples demonstrating low-level drawing operations, collision detection, and image processing capabilities.
Features
Added low-level canvas demo scripts
New F\# script examples have been added to the low-level examples directory to demonstrate core canvas capabilities. These include a moving box animation with timer-driven state updates, a paths demo showcasing drawing of lines, text, rectangles, and arcs, a color-box example that cycles palettes via keyboard input and saves output to a file, and a text rendering demo. These scripts serve as interactive references for using the DIKU.Canvas low-level API.
examples/lowlevel · high confidence
Initial release of DIKU-Canvas graphics library
This change introduces the DIKU-Canvas library, a functional 2D graphics toolkit for F\# built on SDL2 and ImageSharp. It provides a \PrimitiveTree\ data structure for composing immutable shapes (rectangles, arcs, text, etc.) with transformations like translation, rotation, and scaling. The library exposes a public API for rendering to windows or files, handling user input (keyboard, mouse, timers) via an interactive mode, and managing colors and fonts. It also includes low-level SDL wrappers and a \.gitignore\ file to manage build artifacts and dependencies.
(repo-wide) · high confidence
New Canvas 2.0 example scripts and build utilities
The examples directory now includes a comprehensive set of F\# scripts demonstrating the DIKU.Canvas 2.0 API, covering basic rendering, interactive animation, mouse and keyboard input handling, and file export. New demos include an animated GIF generator, a mini-game with collision detection, and a color test, alongside updated versions of existing examples like movingBox and spiral. Additionally, shell scripts are provided to manage local NuGet references and update package versions across the example files.
examples · high confidence
Behavioural changes
6 commits (0 fixes) modifying images
A change to existing behaviour in images — 6 commits, 6 files.
images · medium confidence · unverified
Notes directory updated with new and converted examples
The notes directory has been refreshed with a new set of examples. Several files have been converted to use the SixLabors.ImageSharp library for image processing, including demonstrations of drawing text along paths, applying rounded corners to images, and generating various geometric shapes. Additionally, new test scripts for the DIKU.Canvas library (versions 1.0.2, 2.0.0-alpha3, and 2.0.0-alpha6) have been added to cover low-level and high-level canvas operations, while older, non-portable examples from the legacy ImgUtil system remain in the directory.
notes · high confidence
Dependencies
DIKU.Canvas version 2.0.4 with updated dependencies
The DIKU.Canvas library has been updated to version 2.0.4, targeting the .NET 6.0 framework. This release includes updates to key graphics dependencies: SixLabors.Fonts to 2.0.4, SixLabors.ImageSharp to 3.1.4, and SixLabors.ImageSharp.Drawing to 2.1.3, ensuring compatibility with the latest image processing and font rendering capabilities.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 46 → 46 (+0.0)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 95 → 95 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 48 → 48 (+0.0)
- Readiness 30 → 30 (+0.0)
- Security 65 → 65 (+0.0)
Resolved (1)
- Documentation: no architecture or design documentation (README.md)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
diku-dk/diku-canvas was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 3d907db1eaf9c99505003619f6e6a848f9905cfc — the exact code this score is about.
- Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-4f4226d619ea.