Repository navigation
This release brings back the highly requested SfDictionary, introduces the foundation for SfGraph, and massively improves the debugging experience with custom visualizers for all collections.
🚀 New Features
-
SfDictionary is Back!
- Re-architected from scratch using open addressing.
- Zero-Allocation: No garbage generation on lookups or insertions (when capacity allows).
- Optimized for high-performance caching scenarios.
-
🕸️ SfGraph (Core Structure)
- Added
SfGraph<T>implementation based on Adjacency Lists. - Supports
AddVertex,AddEdge,GetNeighborsand standard graph traversals. - Note: Pathfinding algorithms (A*, BFS, DFS) are scheduled for the v1.6.0 update.
- Added
-
🔍 Debugger Visualizers (Major DX Update)
- Added
DebuggerTypeProxyandDebuggerDisplayattributes to ALL collections. - You can now inspect the contents of
SfBitArray,SfGraph,SfDictionary, andSfGriddirectly in Visual Studio without expanding complex internal arrays. - SfBitArray3D now shows dimensions and active voxel counts clearly.
- SfGraph displays vertices and edges in a clean, readable format.
- Added
✨ Improvements
- SfEnumSet: Debug views now show the string names of enum flags instead of just raw integers.
- SfList: Optimized
RemoveAtSwaplogic for better inlining. - General: Added safeguards against uninitialized structs in debug views to prevent IDE crashes.
⚠️ Notes
- SfGraph: Currently serves as a data structure. Advanced algorithms will be added in the next minor release.