You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Tools/Dev/Windows
Jonny Galloway b779f358d0
Refactor DCCsi to work better with O3DE changes (#4226)
* moving files in refactor/re-org

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* dev env refactor/re-org

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* moving/re-org so we can deprate the SDK nomiclature

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* moving/re-org so we can deprate the SDK nomiclature

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Refactoring env so I can replace SDK with Tools folder

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* re-org and prune, from SKD to Tools

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Removing old .bat files from SDK

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* updated how to retreive PYTHONHOME

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Can't use/set PYTHONHOME with DCC Tools

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* small refactor

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* repaired a missed typo (causes error)

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Added missing EntityId.h include to FocusModeInterface.h

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* refactor additional LY to O3DE tags

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Some design scaffold file stubs

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* stubbing in scaffold file pattern

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Removal of corrupted prefabs

Signed-off-by: Benjamin Black <benblac@amazon.com>

* refactored config_utils to maintain py2.7 support for maya 2020

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* refactored config_utils to maintain py2.7 support for maya 2020

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* pruning and cleanup

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* .env is for local dev overrides

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* .env is for local dev overrides

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* clean up init and logging patterns

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Core refactoring, config.py functional standalone

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* cleaned up some bad logging, fixed up boostrap

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* fixed validation errors

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* fix logging issue, tiddy up

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* tiddy up maya for .bat bootstraping and launch

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* name stub, fix validation

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Co-authored-by: Benjamin Black <benblac@amazon.com>
4 years ago
..
Solutions Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
.gitignore Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Env_Core.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Env_Maya.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Env_PyCharm.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Env_Python.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Env_Qt.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Env_Substance.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Env_VScode.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Env_WingIDE.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_Env_Cmd.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_MayaPy_PyCharmPro.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_Maya_2020.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_PyCharmPro.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_PyMin_Cmd.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_Qt_PyMin_Cmd.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_VScode.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_WingIDE-7-1.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_mayaPy_2020.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_mayapy_WingIDE-7-1.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_pyBASE.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Launch_pyBASE_Cmd.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
README.txt Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago
Setuo_copy_oiio.bat Refactor DCCsi to work better with O3DE changes (#4226) 4 years ago

README.txt

"""
Copyright (c) Contributors to the Open 3D Engine Project.
For complete copyright and license terms please see the LICENSE at the root of this distribution.

SPDX-License-Identifier: Apache-2.0 OR MIT
"""
# -------------------------------------------------------------------------

DccScriptingInterface (DCCsi) is a framework for O3DE extensions, for example:
- Lightweight python integrations with DCC tools like Maya
- O3DE configuration, customization and extensions of tools 
- Standalone PySide2/Qt tools
- ^ These might utilize a mix of O3DE and DDC python APIs

The DccScriptingInterface\config.py, procedurally provides a synthetic env context.
This env is a data-driven approach to configuring layered and managed env settings.

This env provides the hooks for DDC apps and/or standalone tools,
to configure acess to O3DE code (for boostrapping), safely retreive known paths, set/get developer flags, etc.

DccScriptingInterface\Tools\Dev\Windows\

This is a .bat file based version of the default env context for development on windows.
This is what we use to boot the default env context such that it is available, when launching a development tool such as a IDE.

This allows a developer to troubleshoot/debug code, like config.py

Other tools, can use config.py to stand up the env context.

What is in this folder ...

Core env modules
---------------------
Env_Core.bat 		: core access to O3DE and DCCsi
Env_Python.bat 		: access to O3DE python and general py configuration
Env_Qt.bat 		: access to O3DE Qt .dll files and PySide2

DCC add on envars
---------------------
Env_Maya.bat 		: configures Maya with code O3DE/DCCsi access
Env_Substance.bat 	: Configures Substance Designer

IDE env
---------------------
Env_WingIDE.bat 	: configures WingIDE for DCCsi development
Env_VScode.bat 		: configures VScode  for DCCsi development
Env_PyCharm.bat 	: configures PyCharm for DCCsi development

Launchers
---------------------
Launch_env_Cmd.bat 	: Starts a cmd with entire managed env context
                        : ^ allows use to validate env
                        : ^ display all default ENVAR plugs
                        : ^ allows user to test O3DE python + scripts from cmd
Launch_PyMin_Cmd.bat 	: Starts minimal cmd with O3DE python access only
                        : ^ for instance, test Dccsi\config.py like this:
                        : {DCCsi prommpt}>python config.py
Launch_Maya_2020.bat 	: Starts Maya2020 within managed env context
Launch_WindIDE-7-1.bat 	: Starts WingIDE  within managed env context

---------------------
Instructions: How to test the synthetic environment and settings externally

1. Run the cmd:   Launch_PyMin_Cmd.bat

        C:\Depot\o3de-engine\Gems\AtomLyIntegration\TechnicalArt\DccScriptingInterface>

2. Run command:>python config.py -dm=True -py=True -qt=True

What this does?
- runs the O3DE python exe
- starts the config.py which begins to procedurally create synthetic/dynamic environment (hooks)
- ^ this starts with DCCsi hooks
- enters 'dev mode'(-dm) and attempts to attach debugger (Wing IDE only for now, others planned)
- enables additional O3DE python hooks and code access
- ^ great for standalone tools, but you don't want that functionality to interfer with other DCC tools python environments (like Maya!)
- enables access to O3DE Qt .dlls and PySide2 python package support(-qt)
- ^ great for standalone PySide2 which can operate outside of the O3DE editor