Skip to content

Comments

Cherry changes october#198

Merged
Dandielo merged 82 commits intomasterfrom
cherry-changes-october
Oct 28, 2025
Merged

Cherry changes october#198
Dandielo merged 82 commits intomasterfrom
cherry-changes-october

Conversation

@Dandielo
Copy link
Member

No description provided.

* Implemented missing AIO functions.
Overview:
This pull request focused on providing more DevUI widgets with information about the engine / games state. In addition to those small improvements here and there were achieved.

Added:
- New 'ice::Color' type along with user defined literals: ""_argb, ""_brga, and more...
- New 'ice::sort' utility that sorts an secondary indexing array based on the actual data array.
- New logger **sink** feature allowing to handle messages in user-defined ways.
- New DevUI's: Logger, World Manager, Worlds and some Traits

Refactored:
- Time types, now always returning a strong typed value.
- Conversion between time resolutions is now implicit. (Beware it may result in loss of data in some cases)
* Introduced new 'ice::native_file::create_directory' function.
* Introduced new 'ice::path::is_absolute_root' function.
* Fixed refcount bug in Asset handle.
* Fixed some bugs after Resource handle refactor.
* All trait bindings have now access to 'AssetStorage', 'ResourceTracker' and 'Clock' types if requested.
* Extended DevUI API allowing to setup main menu categories.
* Introduced new 'Trait::send' methods to easily push events for the next frame.
* Added the possibility to store more complex handles in events. (ice::Asset, ice::ResourceHandle)
* Fixed non-unity builds.
* Fixed small bugs with event propagation between state definitions.
* Trait Archive can now register ECS Archetypes if a trait descriptor provides it.
* EntityStorage can now handle new archetypes added later.
* EntityStorage now holds a simple tracker between ice::Entity -> ice::EntityHandle.
* Added new 'queue_batch_remove_entities' function accepting spans of 'ice::Entity'
* Added 'resolve_entities' method to 'QueryProvider' type.
* Fixed bug in batch removal operation selecting entity handles from the wrong location.
* Trait tasks can now be executed on three stages: Logic, Graphics, Render.
* Trait logic tasks should be used when only gameplay data is updated.
* Trait graphics tasks should be used when gameplay data needs to be send to the GPU.
* Trait render tasks should be used when building GPU objects and data.
* Traits can now select how events will be sent (Added or Replaced, if existing)
* Archetypes can now be defined with a name.
* Added 'ice::ecs::query::entity_data' functions to access single entity data.
* Fixed small bug with 'set_archetype_with_data' using the wrong Archetype ID.
… 'Invalid' values.

* Skip any action if the handle is 'Invalid'
…ts in render Storage.

* Buffer objects are kept up-to-date with view-projection matrices.
* Introduced .natvis for VarString types.
* Fixed resources names being invalid for baked (.isr) resources.
Dandielo added 28 commits June 7, 2025 16:43
* Allows to only run queries on a runtime per-block filter.
* Moving entities between 'filters' can be done one-by-one. (todo multiple moves)
* Small cleanup of some parts of code.
* Simplifying the API by utilizing a builder pattern.
* Removing old code no longer to be used.
* Storage allows to attach a callback with userdata, and access up to two components when enties are destroyed.
* Fixed a crash in QueryOperations due to filter objects references where invalidated when created from a QueryBuilder.
* Returns same data as 'for_entity' but allows to also return with nullptr when the entity couldn't be accessed.
* Added new functions for "HeapVarString" types.
* Added new sort function to sort any number of arrays using the first one.
* Added additional utility functions: 'less' and 'equal'
* Added formatter to 'ice::Expected' type.
* Added missing construtcors to 'Color' type.
* Renamed worker threads from 'ice.thread' to 'ice.worker'
* Fixed 'Color' not always properly translating from 'float' to 'int' representations. (Needs additional work)
* Fixed 'TaskExpected' types not passing 'Error' value when the 'Result' value was different.
* Fixed builds due to 'logger' duplicate symbols.
* The ref-counted types need to derive from a special interface. (might be changed later)
* Separated an 'IDevUIWidget' interface from the 'DevUIWidget' type.
* A category can now provide a 'extension_for_state' function that returns the file extension to be used when saving an asset in one of the Asset states. (ex.: 'Raw', 'Baked', etc...)
* Implemented 'ownership' relationships for widgets.
@Dandielo Dandielo merged commit 407d94d into master Oct 28, 2025
40 checks passed
@Dandielo Dandielo deleted the cherry-changes-october branch December 14, 2025 06:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant