GroveEngine/include/grove
StillHammer 4659c17340 feat: Complete migration from json to IDataNode API
Migrated all implementations to use the new IDataNode abstraction layer:

Core Changes:
- Added spdlog dependency via FetchContent for comprehensive logging
- Enabled POSITION_INDEPENDENT_CODE for grove_impl (required for .so modules)
- Updated all factory createFromConfig() methods to accept IDataNode instead of json
- Replaced json parameters with std::unique_ptr<IDataNode> throughout

Migrated Files (8 core implementations):
- IntraIO: Complete rewrite with IDataNode API and move semantics
- IntraIOManager: Updated message routing with unique_ptr delivery
- SequentialModuleSystem: Migrated to IDataNode input/task handling
- IOFactory: Changed config parsing to use IDataNode getters
- ModuleFactory: Updated all config methods
- EngineFactory: Updated all config methods
- ModuleSystemFactory: Updated all config methods
- DebugEngine: Migrated debug output to IDataNode

Testing Infrastructure:
- Added hot-reload test (TestModule.so + test_hotreload executable)
- Validated 0.012ms hot-reload performance
- State preservation across module reloads working correctly

Technical Details:
- Used JsonDataNode/JsonDataTree as IDataNode backend (nlohmann::json)
- Changed all json::operator[] to getString()/getInt()/getBool()
- Implemented move semantics for unique_ptr<IDataNode> message passing
- Note: IDataNode::clone() not implemented yet (IntraIOManager delivers to first match only)

All files now compile successfully with 100% IDataNode API compliance.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 07:17:06 +08:00
..
ASerializable.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
DataTreeFactory.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
DebugEngine.h refactor: Replace json with IDataNode in DebugEngine 2025-10-28 17:01:19 +08:00
EngineFactory.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
ICoordinationModule.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
IDataNode.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
IDataTree.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
IDataValue.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
IEngine.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
IIO.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
ImGuiUI.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
IModule.h docs: Add complete IDataTree system architecture documentation 2025-10-28 16:18:15 +08:00
IModuleSystem.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
IntraIO.h feat: Complete migration from json to IDataNode API 2025-10-30 07:17:06 +08:00
IntraIOManager.h feat: Complete migration from json to IDataNode API 2025-10-30 07:17:06 +08:00
IOFactory.h feat: Complete migration from json to IDataNode API 2025-10-30 07:17:06 +08:00
IRegion.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
ISerializable.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
ITaskScheduler.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
IUI_Enums.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
IUI.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
JsonDataNode.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
JsonDataTree.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
JsonDataValue.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
ModuleFactory.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
ModuleSystemFactory.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
RandomGenerator.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
Resource.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
ResourceRegistry.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00
SequentialModuleSystem.h feat: Complete migration from json to IDataNode API 2025-10-30 07:17:06 +08:00
SerializationRegistry.h feat: Implement complete IDataNode/IDataTree system with JSON backend 2025-10-28 15:36:25 +08:00