Skip to content

Instantly share code, notes, and snippets.

@verma
Last active August 29, 2015 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save verma/d3c2ac234f10aac62b0a to your computer and use it in GitHub Desktop.
Save verma/d3c2ac234f10aac62b0a to your computer and use it in GitHub Desktop.
Compiling "target/dev/renderer.js" failed.
clojure.lang.ExceptionInfo: failed compiling file:src/renderer/core.cljs
core.clj:4403 clojure.core/ex-info
compiler.clj:1029 cljs.compiler/compile-file
compiler.clj:1082 cljs.compiler/compile-root
closure.clj:341 cljs.closure/compile-dir
closure.clj:381 cljs.closure/eval2986[fn]
closure.clj:292 cljs.closure/eval2923[fn]
closure.clj:395 cljs.closure/eval2973[fn]
closure.clj:292 cljs.closure/eval2923[fn]
compiler.clj:44 cljsbuild.compiler.SourcePaths/fn
core.clj:2557 clojure.core/map[fn]
LazySeq.java:40 clojure.lang.LazySeq.sval
LazySeq.java:49 clojure.lang.LazySeq.seq
RT.java:484 clojure.lang.RT.seq
core.clj:133 clojure.core/seq
core.clj:624 clojure.core/apply
core.clj:2586 clojure.core/mapcat
RestFn.java:423 clojure.lang.RestFn.invoke
compiler.clj:44 cljsbuild.compiler/cljsbuild.compiler.SourcePaths
closure.clj:955 cljs.closure/build
closure.clj:923 cljs.closure/build
compiler.clj:58 cljsbuild.compiler/compile-cljs[fn]
compiler.clj:57 cljsbuild.compiler/compile-cljs
compiler.clj:159 cljsbuild.compiler/run-compiler
form-init5508764240807392480.clj:1 user/eval3319[fn]
form-init5508764240807392480.clj:1 user/eval3319[fn]
LazySeq.java:40 clojure.lang.LazySeq.sval
LazySeq.java:49 clojure.lang.LazySeq.seq
RT.java:484 clojure.lang.RT.seq
core.clj:133 clojure.core/seq
core.clj:2855 clojure.core/dorun
core.clj:2871 clojure.core/doall
form-init5508764240807392480.clj:1 user/eval3319
Compiler.java:6703 clojure.lang.Compiler.eval
Compiler.java:6693 clojure.lang.Compiler.eval
Compiler.java:7130 clojure.lang.Compiler.load
Compiler.java:7086 clojure.lang.Compiler.loadFile
main.clj:274 clojure.main/load-script
main.clj:279 clojure.main/init-opt
main.clj:307 clojure.main/initialize
main.clj:342 clojure.main/null-opt
main.clj:420 clojure.main/main
RestFn.java:421 clojure.lang.RestFn.invoke
Var.java:383 clojure.lang.Var.invoke
AFn.java:156 clojure.lang.AFn.applyToHelper
Var.java:700 clojure.lang.Var.applyTo
main.java:37 clojure.main.main
Caused by: clojure.lang.ExceptionInfo: count not supported on this type: Symbol at line 31 src/renderer/core.cljs
core.clj:4403 clojure.core/ex-info
analyzer.clj:268 cljs.analyzer/error
analyzer.clj:1442 cljs.analyzer/analyze-seq
analyzer.clj:1532 cljs.analyzer/analyze[fn]
analyzer.clj:1525 cljs.analyzer/analyze
analyzer.clj:1446 cljs.analyzer/analyze-seq
analyzer.clj:1532 cljs.analyzer/analyze[fn]
analyzer.clj:1525 cljs.analyzer/analyze
analyzer.clj:1520 cljs.analyzer/analyze
analyzer.clj:816 cljs.analyzer/eval1264[fn]
MultiFn.java:241 clojure.lang.MultiFn.invoke
analyzer.clj:1444 cljs.analyzer/analyze-seq
analyzer.clj:1532 cljs.analyzer/analyze[fn]
analyzer.clj:1525 cljs.analyzer/analyze
analyzer.clj:1520 cljs.analyzer/analyze
analyzer.clj:813 cljs.analyzer/eval1264[fn]
core.clj:2557 clojure.core/map[fn]
LazySeq.java:40 clojure.lang.LazySeq.sval
LazySeq.java:49 clojure.lang.LazySeq.seq
RT.java:484 clojure.lang.RT.seq
core.clj:133 clojure.core/seq
analyzer.clj:813 cljs.analyzer/eval1264[fn]
analyzer.clj:812 cljs.analyzer/eval1264[fn]
MultiFn.java:241 clojure.lang.MultiFn.invoke
analyzer.clj:1444 cljs.analyzer/analyze-seq
analyzer.clj:1532 cljs.analyzer/analyze[fn]
analyzer.clj:1525 cljs.analyzer/analyze
analyzer.clj:1520 cljs.analyzer/analyze
analyzer.clj:873 cljs.analyzer/analyze-let[fn]
analyzer.clj:869 cljs.analyzer/analyze-let
analyzer.clj:880 cljs.analyzer/eval1290[fn]
MultiFn.java:241 clojure.lang.MultiFn.invoke
analyzer.clj:1444 cljs.analyzer/analyze-seq
analyzer.clj:1532 cljs.analyzer/analyze[fn]
analyzer.clj:1525 cljs.analyzer/analyze
analyzer.clj:1446 cljs.analyzer/analyze-seq
analyzer.clj:1532 cljs.analyzer/analyze[fn]
analyzer.clj:1525 cljs.analyzer/analyze
analyzer.clj:1446 cljs.analyzer/analyze-seq
analyzer.clj:1532 cljs.analyzer/analyze[fn]
analyzer.clj:1525 cljs.analyzer/analyze
analyzer.clj:1520 cljs.analyzer/analyze
compiler.clj:908 cljs.compiler/compile-file*
compiler.clj:1022 cljs.compiler/compile-file
Caused by: java.lang.UnsupportedOperationException: count not supported on this type: Symbol
RT.java:556 clojure.lang.RT.countFrom
RT.java:530 clojure.lang.RT.count
core.clj:777 cljs.core/add-proto-methods*[fn]
core.clj:2557 clojure.core/map[fn]
LazySeq.java:40 clojure.lang.LazySeq.sval
LazySeq.java:49 clojure.lang.LazySeq.seq
RT.java:484 clojure.lang.RT.seq
core.clj:133 clojure.core/seq
core.clj:694 clojure.core/concat[fn]
LazySeq.java:40 clojure.lang.LazySeq.sval
LazySeq.java:56 clojure.lang.LazySeq.seq
RT.java:484 clojure.lang.RT.seq
core.clj:133 clojure.core/seq
core.clj:694 clojure.core/concat[fn]
LazySeq.java:40 clojure.lang.LazySeq.sval
LazySeq.java:49 clojure.lang.LazySeq.seq
ChunkedCons.java:59 clojure.lang.ChunkedCons.chunkedNext
ChunkedCons.java:43 clojure.lang.ChunkedCons.next
RT.java:598 clojure.lang.RT.next
core.clj:64 clojure.core/next
core.clj:262 clojure.core/butlast
analyzer.clj:813 cljs.analyzer/eval1264[fn]
analyzer.clj:812 cljs.analyzer/eval1264[fn]
MultiFn.java:241 clojure.lang.MultiFn.invoke
analyzer.clj:1444 cljs.analyzer/analyze-seq
(defprotocol IPlasioRenderer
(startup [this elem])
(set-clear-color [this col] [this r g b])
(add-camera [this props])
(set-eye-position [this x y z] [this pos])
(set-target-position [this x y z] [this pos])
(add-scale-object [this uri x y z] [this uri pos])
(remove-all-scale-objects [this])
(add-point-buffer [this id buffer]))
(defrecord PlasioRenderer [state]
IPlasioRenderer
(startup [this elem]
(println "Doing startup!")
(let [rengine (-> (r/make-engine)
(r/init elem state))]
(println "Have engine");
;; Add some state listeners to auto-trigger redraw
(add-watch state "__watcher"
(fn [_ _ _ new-state]
(println "state changed to:" new-state)
(r/sync-state rengine new-state)))
;; jump start stuff by setting our state from init-state
(println "Setting up state!")
(reset! state (do-startup init-state))))
(add-camera [this props]
(swap! state update-in [:cameras] conj props))
(defn sum-and-show [a b]
(js/alert (str (+ a b))))
(set-clear-color [this r g b]
(set-clear-color this [r g b]))
(set-clear-color [this col]
(swap! state assoc-in [:display :clear-color] col))
(set-eye-position [this x y z]
(set-eye-position this [x y z]))
(set-eye-position [this pos]
(swap! state assoc-in [:view :eye] pos))
(set-target-position [this x y z]
(set-target-position this [x y z]))
(add-scale-object [this uri x y z]
(println "Adding scale object" uri x y z)
(add-scale-object this uri [x y z]))
(add-scale-object [this uri pos]
(swap! state update-in [:scale-objects] conj [uri pos]))
(remove-all-scale-objects [this]
(swap! state assoc-in [:scale-objects] []))
(set-target-position [this pos]
(swap! state assoc-in [:view :target] pos))
(add-point-buffer [this id buffer]
;; TODO: make sure that passed buffer is of javascript array buffer
(when-not (= (type buffer) js/Float32Array)
(throw (js/Error. "Only Float32Array types are expected for adding buffers")))
(swap! state update-in [:point-buffers] conj (r/make-buffer id buffer))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment