Skip to content
CAI
Software that uses CAICheck a score

joogps/Glur

51.5

Weak · 1 October 2026

929

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Glur is a Swift Package Manager library that provides customizable blur and noise effects for SwiftUI applications. It offers a core modifier for applying gradient-based blurs with optional grain, alongside an opt-in backdrop module that uses private APIs to blur content behind views. The system supports multiple Apple platforms with platform-specific rendering optimizations and includes a demo app to showcase its capabilities.

Features

Add GlurDemo app with GlurBackdrop support

The GlurDemo Xcode project has been added, introducing a demo application that links against the Glur framework and the new GlurBackdrop component. This allows users to test and utilize the opt-in backdrop blur capability provided by GlurBackdrop within the demo environment.

GlurDemo/GlurDemo.xcodeproj · high confidence

Add GlurView for opt-in backdrop blur

A new GlurView component is available in the GlurBackdrop module that applies a gradient blur to the content behind a view, enabling effects over platform-backed views like ScrollViews that the standard glur modifier cannot reach. This feature is opt-in and requires importing the separate GlurBackdrop module; it relies on private APIs to achieve the varying blur radius and is not available on watchOS.

Sources/GlurBackdrop · high confidence

Add mask-driven blur and noise effects

New Metal shader resources (blur.metal and noise.metal) have been added to the Glur library. The blur effect now uses a mask texture to drive the blur radius per-pixel, allowing for variable blur intensity across the view. Additionally, a new noise effect has been introduced that applies a grain overlay, also driven by the same mask texture to control the strength of the noise.

Sources/Glur/Resources · high confidence

Demo app showcases Glur backdrop blur capabilities

The GlurDemo application has been introduced to demonstrate the Glur library's blur effects. It features a tabbed interface with three distinct examples: an icon with a radial blur, an album cover with a directional gradient overlay and blur, and a scrollable list where a GlurView sits on top to blur the content scrolling underneath. The app also includes necessary entitlements for sandboxing and file access.

GlurDemo/GlurDemo · high confidence

Behavioural changes

Added Xcode workspace configuration for compatibility mode

A new Xcode workspace file (contents.xcworkspacedata) has been added to the .swiftpm directory, establishing a basic workspace structure that references the package itself. This change supports the newly introduced compatibility mode, allowing the package to be opened and built within Xcode environments that require a standard workspace configuration rather than relying solely on Swift Package Manager's default behavior.

.swiftpm · medium confidence

Introduce customizable blur masks and noise with platform-specific rendering

The \glur\ modifier now supports shaping the blur effect using \GlurMask\, allowing users to apply linear, radial, or custom view-based gradients to control where the blur is applied. A new \noise\ parameter adds grain to the effect, and the blur direction now respects layout direction (leading/trailing). On iOS 17+ and macOS 14+, the effect uses a custom shader-based \GlurModifier\ for better performance and features, while older platforms fall back to a \CompatibilityModifier\ using standard SwiftUI blur.

Sources/Glur · high confidence

Dependencies

Initial release of Glur Swift Package

The Glur package is now available via Swift Package Manager, supporting iOS 15, macOS 12, watchOS 8, tvOS 15, and visionOS 1. It provides two libraries: the core 'Glur' library and an opt-in 'GlurBackdrop' library that utilizes private APIs to blur content behind a view.

(dependencies) · high confidence

Housekeeping

Added Xcode workspace and scheme configuration files

The GlurDemo project now includes the necessary Xcode workspace and scheme management files. This adds the workspace definition file and the IDE workspace checks plist, which suppresses the 32-bit warning, and creates a user-specific scheme management plist that registers the GlurDemo scheme with an order hint of 0, ensuring the project opens and builds correctly in the Xcode IDE.

GlurDemo/GlurDemo.xcodeproj/project.xcworkspace · 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 50 → 52 (+1.2)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 100 → 97 (-2.9)
  • Maturity 55 → 55 (+0.0)
  • Readiness 17 → 23 (+5.8)
  • Security 100 → 100 (+0.0)

Resolved (1)

  • Documentation: no usage examples (README.md)

New (4)

  • Ambiguous method name 'linear' with distinct semantic meanings. One overload creates a mask based on a directional blur vector (offset/interpolation), while the other creates a mask based on a gradient defined by stops and endpoints. The name 'linear' does not clearly distinguish between 'linear gradient' and 'linear blur direction'.
  • Ambiguous method name 'radial' with distinct semantic meanings. One overload creates a mask based on a radial blur effect (offset/interpolation/spread), while the other creates a mask based on a radial gradient defined by stops and radii. The name 'radial' does not clearly distinguish between 'radial blur' and 'radial gradient'.
  • Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established
  • Off the main sequence: Glur

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

joogps/Glur 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 1 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 ba4f05d3c9a608ec773b9305f2af6089390de68a — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.