Adds a new ebus for prefab apis and refactored the apis
Removed an empty test level
Auto delete tmp level when teardown tests
Add Base test level in Prefab folder
Removed unused comments
Checked if absolute path as an input of Create Prefab functions
Changed created prefab file path to support all platfroms
Added missing includes
Signed-off-by: chiyteng <chiyteng@amazon.com>
* Update storage of Prefab Dom info to be best effort
Signed-off-by: sconel <sconel@amazon.com>
* Update IssueReporter to Skipped instead of PartialSkip
Signed-off-by: sconel <sconel@amazon.com>
* Address PR feedback
Signed-off-by: sconel <sconel@amazon.com>
* Fix failing Prefab Unit Test that expected default values to be stripped
Signed-off-by: sconel <sconel@amazon.com>
* Minimal TypeInfo header/reduce std interdependencies.
TypeInfoSimple.h is a small header that can replace the use of
TypeInfo.h in some cases.
Signed-off-by: Nemerle <nemerle5+git@gmail.com>
* Windows build fixed
Removed algorithm.h from string_view.h
smoke-test passed
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Resotore dynamic_pointer_cast in intrusive_ptr
Requested by reviewer.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Fix CI build
string.h - missed alogorithm.h, since it was removed from string_view
NodeWrapper.h - missing smart_ptr.h
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
Co-authored-by: Nemerle <nemerle5+git@gmail.com>
* add an integration test to validate pick mode crash
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* update to test after review feedback
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* Fixed AzToolsFramework unit tests.
Signed-off-by: moraaar <moraaar@amazon.com>
* Include missing header.
Signed-off-by: moraaar <moraaar@amazon.com>
* Using util's class to generate temp directory, instead of qt.
Signed-off-by: moraaar <moraaar@amazon.com>
* Added empty line
Signed-off-by: moraaar <moraaar@amazon.com>
* Fixed warning in MessageTest fixture that CacheProjectRootFolder was not set
Signed-off-by: moraaar <moraaar@amazon.com>
* Additional checks in CreateDefaultEditorEntity helper function.
Signed-off-by: moraaar <moraaar@amazon.com>
* Updated the AzToolsFrameworkTest logic to set the project cache path
The Project Cache Path and Project Path is set through the CommandLine functionality of the ComponentApplication.
This allows those Project Cache Path and Project Path to be set within the Settings Registry during the ComponentApplication constructor
Removed the explicitly calls to delete the temporary directory and fixed the ScopedTemporaryDirectory class to recursively delete the temporary directory
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Setup correctly @assets@ alias for PlatformAddressedAssetCatalogManagerTest and AssetSeedManagerTest fixtures.
- These 2 test fixtures need to manually set the @asset@ alias to not include the platform at the end (which it does by default), because they are looping over platforms in their setup.
- Also initializing pointers to nullptr, so if setup fail in the future the teardown doesn't crash trying to delete garbage.
Signed-off-by: moraaar <moraaar@amazon.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Clear prefab templates on new level creations and loads
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
* Fixed failing prefab unit tests after change to clear templates
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
* Fix a bug in patching templates and improve error messaging
* Fixed incorrect order of function arguments
* Fix build errors regarding c style strings and casting entity ids
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
* Add an Orthogonal Projection option to the Camera Gem
This adds a check-box to opt into an ortho projection along with a half-width parameter to adjust the size of the visible area. Includes some light tweaks to ensure debug rendering looks OK and that we generate a correct camera state for these non-perspective views.
Known issue: while in "Be this camera" mode in the Editor using an ortho projection manipulators aren't working correctly. This appears to be a downstream issue with CameraState consumers not actually checking the ortho flag.
Signed-off-by: nvsickle <nvsickle@amazon.com>
* Fix some typos
Signed-off-by: nvsickle <nvsickle@amazon.com>
* Account for reversed depth buffer
Signed-off-by: nvsickle <nvsickle@amazon.com>
* Clarify depth reversal for MakeOrthographicMatrixRH
Signed-off-by: nvsickle <nvsickle@amazon.com>
Engine improvements/fixes
Fixed behavior that made the editor automated test to be sometimes stuck if lost the focus is lost.
Added support for specifying multiple tests to in batch to the editor, this is achieved by passing --runpythontest with the tests separated by ';'
Added new cmdline argument --project-user-path for overriding the user path. This allows to have multiple editors running writing logs and crash logs in different locations.
Moved responsability of exiting after a test finishes/passes out of ExecuteByFilenameAsTest, callers will use the bool return to know if the test passed.
Editor test batch and parallelization implementation:
Now the external python portion of the editor tests will be specified via test specs which will generate the test. Requiring no code. This is almost a data-driven approach.
Tests can be specified as single tests, parallel, batchable or batchable+parallel
Command line arguments for pytest to override the maximum number of editors, disable parallelization or batching.
Automated tests for testing this new editor testing utility
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
Co-authored-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Remove dirty entities correctly when prefab entities get destroyed
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
* Remove call to clear dirty entity for single entity delete
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
* Removed couple of asserts because order of operations is not fixed
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
The issue is due to RootAssetBrowserEntry::UpdateChildPaths not taking
the RootAssetBrowserEntry fullpath into account when appending the child
path entry
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* External Gem and Projects now appear in Editor AssetBrowser
Optimized logic populating the FolderAssetBrowserEntries in the Editor AssetBrowser.
Added an "[External]" tag to scan folders which reside outside of the Engine Root
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed conversion of fixed_string to string when normalizing an added AssetBrowser file path.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* RootAssetBrowserEntry.cpp Linux conditional expression fix
Because an AZ::IO::PathView is convertible to an AZ::IO::FixedMaxPath and vice-versa, the conversion of the second part of the ternary expression absolutePathView needs to explicitly convert to an AZ::IO::FixedMaxPath
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Porting over @AMZN-daimini 's work to clean up unneeded data from prefabs by removing cached transform data from json serialization. This is done by writing an explicit json serializer for the Editor Transform component and opting not to store or load the cached Transform fields.
Tested by creating new prefabs, loading and as well as resaving old prefabs which included patches aimed at cached transform data.
Signed-off-by: sconel <sconel@amazon.com>
Fixed unresolved product dependency query to be able to handle much larger queries (tested with 100,000 products) by storing queried products in a temp table first
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* {LYN-4514} Engine updates to enable PAB for the Blast Gem
* Engine updates to enable Python Asset Building for the Blast Gem
* added API to detect IsPythonActive()
* ExportProductList behavior
* scene manifest usage of generated assetinfo
* updated ScriptProcessorRuleBehavior to handle OnPrepareForExport
Tests: new tests for scene behavior via ExportProduct
Signed-off-by: Jackson <23512001+jackalbe@users.noreply.github.com>
* updated base on PR feedback
added more comments for IsPythonActive()
added a serializeContext for export product list
Signed-off-by: Jackson <23512001+jackalbe@users.noreply.github.com>
* Make Viewport input events fully Qt based.
This should fix an issue with Qt touch event -> mouse event translation in the Editor, and may also fix issues with the Mac Editor and remote desktop (though, lacking the requisite hardware, I can test precisely none of these things personally).
See https://github.com/o3de/o3de/issues/1889
- Adapted LegacyViewportCameraController to use Movement::X & Y (mostly for testing purposes, it's on the slate for being removed soon)
- Moved cursor capture logic from RenderViewportWidget into QtEventToAzInputManager so that it can make sure it generates correct movement deltas
- Removed ViewportMouseCursorRequests::PreviousViewportCursorScreenPosition to have our viewport controllers use our dedicated Movement::X and Y channels instead, which will work in the launcher
Signed-off-by: nvsickle <nvsickle@amazon.com>
* Address review feedback
Signed-off-by: nvsickle <nvsickle@amazon.com>
* Fix Linux build
Signed-off-by: nvsickle <nvsickle@amazon.com>
* fix outliner sorting using incorrect types for comparisons, fixes for [LY-122258] and [LYN-3666]
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
* fix annoying but necessary Qt type cast
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
* Update PrefabLoader to sanitize ingested prefabs and have core systems operate with default values
Signed-off-by: sconel <sconel@amazon.com>
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Remove IsExplicitDefault implementation to avoid confusion (since the function isn't virtual).
Avoid copying PrefabDoms over in SanitizeLoadTemplate.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Address naming and commenting concerns from PR reviews.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix to error detection code
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Add support for all uuid formats for zero check.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
Co-authored-by: sconel <sconel@amazon.com>
* Clarify ImGui activation in Editor viewport
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* All working following changes from comments in PR
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* One more change
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* fixes from comments in PR.
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Fixed git merge error
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Added header to ImGuiBus.h
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Fix for Jenkins error
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Minor typo fix
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Cherry Picking (lyn1751)
Problem with DCO so we need to cherry pick this branch.
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Cherry picking #2
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Cherry picking 3
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Changed variables reverseurls
This was just changing some name variables.
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Changes from past PR
Signed-off-by: aaguilea <aaguilea@amazon.com>
* changes from past PR and fixed small bug:
Also removed some legacy code from Resources.h
Signed-off-by: aaguilea <aaguilea@amazon.com>
* couple of changes from actual PR
Signed-off-by: aaguilea <aaguilea@amazon.com>
* fixed copyright issues for AR
Signed-off-by: aaguilea <aaguilea@amazon.com>
* rewrite of the filter code to fix [LYN-4156][LYN-4545]
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
* improved onRowCountChanged() per comments
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
This has a small bundle of bugfixes and improvements all based around improving prefab TrackView support:
* JsonMerger - improved the error message when patch remove operations fail to make the specific failure more obvious
Instance - swapped the order of destroying entities vs clearing the lookup tables so that lookups still produce valid results during destruction. (This could happen while creating undo caches)
* InstanceEntityIdMapper - in the case where an id isn't found, it now returns an invalid id instead of an "attempted-valid" one that still generally turned out to be not-valid
* PrefabUndo - downgraded a potential crash to an error message if for some reason the patch contains changes to an entity that doesn't currently have an alias. (This case can be caused occasionally by other bugs and error conditions)
* EditorSequenceComponent - downgraded a potential crash to an assert for the times when it tries to remove components, fails, but thinks it succeeded. (This case can currently be caused by using Maestro with Prefabs enabled)
* EditorSequenceAgentComponent - added an undo cache refresh whenever the component deletes itself, so that deleting itself during an EditorSequenceComponent destruction chain of events leaves the undo cache in the correct state.
* SliceConverter - fixed the conversion of entity references in top-level slice instance entities that refer down to nested slice entities. There was a chicken-and-egg problem in terms of which entities need to be created first to make the references and the prefab patching & serialization happy. This was worked around by creating placeholder top-level entities, then the nested slice entities, then replacing the top-level entities with the fully-realized ones.
Specific changes:
* Added more informative error message.
Signed-off-by: mbalfour <mbalfour@amazon.com>
(cherry picked from commit 672608a6c833c07295996cd9b3449825222b74d0)
* Changed the error condition to produce a "valid" invalid id instead of a deterministic but not-valid id
Signed-off-by: mbalfour <mbalfour@amazon.com>
(cherry picked from commit 3673950c949de8e067b32ddafaffd07e648a13d8)
* Guard against invalid reference assert/crash
Signed-off-by: mbalfour <mbalfour@amazon.com>
(cherry picked from commit 268d4ef3447f268a1372d07e028b9e67bac5c64e)
* Downgrade an invalid reference crash to an assert
Signed-off-by: mbalfour <mbalfour@amazon.com>
(cherry picked from commit 38c9303770845f4e863273dd6fb8fc7e83380425)
* Improved logic for handling entity references across nested slices.
Signed-off-by: mbalfour <mbalfour@amazon.com>
(cherry picked from commit 7e89a016d95fb72cb5f119e1e3768daa60e6bfb4)
* Changed order of entities.clear() call so that instance lookups are still valid during entity destruction.
Signed-off-by: mbalfour <mbalfour@amazon.com>
* Add undo cache notification when removing Maestro components.
Signed-off-by: mbalfour <mbalfour@amazon.com>
* Final update copyright headers to reference license files at the repo root
Signed-off-by: spham <spham@amazon.com>
* Fix copyright validator unit tests to support the stale O3DE header scenario
Signed-off-by: spham <spham@amazon.com>
* rewrite of the filter code to fix [LYN-4156][LYN-4545]
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
* improved onRowCountChanged() per comments
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
* Fixed: Item returning null in drag and drop when column is hidden
* Added explanation about why this approach is needed
Signed-off-by: John <jonawals@amazon.com>
Remove warning when entities that aren't registered to instances get passed to the Prefab Undo Cache (just ignore them to avoid noise in the console).
Also avoid marking templates dirty when they are added.
* When loading a template to memory, store the current Source (potentially overriding what was stored to disk)
* Before storing the prefab disk, remove the Source parameter from the Dom (as it's no longer necessary to save it).
* updates to better support showing/hiding viewport ui when grid snapping is enabled/disabled
* connect up editor settings callbacks
* minor polish changes
* api rename
* updates following review feedback
* first pass of adding grid snapping button
* update to request current grid size
* show/hide snapping option based on selection
* small tidy-up changes
* small updates following review feedback
* added some unit tests for snapping functionality and some small tidy-up/refactoring
* small refactor to ensure snap to grid ui only appears with snapping enabled
* add missing include to resolve build error
* fixes for build
* add & to make compiler happy
* Restore the code that display the dirty marker on the Level container. Ensure the dirty marker is cleared on level save.
* Moving call one level up to allow usage of the SaveTemplateToString function without clearing the dirty flag.
* Addressed feedback from previous PR
* Change missing entity aliases to be deterministic.
When converting slices, this helps produce the same results on multiple reconversions of the same data.
* Exposed the asset filter callback.
This allows the slice converter to specifically load nested slices as opposed to not loading *any* referenced assets.
* Added support for multiply-nested slice instance conversion.
(cherry picked from commit 86136ddfa6)
* Addressed feedback from previous PR
* Change missing entity aliases to be deterministic.
When converting slices, this helps produce the same results on multiple reconversions of the same data.
* Exposed the asset filter callback.
This allows the slice converter to specifically load nested slices as opposed to not loading *any* referenced assets.
* Added support for multiply-nested slice instance conversion.
- Added button to PhysX Collider Component in PhysX Mesh's field to open FBX Settings.
- Added button Material Selection to open the physics material library in Asset Editor.
- Default Material in PhysX configuration is read only and consistent with the text in combo boxes.
- Material configuration field "Surface Type" renamed to "Name"
- Fixed bug in EditorColliderComponent where the material selection was not updated when changing the library.
- Fixed bug where the materials selection was not set to default when a physics material from the asset was not found in the library.
- Added attributes 'BrowseButtonEnabled' and 'BrowseButtonVisible' to PropertyAssetCtrl.
- Updated physx configuration setreg files of AutomatedTesting project.
* Add instanceToIgnore to calls leading to instances being added to the queue for propagation.
* Change PrefabUndoEntityUpdate to make it so that the instance triggering the prefab template change is not reloaded on propagation, since it will already be up to date due to the way we generated the patch to begin with.
* Add FindPrefabDomValue utility function for paths
* Expose the level root prefab template id in the Prefab EOS Interface
* Fix Instance Alias Path generation to work with the new FindValueInPrefabDom function
* Stop reloading ancestors on propagation, and fix instance reloading so that the level dom is used (and overrides are preserved)
* Remove commented out code, refactor FindPrefabDomValue for paths (was handling an edge case incorrectly, and it's not even triggered)
* Fix issue with PathView reference - with PathView already being a reference, this resulted in a copy and triggered a warning during automated review builds.
* Additional fix to the build warning, remove redundant error message
* Revert changes to Instance::GetAbsoluteInstanceAliasPath(), as they were impacting serialization.
* Remove the dependency to the level root prefab template in the propagation code, climb up the hierarchy instead. This allows tests to work despite not using the EOS properly.
Also use PrefabDomPaths to retrieve the instance dom from the root dom instead of iterating.
* Remove now unused PrefabDomUtils function, extend optimization to link updates.
* Trigger a full instance propagation to correctly refresh alias references.
This is an issue in the test because some operations are called from the backend API and will not trigger propagation properly. Tests will soon be rewritten to more properly represent frontend workflows.
* Fixes lingering issues with propagation:
- Restores code that fixes the selection if entityIds have changed;
- Fixes Do() function on link update. Prefab containers will propagate correctly while still being stable during editing.
* Remove GetRootPrefabInstanceTemplateId (no longer necessary after the code has been rewritten)
* Fix optimization code to account for instances being removed and propagation being run out of order in Create Prefab undo.
* Renamed variable, added comments for clarity.
* Restore asserts on instance not being found; Rename Do to Redo for clarity; Add comments.
* Fixed incomplete comment.
Switch EditorContextMenu back to using popup instead of exec
The switch to exec was a deliberate change, but upon further testing with the latest version of our camera input controllers (both the Legacy and Modern variants) it is no longer necessary to call exec, and doing so can cause a bug in which the cursor is still hidden when the context menu appears.
* formatting changes to AzToolsFramework viewport related types + API comment style updates
* minor format change - include ordering
* improve formatting by moving comment
* fix compile error and switch to use AZ_Printf
* small polish changes after review feedback
* Add the last known parent to the prefab undo cache to detect changes in the owning instance.
Still WIP.
* Progress in handling reparenting. Still WIP, need a change in CreateLink that will be addressed in a separate branch and then merged back.
* A few fixes, reparenting now works with entities. Still working on instances.
* Fix assert crashing the Editor because of the arguments being in the wrong order.
* Handle moving the patches when removing and recreating links when reparenting nested instances.
* Rearrange some code to prevent including instance removal in instance update undo node, as it would be redundant and cause errors in some edge cases.
* Reorder instance reparenting to account for correct order of operation during undo/redo
* Fix order of operations to support multiple operations in one edit (reparenting to non-container entities while changing instance)
* Add function to refresh patches on links to allow aliases to be restored correctly on reparenting.
* Removed RefreshEntityPatchOnLink function. Introduced a simpler way of handling porting patches.
* Removing unnecessary code that was left after testing.
* Minor fixes to naming and comments.
* Restore previous error, no longer printing the failed patch.
* Remove unused includes.
* Restore include removed by mistake.
* Simplified patches retrieval by using internal function. Renamed some internal functions and variables to be more accurate.
This set of changes enables conversions for singly-nested slices. Multiple nesting hierarchies are only partially supported at this point. Conversion is also significantly more deterministic, which makes it easier to convert single slices without needing to reconvert every slice or level that relies on it as well.
Changes:
- Added version of Instance::AddInstance() that takes in an alias to allow for deterministic aliases
- Added a "SliceConverterEditorEntityContextComponent" that's used to specifically disable entity activation on creation. The disabling is done this way vs adding a new public API, because the disable shouldn't be required in any normal case outside of this tool.
- Disabled more AWS gems for the SliceConverter, as they're unneeded and cause issues if they're around in the tool.
- Added a small null check to the Camera Controller.
- Added the actual support for slice instance conversion. This instantiates the entities, applies the data patches, turns them into a prefab instance, and generates a JSON patch out of the changes.
* Show container transforms, reset container transform to zero before saving a prefab after create.
* Fix order of operations to prevent patching issues
* Reset the entity to the Identity Transform instead of the default constructor to correctly set the scale to 1.0
The initial CreatePrefab flow was trying to go from absolute -> relative -> absolute path before the file had ever been saved, so the relative -> absolute path conversion generated an error and always produced a project-relative path, even if the initial path was in a gem. For example, trying to save "c:/o3de/Gems/Camera/Assets/Entity1.prefab" would instead create "c:/o3de/AutomatedTesting/Entity1.prefab". This change preserves the absolute path throughout the initial creation flow so that the file is saved in the correct location.
The method "PrefabLoader::GetRelativePathToProject" has been changed to "PrefabLoader::GenerateRelativePath", and reworked to get a correct relative path. GetFullPath has also been modified to get correct relative paths too. This requires an Asset Processor connection - if one isn't available (like during unit tests), the methods have fallback logic to produce project-relative paths.
With this change, SliceConverter can't use SaveTemplate() to save the file any more, because GetFullPath now expects to find an existing path, which doesn't work for not-yet-created files. Instead, it now has to use the same technique as the Editor and call SaveTemplateToString then save the string out as a file.
* Clarify ViewportWorldToScreen being in widget space and add DeviceScalingFactor
* -Fix viewport icons being draw wrong on high DPI displays
-Fix loading viewport icons from absolute paths, which
* Address review feedback, fix build
* provide the ability for component adapters to support multiple components per entity
* add missing explicit keywords
* updates following review feedback - update how template logic works
* small updats (fix typo, remove redundant includes)
* add missing this->
* naming change, common -> controller
* add [[maybe_unused]]
This introduces an EditorViewportIconDisplayInterface that will eventually be used to outright remove CIconManager, it provides a simple interface for loading 2D image assets and rendering them on-screen. It also introduces AtomBridge::PerViewportDynamicDraw for getting a dynamic draw instance on a per-viewport basis
Spawnables had support for moving, but as the base class AZ::Data::AssetData doesn't support moving this was causing subtle issues. Moving spawnables wasn't used so it was removed.
There are already APIs for getting a relative product path from an absolute source path, or getting a relative source path for an *existing* source file, but there were no APIs for getting a relative source path for a *new* source file. Prefabs will need this ability to be able to correctly generate a relative source path inside the prefab file before the file has been saved.
The logic for relative source paths is a little bit tricky because the paths are relative to the watch folders, and the watch folders can be nested, with different priorities to explain which should take precedence. The input paths can also include specifiers like "." and "..", which need to be reconciled before creating the final correct relative path. The included unit tests test all of the tricky edge cases that I was able to identify.
* Started update for prefab based initial asset inclusion
* Newly Created levels now use a template prefab
* Review feedback changes
* Moved to better asset-based queries to generate the full path.
* Removed pesky pragma
* Replaced with const name instead of literal string
* Framework for setting default directory in asset picker
* Asset Picker will default to a passed in default directory in the selection model
* Added comment to the property to help define what is expected.
* Fixed string assignment
* Removed commented out #pragma
* Addressed review feedback
* Addressed review feedback
* Work in progress on adapting the DebugDraw gem to use AzFramework::DebugDisplayRequests API
* Cleanup fixes for DebugDisplayRequestBus & DebugDraw gem.
Remove SandboxIntegration implementation of the DebugDisplayRequestBus
Add DrawWireCylinder & DrawWireCone to the DebugDisplayRequestBus interface
Remove SetFillMode & DrawTexture functions from the DebugDisplayRequestBus interface
Fixup uses of the SetFillMode api, replace with new Draw[Wire|Solid]X functions.
Fixes to the DebugDraw gem to get it compiling with new warnings settings.
* Changes to get the DebugDraw gem working with Atom/RHI/Code/Include/Atom/RHI
Add GetWidth, GetHeight, GetDepth utility accessors to RHI::Viewport
Start cleaning out unnecessary Cry includes from DebugDraw gem
Fixes for AtomFont FFont.cpp 3d screen aligned text drawing.
Clean out no longer supported code for 3d text to render multiple strings for the same entity location
* Cleanup some unused or commented code
* Update with PR feedback from Nick Van Sickle
* update camera controller to block box select during orbit
* simplify update for modern viewport camera controller
* wip working lmb box select with orbit
* add test for changes to click detector
* add unit test for camera system to validate events
* remove debugging code, tidy-up changes for PR
* small updates before posting PR
* fix for linux build failure