Skip to main content

JSON-Schema & taxonomy for Fulldome pipelines

Project description

Immersive Projects CG Pipeline Schema Suite

A JSON Schema designed to ensure consistent data structure across production pipelines.

๐ŸŒŸ Features

  • Core shot schema โ€“ validates every scene or sub-scene with detailed metadata
  • Project schema โ€“ wraps all shots for whole-show validation and global settings
  • Enum packs โ€“ single source of truth for techniques, risk flags, screen zones, and more
  • Taxonomy packs โ€“ human-friendly categorization for UI components
  • LLM I/O schema โ€“ guarantees safe, auditable AI edits
  • Comprehensive examples โ€“ real-world usage patterns and edge cases
  • Automated testing โ€“ full validation suite with edge case coverage
  • ESM/CommonJS Support โ€“ dual module format support for modern Node.js environments

๐Ÿ“ฆ Installation

# npm
npm install immerschema@1.0.7

# pip
pip install immerschema==1.0.7

๏ฟฝ๏ฟฝ Project Structure

immerschema/
โ”œโ”€โ”€ schemas/                    # Core JSON Schema files
โ”‚   โ”œโ”€โ”€ core.schema.json       # Individual shot validation
โ”‚   โ”œโ”€โ”€ project.schema.json    # Project-level validation
โ”‚   โ”œโ”€โ”€ enum/                  # Enumeration schemas
โ”‚   โ”‚   โ”œโ”€โ”€ technique.enum.json
โ”‚   โ”‚   โ”œโ”€โ”€ screenzone.enum.json
โ”‚   โ”‚   โ”œโ”€โ”€ riskflag.enum.json
โ”‚   โ”‚   โ”œโ”€โ”€ role.enum.json
โ”‚   โ”‚   โ””โ”€โ”€ software.enum.json
โ”‚   โ”œโ”€โ”€ ext/                   # Extension schemas
โ”‚   โ”œโ”€โ”€ io/                    # Input/Output schemas
โ”‚   โ””โ”€โ”€ taxonomy/              # Taxonomy definitions
โ”œโ”€โ”€ examples/                   # Comprehensive examples
โ”‚   โ”œโ”€โ”€ simple_project.json    # Minimal valid project
โ”‚   โ”œโ”€โ”€ comprehensive_project.json  # Full-featured project
โ”‚   โ”œโ”€โ”€ ai_generated_shot.json # AI-focused techniques
โ”‚   โ”œโ”€โ”€ live_action_shot.json  # Photography/live-action
โ”‚   โ””โ”€โ”€ audio_reactive_shot.json    # Audio-reactive content
โ”œโ”€โ”€ test/                      # Test files and validation
โ”‚   โ”œโ”€โ”€ test_project.json      # Legacy test project
โ”‚   โ”œโ”€โ”€ test_shot.json         # Legacy test shot
โ”‚   โ”œโ”€โ”€ validation_tests.json  # Comprehensive validation tests
โ”‚   โ””โ”€โ”€ edge_cases.json        # Edge cases and boundary tests
โ””โ”€โ”€ scripts/
    โ””โ”€โ”€ test_runner.js         # Automated test runner

๐Ÿš€ Quick Start

Installation

# Install dependencies
npm install

# Or install AJV globally for command-line validation
npm run install-global-ajv

Basic Validation

# Validate a shot against core schema
ajv validate -s schemas/core.schema.json -d examples/simple_shot.json

# Validate whole project
ajv validate -s schemas/project.schema.json -d examples/simple_project.json

# Run all automated tests
npm test

๐Ÿ“‹ Examples

Simple Project (Minimal Fields)

{
  "projectId": "simple-dome-001",
  "title": "Simple Fulldome Experience",
  "shots": [
    {
      "schemaVersion": "1.0.0",
      "id": "sc01-ss01",
      "index": 0,
      "scene": 1,
      "durationSec": 15,
      "voice": { "lang": "en", "text": "Welcome to the universe" },
      "screenZone": "full_dome",
      "primaryTechnique": "cgi_3d_pre_render"
    }
  ]
}

Advanced Shot (All Features)

Our comprehensive examples demonstrate:

  • AI-Generated Content: Using AI image/video techniques with proper copyright flagging
  • Live Action: Macro photography with timelapse and proper talent releases
  • Audio-Reactive: Music visualization with safety considerations for volume and seizures
  • Complex Workflows: Multi-department task management and crew coordination

See the examples/ directory for complete implementations.

๐ŸŽฏ Available Techniques

3D & CGI

  • cgi_3d_pre_render - Traditional pre-rendered 3D
  • cgi_3d_realtime - Real-time 3D rendering
  • volumetric_capture - Volume-based capture
  • photogrammetry - 3D reconstruction from photos

2D & Graphics

  • hand_drawn_2d - Traditional hand-drawn animation
  • vector_2d - Vector-based graphics
  • motion_graphics - Animated graphics and typography
  • info_graphics - Data visualization

Simulation & Procedural

  • procedural_geometry - Algorithm-generated shapes
  • particle_system - Particle-based effects
  • fluid_sim - Fluid dynamics simulation
  • smoke_fire_sim - Volumetric effects

AI & Machine Learning

  • ai_image - AI-generated imagery
  • ai_video - AI-generated video
  • style_transfer - AI style transformation

Live Action & Photography

  • live_action_plate - Live-action footage
  • macro_photography - Close-up photography
  • timelapse - Time-compressed sequences
  • stereo_3d_capture - Stereoscopic capture

Audio-Visual

  • audio_reactive - Audio-driven visuals
  • music_visualizer - Music visualization

๐Ÿ—บ๏ธ Screen Zones

Fulldome experiences can target specific areas of the dome:

Directional Zones

  • zenith - Top of dome
  • nadir - Bottom of dome (rare)
  • horizon_band - Eye-level band
  • upper_band / lower_band - Above/below horizon

Compass Directions

  • north, south, east, west
  • front, rear, left, right

Quadrants

  • upper_front_left, upper_front_right
  • upper_rear_left, upper_rear_right
  • lower_front_left, lower_front_right
  • lower_rear_left, lower_rear_right

Full Coverage

  • full_dome - Entire dome surface

โš ๏ธ Risk Flags

The schema includes comprehensive risk assessment:

Health & Safety

  • photosensitive_seizure - Flashing lights concern
  • motion_sickness - Camera movement issues
  • vertigo_trigger - Height/movement sensitivity
  • claustrophobia_trigger - Enclosed space anxiety
  • loud_volume - Hearing protection needed

Technical Risks

  • render_time_overrun - Computationally expensive
  • hardware_overheat - System stress concerns
  • sync_drift - Audio/visual synchronization
  • frame_drop_risk - Performance issues

Content & Legal

  • copyright_unverified - Rights clearance needed
  • ai_copyright_unclear - AI-generated content concerns
  • talent_release_missing - Model releases required
  • mature_themes - Adult content considerations

๐Ÿงช Testing & Validation

Automated Test Suite

Run the comprehensive test suite:

npm test

This validates:

  • All example files against their schemas
  • Edge cases and boundary conditions
  • Invalid input detection
  • Enum value validation
  • Required field enforcement

Manual Testing

# Test individual files
ajv validate -s schemas/core.schema.json -d test/edge_cases.json

# Test with verbose output
ajv validate -s schemas/project.schema.json -d examples/comprehensive_project.json --verbose

Test Categories

  1. Validation Tests (test/validation_tests.json)

    • Minimal valid configurations
    • Invalid patterns and formats
    • Enum value testing
    • Task and people validation
  2. Edge Cases (test/edge_cases.json)

    • Boundary value testing
    • Unicode content support
    • Maximum complexity scenarios
    • Error condition validation

๐Ÿ‘ฅ Team Roles

The schema supports comprehensive crew management:

Creative Roles

  • Director, Producer, Writer
  • StoryboardArtist, ConceptArtist

Technical Roles

  • VFXSupervisor, CGSupervisor, PipelineTD
  • Modeler, TextureArtist, Rigger, Animator
  • LightingTD, Compositor, TouchDesignerDeveloper

Audio Roles

  • Composer, SoundFXDesigner, AudioEngineer, VOActor

Post Production

  • Editor, Colorist, QA

Custom Roles

Use "role": "other" with "customRole": "Your Custom Title" for specialized positions.

๐Ÿ› ๏ธ Software Pipeline

Track software usage across the project:

3D & Animation

  • Houdini, Blender, Maya, Cinema4D

Real-time Engines

  • Unreal, Unity, Notch, TouchDesigner

Compositing & Editing

  • AfterEffects, Nuke, DaVinciResolve

Rendering

  • Redshift, Octane, Arnold, VRay

AI Tools

  • StableDiffusion, Midjourney, RunwayGen2, Veo

Audio

  • Ableton, ProTools, Reaper

Project Management

  • ShotGrid, FTrack, git

๐Ÿ“– Contributing

  1. Schema Changes: Bump schemaVersion (SemVer) for any breaking changes
  2. Documentation: Update CHANGELOG.md for all modifications
  3. Testing: Run npm test before submitting changes
  4. Examples: Add examples for new features or use cases
  5. Pull Requests: All changes require peer review

Development Workflow

# Install dependencies
npm install

# Run tests during development
npm test

# Validate specific examples
npm run validate-shot examples/ai_generated_shot.json
npm run validate-project examples/comprehensive_project.json

๐Ÿ“„ License

MIT License - see LICENSE file for details.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

immerschema-1.0.7.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

immerschema-1.0.7-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file immerschema-1.0.7.tar.gz.

File metadata

  • Download URL: immerschema-1.0.7.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for immerschema-1.0.7.tar.gz
Algorithm Hash digest
SHA256 a813a8378573eb61b1efb1ee63b6eaaf6436ba609ad464b841a4a80192b90883
MD5 1f9c26819f46dc707f642b13f1ddca42
BLAKE2b-256 bce2146913a6e63b224a48d42fbb9de74405ede1ab6b781cd76b0d24b1518c0e

See more details on using hashes here.

File details

Details for the file immerschema-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: immerschema-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for immerschema-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f553f6c480a58a1c31815bda4a2cffb748d5acafecf6184ab8c8ce89e355ec93
MD5 94f46b1d97b86229af75b65f2faf21e9
BLAKE2b-256 32dff7af98132add8c51c60c16a3cc8ed360ee02696ac701d7fdeb224b5f2a78

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page