meetup.20260824 - tixl3d/tixl GitHub Wiki
TiXL Meetup 2026-08-24 / SDF Text Blending, Particle Lifetimes & Anaglyph Stereo
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.
๐ 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
