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
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 3Dcgi_3d_realtime- Real-time 3D renderingvolumetric_capture- Volume-based capturephotogrammetry- 3D reconstruction from photos
2D & Graphics
hand_drawn_2d- Traditional hand-drawn animationvector_2d- Vector-based graphicsmotion_graphics- Animated graphics and typographyinfo_graphics- Data visualization
Simulation & Procedural
procedural_geometry- Algorithm-generated shapesparticle_system- Particle-based effectsfluid_sim- Fluid dynamics simulationsmoke_fire_sim- Volumetric effects
AI & Machine Learning
ai_image- AI-generated imageryai_video- AI-generated videostyle_transfer- AI style transformation
Live Action & Photography
live_action_plate- Live-action footagemacro_photography- Close-up photographytimelapse- Time-compressed sequencesstereo_3d_capture- Stereoscopic capture
Audio-Visual
audio_reactive- Audio-driven visualsmusic_visualizer- Music visualization
๐บ๏ธ Screen Zones
Fulldome experiences can target specific areas of the dome:
Directional Zones
zenith- Top of domenadir- Bottom of dome (rare)horizon_band- Eye-level bandupper_band/lower_band- Above/below horizon
Compass Directions
north,south,east,westfront,rear,left,right
Quadrants
upper_front_left,upper_front_rightupper_rear_left,upper_rear_rightlower_front_left,lower_front_rightlower_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 concernmotion_sickness- Camera movement issuesvertigo_trigger- Height/movement sensitivityclaustrophobia_trigger- Enclosed space anxietyloud_volume- Hearing protection needed
Technical Risks
render_time_overrun- Computationally expensivehardware_overheat- System stress concernssync_drift- Audio/visual synchronizationframe_drop_risk- Performance issues
Content & Legal
copyright_unverified- Rights clearance neededai_copyright_unclear- AI-generated content concernstalent_release_missing- Model releases requiredmature_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
-
Validation Tests (
test/validation_tests.json)- Minimal valid configurations
- Invalid patterns and formats
- Enum value testing
- Task and people validation
-
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,WriterStoryboardArtist,ConceptArtist
Technical Roles
VFXSupervisor,CGSupervisor,PipelineTDModeler,TextureArtist,Rigger,AnimatorLightingTD,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
- Schema Changes: Bump
schemaVersion(SemVer) for any breaking changes - Documentation: Update CHANGELOG.md for all modifications
- Testing: Run
npm testbefore submitting changes - Examples: Add examples for new features or use cases
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file immerschema-1.0.6.tar.gz.
File metadata
- Download URL: immerschema-1.0.6.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63e1b413482574a9edf258fd582e00a06c8452beca05f5f5961eccb5c7376711
|
|
| MD5 |
0034ecd523c98209acff686d1c41797a
|
|
| BLAKE2b-256 |
568fbbe810a328b64661a53e134209af934f9019aa1771b128f387907308c03a
|
File details
Details for the file immerschema-1.0.6-py3-none-any.whl.
File metadata
- Download URL: immerschema-1.0.6-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad4865569221843011e36e301678e45c139e9f931d197faa53a71447c042d078
|
|
| MD5 |
be3ede5c2bf55e380bb27e23b33ba8f5
|
|
| BLAKE2b-256 |
03929d76cc872a169cbef538ab2050853c64ebb6fe4ace61addede06719ca5f6
|