;; -*- mode: scheme; -*-
;; Planet Fluxus Copyright (C) 2013 Dave Griffiths
;;
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU Affero General Public License as
;; published by the Free Software Foundation, either version 3 of the
;; License, or (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU Affero General Public License for more details.
;;
;; You should have received a copy of the GNU Affero General Public License
;; along with this program.  If not, see <http://www.gnu.org/licenses/>.

(define unit-cube-vertices
  (list
   -0.5  0.5 -0.5   0.5  0.5 -0.5  -0.5 -0.5 -0.5
    0.5 -0.5 -0.5   0.5  0.5 -0.5  -0.5 -0.5 -0.5
    0.5  0.5 -0.5   0.5  0.5  0.5   0.5 -0.5 -0.5
    0.5 -0.5  0.5   0.5  0.5  0.5   0.5 -0.5 -0.5
   -0.5  0.5  0.5   0.5  0.5  0.5  -0.5  0.5 -0.5
    0.5  0.5 -0.5   0.5  0.5  0.5  -0.5  0.5 -0.5
    0.5  0.5  0.5  -0.5  0.5  0.5   0.5 -0.5  0.5
   -0.5 -0.5  0.5  -0.5  0.5  0.5   0.5 -0.5  0.5
   -0.5  0.5  0.5  -0.5  0.5 -0.5  -0.5 -0.5  0.5
   -0.5 -0.5 -0.5  -0.5  0.5 -0.5  -0.5 -0.5  0.5
   -0.5 -0.5 -0.5   0.5 -0.5 -0.5  -0.5 -0.5  0.5
    0.5 -0.5  0.5   0.5 -0.5 -0.5  -0.5 -0.5  0.5))

(define unit-cube-normals
  (list
    0  0 -1   0  0 -1   0  0 -1
    0  0 -1   0  0 -1   0  0 -1
    1  0  0   1  0  0   1  0  0
    1  0  0   1  0  0   1  0  0
    0  1  0   0  1  0   0  1  0
    0  1  0   0  1  0   0  1  0
    0  0  1   0  0  1   0  0  1
    0  0  1   0  0  1   0  0  1
   -1  0  0  -1  0  0  -1  0  0
   -1  0  0  -1  0  0  -1  0  0
    0 -1  0   0 -1  0   0 -1  0
    0 -1  0   0 -1  0   0 -1  0))

(define unit-cube-texcoords
  (list
    0  1  0   1  1  0   0  0  0
    1  0  0   1  1  0   0  0  0
    0  1  0   1  1  0   0  0  0
    1  0  0   1  1  0   0  0  0
    0  1  0   1  1  0   0  0  0
    1  0  0   1  1  0   0  0  0
    0  1  0   1  1  0   0  0  0
    1  0  0   1  1  0   0  0  0
    0  1  0   1  1  0   0  0  0
    1  0  0   1  1  0   0  0  0
    0  1  0   1  1  0   0  0  0
    1  0  0   1  1  0   0  0  0))


(define sphere-vertices (js "[0.0, 1.0, 0.0, 0.0, 0.866, 0.5, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.866, 0.5, 0.3536, 0.866, 0.3536, 0.0, 1.0, 0.0, 0.3536, 0.866, 0.3536, 0.0, 1.0, -0.0, 0.0, 1.0, -0.0, 0.3536, 0.866, 0.3536, 0.5, 0.866, -0.0, 0.0, 1.0, -0.0, 0.5, 0.866, -0.0, 0.0, 1.0, -0.0, 0.0, 1.0, -0.0, 0.5, 0.866, -0.0, 0.3536, 0.866, -0.3536, 0.0, 1.0, -0.0, 0.3536, 0.866, -0.3536, -0.0, 1.0, -0.0, -0.0, 1.0, -0.0, 0.3536, 0.866, -0.3536, -0.0, 0.866, -0.5, -0.0, 1.0, -0.0, -0.0, 0.866, -0.5, -0.0, 1.0, -0.0, -0.0, 1.0, -0.0, -0.0, 0.866, -0.5, -0.3536, 0.866, -0.3536, -0.0, 1.0, -0.0, -0.3536, 0.866, -0.3536, -0.0, 1.0, 0.0, -0.0, 1.0, 0.0, -0.3536, 0.866, -0.3536, -0.5, 0.866, 0.0, -0.0, 1.0, 0.0, -0.5, 0.866, 0.0, -0.0, 1.0, 0.0, -0.0, 1.0, 0.0, -0.5, 0.866, 0.0, -0.3536, 0.866, 0.3536, -0.0, 1.0, 0.0, -0.3536, 0.866, 0.3536, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -0.3536, 0.866, 0.3536, 0.0, 0.866, 0.5, 0.0, 0.866, 0.5, 0.0, 0.5, 0.866, 0.3536, 0.866, 0.3536, 0.3536, 0.866, 0.3536, 0.0, 0.5, 0.866, 0.6124, 0.5, 0.6124, 0.3536, 0.866, 0.3536, 0.6124, 0.5, 0.6124, 0.5, 0.866, -0.0, 0.5, 0.866, -0.0, 0.6124, 0.5, 0.6124, 0.866, 0.5, -0.0, 0.5, 0.866, -0.0, 0.866, 0.5, -0.0, 0.3536, 0.866, -0.3536, 0.3536, 0.866, -0.3536, 0.866, 0.5, -0.0, 0.6124, 0.5, -0.6124, 0.3536, 0.866, -0.3536, 0.6124, 0.5, -0.6124, -0.0, 0.866, -0.5, -0.0, 0.866, -0.5, 0.6124, 0.5, -0.6124, -0.0, 0.5, -0.866, -0.0, 0.866, -0.5, -0.0, 0.5, -0.866, -0.3536, 0.866, -0.3536, -0.3536, 0.866, -0.3536, -0.0, 0.5, -0.866, -0.6124, 0.5, -0.6124, -0.3536, 0.866, -0.3536, -0.6124, 0.5, -0.6124, -0.5, 0.866, 0.0, -0.5, 0.866, 0.0, -0.6124, 0.5, -0.6124, -0.866, 0.5, 0.0, -0.5, 0.866, 0.0, -0.866, 0.5, 0.0, -0.3536, 0.866, 0.3536, -0.3536, 0.866, 0.3536, -0.866, 0.5, 0.0, -0.6124, 0.5, 0.6124, -0.3536, 0.866, 0.3536, -0.6124, 0.5, 0.6124, 0.0, 0.866, 0.5, 0.0, 0.866, 0.5, -0.6124, 0.5, 0.6124, 0.0, 0.5, 0.866, 0.0, 0.5, 0.866, 0.0, -0.0, 1.0, 0.6124, 0.5, 0.6124, 0.6124, 0.5, 0.6124, 0.0, -0.0, 1.0, 0.7071, -0.0, 0.7071, 0.6124, 0.5, 0.6124, 0.7071, -0.0, 0.7071, 0.866, 0.5, -0.0, 0.866, 0.5, -0.0, 0.7071, -0.0, 0.7071, 1.0, -0.0, -0.0, 0.866, 0.5, -0.0, 1.0, -0.0, -0.0, 0.6124, 0.5, -0.6124, 0.6124, 0.5, -0.6124, 1.0, -0.0, -0.0, 0.7071, -0.0, -0.7071, 0.6124, 0.5, -0.6124, 0.7071, -0.0, -0.7071, -0.0, 0.5, -0.866, -0.0, 0.5, -0.866, 0.7071, -0.0, -0.7071, -0.0, -0.0, -1.0, -0.0, 0.5, -0.866, -0.0, -0.0, -1.0, -0.6124, 0.5, -0.6124, -0.6124, 0.5, -0.6124, -0.0, -0.0, -1.0, -0.7071, -0.0, -0.7071, -0.6124, 0.5, -0.6124, -0.7071, -0.0, -0.7071, -0.866, 0.5, 0.0, -0.866, 0.5, 0.0, -0.7071, -0.0, -0.7071, -1.0, -0.0, 0.0, -0.866, 0.5, 0.0, -1.0, -0.0, 0.0, -0.6124, 0.5, 0.6124, -0.6124, 0.5, 0.6124, -1.0, -0.0, 0.0, -0.7071, -0.0, 0.7071, -0.6124, 0.5, 0.6124, -0.7071, -0.0, 0.7071, 0.0, 0.5, 0.866, 0.0, 0.5, 0.866, -0.7071, -0.0, 0.7071, 0.0, -0.0, 1.0, 0.0, -0.0, 1.0, 0.0, -0.5, 0.866, 0.7071, -0.0, 0.7071, 0.7071, -0.0, 0.7071, 0.0, -0.5, 0.866, 0.6124, -0.5, 0.6124, 0.7071, -0.0, 0.7071, 0.6124, -0.5, 0.6124, 1.0, -0.0, -0.0, 1.0, -0.0, -0.0, 0.6124, -0.5, 0.6124, 0.866, -0.5, -0.0, 1.0, -0.0, -0.0, 0.866, -0.5, -0.0, 0.7071, -0.0, -0.7071, 0.7071, -0.0, -0.7071, 0.866, -0.5, -0.0, 0.6124, -0.5, -0.6124, 0.7071, -0.0, -0.7071, 0.6124, -0.5, -0.6124, -0.0, -0.0, -1.0, -0.0, -0.0, -1.0, 0.6124, -0.5, -0.6124, -0.0, -0.5, -0.866, -0.0, -0.0, -1.0, -0.0, -0.5, -0.866, -0.7071, -0.0, -0.7071, -0.7071, -0.0, -0.7071, -0.0, -0.5, -0.866, -0.6124, -0.5, -0.6124, -0.7071, -0.0, -0.7071, -0.6124, -0.5, -0.6124, -1.0, -0.0, 0.0, -1.0, -0.0, 0.0, -0.6124, -0.5, -0.6124, -0.866, -0.5, 0.0, -1.0, -0.0, 0.0, -0.866, -0.5, 0.0, -0.7071, -0.0, 0.7071, -0.7071, -0.0, 0.7071, -0.866, -0.5, 0.0, -0.6124, -0.5, 0.6124, -0.7071, -0.0, 0.7071, -0.6124, -0.5, 0.6124, 0.0, -0.0, 1.0, 0.0, -0.0, 1.0, -0.6124, -0.5, 0.6124, 0.0, -0.5, 0.866, 0.0, -0.5, 0.866, 0.0, -0.866, 0.5, 0.6124, -0.5, 0.6124, 0.6124, -0.5, 0.6124, 0.0, -0.866, 0.5, 0.3536, -0.866, 0.3536, 0.6124, -0.5, 0.6124, 0.3536, -0.866, 0.3536, 0.866, -0.5, -0.0, 0.866, -0.5, -0.0, 0.3536, -0.866, 0.3536, 0.5, -0.866, -0.0, 0.866, -0.5, -0.0, 0.5, -0.866, -0.0, 0.6124, -0.5, -0.6124, 0.6124, -0.5, -0.6124, 0.5, -0.866, -0.0, 0.3536, -0.866, -0.3536, 0.6124, -0.5, -0.6124, 0.3536, -0.866, -0.3536, -0.0, -0.5, -0.866, -0.0, -0.5, -0.866, 0.3536, -0.866, -0.3536, -0.0, -0.866, -0.5, -0.0, -0.5, -0.866, -0.0, -0.866, -0.5, -0.6124, -0.5, -0.6124, -0.6124, -0.5, -0.6124, -0.0, -0.866, -0.5, -0.3536, -0.866, -0.3536, -0.6124, -0.5, -0.6124, -0.3536, -0.866, -0.3536, -0.866, -0.5, 0.0, -0.866, -0.5, 0.0, -0.3536, -0.866, -0.3536, -0.5, -0.866, 0.0, -0.866, -0.5, 0.0, -0.5, -0.866, 0.0, -0.6124, -0.5, 0.6124, -0.6124, -0.5, 0.6124, -0.5, -0.866, 0.0, -0.3536, -0.866, 0.3536, -0.6124, -0.5, 0.6124, -0.3536, -0.866, 0.3536, 0.0, -0.5, 0.866, 0.0, -0.5, 0.866, -0.3536, -0.866, 0.3536, 0.0, -0.866, 0.5, 0.0, -0.866, 0.5, -0.0, -1.0, -0.0, 0.3536, -0.866, 0.3536, 0.3536, -0.866, 0.3536, -0.0, -1.0, -0.0, -0.0, -1.0, -0.0, 0.3536, -0.866, 0.3536, -0.0, -1.0, -0.0, 0.5, -0.866, -0.0, 0.5, -0.866, -0.0, -0.0, -1.0, -0.0, -0.0, -1.0, 0.0, 0.5, -0.866, -0.0, -0.0, -1.0, 0.0, 0.3536, -0.866, -0.3536, 0.3536, -0.866, -0.3536, -0.0, -1.0, 0.0, -0.0, -1.0, 0.0, 0.3536, -0.866, -0.3536, -0.0, -1.0, 0.0, -0.0, -0.866, -0.5, -0.0, -0.866, -0.5, -0.0, -1.0, 0.0, 0.0, -1.0, 0.0, -0.0, -0.866, -0.5, 0.0, -1.0, 0.0, -0.3536, -0.866, -0.3536, -0.3536, -0.866, -0.3536, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, -0.3536, -0.866, -0.3536, 0.0, -1.0, 0.0, -0.5, -0.866, 0.0, -0.5, -0.866, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, -0.0, -0.5, -0.866, 0.0, 0.0, -1.0, -0.0, -0.3536, -0.866, 0.3536, -0.3536, -0.866, 0.3536, 0.0, -1.0, -0.0, 0.0, -1.0, -0.0, -0.3536, -0.866, 0.3536, 0.0, -1.0, -0.0, 0.0, -0.866, 0.5, 0.0, -0.866, 0.5, 0.0, -1.0, -0.0, -0.0, -1.0, -0.0]"))
(define sphere-normals (js "[0.0, 1.0, 0.0, 0.0, 0.866, 0.5, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.866, 0.5, 0.3536, 0.866, 0.3536, 0.0, 1.0, 0.0, 0.3536, 0.866, 0.3536, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.3536, 0.866, 0.3536, 0.5, 0.866, -0.0, 0.0, 1.0, 0.0, 0.5, 0.866, -0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.5, 0.866, -0.0, 0.3536, 0.866, -0.3536, 0.0, 1.0, 0.0, 0.3536, 0.866, -0.3536, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.3536, 0.866, -0.3536, -0.0, 0.866, -0.5, 0.0, 1.0, 0.0, -0.0, 0.866, -0.5, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -0.0, 0.866, -0.5, -0.3536, 0.866, -0.3536, 0.0, 1.0, 0.0, -0.3536, 0.866, -0.3536, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -0.3536, 0.866, -0.3536, -0.5, 0.866, 0.0, 0.0, 1.0, 0.0, -0.5, 0.866, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -0.5, 0.866, 0.0, -0.3536, 0.866, 0.3536, 0.0, 1.0, 0.0, -0.3536, 0.866, 0.3536, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -0.3536, 0.866, 0.3536, 0.0, 0.866, 0.5, 0.0, 0.866, 0.5, 0.0, 0.5, 0.866, 0.3536, 0.866, 0.3536, 0.3536, 0.866, 0.3536, 0.0, 0.5, 0.866, 0.6124, 0.5, 0.6124, 0.3536, 0.866, 0.3536, 0.6124, 0.5, 0.6124, 0.5, 0.866, -0.0, 0.5, 0.866, -0.0, 0.6124, 0.5, 0.6124, 0.866, 0.5, -0.0, 0.5, 0.866, -0.0, 0.866, 0.5, -0.0, 0.3536, 0.866, -0.3536, 0.3536, 0.866, -0.3536, 0.866, 0.5, -0.0, 0.6124, 0.5, -0.6124, 0.3536, 0.866, -0.3536, 0.6124, 0.5, -0.6124, -0.0, 0.866, -0.5, -0.0, 0.866, -0.5, 0.6124, 0.5, -0.6124, -0.0, 0.5, -0.866, -0.0, 0.866, -0.5, -0.0, 0.5, -0.866, -0.3536, 0.866, -0.3536, -0.3536, 0.866, -0.3536, -0.0, 0.5, -0.866, -0.6124, 0.5, -0.6124, -0.3536, 0.866, -0.3536, -0.6124, 0.5, -0.6124, -0.5, 0.866, 0.0, -0.5, 0.866, 0.0, -0.6124, 0.5, -0.6124, -0.866, 0.5, 0.0, -0.5, 0.866, 0.0, -0.866, 0.5, 0.0, -0.3536, 0.866, 0.3536, -0.3536, 0.866, 0.3536, -0.866, 0.5, 0.0, -0.6124, 0.5, 0.6124, -0.3536, 0.866, 0.3536, -0.6124, 0.5, 0.6124, 0.0, 0.866, 0.5, 0.0, 0.866, 0.5, -0.6124, 0.5, 0.6124, 0.0, 0.5, 0.866, 0.0, 0.5, 0.866, 0.0, -0.0, 1.0, 0.6124, 0.5, 0.6124, 0.6124, 0.5, 0.6124, 0.0, -0.0, 1.0, 0.7071, -0.0, 0.7071, 0.6124, 0.5, 0.6124, 0.7071, -0.0, 0.7071, 0.866, 0.5, -0.0, 0.866, 0.5, -0.0, 0.7071, -0.0, 0.7071, 1.0, -0.0, -0.0, 0.866, 0.5, -0.0, 1.0, -0.0, -0.0, 0.6124, 0.5, -0.6124, 0.6124, 0.5, -0.6124, 1.0, -0.0, -0.0, 0.7071, -0.0, -0.7071, 0.6124, 0.5, -0.6124, 0.7071, -0.0, -0.7071, -0.0, 0.5, -0.866, -0.0, 0.5, -0.866, 0.7071, -0.0, -0.7071, -0.0, -0.0, -1.0, -0.0, 0.5, -0.866, -0.0, -0.0, -1.0, -0.6124, 0.5, -0.6124, -0.6124, 0.5, -0.6124, -0.0, -0.0, -1.0, -0.7071, -0.0, -0.7071, -0.6124, 0.5, -0.6124, -0.7071, -0.0, -0.7071, -0.866, 0.5, 0.0, -0.866, 0.5, 0.0, -0.7071, -0.0, -0.7071, -1.0, -0.0, 0.0, -0.866, 0.5, 0.0, -1.0, -0.0, 0.0, -0.6124, 0.5, 0.6124, -0.6124, 0.5, 0.6124, -1.0, -0.0, 0.0, -0.7071, -0.0, 0.7071, -0.6124, 0.5, 0.6124, -0.7071, -0.0, 0.7071, 0.0, 0.5, 0.866, 0.0, 0.5, 0.866, -0.7071, -0.0, 0.7071, 0.0, -0.0, 1.0, 0.0, -0.0, 1.0, 0.0, -0.5, 0.866, 0.7071, -0.0, 0.7071, 0.7071, -0.0, 0.7071, 0.0, -0.5, 0.866, 0.6124, -0.5, 0.6124, 0.7071, -0.0, 0.7071, 0.6124, -0.5, 0.6124, 1.0, -0.0, -0.0, 1.0, -0.0, -0.0, 0.6124, -0.5, 0.6124, 0.866, -0.5, -0.0, 1.0, -0.0, -0.0, 0.866, -0.5, -0.0, 0.7071, -0.0, -0.7071, 0.7071, -0.0, -0.7071, 0.866, -0.5, -0.0, 0.6124, -0.5, -0.6124, 0.7071, -0.0, -0.7071, 0.6124, -0.5, -0.6124, -0.0, -0.0, -1.0, -0.0, -0.0, -1.0, 0.6124, -0.5, -0.6124, -0.0, -0.5, -0.866, -0.0, -0.0, -1.0, -0.0, -0.5, -0.866, -0.7071, -0.0, -0.7071, -0.7071, -0.0, -0.7071, -0.0, -0.5, -0.866, -0.6124, -0.5, -0.6124, -0.7071, -0.0, -0.7071, -0.6124, -0.5, -0.6124, -1.0, -0.0, 0.0, -1.0, -0.0, 0.0, -0.6124, -0.5, -0.6124, -0.866, -0.5, 0.0, -1.0, -0.0, 0.0, -0.866, -0.5, 0.0, -0.7071, -0.0, 0.7071, -0.7071, -0.0, 0.7071, -0.866, -0.5, 0.0, -0.6124, -0.5, 0.6124, -0.7071, -0.0, 0.7071, -0.6124, -0.5, 0.6124, 0.0, -0.0, 1.0, 0.0, -0.0, 1.0, -0.6124, -0.5, 0.6124, 0.0, -0.5, 0.866, 0.0, -0.5, 0.866, 0.0, -0.866, 0.5, 0.6124, -0.5, 0.6124, 0.6124, -0.5, 0.6124, 0.0, -0.866, 0.5, 0.3536, -0.866, 0.3536, 0.6124, -0.5, 0.6124, 0.3536, -0.866, 0.3536, 0.866, -0.5, -0.0, 0.866, -0.5, -0.0, 0.3536, -0.866, 0.3536, 0.5, -0.866, -0.0, 0.866, -0.5, -0.0, 0.5, -0.866, -0.0, 0.6124, -0.5, -0.6124, 0.6124, -0.5, -0.6124, 0.5, -0.866, -0.0, 0.3536, -0.866, -0.3536, 0.6124, -0.5, -0.6124, 0.3536, -0.866, -0.3536, -0.0, -0.5, -0.866, -0.0, -0.5, -0.866, 0.3536, -0.866, -0.3536, -0.0, -0.866, -0.5, -0.0, -0.5, -0.866, -0.0, -0.866, -0.5, -0.6124, -0.5, -0.6124, -0.6124, -0.5, -0.6124, -0.0, -0.866, -0.5, -0.3536, -0.866, -0.3536, -0.6124, -0.5, -0.6124, -0.3536, -0.866, -0.3536, -0.866, -0.5, 0.0, -0.866, -0.5, 0.0, -0.3536, -0.866, -0.3536, -0.5, -0.866, 0.0, -0.866, -0.5, 0.0, -0.5, -0.866, 0.0, -0.6124, -0.5, 0.6124, -0.6124, -0.5, 0.6124, -0.5, -0.866, 0.0, -0.3536, -0.866, 0.3536, -0.6124, -0.5, 0.6124, -0.3536, -0.866, 0.3536, 0.0, -0.5, 0.866, 0.0, -0.5, 0.866, -0.3536, -0.866, 0.3536, 0.0, -0.866, 0.5, 0.0, -0.866, 0.5, 0.0, -1.0, -0.0, 0.3536, -0.866, 0.3536, 0.3536, -0.866, 0.3536, 0.0, -1.0, -0.0, -0.0, -1.0, -0.0, 0.3536, -0.866, 0.3536, -0.0, -1.0, -0.0, 0.5, -0.866, -0.0, 0.5, -0.866, -0.0, -0.0, -1.0, -0.0, -0.0, -1.0, 0.0, 0.5, -0.866, -0.0, -0.0, -1.0, 0.0, 0.3536, -0.866, -0.3536, 0.3536, -0.866, -0.3536, -0.0, -1.0, 0.0, -0.0, -1.0, 0.0, 0.3536, -0.866, -0.3536, -0.0, -1.0, 0.0, -0.0, -0.866, -0.5, -0.0, -0.866, -0.5, -0.0, -1.0, 0.0, 0.0, -1.0, 0.0, -0.0, -0.866, -0.5, 0.0, -1.0, 0.0, -0.3536, -0.866, -0.3536, -0.3536, -0.866, -0.3536, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, -0.3536, -0.866, -0.3536, 0.0, -1.0, 0.0, -0.5, -0.866, 0.0, -0.5, -0.866, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, -0.0, -0.5, -0.866, 0.0, 0.0, -1.0, -0.0, -0.3536, -0.866, 0.3536, -0.3536, -0.866, 0.3536, 0.0, -1.0, -0.0, 0.0, -1.0, -0.0, -0.3536, -0.866, 0.3536, 0.0, -1.0, -0.0, 0.0, -0.866, 0.5, 0.0, -0.866, 0.5, 0.0, -1.0, -0.0, -0.0, -1.0, -0.0 ]"))
(define sphere-texcoords (js "[0.0, 0.0, 0.0, 0.0, 0.1667, 0.0, 0.125, 0.0, 0.0, 0.125, 0.0, 0.0, 0.0, 0.1667, 0.0, 0.125, 0.1667, 0.0, 0.125, 0.0, 0.0, 0.125, 0.1667, 0.0, 0.25, 0.0, 0.0, 0.25, 0.0, 0.0, 0.125, 0.1667, 0.0, 0.25, 0.1667, 0.0, 0.25, 0.0, 0.0, 0.25, 0.1667, 0.0, 0.375, 0.0, 0.0, 0.375, 0.0, 0.0, 0.25, 0.1667, 0.0, 0.375, 0.1667, 0.0, 0.375, 0.0, 0.0, 0.375, 0.1667, 0.0, 0.5, 0.0, 0.0, 0.5, 0.0, 0.0, 0.375, 0.1667, 0.0, 0.5, 0.1667, 0.0, 0.5, 0.0, 0.0, 0.5, 0.1667, 0.0, 0.625, 0.0, 0.0, 0.625, 0.0, 0.0, 0.5, 0.1667, 0.0, 0.625, 0.1667, 0.0, 0.625, 0.0, 0.0, 0.625, 0.1667, 0.0, 0.75, 0.0, 0.0, 0.75, 0.0, 0.0, 0.625, 0.1667, 0.0, 0.75, 0.1667, 0.0, 0.75, 0.0, 0.0, 0.75, 0.1667, 0.0, 0.875, 0.0, 0.0, 0.875, 0.0, 0.0, 0.75, 0.1667, 0.0, 0.875, 0.1667, 0.0, 0.875, 0.0, 0.0, 0.875, 0.1667, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.875, 0.1667, 0.0, 1.0, 0.1667, 0.0, 0.0, 0.1667, 0.0, 0.0, 0.3333, 0.0, 0.125, 0.1667, 0.0, 0.125, 0.1667, 0.0, 0.0, 0.3333, 0.0, 0.125, 0.3333, 0.0, 0.125, 0.1667, 0.0, 0.125, 0.3333, 0.0, 0.25, 0.1667, 0.0, 0.25, 0.1667, 0.0, 0.125, 0.3333, 0.0, 0.25, 0.3333, 0.0, 0.25, 0.1667, 0.0, 0.25, 0.3333, 0.0, 0.375, 0.1667, 0.0, 0.375, 0.1667, 0.0, 0.25, 0.3333, 0.0, 0.375, 0.3333, 0.0, 0.375, 0.1667, 0.0, 0.375, 0.3333, 0.0, 0.5, 0.1667, 0.0, 0.5, 0.1667, 0.0, 0.375, 0.3333, 0.0, 0.5, 0.3333, 0.0, 0.5, 0.1667, 0.0, 0.5, 0.3333, 0.0, 0.625, 0.1667, 0.0, 0.625, 0.1667, 0.0, 0.5, 0.3333, 0.0, 0.625, 0.3333, 0.0, 0.625, 0.1667, 0.0, 0.625, 0.3333, 0.0, 0.75, 0.1667, 0.0, 0.75, 0.1667, 0.0, 0.625, 0.3333, 0.0, 0.75, 0.3333, 0.0, 0.75, 0.1667, 0.0, 0.75, 0.3333, 0.0, 0.875, 0.1667, 0.0, 0.875, 0.1667, 0.0, 0.75, 0.3333, 0.0, 0.875, 0.3333, 0.0, 0.875, 0.1667, 0.0, 0.875, 0.3333, 0.0, 1.0, 0.1667, 0.0, 1.0, 0.1667, 0.0, 0.875, 0.3333, 0.0, 1.0, 0.3333, 0.0, 0.0, 0.3333, 0.0, 0.0, 0.5, 0.0, 0.125, 0.3333, 0.0, 0.125, 0.3333, 0.0, 0.0, 0.5, 0.0, 0.125, 0.5, 0.0, 0.125, 0.3333, 0.0, 0.125, 0.5, 0.0, 0.25, 0.3333, 0.0, 0.25, 0.3333, 0.0, 0.125, 0.5, 0.0, 0.25, 0.5, 0.0, 0.25, 0.3333, 0.0, 0.25, 0.5, 0.0, 0.375, 0.3333, 0.0, 0.375, 0.3333, 0.0, 0.25, 0.5, 0.0, 0.375, 0.5, 0.0, 0.375, 0.3333, 0.0, 0.375, 0.5, 0.0, 0.5, 0.3333, 0.0, 0.5, 0.3333, 0.0, 0.375, 0.5, 0.0, 0.5, 0.5, 0.0, 0.5, 0.3333, 0.0, 0.5, 0.5, 0.0, 0.625, 0.3333, 0.0, 0.625, 0.3333, 0.0, 0.5, 0.5, 0.0, 0.625, 0.5, 0.0, 0.625, 0.3333, 0.0, 0.625, 0.5, 0.0, 0.75, 0.3333, 0.0, 0.75, 0.3333, 0.0, 0.625, 0.5, 0.0, 0.75, 0.5, 0.0, 0.75, 0.3333, 0.0, 0.75, 0.5, 0.0, 0.875, 0.3333, 0.0, 0.875, 0.3333, 0.0, 0.75, 0.5, 0.0, 0.875, 0.5, 0.0, 0.875, 0.3333, 0.0, 0.875, 0.5, 0.0, 1.0, 0.3333, 0.0, 1.0, 0.3333, 0.0, 0.875, 0.5, 0.0, 1.0, 0.5, 0.0, 0.0, 0.5, 0.0, 0.0, 0.6667, 0.0, 0.125, 0.5, 0.0, 0.125, 0.5, 0.0, 0.0, 0.6667, 0.0, 0.125, 0.6667, 0.0, 0.125, 0.5, 0.0, 0.125, 0.6667, 0.0, 0.25, 0.5, 0.0, 0.25, 0.5, 0.0, 0.125, 0.6667, 0.0, 0.25, 0.6667, 0.0, 0.25, 0.5, 0.0, 0.25, 0.6667, 0.0, 0.375, 0.5, 0.0, 0.375, 0.5, 0.0, 0.25, 0.6667, 0.0, 0.375, 0.6667, 0.0, 0.375, 0.5, 0.0, 0.375, 0.6667, 0.0, 0.5, 0.5, 0.0, 0.5, 0.5, 0.0, 0.375, 0.6667, 0.0, 0.5, 0.6667, 0.0, 0.5, 0.5, 0.0, 0.5, 0.6667, 0.0, 0.625, 0.5, 0.0, 0.625, 0.5, 0.0, 0.5, 0.6667, 0.0, 0.625, 0.6667, 0.0, 0.625, 0.5, 0.0, 0.625, 0.6667, 0.0, 0.75, 0.5, 0.0, 0.75, 0.5, 0.0, 0.625, 0.6667, 0.0, 0.75, 0.6667, 0.0, 0.75, 0.5, 0.0, 0.75, 0.6667, 0.0, 0.875, 0.5, 0.0, 0.875, 0.5, 0.0, 0.75, 0.6667, 0.0, 0.875, 0.6667, 0.0, 0.875, 0.5, 0.0, 0.875, 0.6667, 0.0, 1.0, 0.5, 0.0, 1.0, 0.5, 0.0, 0.875, 0.6667, 0.0, 1.0, 0.6667, 0.0, 0.0, 0.6667, 0.0, 0.0, 0.8333, 0.0, 0.125, 0.6667, 0.0, 0.125, 0.6667, 0.0, 0.0, 0.8333, 0.0, 0.125, 0.8333, 0.0, 0.125, 0.6667, 0.0, 0.125, 0.8333, 0.0, 0.25, 0.6667, 0.0, 0.25, 0.6667, 0.0, 0.125, 0.8333, 0.0, 0.25, 0.8333, 0.0, 0.25, 0.6667, 0.0, 0.25, 0.8333, 0.0, 0.375, 0.6667, 0.0, 0.375, 0.6667, 0.0, 0.25, 0.8333, 0.0, 0.375, 0.8333, 0.0, 0.375, 0.6667, 0.0, 0.375, 0.8333, 0.0, 0.5, 0.6667, 0.0, 0.5, 0.6667, 0.0, 0.375, 0.8333, 0.0, 0.5, 0.8333, 0.0, 0.5, 0.6667, 0.0, 0.5, 0.8333, 0.0, 0.625, 0.6667, 0.0, 0.625, 0.6667, 0.0, 0.5, 0.8333, 0.0, 0.625, 0.8333, 0.0, 0.625, 0.6667, 0.0, 0.625, 0.8333, 0.0, 0.75, 0.6667, 0.0, 0.75, 0.6667, 0.0, 0.625, 0.8333, 0.0, 0.75, 0.8333, 0.0, 0.75, 0.6667, 0.0, 0.75, 0.8333, 0.0, 0.875, 0.6667, 0.0, 0.875, 0.6667, 0.0, 0.75, 0.8333, 0.0, 0.875, 0.8333, 0.0, 0.875, 0.6667, 0.0, 0.875, 0.8333, 0.0, 1.0, 0.6667, 0.0, 1.0, 0.6667, 0.0, 0.875, 0.8333, 0.0, 1.0, 0.8333, 0.0, 0.0, 0.8333, 0.0, 0.0, 1.0, 0.0, 0.125, 0.8333, 0.0, 0.125, 0.8333, 0.0, 0.0, 1.0, 0.0, 0.125, 1.0, 0.0, 0.125, 0.8333, 0.0, 0.125, 1.0, 0.0, 0.25, 0.8333, 0.0, 0.25, 0.8333, 0.0, 0.125, 1.0, 0.0, 0.25, 1.0, 0.0, 0.25, 0.8333, 0.0, 0.25, 1.0, 0.0, 0.375, 0.8333, 0.0, 0.375, 0.8333, 0.0, 0.25, 1.0, 0.0, 0.375, 1.0, 0.0, 0.375, 0.8333, 0.0, 0.375, 1.0, 0.0, 0.5, 0.8333, 0.0, 0.5, 0.8333, 0.0, 0.375, 1.0, 0.0, 0.5, 1.0, 0.0, 0.5, 0.8333, 0.0, 0.5, 1.0, 0.0, 0.625, 0.8333, 0.0, 0.625, 0.8333, 0.0, 0.5, 1.0, 0.0, 0.625, 1.0, 0.0, 0.625, 0.8333, 0.0, 0.625, 1.0, 0.0, 0.75, 0.8333, 0.0, 0.75, 0.8333, 0.0, 0.625, 1.0, 0.0, 0.75, 1.0, 0.0, 0.75, 0.8333, 0.0, 0.75, 1.0, 0.0, 0.875, 0.8333, 0.0, 0.875, 0.8333, 0.0, 0.75, 1.0, 0.0, 0.875, 1.0, 0.0, 0.875, 0.8333, 0.0, 0.875, 1.0, 0.0, 1.0, 0.8333, 0.0, 1.0, 0.8333, 0.0, 0.875, 1.0, 0.0, 1.0, 1.0, 0.0]"))
(define torus-vertices (js "[0.7, 0.0, 0.0, 0.495, 0.495, 0.0, 0.4243, 0.4243, 0.1732, 0.7, 0.0, 0.0, 0.4243, 0.4243, 0.1732, 0.6, 0.0, 0.1732, 0.6, 0.0, 0.1732, 0.4243, 0.4243, 0.1732, 0.2828, 0.2828, 0.1732, 0.6, 0.0, 0.1732, 0.2828, 0.2828, 0.1732, 0.4, 0.0, 0.1732, 0.4, 0.0, 0.1732, 0.2828, 0.2828, 0.1732, 0.2121, 0.2121, -0.0, 0.4, 0.0, 0.1732, 0.2121, 0.2121, -0.0, 0.3, 0.0, -0.0, 0.3, 0.0, -0.0, 0.2121, 0.2121, -0.0, 0.2828, 0.2828, -0.1732, 0.3, 0.0, -0.0, 0.2828, 0.2828, -0.1732, 0.4, 0.0, -0.1732, 0.4, 0.0, -0.1732, 0.2828, 0.2828, -0.1732, 0.4243, 0.4243, -0.1732, 0.4, 0.0, -0.1732, 0.4243, 0.4243, -0.1732, 0.6, 0.0, -0.1732, 0.6, 0.0, -0.1732, 0.4243, 0.4243, -0.1732, 0.495, 0.495, 0.0, 0.6, 0.0, -0.1732, 0.495, 0.495, 0.0, 0.7, 0.0, 0.0, 0.495, 0.495, 0.0, -0.0, 0.7, 0.0, -0.0, 0.6, 0.1732, 0.495, 0.495, 0.0, -0.0, 0.6, 0.1732, 0.4243, 0.4243, 0.1732, 0.4243, 0.4243, 0.1732, -0.0, 0.6, 0.1732, -0.0, 0.4, 0.1732, 0.4243, 0.4243, 0.1732, -0.0, 0.4, 0.1732, 0.2828, 0.2828, 0.1732, 0.2828, 0.2828, 0.1732, -0.0, 0.4, 0.1732, -0.0, 0.3, -0.0, 0.2828, 0.2828, 0.1732, -0.0, 0.3, -0.0, 0.2121, 0.2121, -0.0, 0.2121, 0.2121, -0.0, -0.0, 0.3, -0.0, -0.0, 0.4, -0.1732, 0.2121, 0.2121, -0.0, -0.0, 0.4, -0.1732, 0.2828, 0.2828, -0.1732, 0.2828, 0.2828, -0.1732, -0.0, 0.4, -0.1732, -0.0, 0.6, -0.1732, 0.2828, 0.2828, -0.1732, -0.0, 0.6, -0.1732, 0.4243, 0.4243, -0.1732, 0.4243, 0.4243, -0.1732, -0.0, 0.6, -0.1732, -0.0, 0.7, 0.0, 0.4243, 0.4243, -0.1732, -0.0, 0.7, 0.0, 0.495, 0.495, 0.0, -0.0, 0.7, 0.0, -0.495, 0.495, 0.0, -0.4243, 0.4243, 0.1732, -0.0, 0.7, 0.0, -0.4243, 0.4243, 0.1732, -0.0, 0.6, 0.1732, -0.0, 0.6, 0.1732, -0.4243, 0.4243, 0.1732, -0.2828, 0.2828, 0.1732, -0.0, 0.6, 0.1732, -0.2828, 0.2828, 0.1732, -0.0, 0.4, 0.1732, -0.0, 0.4, 0.1732, -0.2828, 0.2828, 0.1732, -0.2121, 0.2121, -0.0, -0.0, 0.4, 0.1732, -0.2121, 0.2121, -0.0, -0.0, 0.3, -0.0, -0.0, 0.3, -0.0, -0.2121, 0.2121, -0.0, -0.2828, 0.2828, -0.1732, -0.0, 0.3, -0.0, -0.2828, 0.2828, -0.1732, -0.0, 0.4, -0.1732, -0.0, 0.4, -0.1732, -0.2828, 0.2828, -0.1732, -0.4243, 0.4243, -0.1732, -0.0, 0.4, -0.1732, -0.4243, 0.4243, -0.1732, -0.0, 0.6, -0.1732, -0.0, 0.6, -0.1732, -0.4243, 0.4243, -0.1732, -0.495, 0.495, 0.0, -0.0, 0.6, -0.1732, -0.495, 0.495, 0.0, -0.0, 0.7, 0.0, -0.495, 0.495, 0.0, -0.7, -0.0, 0.0, -0.6, -0.0, 0.1732, -0.495, 0.495, 0.0, -0.6, -0.0, 0.1732, -0.4243, 0.4243, 0.1732, -0.4243, 0.4243, 0.1732, -0.6, -0.0, 0.1732, -0.4, -0.0, 0.1732, -0.4243, 0.4243, 0.1732, -0.4, -0.0, 0.1732, -0.2828, 0.2828, 0.1732, -0.2828, 0.2828, 0.1732, -0.4, -0.0, 0.1732, -0.3, -0.0, -0.0, -0.2828, 0.2828, 0.1732, -0.3, -0.0, -0.0, -0.2121, 0.2121, -0.0, -0.2121, 0.2121, -0.0, -0.3, -0.0, -0.0, -0.4, -0.0, -0.1732, -0.2121, 0.2121, -0.0, -0.4, -0.0, -0.1732, -0.2828, 0.2828, -0.1732, -0.2828, 0.2828, -0.1732, -0.4, -0.0, -0.1732, -0.6, -0.0, -0.1732, -0.2828, 0.2828, -0.1732, -0.6, -0.0, -0.1732, -0.4243, 0.4243, -0.1732, -0.4243, 0.4243, -0.1732, -0.6, -0.0, -0.1732, -0.7, -0.0, 0.0, -0.4243, 0.4243, -0.1732, -0.7, -0.0, 0.0, -0.495, 0.495, 0.0, -0.7, -0.0, 0.0, -0.495, -0.495, 0.0, -0.4243, -0.4243, 0.1732, -0.7, -0.0, 0.0, -0.4243, -0.4243, 0.1732, -0.6, -0.0, 0.1732, -0.6, -0.0, 0.1732, -0.4243, -0.4243, 0.1732, -0.2828, -0.2828, 0.1732, -0.6, -0.0, 0.1732, -0.2828, -0.2828, 0.1732, -0.4, -0.0, 0.1732, -0.4, -0.0, 0.1732, -0.2828, -0.2828, 0.1732, -0.2121, -0.2121, -0.0, -0.4, -0.0, 0.1732, -0.2121, -0.2121, -0.0, -0.3, -0.0, -0.0, -0.3, -0.0, -0.0, -0.2121, -0.2121, -0.0, -0.2828, -0.2828, -0.1732, -0.3, -0.0, -0.0, -0.2828, -0.2828, -0.1732, -0.4, -0.0, -0.1732, -0.4, -0.0, -0.1732, -0.2828, -0.2828, -0.1732, -0.4243, -0.4243, -0.1732, -0.4, -0.0, -0.1732, -0.4243, -0.4243, -0.1732, -0.6, -0.0, -0.1732, -0.6, -0.0, -0.1732, -0.4243, -0.4243, -0.1732, -0.495, -0.495, 0.0, -0.6, -0.0, -0.1732, -0.495, -0.495, 0.0, -0.7, -0.0, 0.0, -0.495, -0.495, 0.0, 0.0, -0.7, 0.0, 0.0, -0.6, 0.1732, -0.495, -0.495, 0.0, 0.0, -0.6, 0.1732, -0.4243, -0.4243, 0.1732, -0.4243, -0.4243, 0.1732, 0.0, -0.6, 0.1732, 0.0, -0.4, 0.1732, -0.4243, -0.4243, 0.1732, 0.0, -0.4, 0.1732, -0.2828, -0.2828, 0.1732, -0.2828, -0.2828, 0.1732, 0.0, -0.4, 0.1732, 0.0, -0.3, -0.0, -0.2828, -0.2828, 0.1732, 0.0, -0.3, -0.0, -0.2121, -0.2121, -0.0, -0.2121, -0.2121, -0.0, 0.0, -0.3, -0.0, 0.0, -0.4, -0.1732, -0.2121, -0.2121, -0.0, 0.0, -0.4, -0.1732, -0.2828, -0.2828, -0.1732, -0.2828, -0.2828, -0.1732, 0.0, -0.4, -0.1732, 0.0, -0.6, -0.1732, -0.2828, -0.2828, -0.1732, 0.0, -0.6, -0.1732, -0.4243, -0.4243, -0.1732, -0.4243, -0.4243, -0.1732, 0.0, -0.6, -0.1732, 0.0, -0.7, 0.0, -0.4243, -0.4243, -0.1732, 0.0, -0.7, 0.0, -0.495, -0.495, 0.0, 0.0, -0.7, 0.0, 0.495, -0.495, 0.0, 0.4243, -0.4243, 0.1732, 0.0, -0.7, 0.0, 0.4243, -0.4243, 0.1732, 0.0, -0.6, 0.1732, 0.0, -0.6, 0.1732, 0.4243, -0.4243, 0.1732, 0.2828, -0.2828, 0.1732, 0.0, -0.6, 0.1732, 0.2828, -0.2828, 0.1732, 0.0, -0.4, 0.1732, 0.0, -0.4, 0.1732, 0.2828, -0.2828, 0.1732, 0.2121, -0.2121, -0.0, 0.0, -0.4, 0.1732, 0.2121, -0.2121, -0.0, 0.0, -0.3, -0.0, 0.0, -0.3, -0.0, 0.2121, -0.2121, -0.0, 0.2828, -0.2828, -0.1732, 0.0, -0.3, -0.0, 0.2828, -0.2828, -0.1732, 0.0, -0.4, -0.1732, 0.0, -0.4, -0.1732, 0.2828, -0.2828, -0.1732, 0.4243, -0.4243, -0.1732, 0.0, -0.4, -0.1732, 0.4243, -0.4243, -0.1732, 0.0, -0.6, -0.1732, 0.0, -0.6, -0.1732, 0.4243, -0.4243, -0.1732, 0.495, -0.495, 0.0, 0.0, -0.6, -0.1732, 0.495, -0.495, 0.0, 0.0, -0.7, 0.0, 0.495, -0.495, 0.0, 0.7, 0.0, 0.0, 0.6, 0.0, 0.1732, 0.495, -0.495, 0.0, 0.6, 0.0, 0.1732, 0.4243, -0.4243, 0.1732, 0.4243, -0.4243, 0.1732, 0.6, 0.0, 0.1732, 0.4, 0.0, 0.1732, 0.4243, -0.4243, 0.1732, 0.4, 0.0, 0.1732, 0.2828, -0.2828, 0.1732, 0.2828, -0.2828, 0.1732, 0.4, 0.0, 0.1732, 0.3, 0.0, -0.0, 0.2828, -0.2828, 0.1732, 0.3, 0.0, -0.0, 0.2121, -0.2121, -0.0, 0.2121, -0.2121, -0.0, 0.3, 0.0, -0.0, 0.4, 0.0, -0.1732, 0.2121, -0.2121, -0.0, 0.4, 0.0, -0.1732, 0.2828, -0.2828, -0.1732, 0.2828, -0.2828, -0.1732, 0.4, 0.0, -0.1732, 0.6, 0.0, -0.1732, 0.2828, -0.2828, -0.1732, 0.6, 0.0, -0.1732, 0.4243, -0.4243, -0.1732, 0.4243, -0.4243, -0.1732, 0.6, 0.0, -0.1732, 0.7, 0.0, 0.0, 0.4243, -0.4243, -0.1732, 0.7, 0.0, 0.0, 0.495, -0.495, 0.0]"))
(define torus-normals (js "[1.0, 0.0, 0.0, 0.7071, 0.7071, 0.0, 0.3536, 0.3536, 0.866, 1.0, 0.0, 0.0, 0.3536, 0.3536, 0.866, 0.5, 0.0, 0.866, 0.5, 0.0, 0.866, 0.3536, 0.3536, 0.866, -0.3536, -0.3536, 0.866, 0.5, 0.0, 0.866, -0.3536, -0.3536, 0.866, -0.5, -0.0, 0.866, -0.5, -0.0, 0.866, -0.3536, -0.3536, 0.866, -0.7071, -0.7071, -0.0, -0.5, -0.0, 0.866, -0.7071, -0.7071, -0.0, -1.0, -0.0, -0.0, -1.0, -0.0, -0.0, -0.7071, -0.7071, -0.0, -0.3536, -0.3536, -0.866, -1.0, -0.0, -0.0, -0.3536, -0.3536, -0.866, -0.5, -0.0, -0.866, -0.5, -0.0, -0.866, -0.3536, -0.3536, -0.866, 0.3536, 0.3536, -0.866, -0.5, -0.0, -0.866, 0.3536, 0.3536, -0.866, 0.5, 0.0, -0.866, 0.5, 0.0, -0.866, 0.3536, 0.3536, -0.866, 0.7071, 0.7071, 0.0, 0.5, 0.0, -0.866, 0.7071, 0.7071, 0.0, 1.0, 0.0, 0.0, 0.7071, 0.7071, 0.0, -0.0, 1.0, 0.0, -0.0, 0.5, 0.866, 0.7071, 0.7071, 0.0, -0.0, 0.5, 0.866, 0.3536, 0.3536, 0.866, 0.3536, 0.3536, 0.866, -0.0, 0.5, 0.866, 0.0, -0.5, 0.866, 0.3536, 0.3536, 0.866, 0.0, -0.5, 0.866, -0.3536, -0.3536, 0.866, -0.3536, -0.3536, 0.866, 0.0, -0.5, 0.866, 0.0, -1.0, -0.0, -0.3536, -0.3536, 0.866, 0.0, -1.0, -0.0, -0.7071, -0.7071, -0.0, -0.7071, -0.7071, -0.0, 0.0, -1.0, -0.0, 0.0, -0.5, -0.866, -0.7071, -0.7071, -0.0, 0.0, -0.5, -0.866, -0.3536, -0.3536, -0.866, -0.3536, -0.3536, -0.866, 0.0, -0.5, -0.866, -0.0, 0.5, -0.866, -0.3536, -0.3536, -0.866, -0.0, 0.5, -0.866, 0.3536, 0.3536, -0.866, 0.3536, 0.3536, -0.866, -0.0, 0.5, -0.866, -0.0, 1.0, 0.0, 0.3536, 0.3536, -0.866, -0.0, 1.0, 0.0, 0.7071, 0.7071, 0.0, -0.0, 1.0, 0.0, -0.7071, 0.7071, 0.0, -0.3536, 0.3536, 0.866, -0.0, 1.0, 0.0, -0.3536, 0.3536, 0.866, -0.0, 0.5, 0.866, -0.0, 0.5, 0.866, -0.3536, 0.3536, 0.866, 0.3536, -0.3536, 0.866, -0.0, 0.5, 0.866, 0.3536, -0.3536, 0.866, 0.0, -0.5, 0.866, 0.0, -0.5, 0.866, 0.3536, -0.3536, 0.866, 0.7071, -0.7071, -0.0, 0.0, -0.5, 0.866, 0.7071, -0.7071, -0.0, 0.0, -1.0, -0.0, 0.0, -1.0, -0.0, 0.7071, -0.7071, -0.0, 0.3536, -0.3536, -0.866, 0.0, -1.0, -0.0, 0.3536, -0.3536, -0.866, 0.0, -0.5, -0.866, 0.0, -0.5, -0.866, 0.3536, -0.3536, -0.866, -0.3536, 0.3536, -0.866, 0.0, -0.5, -0.866, -0.3536, 0.3536, -0.866, -0.0, 0.5, -0.866, -0.0, 0.5, -0.866, -0.3536, 0.3536, -0.866, -0.7071, 0.7071, 0.0, -0.0, 0.5, -0.866, -0.7071, 0.7071, 0.0, -0.0, 1.0, 0.0, -0.7071, 0.7071, 0.0, -1.0, -0.0, 0.0, -0.5, -0.0, 0.866, -0.7071, 0.7071, 0.0, -0.5, -0.0, 0.866, -0.3536, 0.3536, 0.866, -0.3536, 0.3536, 0.866, -0.5, -0.0, 0.866, 0.5, 0.0, 0.866, -0.3536, 0.3536, 0.866, 0.5, 0.0, 0.866, 0.3536, -0.3536, 0.866, 0.3536, -0.3536, 0.866, 0.5, 0.0, 0.866, 1.0, 0.0, -0.0, 0.3536, -0.3536, 0.866, 1.0, 0.0, -0.0, 0.7071, -0.7071, -0.0, 0.7071, -0.7071, -0.0, 1.0, 0.0, -0.0, 0.5, 0.0, -0.866, 0.7071, -0.7071, -0.0, 0.5, 0.0, -0.866, 0.3536, -0.3536, -0.866, 0.3536, -0.3536, -0.866, 0.5, 0.0, -0.866, -0.5, -0.0, -0.866, 0.3536, -0.3536, -0.866, -0.5, -0.0, -0.866, -0.3536, 0.3536, -0.866, -0.3536, 0.3536, -0.866, -0.5, -0.0, -0.866, -1.0, -0.0, 0.0, -0.3536, 0.3536, -0.866, -1.0, -0.0, 0.0, -0.7071, 0.7071, 0.0, -1.0, -0.0, 0.0, -0.7071, -0.7071, 0.0, -0.3536, -0.3536, 0.866, -1.0, -0.0, 0.0, -0.3536, -0.3536, 0.866, -0.5, -0.0, 0.866, -0.5, -0.0, 0.866, -0.3536, -0.3536, 0.866, 0.3536, 0.3536, 0.866, -0.5, -0.0, 0.866, 0.3536, 0.3536, 0.866, 0.5, 0.0, 0.866, 0.5, 0.0, 0.866, 0.3536, 0.3536, 0.866, 0.7071, 0.7071, -0.0, 0.5, 0.0, 0.866, 0.7071, 0.7071, -0.0, 1.0, 0.0, -0.0, 1.0, 0.0, -0.0, 0.7071, 0.7071, -0.0, 0.3536, 0.3536, -0.866, 1.0, 0.0, -0.0, 0.3536, 0.3536, -0.866, 0.5, 0.0, -0.866, 0.5, 0.0, -0.866, 0.3536, 0.3536, -0.866, -0.3536, -0.3536, -0.866, 0.5, 0.0, -0.866, -0.3536, -0.3536, -0.866, -0.5, -0.0, -0.866, -0.5, -0.0, -0.866, -0.3536, -0.3536, -0.866, -0.7071, -0.7071, 0.0, -0.5, -0.0, -0.866, -0.7071, -0.7071, 0.0, -1.0, -0.0, 0.0, -0.7071, -0.7071, 0.0, 0.0, -1.0, 0.0, 0.0, -0.5, 0.866, -0.7071, -0.7071, 0.0, 0.0, -0.5, 0.866, -0.3536, -0.3536, 0.866, -0.3536, -0.3536, 0.866, 0.0, -0.5, 0.866, -0.0, 0.5, 0.866, -0.3536, -0.3536, 0.866, -0.0, 0.5, 0.866, 0.3536, 0.3536, 0.866, 0.3536, 0.3536, 0.866, -0.0, 0.5, 0.866, -0.0, 1.0, -0.0, 0.3536, 0.3536, 0.866, -0.0, 1.0, -0.0, 0.7071, 0.7071, -0.0, 0.7071, 0.7071, -0.0, -0.0, 1.0, -0.0, -0.0, 0.5, -0.866, 0.7071, 0.7071, -0.0, -0.0, 0.5, -0.866, 0.3536, 0.3536, -0.866, 0.3536, 0.3536, -0.866, -0.0, 0.5, -0.866, 0.0, -0.5, -0.866, 0.3536, 0.3536, -0.866, 0.0, -0.5, -0.866, -0.3536, -0.3536, -0.866, -0.3536, -0.3536, -0.866, 0.0, -0.5, -0.866, 0.0, -1.0, 0.0, -0.3536, -0.3536, -0.866, 0.0, -1.0, 0.0, -0.7071, -0.7071, 0.0, 0.0, -1.0, 0.0, 0.7071, -0.7071, 0.0, 0.3536, -0.3536, 0.866, 0.0, -1.0, 0.0, 0.3536, -0.3536, 0.866, 0.0, -0.5, 0.866, 0.0, -0.5, 0.866, 0.3536, -0.3536, 0.866, -0.3536, 0.3536, 0.866, 0.0, -0.5, 0.866, -0.3536, 0.3536, 0.866, -0.0, 0.5, 0.866, -0.0, 0.5, 0.866, -0.3536, 0.3536, 0.866, -0.7071, 0.7071, -0.0, -0.0, 0.5, 0.866, -0.7071, 0.7071, -0.0, -0.0, 1.0, -0.0, -0.0, 1.0, -0.0, -0.7071, 0.7071, -0.0, -0.3536, 0.3536, -0.866, -0.0, 1.0, -0.0, -0.3536, 0.3536, -0.866, -0.0, 0.5, -0.866, -0.0, 0.5, -0.866, -0.3536, 0.3536, -0.866, 0.3536, -0.3536, -0.866, -0.0, 0.5, -0.866, 0.3536, -0.3536, -0.866, 0.0, -0.5, -0.866, 0.0, -0.5, -0.866, 0.3536, -0.3536, -0.866, 0.7071, -0.7071, 0.0, 0.0, -0.5, -0.866, 0.7071, -0.7071, 0.0, 0.0, -1.0, 0.0, 0.7071, -0.7071, 0.0, 1.0, 0.0, 0.0, 0.5, 0.0, 0.866, 0.7071, -0.7071, 0.0, 0.5, 0.0, 0.866, 0.3536, -0.3536, 0.866, 0.3536, -0.3536, 0.866, 0.5, 0.0, 0.866, -0.5, -0.0, 0.866, 0.3536, -0.3536, 0.866, -0.5, -0.0, 0.866, -0.3536, 0.3536, 0.866, -0.3536, 0.3536, 0.866, -0.5, -0.0, 0.866, -1.0, -0.0, -0.0, -0.3536, 0.3536, 0.866, -1.0, -0.0, -0.0, -0.7071, 0.7071, -0.0, -0.7071, 0.7071, -0.0, -1.0, -0.0, -0.0, -0.5, -0.0, -0.866, -0.7071, 0.7071, -0.0, -0.5, -0.0, -0.866, -0.3536, 0.3536, -0.866, -0.3536, 0.3536, -0.866, -0.5, -0.0, -0.866, 0.5, 0.0, -0.866, -0.3536, 0.3536, -0.866, 0.5, 0.0, -0.866, 0.3536, -0.3536, -0.866, 0.3536, -0.3536, -0.866, 0.5, 0.0, -0.866, 1.0, 0.0, 0.0, 0.3536, -0.3536, -0.866, 1.0, 0.0, 0.0, 0.7071, -0.7071, 0.0]"))
(define torus-texcoords (js "[0.0, 0.0, 0.0, 0.0, 0.1667, 0.0, 0.125, 0.1667, 0.0, 0.0, 0.0, 0.0, 0.125, 0.1667, 0.0, 0.125, 0.0, 0.0, 0.125, 0.0, 0.0, 0.125, 0.1667, 0.0, 0.25, 0.1667, 0.0, 0.125, 0.0, 0.0, 0.25, 0.1667, 0.0, 0.25, 0.0, 0.0, 0.25, 0.0, 0.0, 0.25, 0.1667, 0.0, 0.375, 0.1667, 0.0, 0.25, 0.0, 0.0, 0.375, 0.1667, 0.0, 0.375, 0.0, 0.0, 0.375, 0.0, 0.0, 0.375, 0.1667, 0.0, 0.5, 0.1667, 0.0, 0.375, 0.0, 0.0, 0.5, 0.1667, 0.0, 0.5, 0.0, 0.0, 0.5, 0.0, 0.0, 0.5, 0.1667, 0.0, 0.625, 0.1667, 0.0, 0.5, 0.0, 0.0, 0.625, 0.1667, 0.0, 0.625, 0.0, 0.0, 0.625, 0.0, 0.0, 0.625, 0.1667, 0.0, 0.75, 0.1667, 0.0, 0.625, 0.0, 0.0, 0.75, 0.1667, 0.0, 0.75, 0.0, 0.0, 0.0, 0.1667, 0.0, 0.0, 0.3333, 0.0, 0.125, 0.3333, 0.0, 0.0, 0.1667, 0.0, 0.125, 0.3333, 0.0, 0.125, 0.1667, 0.0, 0.125, 0.1667, 0.0, 0.125, 0.3333, 0.0, 0.25, 0.3333, 0.0, 0.125, 0.1667, 0.0, 0.25, 0.3333, 0.0, 0.25, 0.1667, 0.0, 0.25, 0.1667, 0.0, 0.25, 0.3333, 0.0, 0.375, 0.3333, 0.0, 0.25, 0.1667, 0.0, 0.375, 0.3333, 0.0, 0.375, 0.1667, 0.0, 0.375, 0.1667, 0.0, 0.375, 0.3333, 0.0, 0.5, 0.3333, 0.0, 0.375, 0.1667, 0.0, 0.5, 0.3333, 0.0, 0.5, 0.1667, 0.0, 0.5, 0.1667, 0.0, 0.5, 0.3333, 0.0, 0.625, 0.3333, 0.0, 0.5, 0.1667, 0.0, 0.625, 0.3333, 0.0, 0.625, 0.1667, 0.0, 0.625, 0.1667, 0.0, 0.625, 0.3333, 0.0, 0.75, 0.3333, 0.0, 0.625, 0.1667, 0.0, 0.75, 0.3333, 0.0, 0.75, 0.1667, 0.0, 0.0, 0.3333, 0.0, 0.0, 0.5, 0.0, 0.125, 0.5, 0.0, 0.0, 0.3333, 0.0, 0.125, 0.5, 0.0, 0.125, 0.3333, 0.0, 0.125, 0.3333, 0.0, 0.125, 0.5, 0.0, 0.25, 0.5, 0.0, 0.125, 0.3333, 0.0, 0.25, 0.5, 0.0, 0.25, 0.3333, 0.0, 0.25, 0.3333, 0.0, 0.25, 0.5, 0.0, 0.375, 0.5, 0.0, 0.25, 0.3333, 0.0, 0.375, 0.5, 0.0, 0.375, 0.3333, 0.0, 0.375, 0.3333, 0.0, 0.375, 0.5, 0.0, 0.5, 0.5, 0.0, 0.375, 0.3333, 0.0, 0.5, 0.5, 0.0, 0.5, 0.3333, 0.0, 0.5, 0.3333, 0.0, 0.5, 0.5, 0.0, 0.625, 0.5, 0.0, 0.5, 0.3333, 0.0, 0.625, 0.5, 0.0, 0.625, 0.3333, 0.0, 0.625, 0.3333, 0.0, 0.625, 0.5, 0.0, 0.75, 0.5, 0.0, 0.625, 0.3333, 0.0, 0.75, 0.5, 0.0, 0.75, 0.3333, 0.0, 0.0, 0.5, 0.0, 0.0, 0.6667, 0.0, 0.125, 0.6667, 0.0, 0.0, 0.5, 0.0, 0.125, 0.6667, 0.0, 0.125, 0.5, 0.0, 0.125, 0.5, 0.0, 0.125, 0.6667, 0.0, 0.25, 0.6667, 0.0, 0.125, 0.5, 0.0, 0.25, 0.6667, 0.0, 0.25, 0.5, 0.0, 0.25, 0.5, 0.0, 0.25, 0.6667, 0.0, 0.375, 0.6667, 0.0, 0.25, 0.5, 0.0, 0.375, 0.6667, 0.0, 0.375, 0.5, 0.0, 0.375, 0.5, 0.0, 0.375, 0.6667, 0.0, 0.5, 0.6667, 0.0, 0.375, 0.5, 0.0, 0.5, 0.6667, 0.0, 0.5, 0.5, 0.0, 0.5, 0.5, 0.0, 0.5, 0.6667, 0.0, 0.625, 0.6667, 0.0, 0.5, 0.5, 0.0, 0.625, 0.6667, 0.0, 0.625, 0.5, 0.0, 0.625, 0.5, 0.0, 0.625, 0.6667, 0.0, 0.75, 0.6667, 0.0, 0.625, 0.5, 0.0, 0.75, 0.6667, 0.0, 0.75, 0.5, 0.0, 0.0, 0.6667, 0.0, 0.0, 0.8333, 0.0, 0.125, 0.8333, 0.0, 0.0, 0.6667, 0.0, 0.125, 0.8333, 0.0, 0.125, 0.6667, 0.0, 0.125, 0.6667, 0.0, 0.125, 0.8333, 0.0, 0.25, 0.8333, 0.0, 0.125, 0.6667, 0.0, 0.25, 0.8333, 0.0, 0.25, 0.6667, 0.0, 0.25, 0.6667, 0.0, 0.25, 0.8333, 0.0, 0.375, 0.8333, 0.0, 0.25, 0.6667, 0.0, 0.375, 0.8333, 0.0, 0.375, 0.6667, 0.0, 0.375, 0.6667, 0.0, 0.375, 0.8333, 0.0, 0.5, 0.8333, 0.0, 0.375, 0.6667, 0.0, 0.5, 0.8333, 0.0, 0.5, 0.6667, 0.0, 0.5, 0.6667, 0.0, 0.5, 0.8333, 0.0, 0.625, 0.8333, 0.0, 0.5, 0.6667, 0.0, 0.625, 0.8333, 0.0, 0.625, 0.6667, 0.0, 0.625, 0.6667, 0.0, 0.625, 0.8333, 0.0, 0.75, 0.8333, 0.0, 0.625, 0.6667, 0.0, 0.75, 0.8333, 0.0, 0.75, 0.6667, 0.0, 0.0, 0.8333, 0.0, 0.0, 1.0, 0.0, 0.125, 1.0, 0.0, 0.0, 0.8333, 0.0, 0.125, 1.0, 0.0, 0.125, 0.8333, 0.0, 0.125, 0.8333, 0.0, 0.125, 1.0, 0.0, 0.25, 1.0, 0.0, 0.125, 0.8333, 0.0, 0.25, 1.0, 0.0, 0.25, 0.8333, 0.0, 0.25, 0.8333, 0.0, 0.25, 1.0, 0.0, 0.375, 1.0, 0.0, 0.25, 0.8333, 0.0, 0.375, 1.0, 0.0, 0.375, 0.8333, 0.0, 0.375, 0.8333, 0.0, 0.375, 1.0, 0.0, 0.5, 1.0, 0.0, 0.375, 0.8333, 0.0, 0.5, 1.0, 0.0, 0.5, 0.8333, 0.0, 0.5, 0.8333, 0.0, 0.5, 1.0, 0.0, 0.625, 1.0, 0.0, 0.5, 0.8333, 0.0, 0.625, 1.0, 0.0, 0.625, 0.8333, 0.0, 0.625, 0.8333, 0.0, 0.625, 1.0, 0.0, 0.75, 1.0, 0.0, 0.625, 0.8333, 0.0, 0.75, 1.0, 0.0, 0.75, 0.8333, 0.0, 0.0, 1.0, 0.0, 0.0, 1.1667, 0.0, 0.125, 1.1667, 0.0, 0.0, 1.0, 0.0, 0.125, 1.1667, 0.0, 0.125, 1.0, 0.0, 0.125, 1.0, 0.0, 0.125, 1.1667, 0.0, 0.25, 1.1667, 0.0, 0.125, 1.0, 0.0, 0.25, 1.1667, 0.0, 0.25, 1.0, 0.0, 0.25, 1.0, 0.0, 0.25, 1.1667, 0.0, 0.375, 1.1667, 0.0, 0.25, 1.0, 0.0, 0.375, 1.1667, 0.0, 0.375, 1.0, 0.0, 0.375, 1.0, 0.0, 0.375, 1.1667, 0.0, 0.5, 1.1667, 0.0, 0.375, 1.0, 0.0, 0.5, 1.1667, 0.0, 0.5, 1.0, 0.0, 0.5, 1.0, 0.0, 0.5, 1.1667, 0.0, 0.625, 1.1667, 0.0, 0.5, 1.0, 0.0, 0.625, 1.1667, 0.0, 0.625, 1.0, 0.0, 0.625, 1.0, 0.0, 0.625, 1.1667, 0.0, 0.75, 1.1667, 0.0, 0.625, 1.0, 0.0, 0.75, 1.1667, 0.0, 0.75, 1.0, 0.0, 0.0, 1.1667, 0.0, 0.0, 1.3333, 0.0, 0.125, 1.3333, 0.0, 0.0, 1.1667, 0.0, 0.125, 1.3333, 0.0, 0.125, 1.1667, 0.0, 0.125, 1.1667, 0.0, 0.125, 1.3333, 0.0, 0.25, 1.3333, 0.0, 0.125, 1.1667, 0.0, 0.25, 1.3333, 0.0, 0.25, 1.1667, 0.0, 0.25, 1.1667, 0.0, 0.25, 1.3333, 0.0, 0.375, 1.3333, 0.0, 0.25, 1.1667, 0.0, 0.375, 1.3333, 0.0, 0.375, 1.1667, 0.0, 0.375, 1.1667, 0.0, 0.375, 1.3333, 0.0, 0.5, 1.3333, 0.0, 0.375, 1.1667, 0.0, 0.5, 1.3333, 0.0, 0.5, 1.1667, 0.0, 0.5, 1.1667, 0.0, 0.5, 1.3333, 0.0, 0.625, 1.3333, 0.0, 0.5, 1.1667, 0.0, 0.625, 1.3333, 0.0, 0.625, 1.1667, 0.0, 0.625, 1.1667, 0.0, 0.625, 1.3333, 0.0, 0.75, 1.3333, 0.0, 0.625, 1.1667, 0.0, 0.75, 1.3333, 0.0, 0.75, 1.1667, 0.0]"))

(define wing-vertices (js "[0.2454, -0.0, 0.7892, 0.9568, -0.0, 0.7842, 0.536, -0.0, 0.9044, 0.2454, -0.0, 0.7892, 1.1471, -0.0, 0.5287, 0.9568, -0.0, 0.7842, 0.2454, -0.0, 0.7892, 0.01, -0.0, 0.4686, 1.1471, -0.0, 0.5287, 0.01, -0.0, 0.4686, 1.2573, -0.0, 0.2883, 1.1471, -0.0, 0.5287, 0.01, -0.0, 0.4686, -0.0, -0.0, 0.2131, 1.2573, -0.0, 0.2883, -0.0, -0.0, 0.2131, 1.1872, -0.0, 0.168, 1.2573, -0.0, 0.2883, -0.0, -0.0, 0.2131, -0.0251, -0.0, 0.1029, 1.1872, -0.0, 0.168, -0.0251, -0.0, 0.1029, 0.2605, -0.0, -0.2377, 1.1872, -0.0, 0.168, 0.2605, -0.0, -0.2377, 1.3926, -0.0, 0.0628, 1.1872, -0.0, 0.168, 0.2605, -0.0, -0.2377, 0.8466, -0.0, -0.6886, 1.3926, -0.0, 0.0628, 0.8466, -0.0, -0.6886, 1.6781, -0.0, -0.3229, 1.3926, -0.0, 0.0628, 0.8466, -0.0, -0.6886, 1.2573, -0.0, -0.8589, 1.6781, -0.0, -0.3229, 1.2573, -0.0, -0.8589, 1.7533, -0.0, -0.6485, 1.6781, -0.0, -0.3229, 1.2573, -0.0, -0.8589, 1.628, -0.0, -0.8639, 1.7533, -0.0, -0.6485, ]"))
(define wing-normals (js "[0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, ]"))
(define wing-texcoords (js "[0.8073, 0.1097, 0.0, 0.4862, 0.0992, 0.0, 0.6752, 0.0493, 0.0, 0.8073, 0.1097, 0.0, 0.4021, 0.218, 0.0, 0.4862, 0.0992, 0.0, 0.8073, 0.1097, 0.0, 0.9373, 0.2673, 0.0, 0.4021, 0.218, 0.0, 0.9373, 0.2673, 0.0, 0.3375, 0.3569, 0.0, 0.4021, 0.218, 0.0, 0.9373, 0.2673, 0.0, 0.9452, 0.3788, 0.0, 0.3375, 0.3569, 0.0, 0.9452, 0.3788, 0.0, 0.3636, 0.4094, 0.0, 0.3375, 0.3569, 0.0, 0.9452, 0.3788, 0.0, 0.9545, 0.4621, 0.0, 0.3636, 0.4094, 0.0, 0.9545, 0.4621, 0.0, 0.8035, 0.6238, 0.0, 0.3636, 0.4094, 0.0, 0.8035, 0.6238, 0.0, 0.3027, 0.4468, 0.0, 0.3636, 0.4094, 0.0, 0.8035, 0.6238, 0.0, 0.5339, 0.8287, 0.0, 0.3027, 0.4468, 0.0, 0.5339, 0.8287, 0.0, 0.1433, 0.6399, 0.0, 0.3027, 0.4468, 0.0, 0.5339, 0.8287, 0.0, 0.3303, 0.9123, 0.0, 0.1433, 0.6399, 0.0, 0.3303, 0.9123, 0.0, 0.0996, 0.8069, 0.0, 0.1433, 0.6399, 0.0, 0.3303, 0.9123, 0.0, 0.1544, 0.9162, 0.0, 0.0996, 0.8069, 0.0, ]"))

(define body-vertices  (js "[-0.0, 0.0, -0.921, -0.0, 0.0, -0.921, 0.0061, 0.0211, -0.4399, -0.015, 0.0, -0.4394, -0.0, 0.0, -0.921, 0.0061, 0.0211, -0.4399, 0.0061, -0.0211, -0.4399, -0.0, 0.0, -0.921, -0.015, 0.0, -0.4394, 0.0061, -0.0211, -0.4399, -0.0, 0.0, -0.921, -0.0, 0.0, -0.921, 0.0272, 0.0, -0.4404, -0.0, 0.0, -0.921, 0.0061, -0.0211, -0.4399, 0.0272, 0.0, -0.4404, -0.0, 0.0, -0.921, -0.0, 0.0, -0.921, -0.0, 0.0, -0.921, -0.0, 0.0, -0.921, 0.0272, 0.0, -0.4404, 0.0061, 0.0211, -0.4399, -0.0, 0.0, -0.921, 0.0272, 0.0, -0.4404, -0.0065, 0.0, -0.0029, 0.0061, 0.0211, -0.4399, 0.0194, 0.0259, -0.0037, -0.0065, 0.0, -0.0029, -0.015, 0.0, -0.4394, 0.0061, 0.0211, -0.4399, 0.0061, -0.0211, -0.4399, -0.015, 0.0, -0.4394, -0.0065, 0.0, -0.0029, 0.0194, -0.0259, -0.0037, 0.0061, -0.0211, -0.4399, -0.0065, 0.0, -0.0029, 0.0272, 0.0, -0.4404, 0.0061, -0.0211, -0.4399, 0.0194, -0.0259, -0.0037, 0.0453, 0.0, -0.0046, 0.0272, 0.0, -0.4404, 0.0194, -0.0259, -0.0037, 0.0194, 0.0259, -0.0037, 0.0272, 0.0, -0.4404, 0.0453, 0.0, -0.0046, 0.0194, 0.0259, -0.0037, 0.0061, 0.0211, -0.4399, 0.0272, 0.0, -0.4404, 0.0064, -0.0, 0.3776, 0.0194, 0.0259, -0.0037, 0.0328, 0.0264, 0.3769, 0.0064, -0.0, 0.3776, -0.0065, 0.0, -0.0029, 0.0194, 0.0259, -0.0037, 0.0194, -0.0259, -0.0037, -0.0065, 0.0, -0.0029, 0.0064, -0.0, 0.3776, 0.0328, -0.0264, 0.3769, 0.0194, -0.0259, -0.0037, 0.0064, -0.0, 0.3776, 0.0453, 0.0, -0.0046, 0.0194, -0.0259, -0.0037, 0.0328, -0.0264, 0.3769, 0.0592, -0.0, 0.3761, 0.0453, 0.0, -0.0046, 0.0328, -0.0264, 0.3769, 0.0328, 0.0264, 0.3769, 0.0453, 0.0, -0.0046, 0.0592, -0.0, 0.3761, 0.0328, 0.0264, 0.3769, 0.0194, 0.0259, -0.0037, 0.0453, 0.0, -0.0046, 0.0125, -0.0, 0.691, 0.0328, 0.0264, 0.3769, 0.0389, 0.0263, 0.6913, 0.0125, -0.0, 0.691, 0.0064, -0.0, 0.3776, 0.0328, 0.0264, 0.3769, 0.0328, -0.0264, 0.3769, 0.0064, -0.0, 0.3776, 0.0125, -0.0, 0.691, 0.0389, -0.0263, 0.6913, 0.0328, -0.0264, 0.3769, 0.0125, -0.0, 0.691, 0.0592, -0.0, 0.3761, 0.0328, -0.0264, 0.3769, 0.0389, -0.0263, 0.6913, 0.0652, -0.0, 0.6915, 0.0592, -0.0, 0.3761, 0.0389, -0.0263, 0.6913, 0.0389, 0.0263, 0.6913, 0.0592, -0.0, 0.3761, 0.0652, -0.0, 0.6915, 0.0389, 0.0263, 0.6913, 0.0328, 0.0264, 0.3769, 0.0592, -0.0, 0.3761, -0.0296, -0.0, 0.9218, 0.0389, 0.0263, 0.6913, 0.0304, 0.0601, 0.9289, -0.0296, -0.0, 0.9218, 0.0125, -0.0, 0.691, 0.0389, 0.0263, 0.6913, 0.0389, -0.0263, 0.6913, 0.0125, -0.0, 0.691, -0.0296, -0.0, 0.9218, 0.0304, -0.0601, 0.9289, 0.0389, -0.0263, 0.6913, -0.0296, -0.0, 0.9218, 0.0652, -0.0, 0.6915, 0.0389, -0.0263, 0.6913, 0.0304, -0.0601, 0.9289, 0.0903, -0.0, 0.9359, 0.0652, -0.0, 0.6915, 0.0304, -0.0601, 0.9289, 0.0304, 0.0601, 0.9289, 0.0652, -0.0, 0.6915, 0.0903, -0.0, 0.9359, 0.0304, 0.0601, 0.9289, 0.0389, 0.0263, 0.6913, 0.0652, -0.0, 0.6915, -0.0296, -0.0, 0.9218, 0.0304, 0.0601, 0.9289, 0.0, -0.002, 1.079, 0.002, -0.0, 1.0793, -0.0296, -0.0, 0.9218, 0.0, -0.002, 1.079, 0.0, 0.002, 1.079, -0.0296, -0.0, 0.9218, 0.002, -0.0, 1.0793, 0.0, 0.002, 1.079, 0.0304, -0.0601, 0.9289, -0.0296, -0.0, 0.9218, 0.0304, -0.0601, 0.9289, -0.002, -0.0, 1.0788, 0.0903, -0.0, 0.9359, 0.0304, -0.0601, 0.9289, 0.0, 0.002, 1.079, -0.002, -0.0, 1.0788, 0.0304, 0.0601, 0.9289, 0.0903, -0.0, 0.9359, -0.002, -0.0, 1.0788, 0.0, -0.002, 1.079, 0.0304, 0.0601, 0.9289, -0.002, -0.0, 1.0788, 0.3868, -0.2394, 1.1734, 0.0643, -0.0224, 0.9367, 0.3926, -0.2359, 1.1688, 0.3868, -0.2394, 1.1734, 0.0587, -0.026, 0.9413, 0.0643, -0.0224, 0.9367, 0.3862, -0.2454, 1.1679, 0.0587, -0.026, 0.9413, 0.3868, -0.2394, 1.1734, 0.3862, -0.2454, 1.1679, 0.058, -0.0318, 0.9358, 0.0587, -0.026, 0.9413, 0.0635, -0.0282, 0.9313, 0.058, -0.0318, 0.9358, 0.3862, -0.2454, 1.1679, 0.392, -0.2419, 1.1634, 0.0635, -0.0282, 0.9313, 0.3862, -0.2454, 1.1679, 0.0643, -0.0224, 0.9367, 0.0635, -0.0282, 0.9313, 0.392, -0.2419, 1.1634, 0.3926, -0.2359, 1.1688, 0.0643, -0.0224, 0.9367, 0.392, -0.2419, 1.1634, 0.3976, -0.2518, 1.2178, 0.3926, -0.2359, 1.1688, 0.4354, -0.2324, 1.1921, 0.3976, -0.2518, 1.2178, 0.3868, -0.2394, 1.1734, 0.3926, -0.2359, 1.1688, 0.3862, -0.2454, 1.1679, 0.3868, -0.2394, 1.1734, 0.3976, -0.2518, 1.2178, 0.3965, -0.2905, 1.1866, 0.3862, -0.2454, 1.1679, 0.3976, -0.2518, 1.2178, 0.392, -0.2419, 1.1634, 0.3862, -0.2454, 1.1679, 0.3965, -0.2905, 1.1866, 0.4343, -0.271, 1.1609, 0.392, -0.2419, 1.1634, 0.3965, -0.2905, 1.1866, 0.4354, -0.2324, 1.1921, 0.392, -0.2419, 1.1634, 0.4343, -0.271, 1.1609, 0.4354, -0.2324, 1.1921, 0.3926, -0.2359, 1.1688, 0.392, -0.2419, 1.1634, 0.3976, -0.2518, 1.2178, 0.4354, -0.2324, 1.1921, 0.4449, -0.2829, 1.2166, 0.4453, -0.2827, 1.2163, 0.3976, -0.2518, 1.2178, 0.4449, -0.2829, 1.2166, 0.4454, -0.2822, 1.2167, 0.3976, -0.2518, 1.2178, 0.4453, -0.2827, 1.2163, 0.4454, -0.2822, 1.2167, 0.3965, -0.2905, 1.1866, 0.3976, -0.2518, 1.2178, 0.3965, -0.2905, 1.1866, 0.4449, -0.2824, 1.217, 0.4343, -0.271, 1.1609, 0.3965, -0.2905, 1.1866, 0.4454, -0.2822, 1.2167, 0.4449, -0.2824, 1.217, 0.4354, -0.2324, 1.1921, 0.4343, -0.271, 1.1609, 0.4449, -0.2824, 1.217, 0.4449, -0.2829, 1.2166, 0.4354, -0.2324, 1.1921, 0.4449, -0.2824, 1.217, 0.2788, 0.3996, 1.0633, 0.0473, 0.0266, 0.943, 0.2812, 0.3959, 1.0701, 0.2788, 0.3996, 1.0633, 0.0451, 0.0304, 0.9363, 0.0473, 0.0266, 0.943, 0.2721, 0.4021, 1.067, 0.0451, 0.0304, 0.9363, 0.2788, 0.3996, 1.0633, 0.2721, 0.4021, 1.067, 0.0383, 0.0327, 0.9399, 0.0451, 0.0304, 0.9363, 0.0406, 0.029, 0.9466, 0.0383, 0.0327, 0.9399, 0.2721, 0.4021, 1.067, 0.2745, 0.3985, 1.0738, 0.0406, 0.029, 0.9466, 0.2721, 0.4021, 1.067, 0.0473, 0.0266, 0.943, 0.0406, 0.029, 0.9466, 0.2745, 0.3985, 1.0738, 0.2812, 0.3959, 1.0701, 0.0473, 0.0266, 0.943, 0.2745, 0.3985, 1.0738, 0.3067, 0.433, 1.0446, 0.2812, 0.3959, 1.0701, 0.3232, 0.4141, 1.0874, 0.3067, 0.433, 1.0446, 0.2788, 0.3996, 1.0633, 0.2812, 0.3959, 1.0701, 0.2721, 0.4021, 1.067, 0.2788, 0.3996, 1.0633, 0.3067, 0.433, 1.0446, 0.2671, 0.4517, 1.0682, 0.2721, 0.4021, 1.067, 0.3067, 0.433, 1.0446, 0.2745, 0.3985, 1.0738, 0.2721, 0.4021, 1.067, 0.2671, 0.4517, 1.0682, 0.2837, 0.4327, 1.1111, 0.2745, 0.3985, 1.0738, 0.2671, 0.4517, 1.0682, 0.3232, 0.4141, 1.0874, 0.2745, 0.3985, 1.0738, 0.2837, 0.4327, 1.1111, 0.3232, 0.4141, 1.0874, 0.2812, 0.3959, 1.0701, 0.2745, 0.3985, 1.0738, 0.3067, 0.433, 1.0446, 0.3232, 0.4141, 1.0874, 0.3186, 0.4708, 1.085, 0.3188, 0.4706, 1.0856, 0.3067, 0.433, 1.0446, 0.3186, 0.4708, 1.085, 0.3193, 0.4704, 1.0853, 0.3067, 0.433, 1.0446, 0.3188, 0.4706, 1.0856, 0.3193, 0.4704, 1.0853, 0.2671, 0.4517, 1.0682, 0.3067, 0.433, 1.0446, 0.2671, 0.4517, 1.0682, 0.3191, 0.4706, 1.0847, 0.2837, 0.4327, 1.1111, 0.2671, 0.4517, 1.0682, 0.3193, 0.4704, 1.0853, 0.3191, 0.4706, 1.0847, 0.3232, 0.4141, 1.0874, 0.2837, 0.4327, 1.1111, 0.3191, 0.4706, 1.0847, 0.3186, 0.4708, 1.085, 0.3232, 0.4141, 1.0874, 0.3191, 0.4706, 1.0847, ]"))
(define body-normals (js "[-0.9995, 0.0055, -0.0312, 0.7062, 0.7069, -0.0399, -0.0159, 0.9998, -0.0115, -1.0, 0.0, -0.0058, -0.9995, 0.0055, -0.0312, -0.0159, 0.9998, -0.0115, -0.0106, -0.9999, -0.0114, -0.9995, 0.0055, -0.0312, -1.0, 0.0, -0.0058, -0.0106, -0.9999, -0.0114, 0.7062, -0.7069, -0.0399, -0.9995, 0.0055, -0.0312, 0.9991, 0.0054, -0.0418, 0.7062, -0.7069, -0.0399, -0.0106, -0.9999, -0.0114, 0.9991, 0.0054, -0.0418, 0.0, 0.0, 0.0, 0.7062, -0.7069, -0.0399, 0.7062, 0.7069, -0.0399, 0.0, 0.0, 0.0, 0.9991, 0.0054, -0.0418, -0.0159, 0.9998, -0.0115, 0.7062, 0.7069, -0.0399, 0.9991, 0.0054, -0.0418, -0.9996, 0.0, 0.0266, -0.0159, 0.9998, -0.0115, -0.0021, 1.0, -0.0061, -0.9996, 0.0, 0.0266, -1.0, 0.0, -0.0058, -0.0159, 0.9998, -0.0115, -0.0106, -0.9999, -0.0114, -1.0, 0.0, -0.0058, -0.9996, 0.0, 0.0266, -0.0021, -1.0, -0.0061, -0.0106, -0.9999, -0.0114, -0.9996, 0.0, 0.0266, 0.9991, 0.0054, -0.0418, -0.0106, -0.9999, -0.0114, -0.0021, -1.0, -0.0061, 0.9992, 0.0, -0.039, 0.9991, 0.0054, -0.0418, -0.0021, -1.0, -0.0061, -0.0021, 1.0, -0.0061, 0.9991, 0.0054, -0.0418, 0.9992, 0.0, -0.039, -0.0021, 1.0, -0.0061, -0.0159, 0.9998, -0.0115, 0.9991, 0.0054, -0.0418, -0.9996, 0.0, 0.0267, -0.0021, 1.0, -0.0061, 0.0007, 1.0, -0.0005, -0.9996, 0.0, 0.0267, -0.9996, 0.0, 0.0266, -0.0021, 1.0, -0.0061, -0.0021, -1.0, -0.0061, -0.9996, 0.0, 0.0266, -0.9996, 0.0, 0.0267, 0.0007, -1.0, -0.0005, -0.0021, -1.0, -0.0061, -0.9996, 0.0, 0.0267, 0.9992, 0.0, -0.039, -0.0021, -1.0, -0.0061, 0.0007, -1.0, -0.0005, 0.9996, 0.0, -0.0277, 0.9992, 0.0, -0.039, 0.0007, -1.0, -0.0005, 0.0007, 1.0, -0.0005, 0.9992, 0.0, -0.039, 0.9996, 0.0, -0.0277, 0.0007, 1.0, -0.0005, -0.0021, 1.0, -0.0061, 0.9992, 0.0, -0.039, -0.9968, 0.0, -0.0803, 0.0007, 1.0, -0.0005, -0.0229, 0.9972, -0.0708, -0.9968, 0.0, -0.0803, -0.9996, 0.0, 0.0267, 0.0007, 1.0, -0.0005, 0.0007, -1.0, -0.0005, -0.9996, 0.0, 0.0267, -0.9968, 0.0, -0.0803, -0.0229, -0.9972, -0.0708, 0.0007, -1.0, -0.0005, -0.9968, 0.0, -0.0803, 0.9996, 0.0, -0.0277, 0.0007, -1.0, -0.0005, -0.0229, -0.9972, -0.0708, 0.9981, 0.0, -0.0608, 0.9996, 0.0, -0.0277, -0.0229, -0.9972, -0.0708, -0.0229, 0.9972, -0.0708, 0.9996, 0.0, -0.0277, 0.9981, 0.0, -0.0608, -0.0229, 0.9972, -0.0708, 0.0007, 1.0, -0.0005, 0.9996, 0.0, -0.0277, -0.6951, 0.0, -0.7189, -0.0229, 0.9972, -0.0708, -0.4938, 0.8565, -0.1502, -0.6951, 0.0, -0.7189, -0.9968, 0.0, -0.0803, -0.0229, 0.9972, -0.0708, -0.0229, -0.9972, -0.0708, -0.9968, 0.0, -0.0803, -0.6951, 0.0, -0.7189, -0.4938, -0.8565, -0.1502, -0.0229, -0.9972, -0.0708, -0.6951, 0.0, -0.7189, 0.9981, 0.0, -0.0608, -0.0229, -0.9972, -0.0708, -0.4938, -0.8565, -0.1502, 0.9724, 0.0, 0.2331, 0.9981, 0.0, -0.0608, -0.4938, -0.8565, -0.1502, -0.4938, 0.8565, -0.1502, 0.9981, 0.0, -0.0608, 0.9724, 0.0, 0.2331, -0.4938, 0.8565, -0.1502, -0.0229, 0.9972, -0.0708, 0.9981, 0.0, -0.0608, -0.6951, 0.0, -0.7189, -0.4938, 0.8565, -0.1502, -0.9805, 0.0048, -0.1962, 0.9804, 0.0, -0.1967, -0.6951, 0.0, -0.7189, -0.9805, 0.0048, -0.1962, -0.9805, -0.0048, -0.1962, -0.6951, 0.0, -0.7189, 0.9804, 0.0, -0.1967, -0.9805, -0.0048, -0.1962, -0.4938, -0.8565, -0.1502, -0.6951, 0.0, -0.7189, -0.4938, -0.8565, -0.1502, 0.8398, 0.0, 0.5428, 0.9724, 0.0, 0.2331, -0.4938, -0.8565, -0.1502, -0.9805, -0.0048, -0.1962, 0.8398, 0.0, 0.5428, -0.4938, 0.8565, -0.1502, 0.9724, 0.0, 0.2331, 0.8398, 0.0, 0.5428, -0.9805, 0.0048, -0.1962, -0.4938, 0.8565, -0.1502, 0.8398, 0.0, 0.5428, -0.6778, 0.3701, 0.6353, 0.5177, 0.8538, 0.053, 0.2823, 0.9559, -0.0806, -0.6778, 0.3701, 0.6353, -0.4603, 0.2258, 0.8585, 0.5177, 0.8538, 0.053, -0.7445, -0.6327, -0.2128, -0.4603, 0.2258, 0.8585, -0.6778, 0.3701, 0.6353, -0.7445, -0.6327, -0.2128, -0.518, -0.8537, -0.0531, -0.4603, 0.2258, 0.8585, 0.4591, -0.2274, -0.8588, -0.518, -0.8537, -0.0531, -0.7445, -0.6327, -0.2128, 0.2234, -0.0834, -0.9711, 0.4591, -0.2274, -0.8588, -0.7445, -0.6327, -0.2128, 0.5177, 0.8538, 0.053, 0.4591, -0.2274, -0.8588, 0.2234, -0.0834, -0.9711, 0.2823, 0.9559, -0.0806, 0.5177, 0.8538, 0.053, 0.2234, -0.0834, -0.9711, -0.8321, 0.528, 0.17, 0.2823, 0.9559, -0.0806, 0.0782, 0.9574, 0.278, -0.8321, 0.528, 0.17, -0.6778, 0.3701, 0.6353, 0.2823, 0.9559, -0.0806, -0.7445, -0.6327, -0.2128, -0.6778, 0.3701, 0.6353, -0.8321, 0.528, 0.17, -0.8767, -0.461, 0.1375, -0.7445, -0.6327, -0.2128, -0.8321, 0.528, 0.17, 0.2234, -0.0834, -0.9711, -0.7445, -0.6327, -0.2128, -0.8767, -0.461, 0.1375, 0.523, -0.278, -0.8057, 0.2234, -0.0834, -0.9711, -0.8767, -0.461, 0.1375, 0.0782, 0.9574, 0.278, 0.2234, -0.0834, -0.9711, 0.523, -0.278, -0.8057, 0.0782, 0.9574, 0.278, 0.2823, 0.9559, -0.0806, 0.2234, -0.0834, -0.9711, -0.8321, 0.528, 0.17, 0.0782, 0.9574, 0.278, -0.5394, 0.2834, 0.7929, 0.0181, 0.0769, -0.9969, -0.8321, 0.528, 0.17, -0.5394, 0.2834, 0.7929, -0.5364, 0.2877, 0.7934, -0.8321, 0.528, 0.17, 0.0181, 0.0769, -0.9969, -0.5364, 0.2877, 0.7934, -0.8767, -0.461, 0.1375, -0.8321, 0.528, 0.17, -0.8767, -0.461, 0.1375, 0.8156, -0.5171, -0.2593, 0.523, -0.278, -0.8057, -0.8767, -0.461, 0.1375, -0.5364, 0.2877, 0.7934, 0.8156, -0.5171, -0.2593, 0.0782, 0.9574, 0.278, 0.523, -0.278, -0.8057, 0.8156, -0.5171, -0.2593, -0.5394, 0.2834, 0.7929, 0.0782, 0.9574, 0.278, 0.8156, -0.5171, -0.2593, 0.174, -0.1953, -0.9651, 0.7737, -0.5787, 0.2579, 0.6006, -0.7849, 0.1519, 0.174, -0.1953, -0.9651, 0.3707, 0.0834, -0.925, 0.7737, -0.5787, 0.2579, -0.8978, 0.2608, -0.3548, 0.3707, 0.0834, -0.925, 0.174, -0.1953, -0.9651, -0.8978, 0.2608, -0.3548, -0.7738, 0.5785, -0.258, 0.3707, 0.0834, -0.925, -0.3724, -0.0825, 0.9244, -0.7738, 0.5785, -0.258, -0.8978, 0.2608, -0.3548, -0.5112, -0.315, 0.7996, -0.3724, -0.0825, 0.9244, -0.8978, 0.2608, -0.3548, 0.7737, -0.5787, 0.2579, -0.3724, -0.0825, 0.9244, -0.5112, -0.315, 0.7996, 0.6006, -0.7849, 0.1519, 0.7737, -0.5787, 0.2579, -0.5112, -0.315, 0.7996, -0.1281, -0.5799, -0.8045, 0.6006, -0.7849, 0.1519, 0.7017, -0.6735, -0.2323, -0.1281, -0.5799, -0.8045, 0.174, -0.1953, -0.9651, 0.6006, -0.7849, 0.1519, -0.8978, 0.2608, -0.3548, 0.174, -0.1953, -0.9651, -0.1281, -0.5799, -0.8045, -0.6729, 0.2405, -0.6995, -0.8978, 0.2608, -0.3548, -0.1281, -0.5799, -0.8045, -0.5112, -0.315, 0.7996, -0.8978, 0.2608, -0.3548, -0.6729, 0.2405, -0.6995, -0.3265, 0.0008, 0.9452, -0.5112, -0.315, 0.7996, -0.6729, 0.2405, -0.6995, 0.7017, -0.6735, -0.2323, -0.5112, -0.315, 0.7996, -0.3265, 0.0008, 0.9452, 0.7017, -0.6735, -0.2323, 0.6006, -0.7849, 0.1519, -0.5112, -0.315, 0.7996, -0.1281, -0.5799, -0.8045, 0.7017, -0.6735, -0.2323, 0.3113, -0.0151, -0.9502, -0.5698, -0.5146, 0.6407, -0.1281, -0.5799, -0.8045, 0.3113, -0.0151, -0.9502, 0.316, -0.018, -0.9486, -0.1281, -0.5799, -0.8045, -0.5698, -0.5146, 0.6407, 0.316, -0.018, -0.9486, -0.6729, 0.2405, -0.6995, -0.1281, -0.5799, -0.8045, -0.6729, 0.2405, -0.6995, 0.0683, 0.5262, 0.8476, -0.3265, 0.0008, 0.9452, -0.6729, 0.2405, -0.6995, 0.316, -0.018, -0.9486, 0.0683, 0.5262, 0.8476, 0.7017, -0.6735, -0.2323, -0.3265, 0.0008, 0.9452, 0.0683, 0.5262, 0.8476, 0.3113, -0.0151, -0.9502, 0.7017, -0.6735, -0.2323, 0.0683, 0.5262, 0.8476, ]"))
(define body-texcoords (js "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ]"))
