Rabbit Ear Origami, tarayıcıda programlanabilir origami modelleri oluşturmayı sağlayan bir JavaScript kütüphanesidir. Bu kütüphane, kağıt katlama sanatının dijital bir temsilini sunarak, gerçek dünyadaki katlama kurallarını taklit eder. ear.origami() nesnesi, katlanabilir bir kağıt parçasını temsil eder ve flatFold(line) gibi metodlarla katlama işlemleri gerçekleştirir. Mevcut durumda tüm katmanları içeren bir vadi katlaması (valley fold) yapılabilmekte olup, gelecekte ters katlama (reverse fold), ezme (squash) ve pedal gibi daha gelişmiş katlama türlerinin de eklenmesi planlanmaktadır. Katlama yönü, çizginin vektörüne göre saat yönünün tersi olarak belirlenir.
Kütüphane ayrıca, ear.cp() (crease pattern) sınıfı ile kullanıcıların düz bir tuval üzerinde serbestçe katlama desenleri çizmelerine olanak tanır. Bu özellik, ticari vektör tabanlı tasarım yazılımlarına bir alternatif olmayı hedefler ve katlanabilirlik kurallarını dayatmadan yaratıcılığı teşvik eder. cp.segment() veya cp.rect() gibi metodlarla şekiller çizildikten sonra, mountain() veya valley() gibi zincirlenebilir metodlarla kenarların özellikleri belirlenebilir. Kütüphane, çizim sırasında planarlığı koruyarak bazı karmaşık detayları otomatik olarak yönetir.
Origami sanatının temelini oluşturan yedi origami aksiyomu, ear.axiom() metodu aracılığıyla dijital ortamda uygulanabilir. Bu aksiyomlar, belirli nokta ve çizgi kombinasyonları kullanarak hassas katlama çizgileri oluşturmanın farklı yollarını sunar. ear.axiom() metodu, bir veya daha fazla çizgi döndürerek, bu çizgilerin daha sonra katlama işlemleri için girdi olarak kullanılmasını sağlar. Kütüphane, her bir origami modelini temel bir FOLD nesnesi olarak ele alır ve bu nesneler, graph adı verilen bir üst sınıftan miras alır. Ayrıca, Origami Simulator ile 3D görselleştirme imkanı da sunulmaktadır.
Bu kütüphane, geleneksel origami sanatını dijital ortama taşıyarak hem tasarımcılara hem de geliştiricilere karmaşık katlama desenlerini programatik olarak oluşturma ve görselleştirme imkanı sunuyor.