Releases: zappy-dev/Schema-Unity
v0.3.1
v0.3.0
What's Changed
- Release/v0.3.0 by @zappy-dev in #13
Release/v0.3.0 (#13)
-
Editor: Increase vertical height for rows with Texture attributes.
Editor: Fix bug when setting a Texture value to null -
Add script to prepare release versions, updating the Unity package and README references to version.
-
Support for Runtime Unity Asset Data Type references.
Add UnityAssetLinker singleton scriptable object for forcing Asset linking into Player Content.
Update UnityAssetLinker during publish step.
RefactorAttributeDefinition.CheckIfValidDataandAttributeDefinition.ConvertDatatoAttributeDefinition.IsValidVaueandAttributeDefinition.ConvertValueaccordingly for API consistency.
Bugfix: When updating the identifier attribute name for a sceheme referenced by other schemes, do not migrate attributes with the previous attribute name to a new attribute.
Implement proper Topological Sorting for loading Schemes based on their references to other schemes. Prevents errors from loading schemes before their references schemes are loaded.
Editor: Add prompt to save all changed Schemes before switching to a new Scheme
SchemaPlayground: Update Player to 2D Sprite, add Unity 2D Package -
Remove debug logging from Topological sort
Add better error message, next steps for ID code generation errors.
Use Topological Sort order for publishing Schemes, halt publishing and code generation if an error occurs to prevent generating code that does not compile. -
==== Identifiers and Validation Update ====
Editor: Allow users to type values that match existing identifier values without displaying an error popup. Warn users that duplicate identifier value will not persist after focusing a new control element.
Editor API: AddTableCellandTablestructures to manage the control ID state for rendering a Scheme Table. Add helper utility methods:SchemaEditorWindow.GetGlobalPosition,
Editor: AddSchema.IsValidcheck duringSchemaEditorWindow.PublishScheme
Core API: AddSchema.IsValidSchememethod to validate a scheme:
- Checks that all identifier values are unique
- Checks that all entry values exist and valid for their associated attribute data type
Allow for loading of invalid schemes, moving failure to publishing step.
Core API: Update SchemaContext.cs to use direct references to DataType, update DataTypeContextScope usages to pass reference to DataType. Helps with tracing issues.
Core API: Improve ToString() output for DataEntry.cs, ReferenceDataType.cs
Core API: AddDataScheme.GetRawIdentifierValues()to direct identifier valuees for a scheme, not de-duplicated.
Core API: UpdateDataScheme.SetDataOnEntryto shift SchemaContext parameter to first parameter, for API consistency. Updated usages.
Core API: UpdateDataScheme.CreateNewEmptyEntryto auto-generate valid identifier values, returns SchemaResult and fails if no new identifier value could be determined.
Core API: AddDataScheme.GetEntrySafe, alternative toDataScheme.GetEntry, uses SchemaContext and SchemaResult API pattern.
-
Prepare v0.3 release
-
Bugfix: Set manifest import path before loading Manifest scheme to avoid downstream Scheme loading failures dependent on the manifest import path.
Core: Add DataTypeContextScope to more DataType methods for tracing. -
Peformance: Optimize Table View for 100,000 entry schema, avoid string formatting is DataType.IsValid calls, avoid expensive Table Printing operation, disable SCHEMA_DEBUG defines via code, pass ICloneable context to SchemaResult constructor, avoid expensive string building. Use more efficient solution for iterating attributes in Table View.
Editor: Improve Progress Display during Manifest loading
Editor: Display Manifest and Schema load paths as their relative paths.
Bugfix: Prevent Reporting to disposed EditorProgressReporter.cs, avoids a UI issue where the Progressbar UI continues to display and is never cleared.
Add SCHEMA_PERF scripting define for Performance testing, access to Test Scheme generation, without the performance cost for SCHEMA_DEBUG.
Clean up spamming error logs -
Implement color data type with hex (#14)
-
feat: Add ColorDataType and related tests
This commit introduces a new ColorDataType, including its implementation, tests, and integration into the schema system.
Co-authored-by: stjohnzack [email protected]
- Refactor: Use Unity ColorDataType and extension methods
Co-authored-by: stjohnzack [email protected]
- Checkpoint before follow-up message
Co-authored-by: stjohnzack [email protected]
- Refactor: Move ColorDataType tests to Unity tests
Co-authored-by: stjohnzack [email protected]
-
Editor: Add Cell Rendering and Editor support for Color cells.
API: Color Data Type values are of type UnityEngine.Color in the runtime, and hex strings in Storage.
API: Split JsonSettings to separate static instance for easier extensibility for JsonConverters, such as UnityEngine.Color's JsonConverter.
Runtime: AddSchemaRuntime.Initialize()parameter,onManifestUpdated. This action callback is only invoked when the Application is playing, to avoid issues with Editor mode manifest updates causing Play-mode scripts to continue to handle callback.
Fix Unity Edit Mode Unit Tests for Color Data Type. -
Publish: Only publish non-null asset links, set Asset Linker asset to dirty and ensure the Asset Linker saves.
Co-authored-by: Cursor Agent [email protected]
-
Fix test assertion
-
Add test coverage
-
Add test coverage for Scheme loading value auto-conversion, and creating new entries with auto-incrementing IDs
Co-authored-by: Cursor Agent [email protected]
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- Release/v0.2 by @zappy-dev in #12
- Improved List Data Type Support!
- Codegen support for Reference Attributes
- A bunch of bug fixes and refactors
Full Changelog: v0.1.5...v0.2.0
Testing UPM Release
v0.1.5 Add Move to Front / Back attribute options