-
Notifications
You must be signed in to change notification settings - Fork 37
Pipeline Principles
Alexander Richter edited this page Dec 7, 2024
·
1 revision
- a pipeline is an agreement
- helps to focus on your task
- change and evolve
- can´t replace communication
(but minimize unnecessary ones)
- simple (code, user/script understanding)
- smart (complex and flexible but easy to understand)
- transparent (you understand how and why)
- performance (fast and easy loading & execution - no one should wait)
-
performance
- optimized core scripts
- git versioning
- only two configuration layers (project & user)
- multi OS but not parallel
-
reuse
- libraries
- parenting (lib, arUtil, software.py)
-
independent
- project
- relative paths
- software (maya, nuke, houdini ...)
- OS (windows, linux, mac)
-
scripts
- data - project dependent
- lib - independent scripts
- img - independent script images
- software - software dependent scripts and images
-
UI
-
Placement
UI files are in the script sub folder (ui/script.ui) -
Usability
As much care as into the process should go into handling it. -
Style
Consistent through all scripts while static styles are defined inside the .ui file. -
Parenting
arUtil: One ui to rule them all which adds basic functions and styles. -
simple & consistent
Same looking and handling -
keyboard driven
RETURN: Accept | ESC: Close - important must be first selected
- intuitive
- less is more in terms of interaction
-
Placement
-
versioning
- data - software version (Maya 2019, NukeX 12)
- git - scripts, plugins (no path redirecting)
-
understandable
- structure
- readability before complexity
- tooltips and help
- default UI and library functions
-
closed modular
- add | change | delete without breaking the whole pipeline
- pipeline tool first independent second
-
specific before general
- project data before pipeline
- user data before project (over writable)
-
explicit over implicit
Tank().get_data() (instead local get_data())
from PySide import QtGui (instead from PySide import *)
-
extras
- achievement
- surprise (quotes)
- hints (of how to use)
- instant help
Rights provide different ways to change settings in the pipeline.
-
admin (super): project independent admin.
- king of the hill (all projects)
-
pipeline (admin): project dependent admin + development extras
- change project, personal, pipeline settings
-
production (admin): project dependent admin
- change project, personal settings
-
user: restricted access
- change personal settings
scripts
scripts/plugins
- arUtil
- arDesktop
- arSave/arLoad
- arNotice
- arConfig
in development
- arSmartLoader
- arQualityChecker