Skip to content

Releases: zappy-dev/Schema-Unity

v0.3.1

22 Oct 19:24
a414328

Choose a tag to compare

What's Changed

Full Changelog: v0.3.0...v0.3.1

v0.3.0

15 Oct 14:43
31acb08

Choose a tag to compare

What's Changed

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.
    Refactor AttributeDefinition.CheckIfValidData and AttributeDefinition.ConvertData to AttributeDefinition.IsValidVaue and AttributeDefinition.ConvertValue accordingly 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: Add TableCell and Table structures to manage the control ID state for rendering a Scheme Table. Add helper utility methods: SchemaEditorWindow.GetGlobalPosition,
    Editor: Add Schema.IsValid check during SchemaEditorWindow.PublishScheme
    Core API: Add Schema.IsValidScheme method 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: Add DataScheme.GetRawIdentifierValues() to direct identifier valuees for a scheme, not de-duplicated.
    Core API: Update DataScheme.SetDataOnEntry to shift SchemaContext parameter to first parameter, for API consistency. Updated usages.
    Core API: Update DataScheme.CreateNewEmptyEntry to auto-generate valid identifier values, returns SchemaResult and fails if no new identifier value could be determined.
    Core API: Add DataScheme.GetEntrySafe, alternative to DataScheme.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: Add SchemaRuntime.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

09 Oct 08:45

Choose a tag to compare

What's Changed

  • 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

08 Oct 00:56

Choose a tag to compare

v0.1.5

Add Move to Front / Back attribute options