Skip to main content

JSON-Schema & taxonomy for Fulldome pipelines

Project description

Fulldome 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

๐Ÿ“ Project Structure

fulldome-schema-suite/
โ”œโ”€โ”€ 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.0.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.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for immerschema-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b777c75bf22225ed02f511517ed3837c6126ec2b3090d046822432fde5b46336
MD5 9fbcd126b32c1c54cfab85453edbc0ac
BLAKE2b-256 331f84a98a94d8d9d7a42e446f6240884dac4eae2de8e15b38a759129f9ae76c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for immerschema-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7553792ac40c843636334f60352345091a4bb393ff7738977390811eea0ec470
MD5 ba767ad1a7b302a3060081702eb97c9d
BLAKE2b-256 4229d9f522ae9514c55e98859cd5adc93085f72fabce7fc7077c84b9213b1078

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