Skip to content
CAI
Software that uses CAICheck a score

MengTo/Spring

52.4

Adequate · 27 September 2026

2.7k

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

Added SpringApp example project

The SpringApp example project was added, providing a complete iOS application that demonstrates the Spring library's capabilities. The project includes an AppDelegate, a main SpringViewController for configuring and previewing animations, an OptionsViewController for adjusting animation parameters like damping and velocity, and a CodeViewController that displays the generated Swift code for selected animations. This serves as a practical reference for integrating Spring into iOS apps.

SpringApp · high confidence

Added shared Xcode schemes for Spring and SpringApp

Shared Xcode scheme files have been added for the Spring framework and the SpringApp application. These new configurations define build, test, launch, and archive actions for the respective targets, ensuring consistent development and CI/CD workflows for the project.

SpringApp.xcodeproj/xcshareddata · high confidence

New utility and UI components for the Spring library

The Spring library adds several new capabilities for iOS developers. It introduces a suite of designable UI components—\DesignableImageView\, \DesignableLabel\, \DesignableTextField\, \DesignableTextView\, and \DesignableTabBarController\—which expose properties like border color, width, corner radius, and line height directly in the Interface Builder. The update also adds \AsyncImageView\ and \AsyncButton\ for loading images from URLs asynchronously, an \AutoTextView\ for dynamic height adjustment, a \BlurView\ helper for applying blur effects, and a \LoadingView\ for displaying a spinning indicator. Additionally, the library provides a \SoundPlayer\ for playing system sounds and an \ImageLoader\ singleton for caching and loading images.

Spring · high confidence

Removals

Removal of legacy utility and designable components

The repository has removed several legacy files: \BlurView.swift\, \Data.swift\, \SpringAnimation.swift\, and \UnwindSegue.swift\ are deleted, along with \DesignableImageView\, \DesignableLabel\, \DesignableTextField\, and \DesignableTextView\. This cleanup removes older animation helpers, sample data, and interface-builder designable wrappers that are no longer part of the active codebase.

(repo-wide) · high confidence

Behavioural changes

Added Xcode workspace and source control checkout configuration

The Xcode project now includes a workspace file (contents.xcworkspacedata) that references the main project, and a source control checkout configuration (SpringApp.xccheckout) that tracks the Spring repository at github.com:MengTo/Spring.git. This change establishes the workspace structure and version control metadata for the SpringApp project.

SpringApp.xcodeproj/project.xcworkspace · medium confidence

Spring framework integration and component updates in the Xcode project

The SpringApp project file has been restructured to include the Spring framework, with Spring.framework added to the Frameworks and Embed Frameworks build phases. The project now references and builds a range of Spring UI components, including SpringButton, SpringImageView, SpringLabel, SpringTextField, SpringTextView, and SpringView, alongside supporting classes like TransitionManager and UnwindSegue. Additionally, new utility and view classes such as KeyboardLayoutConstraint, SoundPlayer, AsyncImageView, AsyncButton, and AutoTextView have been added to the project, while obsolete file references have been removed.

SpringApp.xcodeproj · medium confidence

Updated Spring App interface for Xcode 8 and iOS 10

The Spring App's user interface has been updated to support Xcode 8 and iOS 10. The main storyboard now uses the Avenir Next font family instead of Proxima Nova, and the layout includes new controls for adjusting animation force, duration, and delay. The launch screen has been restructured to use the Xcode 8 format, ensuring compatibility with the latest development tools.

SpringApp/Base.lproj · medium confidence

Test coverage

Added initial test suite for the Spring app; Added initial test suite scaffolding for the Spring library.

Dependencies

Add CocoaPods specification for Spring 1.0.6

The Spring library is now available via CocoaPods. The new Spring.podspec file defines version 1.0.6, supporting iOS 8.0+ and tvOS 11.0+ platforms, and includes the necessary source files and resources for both platforms.

(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 44 → 52 (+8.8)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 97 (-3.1)
  • Architecture 97 (new)
  • Maturity 44 → 46 (+1.9)
  • Readiness 17 → 31 (+14.0)
  • Security 100 → 100 (+0.0)

Resolved (6)

  • Dimension evaluation failed
  • No automated tests
  • No exposed public API
  • No tests found
  • Test reliability not included
  • The 'Chaining Animations' example uses animateToNext { ... } but there is no corresponding documentation on how to chain animations beyond that block. (README.md)

New (19)

  • ClassTooLong: Spring (Spring/Spring.swift)
  • Duplicated block (12 lines × 2) (Spring/Spring.swift)
  • Duplicated block (13–14 lines × 2) (Spring/Spring.swift)
  • Duplicated block (19–22 lines × 2) (Spring/KeyboardLayoutConstraint.swift)
  • Duplicated block (25 lines × 6) (Spring/SpringButton.swift)
  • Duplicated block (39 lines × 2) (Spring/DesignableButton.swift)
  • Duplicated block (6 lines × 2) (Spring/Spring.swift)
  • Duplicated block (6 lines × 4) (Spring/Spring.swift)
  • Duplicated block (7 lines × 3) (Spring/Spring.swift)
  • Duplicated block (9 lines × 2) (Spring/DesignableTextField.swift)
  • Duplicated block (9 lines × 2) (Spring/Misc.swift)
  • Further orphaned files (smaller)
  • Low cohesion: AppDelegate (LCOM4 6) (SpringApp/AppDelegate.swift)
  • Low cohesion: SpringViewController (LCOM4 5) (SpringApp/SpringViewController.swift)
  • MethodTooLong: Spring.animatePreset (Spring/Spring.swift)
  • No ADRs found
  • No assertions: testPerformanceExample (SpringAppTests/SpringAppTests.swift)
  • No assertions: testPerformanceExample (SpringTests/SpringTests.swift)
  • Orphaned knowledge (Spring/Spring.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

MengTo/Spring 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 50d92a5b9e08848387ae95bf44c6ad20834f7083 — 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.