Skip to content
CAI
Software that uses CAICheck a score

lexrus/LTMorphingLabel

51.2

Adequate · 27 September 2026

2k

lines of production code

Swift

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Add SwiftUI wrapper and new morphing effects

The LTMorphingLabel component now includes a SwiftUI wrapper (MorphingText) that allows developers to use the label's morphing animations directly in SwiftUI views. Additionally, the library introduces new text morphing effects: Anvil, Pixelate, and Burn, each with their own implementation files and configuration closures. The change also introduces supporting types like LTCharacterDiffResult, LTCharacterLimbo, and LTEasing to handle character-level differences and animation easing functions.

LTMorphingLabel · high confidence

Updated project configuration and documentation for modern Swift and iOS development

The project has been updated to support modern Swift development workflows, including explicit support for Swift 5, Xcode 12+, and iOS 9.0+. A new SwiftUI wrapper (MorphingText) has been added to the documentation, alongside interactive animation controls for UIKit. The README has been restructured to include a table of contents, detailed usage examples for both UIKit and SwiftUI, and installation instructions for Swift Package Manager, CocoaPods, Carthage, Accio, and pre-compiled XCFrameworks. Additionally, the repository now includes a .gitignore file tailored for Swift/Carthage projects, a SwiftLint configuration, and a build script for generating XCFrameworks.

(repo-wide) · high confidence

Behavioural changes

44 commits (5 fixes) modifying LTMorphingLabelDemo.xcodeproj/project.xcworkspace/xcuserdata

A change to existing behaviour in LTMorphingLabelDemo.xcodeproj/project.xcworkspace/xcuserdata — 44 commits (5 fixs), 1 file.

LTMorphingLabelDemo.xcodeproj/project.xcworkspace/xcuserdata · medium confidence · unverified

A new symbolic link named 'MorphingLabel' has been created in the Sources directory, pointing to the existing 'LTMorphingLabel' directory. This change, likely intended to clean up warnings or simplify the project structure, provides an alternative path to access the LTMorphingLabel functionality.

Sources · high confidence

Added shared Xcode schemes for the demo and framework targets

New shared Xcode schemes (LTMorphingLabelDemo.xcscheme and MorphingLabel.xcscheme) were added to the project's xcshareddata directory. These files define how the demo app and the MorphingLabel framework should be built, tested, and launched in Xcode, ensuring consistent build and test configurations for both targets.

LTMorphingLabelDemo.xcodeproj/xcshareddata · high confidence

Demo app updated with new controls and layout

The LTMorphingLabelDemo app now features a redesigned interface with segmented controls for selecting morphing effects and themes, a slider to adjust font size, and a switch to toggle automatic animation. The layout has been updated to use Auto Layout and safe area guides, and the view controller implements the LTMorphingLabelDelegate protocol to handle progress and state changes.

LTMorphingLabelDemo · high confidence

Updated Xcode workspace configuration for Xcode 9.3

The Xcode project's workspace configuration files have been updated to support Xcode 9.3. This includes adding the IDEWorkspaceChecks.plist to track build warnings and updating the source control checkout file to reflect the current repository state and versioning for the LTMorphingLabel demo project.

LTMorphingLabelDemo.xcodeproj/project.xcworkspace/xcshareddata · medium confidence

Updated project configuration for modern Xcode and Swift versions

The demo project's build configuration has been updated to support newer versions of Xcode and Swift, including a bump to the project file format (objectVersion 46 to 52) and the addition of various effect source files (Evaporate, Fall, Pixelate, Sparkle, Burn, Anvil) and their associated resources. This ensures the demo app compiles and runs correctly with the latest development tools.

LTMorphingLabelDemo.xcodeproj · medium confidence

Fixes

Updated Xcode scheme management configuration

Added the xcschememanagement.plist file to the project's user data directory, defining the build scheme order hints for LTMorphingLabelDemo and MorphingLabel targets, and configuring primary buildable item suppressions for multiple buildable items.

LTMorphingLabelDemo.xcodeproj/xcuserdata · medium confidence

Test coverage

Added UI tests for LTMorphingLabel; Added unit tests for string diffing and edge cases; Removed outdated string diff tests.

Dependencies

Add Swift Package Manager and CocoaPods support for LTMorphingLabel

The library now supports installation via Swift Package Manager and CocoaPods. A new Package.swift file defines the Swift 5.3 compatible package with dynamic and static library targets, while a new LTMorphingLabel.podspec file configures the CocoaPods integration, specifying iOS and tvOS 9.0 deployment targets and Swift 5.3 compatibility.

(dependencies) · medium 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 → 51 (+5.3)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 97 (-3.2)
  • Architecture 89 (new)
  • Maturity 52 → 50 (-2.5)
  • Readiness 17 → 30 (+13.1)
  • Security 100 → 90 (-10.0)

Resolved (5)

  • Dimension evaluation failed
  • No automated tests
  • No exposed public API
  • No tests found
  • Test reliability not included

New (17)

  • Coverage not measured — Swift suite
  • Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established
  • Duplicated block (10 lines × 2) (LTMorphingLabel/LTMorphingLabel+Burn.swift)
  • Duplicated block (11 lines × 2) (LTMorphingLabel/LTMorphingLabel+Burn.swift)
  • Duplicated block (13 lines × 2) (LTMorphingLabel/LTMorphingLabel+Fall.swift)
  • Duplicated block (17 lines × 2) (LTMorphingLabel/LTMorphingLabel+Anvil.swift)
  • Duplicated block (17–18 lines × 3) (LTMorphingLabel/LTMorphingLabel+Anvil.swift)
  • Duplicated block (21–30 lines × 2) (LTMorphingLabel/LTMorphingLabel+Anvil.swift)
  • Duplicated block (22–28 lines × 3) (LTMorphingLabel/LTMorphingLabel+Anvil.swift)
  • Duplicated block (24 lines × 2) (LTMorphingLabel/LTMorphingLabel+Burn.swift)
  • LTMorphingLabel.limboOfCharacters (cognitive 18) (LTMorphingLabel/LTMorphingLabel.swift)
  • LTMorphingLabel.updateProgress (cognitive 22) (LTMorphingLabel/LTMorphingLabel.swift)
  • Low cohesion: LTDemoViewController (LCOM4 4) (LTMorphingLabelDemo/LTDemoViewController.swift)
  • No assertions: testLongDiffPerformance (LTMorphingLabelTests/LTMorphingLabelTests.swift)
  • No assertions: testMonkeyTest (LTMorphingLabelUITests/LTMorphingLabelUITests.swift)
  • Orphaned files with no living knowledge
  • String.diffWith (cognitive 25) (LTMorphingLabel/LTStringDiffResult.swift)

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

Survey your own repository

lexrus/LTMorphingLabel 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 27 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit bf629bd1ea03d92a1a2673bb2689a4ed2981e7b7 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-d00c643c3f66.