TDLidar
開發者工具
免費 · App內購買
Capture depth. Stream it. Now relive it in 3D.
TDLidar streams your iPhone's LiDAR and TrueDepth depth over NDI and OSC straight into TouchDesigner for live performance, projection mapping, and installation work. Version 8.0 adds a 3D camera on top of it.
New Features:
Point Cloud Photos
Freeze the live cloud into an interactive 3D capture
Orbit, pan and pinch-zoom with natural touch controls — a TouchDesigner-style 3D viewer on your phone
Tap to save a 3D model; hold to record an orbit video
Export to PLY (Files) and save orbit videos to Photos
Works on the rear LiDAR scanner or the front TrueDepth camera
Raw mode, in colour (Pro)
15 topographic colour maps, each with its own contour-line pattern
Adjustable line thickness and a global colour grade
Default look unchanged — colour is opt-in
Built for the stage
iPhone 16 Camera Control: drive live parameters from the hardware button, hands-free
Low-latency NDI depth + OSC tracking to TouchDesigner
Multiple devices on one network, each with a unique source name
Free to scan and stream. Pro unlocks Point Cloud Photos, topographic colour maps, HD output and the advanced controls.
App Features:
NDI Depth Streaming
Send the front TrueDepth or rear LiDAR feed over NDI in real time. Every depth mode — Environment, Face Detail, Raw, Point Cloud — runs on both cameras. 15 colormaps, raw depth mode, topographic banding, posterisation, depth clipping, and live HD upscale. Every visual setting changes the stream immediately, so you can dial in the look from the iPhone while the receiving machine renders.
OSC Tracking
ARKit body, face, and hand tracking streamed as OSC bundles to TouchDesigner. The body tracker is rebuilt on Apple's new 3D body-pose model with LiDAR depth fusion — your skeleton arrives in TD with proper metric depth, not a flat projection. Every hand landmark carries a Z value. Plus motion sensors (accelerometer, gyroscope, magnetometer, barometer, altitude), live audio analysis (FFT bands, levels, beat detection), and on-device speech transcription via SFSpeechRecognizer. All packaged into clean OSC namespaces with sensible defaults.
Point Cloud Streaming (Pro)
Send a real point cloud to TouchDesigner — Fixed Grid layout, adjustable density, point size, on-device viewer with X/Y/Z flip toggles, send-color on/off. Now works correctly on both the front and rear cameras.
Pro Features
HD upscale, extended LiDAR range, point cloud streaming, point cloud OSC, raw mode customisation, and the premium colormap pack. Available as a one-time lifetime purchase.
WHO IT'S FOR
VJs running live visuals — get a depth-aware camera into Resolume in under a minute.
Projection-mapping artists — drive masks and warps from real-world depth, not a flat camera.
AR / installation developers — prototype with ARKit body and face tracking sent straight into a TouchDesigner patch, no Xcode project required.
Streamers + content creators — depth alpha mattes for cleaner subject keying in OBS, no green screen.
WHY IT WORKS
• Real NDI® Advanced SDK — full bandwidth, low latency, no transcoding hop.
• On-device speech and audio analysis — nothing leaves your network.
• Built for live performance — every Pro setting can be changed mid-show without dropping the stream.
• No accounts, no telemetry, no analytics. Camera and microphone data stay on the phone or on your local network. Period.
REQUIREMENTS
iPhone with front TrueDepth camera or rear LiDAR scanner. iOS 18.6 or later. A receiver running NDI Tools, TouchDesigner, OBS with the NDI plug-in, or any NDI-aware app on the same network.
Download TDLidar, plug your iPhone into your show, and stop fighting your tools.
TDLidar Pro is available as a $29.99 one-time lifetime purchase. No subscription.
更多 8.0.0 — Point Cloud Photos + topographic colour maps
Turn your iPhone's LiDAR into a 3D camera. This is the biggest TDLidar update yet.
Point Cloud Photos — a brand-new mode Freeze the live LiDAR cloud into a 3D "photo" and explore it from any angle: • One finger to orbit, two fingers to move, pinch to zoom — like a 3D viewer in your pocket • Tap the shutter to save a 3D model; hold it to record an orbit video while you move around the cloud • Re-open any capture in the built-in 3D viewer, then Save to Files as a PLY for Blender, TouchDesigner or any point-cloud tool • Orbit videos save straight to your Photos library
Raw mode topographic colour maps (Pro) Raw mode now speaks in colour. Choose from 15 depth colour maps — each one paints the depth field and draws its own topographic contour lines, from bold neon bands to fine scanner lines. Dial the line thickness in, keep your colour wheel for a global grade, and the classic green look is still the default.
iPhone 16 Camera Control On iPhone 16, the hardware Camera Control button scrolls live parameters without touching the screen — pick what it drives (colour map, line thickness, density and more) for hands-free, tripod-friendly performance.
Plus • Faster, cleaner depth across modes • Front-camera point clouds for devices without a rear scanner • Lots of stability and quality-of-life fixes
NDI and OSC streaming to TouchDesigner are unchanged and rock-solid. Update and start scanning.
8.0.0 2 天前
Bug fixes:
• Fixed Live Depth on iPhones without a rear LiDAR scanner — it now runs on the
front TrueDepth camera instead of getting stuck on a "LiDAR Required" screen.
Thanks for using TDLidar!
7.12.1 5月31日
v7.12.0 is the biggest TDLidar update since launch. Every depth mode now runs on either camera, the OSC body tracker has been rebuilt on Apple's 3D body-pose model, and the Point Cloud pipeline is finally robust on both cameras.
• Back-LiDAR parity. All four depth modes — Environment, Face Detail, Raw and Point Cloud — now work on both the front TrueDepth camera AND the rear LiDAR scanner. Earlier builds locked the back camera to Environment / Raw only. Switch cameras at any time, in any mode, mid-stream.
• 3D body OSC tracking. The OSC body tracker has been rebuilt on Apple's new 3D human body pose model. On LiDAR-equipped iPhones (12 Pro and later) the Z values are now real metric depth sampled from the scanner — the body skeleton arrives in TouchDesigner with proper depth, not a 2D projection. On non-LiDAR iPhones the tracker falls back to the prior 2D behaviour. A new in-mode toggle ("Fuse body depth") lets you turn LiDAR depth fusion off if you want the old behaviour for a project.
• Hand tracking with depth. Every hand landmark — wrist, thumb, index, middle, ring, little — now includes a Z value when LiDAR is available. A new `/tdlidar/body/hands/abs_depth` channel and `/tdlidar/body/hands/distance` channel let your TouchDesigner patch tell whether real depth is present per frame and what the mean hand distance is. The wire format extends in place; existing patches keep working.
• Twin depth bars in Body mode. Body OSC mode now shows two stacked green depth-bar indicators at the top of the screen — one for the body subject, one for the hands — auto-scaled to the session's largest observed range. Same readout style as Face mode.
• Point Cloud rebuilt. The Point Cloud pipeline has been collapsed to a single robust path (Fixed Grid) that works correctly on both cameras. The previous Expand and RealityKit-back modes have been retired — they had unfixed issues on the back camera (colour dropout, distribution picker disappearing). The on-device viewer's X-axis polarity has been corrected so the cloud reads upright by default on both cameras with the on-device flip toggle OFF.
• Local network permission gate. Tapping "Start NDI" now checks Local Network permission before opening the NDI sender. If permission is missing you get a clear in-app explainer with a direct link to Settings — no more silent failures where the stream looked alive on the phone but never reached TouchDesigner.
• HD resolution crash-safety. The HD output resolution slider now resets to the device-native default on every launch. The persisted-resolution path had let an overscaled setting carry into a session whose memory budget couldn't hold it, crashing the app at the next NDI start.
• UI + ergonomics. Performance section's rounded corner regression fixed. Body Mode settings sheet reorganised with cleaner Sub-Toggle groups. iPad scaling fixes so the on-screen UI fits the iPad-in-iPhone-mode canvas correctly. Camera Control hardware button bindings continue to ship for iPhone 15 Pro and later.
This release does not introduce any new permissions, third-party SDKs, network endpoints, or categories of data collection. Existing permissions are unchanged.
7.12.0 5月28日
Version 7.6.3 is a polish and performance release focused on the front-facing depth pipeline and the Tracking settings layout.
This release is a polish + performance update on top of the v7.6.2 baseline (currently shipping on the App Store). No new features that change permission scope, network behaviour, or third-party SDK usage. The four user-visible changes are:
a) Front-facing depth pipeline now holds 30 fps on iPhone 17 Pro Max. The TrueDepth sensor delivers at a nominal 30 Hz with ~1–2 ms natural per-frame jitter around the 33.33 ms ideal interval. The previous release used a strict `>=` time-throttle on the frame interval, which was rejecting every second frame whenever the next frame arrived a fraction of a millisecond early — silently halving the effective rate on the fastest delivery path. iPhone 16 Plus had less per-frame timing variance and didn't hit the same beat-frequency aliasing, which is why this regression only showed up on newer hardware. The throttle now allows a 3 ms tolerance band on the minimum interval. It never produces a frame above the user-selected target rate — verified with Target FPS = 15, the on-screen readout stays at 14–15 fps; it only stops the throttle aliasing the sensor's native delivery against its own boundary. Fix landed in `CaptureManager.swift` at lines 595–598 and was verified by Instruments trace on the user's own iPhone 17 Pro Max. Prior-build symptom: iPhone 17 Pro Max ran 18–21 fps in Face Detail, Environment and Raw modes while iPhone 16 Plus on the same code ran a steady 25–30 fps.
b) Tracking → Motion Shaping is now per-axis. The single "noise gate" slider has been replaced with Sensitivity (0–4×) and Noise Gate sliders for each of Accelerometer, Gyroscope, Compass, Barometer and Apple Watch — FIVE tabs in total. The layout uses the same tabbed-selector control approved in v7.5 NDI mode (Face / Env / Raw / PC). Each tab's title colour matches the on-screen oscilloscope's hue map so the user knows which trace they're shaping. Each tab has its own Reset button. All sliders persist across launches via UserDefaults.
c) Tracking → Audio Shaping is now grouped into sub-tabs. The previous flat list of audio sliders has been reorganised into FOUR tabs — Channels, Sensitivity, Clamp and Auto-Gain — for the same reasons as (b). Same persistence and Reset behaviour. The underlying audio analysis engine is unchanged. A small spacing issue on the Audio Channels toggle row was also corrected.
d) The "Camera RGB" colormap option has been removed from Face Detail and Environment modes. It was a legacy colormap that quietly kept the RGB camera path open while the user was streaming depth-only frames, costing battery and thermal headroom for almost no users. The RGB camera path is still active where it is actually needed — Pro Point Cloud streaming with the "Send Color" toggle on, and the front-camera Head Overlay mode (Pro). No public OSC or NDI payload has changed. This change NARROWS the camera data flow; it does not widen it.
Build hygiene — no new compiler warnings; deployment target unchanged at iOS 18.6 / watchOS 10.0; no new third-party SDKs; no new outbound network endpoints; no new permission prompts. Privacy posture and Info.plist keys are bit-identical to v7.6 / v7.6.1 / v7.6.2.
7.6.3 5月20日
Version 7.6.2 is a stability release focused on the Pro purchase flow, the Apple Watch companion, and the on-device Point Cloud preview.
• Fixed the offer-code Pro unlock loop. Users who redeemed a Pro lifetime offer code via App Store → Account → Redeem Gift Card or Code were getting prompted to sign in with their Apple ID over and over again on every Pro-feature tap, even after the code was applied. The app now reconciles entitlements silently using StoreKit's standard Transaction.currentEntitlements and Transaction.updates listener on launch and on every transaction event. The Apple ID sign-in sheet now only appears when you explicitly tap "Restore Purchases" — exactly as Apple's docs require.
• Apple Watch companion: data now actually reaches TouchDesigner. The watch motion bundle, heart rate, and Digital Crown stream live to the paired iPhone over WatchConnectivity and are republished as OSC under /tdlidar/motion/watch/* alongside the phone's own IMU channels — same OSC In CHOP in your TouchDesigner patch.
• Watch motion send rate dropped from 50 Hz to a steady 30 Hz to match the phone's display tick and stay well clear of WatchConnectivity's interactive-message rate limit. Heart-rate path now requests workout-write authorization too, so the underlying HKWorkoutSession actually runs and HKLiveWorkoutDataSource delivers heart-rate samples instead of failing silently on watchOS 10+.
• OSC sender is now reliable while the watch is sending live frames. The previous build tore down and rebuilt the UDP socket on every incoming watch packet, which destabilised the motion stream too. Fixed.
• Point Cloud viewer reverted to a fixed front-on preview, matching the v7.5 behaviour many users asked for. Removed the orbit / pinch / 3-finger gesture stack that was eating the 1-finger swipe-up-to-Settings gesture (a few users got stuck in Point Cloud mode and could not open Settings).
• Pro users get new Settings controls for the Point Cloud viewer: Viewer FOV slider (20° telephoto → 120° wide-angle) and per-axis Flip X / Y / Z toggles. The flips mirror the on-screen preview only — the underlying /tdlidar/cloud OSC payload is bit-identical to v7.6.1, so TouchDesigner patches built against the previous stream keep working unchanged.
• Better in-app messaging on Restore Purchases for users who redeemed offer codes on the wrong Apple ID.
No new system permissions are required for this update.
7.6.2 5月17日
Version 7.5 sharpens the streaming experience and the controls that drive it.
• New lightswitch icon in the top bar. One tap flips between NDI streaming and OSC tracking — the old tab bar is gone, and the OSC switch has been removed from Settings so the mode change lives where you actually need it.
• Smooth cross-fade between colormaps. Cycling through depth color presets now blends from one to the next instead of snapping, so live audiences don't see a hard cut when you change looks.
• Manual NDI Wired toggle in Performance settings. Flip it on when the iPhone is plugged into a host with Personal Hotspot enabled — the Start NDI button updates to show you're going out over the cable.
• Resolution display fix. The on-screen resolution pill now updates immediately when you switch HD modes mid-session — no more stale numbers when you reach for higher quality.
• Flip Z toggle restored in Fixed Grid Point Cloud mode. Auto-flip stays on by default so depth still reads correctly out of the box; flipping the toggle on overrides it.
• Supercharge mode in Performance settings. Triples NDI buffer pool depth and pins a 100 MB resident scratch region so iOS doesn't compress the working set under load. Trades RAM for sustained FPS.
• Face Detail upgrades. Facial Detail slider now goes up to 5×, and a new Focus Point picker lets you center the depth band on the forehead, eyes, nose, mouth, or the whole face average — fixes a sharpness regression for users who liked the v7.1 look.
• HD Smoothing Strength slider in Filtering settings. Replaces the fixed Gaussian sigma with a 0–3 range so you can dial in just enough smoothing to hide the upscale stair-step without losing band-edge crispness.
• NDI SDK acknowledgements added. The Permissions / About area now includes the full NDI® attribution and license reference, satisfying the NDI SDK terms.
7.5 5月10日
TDLidar 7.1 is a polish + integration release on top of v7.0's TDLidar Pro launch.
NEW
• Point Cloud OSC density picker now goes up to 10000 points / frame.
• OSC tracker tab shows the active mode's OSC namespace (e.g. /tdlidar/face/) so you know exactly what to wire on the receiver.
• Speech mode requests microphone + speech-recognition permission ON the user's first Activate Speech tap (was firing silently in the background — some users were missing the dialog).
FIXED
• Changing the OSC IP / port in the Tracking settings now reconnects the live UDP socket immediately. Previously the active connection kept sending to the stale endpoint until the user toggled Stop / Start OSC.
• Speech transcription now ships on its own dedicated UDP port (9002) so it can be received by an OSC In DAT in TouchDesigner without colliding with the OSC In CHOP that handles the other tracking modes.
• RGB-color sampling on the Point Cloud / Head Overlay / RGB-mode encoders better aligns to the depth pixel (subtle vertical drift fix).
• Point Cloud viewer fullscreen , PiP no longer blanks during the transition (per-view sprite size tracking).
• Settings sheet remembers your last scroll position + the PiP fullscreen state so reopening returns you to where you left off.
• The mode picker in Settings (Env / Face / Raw / RGB) now cleanly cascades through Point Cloud + viewer state — no more orphaned PC mode after switching.
• Pro toggle is now consistent across all surfaces. The dev-only debug bypass that snuck into a TestFlight build is fully gone.
• TDLidar Pro: HD depth output, edge-preserving smoothing, six Pro colormaps, Point Cloud OSC streaming, Head Overlay mode, alpha-channel NDI, Raw-mode customization, on-device 3D point cloud viewer, PLY export.
• Per-mode "Activate" buttons for every OSC tracker — no auto-start, saves battery.
• Brand-new Raw mode (free).
• Swipe up anywhere to open Settings.
• Recording stability — recording + point-cloud streaming + NDI run together without freezing.
UNCHANGED FROM 6.1
• Real-time LiDAR / TrueDepth NDI streaming with 9 colormaps.
• On-device .mp4 recording with Photos export.
• PIP fullscreen + 60 fps frame-doubled output.
• Optional Apple Watch companion (heart rate + wrist motion → OSC).
• All six tracking modes (Body / Face / Hands / Motion / Audio / Speech).
7.1 5月5日
TDLidar 6.1 is a performance and polish release. The on-device preview is now near-instant, the rear LiDAR mode picks the right settings for you, and Pro iPhones with a rear LiDAR scanner can unlock higher-resolution depth modes that were previously hidden.
NEW - Rear-LiDAR auto-profile: Switching to the back camera now does three things automatically — locks Mode to Environment (the rear scanner is built for room-scale, not face-distance detail), pins frame rate at 60 fps, and loads the highest depth resolution your iPhone supports. Switching back restores your previous front-camera tuning. Mode and Frame Rate pickers in Settings disable themselves while the rear LiDAR is active, with inline explanations of why.
NEW - Higher-resolution depth on Pro iPhones: The Resolution picker now exposes every depth format your device supports. The previous 640x480 cap was an artifact of an internal capture-session preset; on iPhone 14 Pro and newer with the rear LiDAR scanner, additional formats can now appear. Older iPhones and the front TrueDepth sensor still see 640x480 because that's the sensor's native pixel count.
NEW - Camera-switch loading state: Switching between front TrueDepth and rear LiDAR is a multi-step reconfigure (session restart + format change + FPS change). A clean loading overlay now bridges the gap with directional copy ("Loading rear LiDAR profile…" / "Restoring front camera…") so the brief stall never looks like a freeze.
IMPROVED - Near-instant on-device preview: The picture-in-picture preview moved from a software CIImage → CIContext → CALayer pipeline (which did a GPU↔CPU round-trip every frame) to a direct GPU display path via AVSampleBufferDisplayLayer — the same pipeline AVCaptureVideoPreviewLayer uses internally. The PiP now tracks the camera-feed background within one frame instead of visibly lagging behind it.
IMPROVED - Multi-threaded depth processing: The rotate + colormap-LUT step in the depth pipeline is now parallelized across all available CPU cores via DispatchQueue.concurrentPerform, chunked by row stripes to amortize GCD scheduling. Several milliseconds back per frame on Pro iPhones, headroom that goes into the rest of the pipeline.
IMPROVED - Pixel-buffer pool for depth output: The single reusable output buffer was replaced with a 3-deep IOSurface-backed CVPixelBufferPool. With one buffer, the capture queue had to wait for the slowest consumer (PiP / side-by-side / recorder) to finish reading before writing the next frame; with a 3-deep ring it never waits. ~4 MB additional memory; zero pipeline stalls.
IMPROVED - Depth-priority synchronizer: Reordered the synchronized capture pipeline so depth is the master output ahead of paired RGB video. The synchronizer now fires the moment depth is ready instead of waiting for the next video tick — saves up to one frame of latency on every depth-only path.
UNCHANGED FROM 6.0:
On-device NDI recording with Photos export
PIP fullscreen mode (double-tap the preview)
60 fps frame-doubled NDI output option
Optional Apple Watch companion (heart rate + wrist motion → OSC)
Six tracking modes (Body / Face / Hands / Motion / Audio / Speech) over OSC
Dual NDI streams (TDLidar + TDLidar Camera) and side-by-side mode (TDLidar SBS)
9 depth colormaps on the NDI output
6.1 5月3日
TDLidar 6.0 adds on-device recording, fullscreen NDI preview, a 60 fps output option, and an optional Apple Watch companion app. Plus a polish pass on permissions, performance, and the OSC tab.
NEW - On-device NDI recording:
Tap the record button on the LiDAR page to capture the colormapped NDI output to an .mp4 file in the app's sandbox. Open the folder icon to browse your clips, preview them, then export specific recordings to your Photos library. Photos access is write-only — TDLidar never reads your existing photos. Your unused recordings stay private to the app.
NEW - PIP fullscreen mode:
Double-tap the picture-in-picture preview to expand the NDI output to fill the screen. Single-tap once to see the hint. Double-tap again to return to the docked PIP. Recording can start and stop in either layout, and continues across the transition.
NEW - 60 fps NDI output:
Settings → Performance now offers a 60 fps option. The depth sensor still captures at 30 fps natively, but the NDI stream advertises 60 fps with frame doubling so receivers expecting a 60 Hz clock get a clean schedule. No judder, no jumping.
NEW - Optional Apple Watch companion:
Install TDLidar Watch App from the Watch app on your iPhone (no watch required for the iOS app to work). The watch streams wrist orientation, accel, gyro, heart rate, and digital crown to your iPhone over Apple's `WCSession`, where they're republished as OSC under `/tdlidar/watch/*`.
NEW - Activate Model gate on Pose tab:
The YOLO body-pose model no longer runs the moment you swipe to the OSC page. Tap "Activate Model" when you're ready to track, and the model auto-stops when you swipe back to the LiDAR page. Saves Neural Engine cycles and keeps tab transitions smooth.
NEW - Motion sensitivity slider:
Settings → Motion includes a -20% / +20% noise-gate slider that filters per-axis idle jitter on accelerometer + gyroscope. The phone-on-table baseline is now visibly clean.
NEW - Apple Watch status section in OSC settings:
A live readout of Apple Watch reachability and last-update time, mirroring TDInput's pattern. Hidden when no watch is paired.
NEW - First-launch welcome screen:
Both the iOS app and the watch app open with a one-pane welcome that explains every permission TDLidar will request (Camera, Microphone, Speech Recognition, Photos, Motion, Health on watch) before iOS shows its consent alerts. Shown once, gated by an `@AppStorage` flag.
IMPROVED - Lower-latency NDI:
NDI senders now use `clock_video=false` for live-capture passthrough, eliminating the ~1-2 second buffer-then-emit lag. The PiP render moved off the capture queue so it can't stall the next NDI frame.
IMPROVED - Front-loaded permissions:
Microphone, Speech Recognition, and Motion & Fitness permission alerts now fire shortly after the camera prompt on first launch — no more mid-tab-swipe permission stalls.
IMPROVED - Apple depth filtering OFF by default:
Raw sensor data is now the default starting point for installations and analysis. Toggle in Settings → Filtering re-enables Apple's hole-fill on the fly.
REMOVED - Blob tracking:
The depth-blob tracker was removed in 6.0 — usage was low and it bloated the settings sheet. If you relied on it, please reach out and we'll publish a separate downstream tool.
UNCHANGED FROM 5.2:
* Dual NDI streams (TDLidar + TDLidar Camera) and side-by-side mode (TDLidar SBS).
* Six tracking modes (Body / Face / Hands / Motion / Audio / Speech) over OSC.
* 9 depth colormaps on the NDI output.
6.0 4月30日
TDLidar 5.1 is a full iPhone capture suite. Six tracking modes, nine depth colormaps, and live blob tracking on the LiDAR depth. (Point-cloud streaming is held back from this release for additional stability work — coming back in a follow-up.)
NEW - Six tracking modes (swipe right to the Tracking page):
Body - 17-keypoint pose, every iPhone
Face - 52 ARKit blend shapes + face transform
Hands - 21 landmarks per hand, 3D on LiDAR devices
Motion - accel, gyro, compass heading, barometer, altitude, battery at 50 Hz
Audio - bass / mid / high levels, beat detection, dynamics, 20-band FFT spectrum
Speech - on-device transcription (SpeechAnalyzer on iOS 26): per-word, partial, final
NEW - 9 depth colormaps on the NDI output: Black & White, Black Aqua White, Blue Red, Deep Sea, Color Spectrum, Incandescent, Heated Metal, Sunrise, Visible Spectrum. Switch any time without restarting the stream.
NEW - Live blob tracking on LiDAR depth: Connected-components labeling with frame-to-frame ID tracking, configurable depth slab, area constraints, blob revival within a time/distance window. OSC bundle padded to 10 slots so the receiving CHOP channel layout is stable. Fields match TouchDesigner's blobtrackTOP_Class verbatim.
NEW - Compass heading: True/magnetic heading and accuracy added to the Motion mode under /tdlidar/motion/heading. Uses CoreLocation with Location-When-In-Use only; no location data is recorded or transmitted.
UNCHANGED:
The original NDI depth stream stays exactly as it was on page 1 - now with a colormap picker.
Swipe to switch - camera, ARKit, and audio sessions never fight each other.
Under the hood:
AVAudioEngine + Accelerate / vDSP for the audio pipeline (FFT, spectral-flux beat detection, dynamics).
CoreLocation for compass heading.
Network framework for UDP/OSC streaming.
Throttled OSC counters so streaming never stalls UI input.
5.1 4月28日
Major release — TDLidar is now a full iPhone capture rig for TouchDesigner. The original NDI depth stream is unchanged on page 1. Swipe right for the new Tracking page.
NEW — TRACKING PAGE:
- Body tracking via on-device YOLO 17-keypoint pose, back camera. Works on every iPhone.
- Face tracking via ARKit ARFaceTrackingConfiguration — all 52 blend shapes plus the 4×4 face transform and lookAt point.
- Hand tracking via Vision VNDetectHumanHandPoseRequest on top of ARKit world tracking — 21 landmarks per hand, up to two hands. Auto-promotes to 3D coordinates on LiDAR-equipped iPhones.
- Motion mode streams accelerometer, gyroscope, magnetometer, barometric pressure, altitude, and battery at 50 Hz with no camera in use.
- Live skeleton, hand, and blend-shape overlays painted directly on the camera feed.
- Aspect-fill correction so overlays line up 1:1 with the visible image, not the cropped capture buffer.
NEW — OSC OUTPUT:
- Custom OSC encoder built on Apple's Network framework. UDP bundles to a user-configurable host:port (default 9000).
- Channels organised under /tdlidar/{body,face,hand,motion} with TouchDesigner-friendly naming. Drop in a single OSC In CHOP and four Select CHOPs to demux.
- Settings sheet with host, port, "Save & Test Ping" diagnostic, live message-rate counter.
- Local-network permission prompt fires on first appearance of the Tracking page so the dialog never blocks streaming.
NDI DEPTH STREAM (unchanged on page 1):
- Same Environment / Face Detail / Raw depth modes, same temporal smoothing, brightness/contrast/gamma controls, adaptive thermal throttling.
- Lifecycle-aware so the camera doesn't fight between pages — depth pauses when you swipe to tracking, resumes when you swipe back.
ENGINEERING:
- 17-keypoint YOLO pose model bundled, runs on Neural Engine via Core ML.
- ARKit body/face/hand engines isolated in separate ownership boundaries; only one camera session runs at a time.
- Throttled OSC counter updates so streaming never stalls TextField input in the settings sheet.
4.0 4月27日
TDLidar now supports the rear LiDAR scanner on Pro iPhones (iPhone 12 Pro and later). Switch between the front-facing TrueDepth camera and the back-facing LiDAR scanner directly from Settings — giving you longer range, wider field of view, and new creative possibilities for streaming depth data to TouchDesigner.
New "Use Back Camera (LiDAR)" toggle in Settings
Automatically detects if your device has a rear LiDAR scanner — option only appears on supported hardware
Depth resolution picker updates when switching cameras
About section now shows which sensor is active
3.0 4月4日
- Environment and Face Detail encoding pipelines rebuilt with Apple Accelerate (vDSP) — vectorized SIMD operations replace per-pixel scalar loops for normalization, contrast, brightness, and clipping
- Temporal smoothing uses hardware-accelerated exponential moving average (EMA) blending via vDSP_vintb
- NDI frame rate metadata now dynamically matches your configured FPS for correct timing in downstream receivers
- New loading screen on startup
- Dark mode interface for better visibility during use
- Cleaner settings design with improved button styling
- Live pulse indicator when streaming
2.0 3月30日
8.0.0 — Point Cloud Photos + topographic colour maps
Turn your iPhone's LiDAR into a 3D camera. This is the biggest TDLidar update yet.
Point Cloud Photos — a brand-new mode Freeze the live LiDAR cloud into a 3D "photo" and explore it from any angle: • One finger to orbit, two fingers to move, pinch to zoom — like a 3D viewer in your pocket • Tap the shutter to save a 3D model; hold it to record an orbit video while you move around the cloud • Re-open any capture in the built-in 3D viewer, then Save to Files as a PLY for Blender, TouchDesigner or any point-cloud tool • Orbit videos save straight to your Photos library
Raw mode topographic colour maps (Pro) Raw mode now speaks in colour. Choose from 15 depth colour maps — each one paints the depth field and draws its own topographic contour lines, from bold neon bands to fine scanner lines. Dial the line thickness in, keep your colour wheel for a global grade, and the classic green look is still the default.
iPhone 16 Camera Control On iPhone 16, the hardware Camera Control button scrolls live parameters without touching the screen — pick what it drives (colour map, line thickness, density and more) for hands-free, tripod-friendly performance.
Plus • Faster, cleaner depth across modes • Front-camera point clouds for devices without a rear scanner • Lots of stability and quality-of-life fixes
NDI and OSC streaming to TouchDesigner are unchanged and rock-solid. Update and start scanning.
更多 版本 8.0.0 2 天前
不收集資料 開發者不會從這個 App 收集任何資料。