Skip to content

bharathadolf/studioTerminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 Burra Paadu VFX Studio - Core Shell

Python Platform Status

Welcome to the Burra Paadu VFX Studio Core Shell, a specialized terminal environment designed to streamline workflows for artists, supervisors, and pipeline TDs. This shell provides a role-based command interface, automated DCC (Digital Content Creation) application discovery, and system diagnostics.


🚀 Features

🎭 Role-Based Access Control (RBAC)

The shell adapts its capabilities based on the user's assigned role. Security and workflow integrity are maintained by restricting commands to specific roles.

Role Description Key Permissions
Artist Standard user Basic navigation (ls, cd, pwd), clear, help
Supe Supervisor All Artist commands + assign, showuser
Pipe Pipeline TD All Supe commands + get_user
Rnd R&D Developer All Pipe commands + Debugging tools
Master Administrator Full system access, including userinfo and role switching

🛠️ Core Commands

  • run <program>: Launch external programs in the background while keeping the shell active.
  • dcc: Automatically scans and lists installed DCC applications (Maya, Nuke, Blender, etc.).
  • userinfo: Generates detailed system and user reports (HTML/JSON/TXT).
  • assign: Manage user roles and permissions (Supervisors+).
  • showuser: List all users and their current roles.

⚡ Automated Startup

On launch, the system performs a "Unified Startup Process":

  1. DCC Scanning: Auto-detects installed VFX software and generates a configuration YAML.
  2. User Profiling: Generates persistent user info reports to Data/roles/<user_id>/.

📂 Project Structure

Termina/
├── Data/
│   ├── roles/
│   ├── roles_config.json
│   └── users_config.json
├── Docs/
│   └── README.md
├── Terminal/
│   ├── commands/
│   │   ├── basic.py
│   │   ├── dcc.py
│   │   └── userInfo.py
│   ├── core/
│   │   ├── session.py
│   │   ├── shell.py
│   │   └── startup_processes.py
│   ├── ui/
│   │   └── banner.py
│   └── utils/
└── main.py

💻 Usage

Starting the Shell

Run the main.py entry point:

python main.py

Basic Navigation

[artist][studio]$ ls        # List files
[artist][studio]$ cd Data   # Change directory
[artist][studio]$ clear     # Clear screen (preserves banner!)

Running Background Tasks

[master][studio]$ run notepad.exe
Started process 1234: notepad.exe

Managing Processes

[master][studio]$ quit      # Kill last process
[master][studio]$ quit --all # Kill all background processes

🎨 Visuals

The terminal features a rich UI powered by the rich library, including:

  • Startup Banner: A cinematic "BURRA PAADU VFX STUDIO" header.
  • Colored Output: Command results, errors, and tables are color-coded for readability.
  • Progress Bars: Visual feedback during system initialization and scanning.

🔧 Configuration

  • Data/roles_config.json: Define command permissions per role.
  • Data/users_config.json: Map user IDs to roles.

Built with ❤️ for the VFX Community.

About

Terminal for indie VFX Studio

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages