Releases: MisterGC/clayground
Releases · MisterGC/clayground
v2024.2
3D Primitives & Qt 6.8.x Compatibility
This release introduces customizable 3D primitives such as Box3D and Line3D. It also ensures Clayground is fully compatible with Qt 6.8.x, setting 6.8.1 as the new minimum version for App Store compliance.
Changes
claydojo
allows setting the used QML style via thestyle-name
arg- Ensured compatibility with Qt 6.8.x, setting 6.8.1 as the new minimum version to resolve a critical App Store deployment issue.
- Box3D: A flexible 3D primitive that supports custom dimensions without scaling and allows one face to have different scaling (example in Sandbox3d of ClayWorld).
- Box3DBody: A physics representation of Box3D, leveraging it for visualization.
- Line3D: A multi-segment 3D line with customizable width (via an efficient custom shader) and color (no shading).
- MultiLine3D: A batch-drawing solution for thousands of 3D lines, sharing the same width and color for efficiency.
- BoxLine3D: A 3D line composed of instanced boxes, less efficient than Line3D but allows for “boxy” aesthetics.
Note: The line and box APIs are in an early stage and may undergo significant changes. Be prepared for refactoring when upgrading! 😊
v2024.1
New Features and Improvements
iOS Support Re-enabled
- Rework of
clay_app
Macro: Fully revamped iOS support for theclay_app
macro. This update covers all steps necessary to complete the app build from within Qt Creator, including the packaging of Info.plist, asset catalogue, and localizations. - Default Configuration for Demo Apps: Demo applications now use a default configuration, providing them with a recognizable Clayground app icon.
- New CMake Options: Introduced new CMake options to enable or disable the building of Clayground with tools and/or examples, offering greater flexibility in the build process.
CMake Configuration
- Simplified Top-Level CMake Config: The top-level CMake configuration has been cleaned up for better accessibility and ease of understanding.
Plugin Enhancements
clay_plugin
Macro Updates: Theclay_plugin
macro is now compatible with iOS using Qt6, allowing for a more compact configuration that encompasses more functionalities within the plugin.- Dedicated
clay_ios
Plugin: Introduction of a dedicatedclay_ios
plugin. This plugin supports in-app triggered app reviews, including a configurable component to determine when the review prompt should appear.
QML Improvements
- Streamlined QML Imports: All QML imports are now streamlined by using version-less variants, simplifying the import process.
v2023.1
What's Changed
This release integrates QtQuick3D, comes with improved HTTP client and adds some minor bugfixes/improvements.
Introduction of ClayWorld3d
(by @MisterGC in #86)
- Introduce ClayWorld3d that utilises QtQuick3D + QtQuick3DPhysics and supports SVG based scene loading
- Extract common 2D, 3D functionality to avoid redundancy
- Topdown demo supports toggling between 2D and 3D at runtime

Improved web access (by @MisterGC in #84)
- Refined C++ class focusing on GET/POST methods, with bearerToken as the sole authentication method
- Introduces
ClayHttpClient.qml
: A wrapper for C++ web access, enabling HTTP API declarations and JavaScript client generation (at runtime) - Added a sandbox environment for testing HTTP services, including integration with OpenAI chat
Fixes for issues I stumbled upon when using Qt 6.4 (by @MisterGC in #83)
- Fix some clang-tidy, clazy, CppCheck based warnings.
- common: No longer use 'file:///' prefix as Qt seems to
- liveloader: Allow usage of new debug enabler if available.
Additional fixes and improvements
- Cleaner info messages (leave the source context to debug messages only)
- Cleaner output of file observer (use relative paths when informing about observed files)
Full Changelog: 2022.1...v2023.1
2022.1
Features:
- Introduction of the
Clayground.Text
plugin which provides JSONata (querying and transformation of JSON), CSV (read/write, visualize, filter), regular expression based text highlighter - Enhanced Android build configuration allows building/deploying of demos
- Clayground.Network gets a WebAccess component (simple HTTP_GET requests at the moment only)
Fixes/Improvements:
- Canvas exposes 'interactive' flag (gives more control when working with other layers that process mouse events)
- Fixed non-working
onLeft
signal of CollionsTracker - Generation of
main.cpp
for examples via CMake works also if clayground is not the top-level projection - Platformer and TopDown examples use touch input on iOS and Android
Hint: This release needs at least Qt 6.3 because of the new CMake functionality which eases build/deployment for Android targets
Qt5 Compatibility
This release is for users who want to stay with Qt5.
Required version: Qt5.15.x