meetup.20260824 - tixl3d/tixl GitHub Wiki

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