Idle service Resolving now Circular dependency
Drag to pan · wheel to zoom · drag a node to move it

DI Container Resolution Graph (2D)

Mobile dependency-injection frameworks like Dagger/Hilt, Koin and Swinject all boil down to the same algorithm: a depth-first walk of a declared service graph that instantiates each dependency exactly once for a singleton scope, fresh every time for a transient scope, and fails fast the moment it re-enters a node it is still in the middle of resolving. This 2D canvas simulator renders that graph — App at the root, UserRepository, AnalyticsService, ApiClient, Database, NetworkSession and a shared Logger leaf — on a pannable, zoomable stage. Press Resolve to watch the container walk it step by step with a live call-stack panel, toggle any service between Singleton and Transient to see the instance count change live, and deliberately introduce a circular import to watch the resolver catch it instead of stack-overflowing.