Skip to content
Thomas Mann edited this page Aug 25, 2026 · 1 revision

TiXL Meetup 2026-08-24 / SDF Text Blending, Particle Lifetimes & Anaglyph Stereo

← Prev

A 4h35m TiXL developer meet-up: blending text-based SDFs and their pitfalls, the new player export with shader caching, a particle session on lifetimes and attribute mapping (including a live bug hunt), dissecting an anaglyph stereo rig with live C# work on CamPosition, creating RemapVec3 on the spot, and the physical-space output-management board.

Introduction

🆕 new feature · 🛠️ improvement · 📘 operator · 📝 walkthrough · 🧠 deep dive · 🍿 showcase · 🎯 planned · 💬 discussion · ⚠️ heads-up

Chapters

  • 0:00 📝 Warm-up: text as a height-map field (HeightMapSdf)
  • 2:56 📝 Cropping and blending fields (CombineSDF, BlendSDFWithSDF)
  • 5:17 🧠 Why blended SDFs shrink: ill-formed distance fields
  • 7:30 📝 Looping a wipe with RepeatAxis
  • 11:49 📝 Proper 2D text SDFs via JumpFloodFill + Image2dSDF
  • 17:23 📝 Fast image inversion and teal-orange grades (Tint)
  • 22:05 ⚠️ Edge artifacts on texture-derived fields
  • 27:20 ⚠️ JumpFloodFill lacks signed distances
  • 30:00 📝 Caching expensive branches with HasIntChanged
  • 33:28 ⚠️ NoiseDisplaceSDF is expensive per raymarch step
  • 36:58 🆕 Player export: root wrapping, settings, stripping
  • 41:00 🆕 Shader caching: seconds instead of minutes
  • 51:05 🛠️ Alpha splash, soundtrack clips and player fixes
  • 58:42 🛠️ Auto-layout with G
  • 1:14:40 💬 Q&A: SDF text costs, VAT characters
  • 1:27:21 🧠 Particle lifetimes: TiXL vs. Unity's over-lifetime curves
  • 1:29:24 📝 Emitting along text outlines (LineTextPoints, ResampleLinePoints)
  • 1:35:10 ⚠️ Default emit velocity and auto-derived lifetime
  • 1:38:28 📝 Over-lifetime fades via F1 + MapPointAttributes
  • 1:41:17 📝 Sphere bursts, orientation axes and RepeatAtPoints
  • 1:48:39 📝 Hot emissive colors, AGX tone mapping and glow
  • 1:52:45 📘 AudioReaction: threshold, level, accumulated
  • 1:55:05 ⚠️ Hunting a lifetime wrap-around bug live
  • 1:58:35 🧠 NaN separator points and mapping over dead particles
  • 2:09:55 🍿 An anaglyph scene with mouse-tuned eye distance
  • 2:12:30 🧠 Stereo rigs: why ShiftCamera can't offset the eye
  • 2:16:20 📝 Rendering twice with Loop + context variables
  • 2:20:30 🧠 Eye separation vs. scene scale
  • 2:28:22 💬 Toward a proper stereo camera design
  • 2:31:20 📝 Packing the rig into a reusable symbol
  • 2:36:30 📝 Extending CamPosition with a camera reference (live C#)
  • 2:40:48 ⚠️ Stale variables and force-invalidation
  • 2:45:19 🧠 How invalidation and caching actually work
  • 2:59:12 🛠️ Console-log click behavior fixed
  • 3:03:08 💬 Texture filtering: context settings vs. parameters
  • 3:15:33 📝 Creating RemapVec3 live by duplicating RemapVec2
  • 3:22:20 ⚠️ Duplicated inputs need fresh GUIDs
  • 3:28:00 💬 Stylus support and a pen-input operator idea
  • 3:38:22 📝 Trigger-played video via StopWatch
  • 3:54:53 🎯 Output management: the physical-space board
  • 4:13:20 💬 Operators vs. board entities; sharable venue setups
  • 4:22:38 🧠 Composite outputs and resolution propagation
  • 4:29:24 💬 Masks, domes and wrap-up

Clone this wiki locally