Skip to content

gregfeingold/HouseofCards

Repository files navigation

House of Cards

A visionOS immersive experience that visualizes Radiohead's "House of Cards" LIDAR point cloud data synchronized with the song.

The original music video was the first ever made entirely with LIDAR and structured light scanners — no cameras. This app brings that data into Apple Vision Pro as a fully immersive 3D point cloud experience.

Features

  • Immersive point cloud rendering using RealityKit's LowLevelMesh for efficient single-draw-call rendering of ~12,000 points
  • Six choreographed segments synchronized to the 4:33 track:
    • Intro face loop, performance close-up, city tour, cul-de-sac tour, face tour, and dissolution
  • Dandelion dissolution effect — edge points peel away first, interior points follow, with per-point velocity and quadratic acceleration
  • Smooth color transitions — cyan gradient blends into a cold spectrum (blue → purple → teal → icy white → violet) during the final minute
  • Timeline scrubbing — slider control to jump to any point in the experience

Setup

  1. Open HouseOfCards.xcodeproj in Xcode 16+
  2. Add the audio file: Place the MP3 of "House of Cards" at HouseOfCards/Resources/house_of_cards.mp3. Audio files are excluded from the repo via .gitignore.
  3. Build and run on Apple Vision Pro or the visionOS Simulator

Architecture

HouseOfCards/
├── Models/
│   ├── LIDARPoint.swift          # Point data model with coordinate conversion
│   ├── PointCloudFrame.swift     # Single frame of LIDAR data
│   ├── FrameMetadata.swift       # Frame metadata
│   ├── TimelineAct.swift         # Timeline segment definitions
│   └── VideoScene.swift          # Scene configuration
├── Rendering/
│   ├── PointCloudRenderer.swift  # LowLevelMesh quad-per-point renderer
│   └── PointCloudMaterial.swift  # Intensity-based point sizing
├── Services/
│   ├── TimelineChoreographer.swift   # Maps playback time → segment/frame/progress
│   ├── DissolutionAnimator.swift     # Pre-computed dandelion dissolution effect
│   ├── FrameCache.swift              # Frame data cache
│   ├── CSVParser.swift               # LIDAR CSV data parser
│   ├── CoordinateConverter.swift     # Coordinate system utilities
│   └── LIDARDownloadManager.swift    # Downloads LIDAR data from Google Code archive
├── ViewModels/
│   └── ImmersiveViewModel.swift  # Main playback logic and state management
└── Views/
    ├── ImmersiveView.swift       # RealityKit immersive space
    ├── ImmersiveControlsView.swift   # Playback slider and controls
    ├── ControlsWindowView.swift      # Controls window container
    └── DownloadView.swift            # Data download progress UI

Data Source

LIDAR point cloud data from the Radiohead "House of Cards" Google Code project — the open-source dataset released alongside the original 2008 music video.

Requirements

  • Xcode 16+
  • visionOS 2.0+
  • Apple Vision Pro (or visionOS Simulator)

About

House of Cards for Apple Vision Pro

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages