Chris Price·Mar 2We’ve Got Pan/Tilt/Dimmer. The Fixture Has Twelve Channels. Uh Oh.The Victory Lap (But Like… a Small One)
Chris Price·Mar 1Compilation Day: Following One Template All the Way to an .xsq FileSo this is the payoff episode.
Chris Price·Mar 1Transitions: Hiding the Crime Scene Between Two TemplatesWhy Transitions Exist: Because Motors Aren’t Audio
Chris Price·Feb 28Timing & Phase: Making Four Fixtures Stop Acting Like One Big Nervous FixtureSo here’s the thing: four fixtures in perfect sync looks… fine.
Chris Price·Feb 28Dimmer: Teaching LEDs to Breathe Instead of BlinkSo far we’ve been obsessing over movement — pan, tilt, geometry, all the stuff that makes a rig look like it has intention.
Chris Price·Feb 27Movement: How to Sweep Without Slamming the Pan Into 0 Like a RoombaPart 4 was all about curve semantics — the part where we admitted that “0.5” means wildly different things depending on whether you’re…
Chris Price·Feb 27Waveforms: Because ‘Wiggle It’ Isn’t a Compiler OptionSo in Part 2 we got the fixtures pointed into a nice little CHEVRON_V. Everybody’s aimed. Nobody’s shining into the neighbor’s bedroom…
Chris Price·Feb 26Curve Semantics: The Part Where 0.5 Means ‘Don’t Move’ (And 0.5 Also Means ‘Half Bright’)So here’s the thing nobody tells you when you start generating “curves” for lighting:
Chris Price·Feb 26Point the Beams in a V, They Said. It’ll Be Easy, They SaidSo in Part 1 we stared into sweep_lr_chevron_breathe.py long enough that it started staring back.
Chris Price·Feb 25One Python Function, 40 Decisions: Dissecting a Template Without CryingSo in the intro (“The LLM Clocked Out. The Math Punched In.”), we ended with the planner cheerfully saying: