Three.js är ett JavaScriptbibliotek för att skapa och visa 3D-datorgrafik. Källkoden för Three.js finns tillgänglig på GibHub för andra programmerare att använda – samt bidra till utveckligen av biblioteket. Som projektarbete i kursen TNM061 arbetade jag, Erik Åkesson, Emma Nilsson och Tobias Olsson för att skapa ett bidrag till kodbasen.
I Three.js finns olika hjälpverktyg som visualiserar vad och varför något händer i en scen. Exempelvis fanns hjälpverktygen Axishelper och Spotlighthelper tillgängliga redan. En Transformhelper, som vi kom att kalla vår helper, sakandes. Vi bestämde att syftet för en sådan helper skulle vara att visualisera vilka transformationer som tillämpats för ett objekt. Detta skulle vara användbart i t ex en situation när man inte förstår varför ett objekt roterar på ett oönskat sätt. Med vår helper skulle det bli tydligt vad som försigår, kanske att objektet i fråga är ett child-object till ett annat objekt som i sin tur roterar.
Det var en rolig och nyttig utmaning att anpassa egen kod till ett redan existerande API. Efter projektet sa vi att vi skulle ta tag i att pusha upp koden till den officiella kodbasen – när vi städat upp lite så koden är effektiv, buggfri och läsbar, det är väl snarare den uppgiften vi har pushat upp lite 😉