lexrus/LTMorphingLabel
51.2
Adequate · 27 September 2026
2k
lines of production code
Swift
primary language
4
measurements over time
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
Added MorphingLabel as a symbolic link to LTMorphingLabel
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.