Files
metaverseDubai/scripts/API_REFERENCE.md
2026-07-07 03:43:19 -07:00

479 lines
8.7 KiB
Markdown

# Scripts API Reference - Dubai Metaverse
## Overview
This document provides API reference for all automation scripts in the Dubai Metaverse project.
## Setup Scripts
### setup_project.sh
**Purpose**: Initialize project structure and configuration
**Usage**:
```bash
./scripts/setup/setup_project.sh
```
**Functions**:
- Initializes Git repository
- Sets up Git LFS
- Creates directory structure
- Validates prerequisites
**Exit Codes**:
- `0`: Success
- `1`: Error
### setup_ue5_project.sh
**Purpose**: Validate and configure Unreal Engine project
**Usage**:
```bash
./scripts/setup/setup_ue5_project.sh
```
**Functions**:
- Validates project structure
- Checks UE5 installation
- Verifies project settings
### create_ue5_project.sh
**Purpose**: Create Dubai Metaverse Unreal Engine project
**Usage**:
```bash
./scripts/setup/create_ue5_project.sh [PROJECT_NAME]
```
**Arguments**:
- `PROJECT_NAME` (optional): Project name (default: DubaiMetaverse)
**Functions**:
- Creates .uproject file
- Sets up Source directory structure
- Copies configuration files
- Generates project files
- Verifies Content directory
**Exit Codes**:
- `0`: Success
- `1`: Error
- `2`: Invalid arguments
- `3`: Missing dependencies
### verify_ue5_installation.sh
**Purpose**: Verify Unreal Engine 5.4 installation
**Usage**:
```bash
./scripts/setup/verify_ue5_installation.sh
```
**Functions**:
- Checks UnrealEditor binary exists
- Verifies version (5.4.x)
- Checks required plugins
- Reports installation size
**Exit Codes**:
- `0`: Installation verified
- `1`: Installation issues found
### setup_blockout.sh
**Purpose**: Display blockout level setup guide
**Usage**:
```bash
./scripts/setup/setup_blockout.sh
```
**Functions**:
- Displays blockout setup instructions
- Provides checklist
- Links to detailed documentation
## Installation Scripts
### install_ue5_5.4.1_auto.sh
**Purpose**: Automated installation of Unreal Engine 5.4.1
**Usage**:
```bash
./scripts/install_ue5_5.4.1_auto.sh
```
**Options**: None (fully automated)
**Functions**:
- Installs system dependencies
- Clones UE5.4.1 repository
- Builds Unreal Engine
- Creates launch script
**Exit Codes**:
- `0`: Success
- `1`: Error
**Output**:
- Unreal Engine installed to `~/UnrealEngine/`
- Launch script: `~/launch_ue5.sh`
### install_ue5_wsl.sh
**Purpose**: Install Unreal Engine 5.4 on WSL/Ubuntu
**Usage**:
```bash
./scripts/install_ue5_wsl.sh
```
**Similar to**: `install_ue5_5.4.1_auto.sh` but for 5.4 branch
## Validation Scripts
### validate_project.sh
**Purpose**: Validate project structure and configuration
**Usage**:
```bash
./scripts/validation/validate_project.sh
```
**Functions**:
- Checks directory structure
- Validates configuration files
- Verifies documentation
- Checks script standards
**Exit Codes**:
- `0`: All validations pass
- `1`: Validation failures found
### validate_assets.sh
**Purpose**: Validate asset naming and structure
**Usage**:
```bash
./scripts/validation/validate_assets.sh [directory]
```
**Arguments**:
- `directory` (optional): Directory to validate (default: Content/)
**Functions**:
- Validates naming conventions
- Checks folder structure
- Verifies asset organization
## Data Processing Scripts
### import_osm_data.py
**Purpose**: Import OpenStreetMap data for Dubai Marina
**Usage**:
```bash
python3 scripts/data/import_osm_data.py --output data/processed/dubai_marina_buildings.geojson
```
**Options**:
- `--output`: Output file path (required)
- `--area`: Bounding box coordinates (optional)
- `--verbose`: Enable verbose output
**Returns**: GeoJSON file with building footprints
**Dependencies**: `overpy`, `geojson`
### gis_to_unreal.py
**Purpose**: Convert GIS elevation data to Unreal terrain format
**Usage**:
```bash
python3 scripts/data/gis_to_unreal.py data/elevation/dubai_marina_dem.tif --output data/processed/terrain_heightmap.raw
```
**Options**:
- `--output`: Output file path (required)
- `--resolution`: Heightmap resolution (optional)
- `--scale`: Height scale factor (optional)
**Returns**: Raw heightmap file for Unreal Engine
**Dependencies**: `rasterio`, `numpy`
## Build Scripts
### package_build.sh
**Purpose**: Package project for distribution
**Usage**:
```bash
./scripts/build/package_build.sh [options]
```
**Options**:
- `-c, --config CONFIG`: Build configuration (Development/Shipping) [default: Shipping]
- `-p, --platform PLAT`: Platform (Windows/Linux) [default: Windows]
- `-o, --output DIR`: Output directory [default: Builds/]
- `-d, --dry-run`: Perform dry run
- `-v, --verbose`: Enable verbose output
- `-h, --help`: Show help
**Functions**:
- Cleans build artifacts
- Validates assets
- Packages project
- Creates distribution build
**Exit Codes**:
- `0`: Success
- `1`: Error
- `2`: Invalid arguments
### setup_pixel_streaming.sh
**Purpose**: Set up Pixel Streaming for cloud access
**Usage**:
```bash
./scripts/build/setup_pixel_streaming.sh [options]
```
**Options**:
- `-p, --port PORT`: Streaming port [default: 8888]
- `-s, --signaling PORT`: Signaling server port [default: 8888]
- `-d, --dry-run`: Perform dry run
- `-v, --verbose`: Enable verbose output
- `-h, --help`: Show help
**Functions**:
- Enables Pixel Streaming plugin
- Configures project settings
- Sets up signaling server
- Creates startup script
**Exit Codes**:
- `0`: Success
- `1`: Error
## Monitoring Scripts
### monitor_ue5_install.sh
**Purpose**: Monitor UE5 installation progress
**Usage**:
```bash
./scripts/monitor_ue5_install.sh
```
**Functions**:
- Checks installation status
- Shows build progress
- Displays disk usage
- Lists active processes
## Utility Scripts
### enhance_scripts.sh
**Purpose**: Check and enhance script syntax
**Usage**:
```bash
./scripts/enhance_scripts.sh
```
**Functions**:
- Validates script syntax
- Checks for common issues
- Suggests improvements
### generate_docs.sh
**Purpose**: Generate/validate documentation
**Usage**:
```bash
./scripts/generate_docs.sh
```
**Functions**:
- Validates documentation structure
- Checks for broken links
- Generates documentation index
### master_setup.sh
**Purpose**: Run all setup scripts in sequence
**Usage**:
```bash
./scripts/master_setup.sh
```
**Functions**:
- Runs project setup
- Validates installation
- Configures environment
## Python Scripts
### pcg_validation.py
**Purpose**: Validate PCG graph outputs
**Usage**:
```bash
python3 scripts/pcg_validation.py [options]
```
**Status**: Placeholder for Phase 2
### texture_validation.py
**Purpose**: Validate texture resolution and format
**Usage**:
```bash
python3 scripts/texture_validation.py [options]
```
**Status**: Placeholder for Phase 2
### lighting_validation.py
**Purpose**: Validate lighting setup and performance
**Usage**:
```bash
python3 scripts/lighting_validation.py [options]
```
**Status**: Placeholder for Phase 3
### performance_audit.py
**Purpose**: Audit performance metrics
**Usage**:
```bash
python3 scripts/performance_audit.py [options]
```
**Status**: Placeholder for Phase 4
### render_cinematic.py
**Purpose**: Automate Movie Render Queue rendering
**Usage**:
```bash
python3 scripts/render_cinematic.py [options]
```
**Status**: Placeholder for Phase 4
### automated_tests.py
**Purpose**: Run automated test suite
**Usage**:
```bash
python3 scripts/automated_tests.py [options]
```
**Status**: Placeholder for Phase 5
### npc_dialogue_api.py
**Purpose**: ChatGPT API integration for NPC dialogue
**Usage**:
```bash
python3 scripts/npc_dialogue_api.py [options]
```
**Status**: Optional feature
## Common Patterns
### Logging
All scripts use consistent logging:
```bash
log "INFO" "Message"
log "WARNING" "Warning message"
log "ERROR" "Error message"
log "SUCCESS" "Success message"
```
### Error Handling
Standard error handling:
```bash
error_exit "Error message" # Exits with code 1
warning "Warning message" # Logs warning, continues
```
### Exit Codes
Standard exit codes:
- `0`: Success
- `1`: General error
- `2`: Invalid arguments
- `3`: Missing dependencies
## Environment Variables
### UE_ROOT
Unreal Engine installation directory
- Default: `~/UnrealEngine` or `/opt/UnrealEngine`
- Used by: Build and packaging scripts
### PROJECT_ROOT
Project root directory
- Default: Parent of scripts directory
- Used by: All scripts
### LOG_FILE
Log file path
- Default: `$PROJECT_ROOT/logs/script_name.log`
- Used by: All scripts
## Dependencies
### System Dependencies
- `bash` 4.0+
- `python3` 3.8+
- `git` 2.0+
- `git-lfs` 2.0+
### Python Dependencies
See `requirements.txt`:
- `overpy` - OpenStreetMap data
- `geojson` - GeoJSON handling
- `rasterio` - GIS data processing
- `numpy` - Numerical operations
## See Also
- [Script Standards](STANDARDS.md) - Script development standards
- [Scripts README](README.md) - General scripts documentation
---
**Last Updated**: 2024