Skip to content

Commit

Permalink
4.0.1 Release (#100)
Browse files Browse the repository at this point in the history
* Better table usage tracking across domain reloads, multiple opens

* Reworked tracking between domain reload to be more streamlined.

* Only TryAdd in 2022

* Fixed issue with removing the last sparse ID entry in a table

* Need this to be a string because the type will get checked later.

* Add default type.

* Cell drawers should record table usage

* Remove spacer from property drawer

* Docs on CellValues, move to identifier naming

* Wider rename effort ongoing

* Move to DataTable naming

* Move everything to identifier naming

* Initial StableTable tests

* Fixup stable table tests for naming changes

* Documentation for all CellValues

* Moving thigns around

* Resolve pre 2022

* Few combined changes towards better naming / clarity

- Use unsigned integer and long field
- Rename DataTableCache to DataTableTracker (sorta observer pattern)

* Resolve life time issues on property drawer

* Label #endif statements of runtime

* Label #endif in tests

* Comment editor #endif

* WIP on API choices

* Fixes for 2023

* Few more things to resolve.

* Now were just playing games.

* Go back to DataTableBase naming

* docu-men-tation

* Add in GetColumnOrder and GetRowOrder

* DataTableExentions documentation

* Code cleanup

* Initial trial of Redo event pattern

* Don't support undo prior to 2022.2

* Stub out clear after domain reload, better item updating

* Better handling of undo/selection change

* Move original inspector to use the new detach

* Stub for sorting

* Create new accessors by identifiers / rename to by order

* Working on sort stub

* Prepping version bump in docs

* Experimental namespace

* Generalize column type API

* Missed exclusion

* Initial column sorters + fix for empty table inspector

* More tweaks

* Fix for row sorting and row name sorting

* Sub-sorting for items

* Add column moving by command , disable reordering by dragging

* Fix row names not getting resorted.

* Move to virtual rows

* Super delayed resize call to get around 2 frames to resize

* Data Table name

* Fixed removeAt issue for rows

* Stub work for enumint

* More stubb - need to fill out actuals once we have some data

* More cleanup of the toolbar

* Bunch of updates

- Update changelog w/ additional changes
- Images for docs

* Fix tests

* Test current doc generation

* Fix for Select Column

* First pass at documentation

* Move to animated gif approach for drawer demonstration

* JSON interchange stubs

* Add comment about moving extensions to namespaces

* Add enum support

* Add JSON support + update images / docs

* WIP on enum field stuff

* Data migration

* wrong array passed

* Fix for column name remove issue

* Force all serialization update

* Properly name ColumnIdentifier

* Fix issue where EnumInt's row array was not growing appropriately.

* Picker work

* Fix compile

* Picker sorta

* Working picker (first pass)

* Optimizations / cleanup

* Disable export to JSON button when no columns present

* Seperate TypePicker to its own visual element type

* Cleaner detach code on panels as well as stop escape clearing empty table column add

* Few tweaks to picker / bug fixes to bad states + sorter for enum

* Rename some methods

* Fix for value being set

* Dont do anything when we set null

* Better handle Window "reload"

* Faster search of types

* Optimizatiosn + fix for unnecessary query

* No real need for tooltip.

* Minimize actual string length being searched

* Better naming

* Default all tickets to -1 to ensure validity

* Internally track unit testing and avoid dialogs when in tests

* Prep for tests

* Make demo table creation responsive to known types

* Add reference only mode stub

* Handle nullable types in exporting

* Add support for locking data (this doesnt force update the other inspectors, would need callback on settings change)

* References Only mode indicator

* Move to side car model for authoring data

* Meta trick

* Textures

* Resolve access errors with new model

* Create T_DataTable.png

added data table type icon

* More clean up and documentation

* Remove unnecessary using

* Add message about the lock icon

* Start initial stubs for sync

* Make meta live only in 2022.2+

* Actually move that to 2021.3

* Less in project assets for icon, starting to make the sync.

* Wrap with ifdef

* WIP dont want to auto sync after much thought

* Working on cleaning up feelings

* Move to binding naming w/ icons for light and dark theme

* Rename to DataTableTransfor for object used to pass around serialized data.

* Initial rework to allow for a custom provider

* Dynamic bindings

* Better docs for Data Table formats

* Force loose reference

* Quick demo for Andy of references

* Remove references window

* Add assets search definition

* Create menu item as expected

* Fix menu item and add static help uri

* New images / fixed changelog

* Started rework of features text

* Start to move to new Log method

* WIP of ManagedLog

* Maybe fix expected logs

* Profiling logging

* Fix compilation of BVT

* Define constant

* Remove trace settings

* Accessors

* Features page intial pass

* Add 2020 compatibility

* Add docs to ManagedLog

* Updated XML/naming

* Remove links as private

* Add row and column identifier accessors (copies to clipboard / echos to log)

* Added Build Config system

* Fix for 2020.3

* Stub in some logging

* Fixes to player loop extensions

* Comments for future work

* Putting together handler

* Fix typos in headers plus make wrapper for log to make compatible with runtime ui

* Capacity

* Remove now integrated changes

* Add synthetic stub to use Unity's InputSystem in the future.

* Update with new scene stuff.

* Resolve bug on handler not resetting back after exiting playmode

* Starting to expose the developer console concept, need to work on generalizing runtime, as well as config options still.

* Add option to turn off console

* Moved the PlayerLoop additions to the core, as well as made optional usage of the ManagedLog and DeveloperConsole

* Removal of old Runtime element (misadded)

* Add protection around version for auto correct.

* Remove high level C# usage

* Handle slight API change

* Revert changes back to unified split

* Apply protection against Unity version

* Fix wrong conditional

* Fix editor system needing dev console.

* Stage without FA

* Dont put in message

* Add fallback for when we do not have the input system.

* Wrap include with GDX_INPUT

* Move to UNITY_2022_2_OR_NEWER requirement

* Fix for bad naming

* Update for new namespaces

* Move to self initialization pattern

* Update the tests

* Add minified version of free FONT Awesome icons used (pro kit)

* Ensure FA is included in builds

* Add remote sending from connected editors to player.

* Updates to command palette for network

* stub console variable - maybe generic is better

* First pass on console variables

* Moving to dynamic scaling font size --- need to move to MCLV

* Early work to move to multi column list view...need to style

* Revert "Early work to move to multi column list view...need to style"

This reverts commit c61ba34.

* Disappointed in  MCLV

* Need to think on how to deal with the roll over for virtualization, where the buffer wraps, data lives on

* First pass at static length building

* Update for log categories being capitalized?

* Auto complete v1

* Add scene list support to command, add auto complete generalized logic.

* Fix bad named test category

* Protect base console variable types, limiting to 2022.2+

* The sickness is making me slip here ...not good.

* Wrap CVARs as well.

* Wrap for API support

* Adjust for centralized input behaviour

* Add watch object

* Risky cleanup of this ...

* Ensure positon of the console.

* Do not block on writing out

* Best case scene find in editor

* Self creating pattern for console

* Clean up previous helper - for hot reloading.

* add proper loading for playmode vs not

* Attempt runtime leak on quit

* Remove bad using

* Rethink watches updating

* Add polling function

* Final form - two columns data that gets polled and then you get the content (cached names)

* Starting to work to showing watches

* Value based watching

* wip on movable

* Proper show system

* Starting to build out watch manipulation commands

* Watches showing

* Start to put together sentiment for the colored watches

* Static watches

* Wrap for older unity version

* Wrap other watches command

* Integer and Float watches.

* Working on charting

* line drawing

* Watches now save their state.

* sizable elements

* boxed chart

* Add global watch toggle and move commands around.

Close #95

* WIP around screenshot

* Add support for screen and editor captures.

* Starting to think about how the writer could work, ugh

* Shift to idea that the writer will be in bytes

* Removing ManagedLog pt1 - dont use

* Removes managed log concept

* Frame number

* Fix issues with tests

* Protect 2022

* Move to logtype

* Absolute setting

* Fix for build side issues

* Missing bracket fix

* Removes ManagedLog references from codebase

Closes issue #99

* Update copyright to 2024

* Better support for toggling all watches on and off, as well as a global toggle.

Closes issue #95

---------

Co-authored-by: Humidibot <adam.strick@gmail.com>
Co-authored-by: Andy Xiao <andy.xiao@unity3d.com>
  • Loading branch information
3 people authored Jan 1, 2024
1 parent a5e3411 commit f433079
Show file tree
Hide file tree
Showing 534 changed files with 10,396 additions and 4,373 deletions.
354 changes: 1 addition & 353 deletions .docfx/GDX.xml

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion .docfx/manual/features/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ While the purpose of `GDX` is to provide battle-tested code to developers, this
Highlight | Description
:-- | :--
[DebugDraw](xref:GDX.Experimental.DebugDraw) | A state-based optimized line drawing solution for debugging information at authoring and runtime.
[ManagedLog](xref:GDX.Experimental.Logging.ManagedLog) | A managed-only categorized hierarchical logging solution.

## [GDX.IO](xref:GDX.IO)

Expand Down
2 changes: 1 addition & 1 deletion .docfx/manual/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
- name: Documentation
href: contributing\documentation.md
- name: Agile Board
href: https://dotbunny.youtrack.cloud/youtrack/agiles/99-15/current
href: https://github.com/dotBunny/GDX/issues
- name: Policies
href: policy\index.md
items:
Expand Down
2 changes: 1 addition & 1 deletion .docfx/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@
- name: License
href: license.md
- name: Issues
href: https://dotbunny.youtrack.cloud/youtrack/issues/GDX
href: https://github.com/dotBunny/GDX/issues
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ dotnet_naming_rule.members_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.all_members.applicable_kinds = *
dotnet_naming_style.pascal_case_style.capitalization = pascal_case

file_header_template = Copyright (c) 2020-2023 dotBunny Inc.\ndotBunny licenses this file to you under the BSL-1.0 license.\nSee the LICENSE file in the project root for more information.
file_header_template = Copyright (c) 2020-2024 dotBunny Inc.\ndotBunny licenses this file to you under the BSL-1.0 license.\nSee the LICENSE file in the project root for more information.

# CSharp code style settings:

Expand Down
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,26 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

***"Runtime Console"***
> Testing the waters of some features we've been cooking up for other purposes.
## [4.0.1] - 2024-01-01

### Added

- A `CommandPalette`, (Developer)`Console` and `RuntimeConsole` requiring (_Unity 2022.2+_), example code utilizes the new InputSystem.
- Numerous `Watches` which provide easily visualization of static fields.
- A simplified `BuildConfiguration` object with inheritance.
- Simplified ways to access identifiers for `DataTableBase` rows and columns.
- `SceneExtensions` extensions to provide better awareness of loading.
- `FilenameTimestampFormat` as a `ToString` format for `DateTime`.
- `GDX.RuntimeContent` to organize runtime resources for automatic build inclusion and loading.

### Changed

- `TestRunner` now waits for all scenes to finish loading before proceeding with tests.
- Moved issues and planning back to GitHub issues; making it easier for outside contributions.

## [4.0.0] - 2023-07-02

***"Going Bold"***
Expand Down
2 changes: 1 addition & 1 deletion GDX.Editor.Tests/EditMode/AutomationTests.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

Expand Down
2 changes: 1 addition & 1 deletion GDX.Editor.Tests/EditMode/Build/BuildInfoProviderTests.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

Expand Down
2 changes: 1 addition & 1 deletion GDX.Editor.Tests/EditMode/DomainReloadTests.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

Expand Down
2 changes: 1 addition & 1 deletion GDX.Editor.Tests/EditMode/EditorTaskDirectorTests.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

Expand Down
2 changes: 1 addition & 1 deletion GDX.Editor.Tests/EditMode/PackageProviderTests.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

Expand Down
2 changes: 1 addition & 1 deletion GDX.Editor/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

Expand Down
31 changes: 20 additions & 11 deletions GDX.Editor/AssemblyProvider.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

Expand All @@ -25,22 +25,22 @@ public static class AssemblyProvider
public static Assembly RuntimeAssembly;

/// <summary>
/// A list of all types with the <see cref="VisualScriptingCompatibleAttribute"/> attribute.
/// A list of all types with the <see cref="VisualScriptingCompatibleAttribute" /> attribute.
/// </summary>
public static List<Type> VisualScriptingCollections;

/// <summary>
/// A list of all types with the <see cref="VisualScriptingCompatibleAttribute"/> attribute.
/// A list of all types with the <see cref="VisualScriptingCompatibleAttribute" /> attribute.
/// </summary>
public static List<Type> VisualScriptingExtensions;

/// <summary>
/// A list of all types with the <see cref="VisualScriptingCompatibleAttribute"/> attribute.
/// A list of all types with the <see cref="VisualScriptingCompatibleAttribute" /> attribute.
/// </summary>
public static List<Type> VisualScriptingTypes;

/// <summary>
/// A list of all types with the <see cref="VisualScriptingCompatibleAttribute"/> attribute.
/// A list of all types with the <see cref="VisualScriptingCompatibleAttribute" /> attribute.
/// </summary>
public static List<Type> VisualScriptingUtilities;

Expand All @@ -54,28 +54,37 @@ public static void Populate()
VisualScriptingTypes = new List<Type>();
VisualScriptingUtilities = new List<Type>();

foreach(Type type in RuntimeAssembly.GetTypes())
foreach (Type type in RuntimeAssembly.GetTypes())
{
VisualScriptingCompatibleAttribute targetType = (VisualScriptingCompatibleAttribute)type.GetCustomAttribute(typeof(VisualScriptingCompatibleAttribute), true);
VisualScriptingCompatibleAttribute targetType =
(VisualScriptingCompatibleAttribute)type.GetCustomAttribute(
typeof(VisualScriptingCompatibleAttribute), true);
if (targetType == null)
{
continue;
}

// A whole lot of frustrating boxing
if (targetType.VisualScriptingCategories.HasFlag(VisualScriptingCompatibleAttribute.VisualScriptingCategory.Collection))
if (targetType.VisualScriptingCategories.HasFlag(VisualScriptingCompatibleAttribute
.VisualScriptingCategory.Collection))
{
VisualScriptingCollections.Add(type);
}
if (targetType.VisualScriptingCategories.HasFlag(VisualScriptingCompatibleAttribute.VisualScriptingCategory.Extension))

if (targetType.VisualScriptingCategories.HasFlag(VisualScriptingCompatibleAttribute
.VisualScriptingCategory.Extension))
{
VisualScriptingExtensions.Add(type);
}
if (targetType.VisualScriptingCategories.HasFlag(VisualScriptingCompatibleAttribute.VisualScriptingCategory.Type))

if (targetType.VisualScriptingCategories.HasFlag(VisualScriptingCompatibleAttribute
.VisualScriptingCategory.Type))
{
VisualScriptingTypes.Add(type);
}
if (targetType.VisualScriptingCategories.HasFlag(VisualScriptingCompatibleAttribute.VisualScriptingCategory.Utility))

if (targetType.VisualScriptingCategories.HasFlag(VisualScriptingCompatibleAttribute
.VisualScriptingCategory.Utility))
{
VisualScriptingUtilities.Add(type);
}
Expand Down
7 changes: 3 additions & 4 deletions GDX.Editor/AssetDatabaseReference.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
// Copyright (c) 2020-2023 dotBunny Inc.
// Copyright (c) 2020-2024 dotBunny Inc.
// dotBunny licenses this file to you under the BSL-1.0 license.
// See the LICENSE file in the project root for more information.

using System;
using System.IO;
using GDX.Developer;
using UnityEditor;
using UnityEngine;
using Object = UnityEngine.Object;
Expand All @@ -21,12 +20,12 @@ public class AssetDatabaseReference
string m_FileExtension;
string m_FileName;
string m_FileNameWithoutExtension;

WeakReference<Object> m_LoadedAsset;
string m_Path;
string m_PathWithoutExtension;
string m_TypeString;

WeakReference<Object> m_LoadedAsset;

public AssetDatabaseReference(string guid, Type type = null)
{
Type = type;
Expand Down
Loading

0 comments on commit f433079

Please sign in to comment.