mirror of
https://github.com/clockworklabs/SpacetimeDB.git
synced 2026-06-27 08:18:48 -04:00
95e61f415c
# Description of Changes - Added a client-side query builder for the Unreal SDK - Added typed query-builder subscriptions for Unreal C++ via SubscriptionBuilder.AddQuery(...).Subscribe() - Added generated Blueprint query-builder support with source query nodes, column nodes, predicates, Where, AddQuery, and Subscribe - Added Blueprint autocasts at the AddQuery boundary so source-specific Blueprint queries can connect cleanly into the generic subscription builder for better devex in Blueprint - Synced the Unreal query-builder core with the C++ module implementation - Updated the copied Unreal core query-builder headers to match the shared C++ - Moved Unreal-specific literal/type adapters out of the shared core copy and into Unreal-specific expansion code - Added Unreal SDK test coverage and documentation for the new query-builder surface - Added new test harnesses to start to match the View/ViewPk tests - Added documentation for the Unreal query builder - Refactor generation for modules with more than 255 reducers, required to get the TestClient back in working order # API and ABI breaking changes - No intended API or ABI breaking changes to released Unreal SDK behavior - Adds a new public client-side query-builder API to the Unreal SDK for C++ and Blueprint - Raw SQL subscriptions remain available # Expected complexity level and risk 3 - Adds new query-builder surface with large changes to the code-gen, the risk here is keeping the C++ module core mirrored to the SDK in the future # Testing What I've done so far: - [x] Updated and ran the following tests: - [x] TestClientEditor - [x] TestViewClientEditor - [x] TestViewPkClientEditor - [x] Ran the Unreal harness suites covering the query-builder client paths - [x] Verified the generated Unreal query-builder surface in both C++ and Blueprint testing supported fields with a small sample project Should be done at least once by a reviewer: - [ ] Re-run the full `sdk-unreal-test-harness` as it's disabled in CI - [ ] Play with the C++ and Blueprint versions in a small Unreal project --------- Signed-off-by: Jason Larabie <jason@clockworklabs.io> Co-authored-by: Ryan <r.ekhoff@clockworklabs.io> Co-authored-by: Zeke Foppa <196249+bfops@users.noreply.github.com>