diff --git a/bower.json b/bower.json index 495b74a..fc7d865 100644 --- a/bower.json +++ b/bower.json @@ -16,37 +16,12 @@ "output" ], "dependencies": { - "purescript-jquery": "^1.0.0", - "purescript-ace": "^3.0.0", - "purescript-globals": "^2.0.0", + "purescript-jquery": "^4.0.0", + "purescript-ace": "^4.0.0", + "purescript-globals": "^3.0.0", "purescript-lambdacube-webgl": "git://github.com/lambdacube3d/purescript-lambdacube-webgl.git#master" }, "resolutions": { - "purescript-eff": "^2.0.0", - "purescript-dom": "^3.1.0", - "purescript-foreign": "^3.0.0", - "purescript-prelude": "^2.1.0", - "purescript-exceptions": "~2.0.0", - "purescript-js-date": "^3.0.0", - "purescript-foldable-traversable": "^2.0.0", - "purescript-enums": "^2.0.0", - "purescript-datetime": "^2.0.0", - "purescript-media-types": "^2.0.0", - "purescript-unsafe-coerce": "^2.0.0", - "purescript-nullable": "^2.0.0", - "purescript-arrays": "^3.0.0", - "purescript-integers": "^2.0.0", - "purescript-strings": "^2.0.0", - "purescript-functions": "^2.0.0", - "purescript-either": "^2.0.0", - "purescript-generics": "^3.0.0", - "purescript-unfoldable": "^2.0.0", - "purescript-maybe": "^2.0.0", - "purescript-invariant": "^2.0.0", - "purescript-monoid": "^2.0.0", - "purescript-control": "^2.0.0", - "purescript-st": "^2.0.0", - "purescript-tuples": "^3.0.0", - "purescript-bifunctors": "^2.0.0" + "purescript-arraybuffer-types": "^2.0.0" } } diff --git a/compiler-service/compiler-service.cabal b/compiler-service/compiler-service.cabal index d5d1f46..1b7d809 100644 --- a/compiler-service/compiler-service.cabal +++ b/compiler-service/compiler-service.cabal @@ -29,7 +29,7 @@ executable compiler-service text >=1.2 && <1.3, aeson >=0.9 && <0.12, lambdacube-ir, - lambdacube-compiler, + lambdacube-compiler >=0.6.0.1, pretty-show == 1.6.*, containers, vector >= 0.11 && <0.12, diff --git a/compiler-service/server.hs b/compiler-service/server.hs index 1723dc9..bcaabdd 100644 --- a/compiler-service/server.hs +++ b/compiler-service/server.hs @@ -22,7 +22,7 @@ import qualified Snap.Http.Server as Snap import qualified Snap.Snaplet.Config as Snap import LambdaCube.Compiler.Pretty as C -import LambdaCube.Compiler as C +import LambdaCube.Compiler as C hiding(catchErr) import TypeInfo as T import Cache @@ -87,15 +87,15 @@ app compiler ch = Snap.route json <- case r of Left json -> return json Right add -> do - json <- catchErr er $ encodePretty . ff <$> compiler bs + json <- Main.catchErr er $ encodePretty . ff <$> compiler bs add json return json WS.sendTextData c json putStrLn "compileApp ended" where - cvtRange (C.Range _ (SPos r c) (SPos r' c')) = T.Range r c r' c' + cvtRange (C.Range _ (C.SPos r c) (C.SPos r' c')) = T.Range r c r' c' - ff (Left err, (infos, _)) = CompileError (plainShow err) (convertInfos infos) (convertWarnings infos) (convertErrors infos) + ff (Left err, (infos, _)) = CompileError (C.plainShow err) (convertInfos infos) (convertWarnings infos) (convertErrors infos) ff (Right ppl, (infos, dsg)) = Compiled dsg (prettyShowUnlines ppl) ppl (convertInfos infos) (convertWarnings infos) er e = return $ encodePretty $ CompileError ("\n!FAIL\n" ++ e) mempty mempty mempty diff --git a/editor.js b/editor.js index f4e6a80..dab0d45 100644 --- a/editor.js +++ b/editor.js @@ -1,4 +1,4 @@ -// Generated by psc-bundle 0.10.2 +// Generated by psc-bundle 0.11.4 var PS = {}; (function(exports) { "use strict"; @@ -49,21 +49,7 @@ var PS = {}; }; })(PS["Control.Apply"] = PS["Control.Apply"] || {}); (function(exports) { - "use strict"; - - exports.arrayMap = function (f) { - return function (arr) { - var l = arr.length; - var result = new Array(l); - for (var i = 0; i < l; i++) { - result[i] = f(arr[i]); - } - return result; - }; - }; -})(PS["Data.Functor"] = PS["Data.Functor"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var Semigroupoid = function (compose) { this.compose = compose; @@ -83,11 +69,11 @@ var PS = {}; exports["semigroupoidFn"] = semigroupoidFn; })(PS["Control.Semigroupoid"] = PS["Control.Semigroupoid"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Category = function (__superclass_Control$dotSemigroupoid$dotSemigroupoid_0, id) { - this["__superclass_Control.Semigroupoid.Semigroupoid_0"] = __superclass_Control$dotSemigroupoid$dotSemigroupoid_0; + var Category = function (Semigroupoid0, id) { + this.Semigroupoid0 = Semigroupoid0; this.id = id; }; var id = function (dict) { @@ -103,7 +89,7 @@ var PS = {}; exports["categoryFn"] = categoryFn; })(PS["Control.Category"] = PS["Control.Category"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var Control_Category = PS["Control.Category"]; var flip = function (f) { @@ -127,6 +113,20 @@ var PS = {}; exports["const"] = $$const; exports["flip"] = flip; })(PS["Data.Function"] = PS["Data.Function"] || {}); +(function(exports) { + "use strict"; + + exports.arrayMap = function (f) { + return function (arr) { + var l = arr.length; + var result = new Array(l); + for (var i = 0; i < l; i++) { + result[i] = f(arr[i]); + } + return result; + }; + }; +})(PS["Data.Functor"] = PS["Data.Functor"] || {}); (function(exports) { "use strict"; @@ -164,8 +164,8 @@ var PS = {}; exports.showStringImpl = function (s) { var l = s.length; return "\"" + s.replace( - /[\0-\x1F\x7F"\\]/g, - function (c, i) { // jshint ignore:line + /[\0-\x1F\x7F"\\]/g, // eslint-disable-line no-control-regex + function (c, i) { switch (c) { case "\"": case "\\": @@ -184,9 +184,19 @@ var PS = {}; } ) + "\""; }; + + exports.showArrayImpl = function (f) { + return function (xs) { + var ss = []; + for (var i = 0, l = xs.length; i < l; i++) { + ss[i] = f(xs[i]); + } + return "[" + ss.join(",") + "]"; + }; + }; })(PS["Data.Show"] = PS["Data.Show"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.Show"]; var Show = function (show) { @@ -208,6 +218,9 @@ var PS = {}; var show = function (dict) { return dict.show; }; + var showArray = function (dictShow) { + return new Show($foreign.showArrayImpl(show(dictShow))); + }; exports["Show"] = Show; exports["show"] = show; exports["showBoolean"] = showBoolean; @@ -215,43 +228,48 @@ var PS = {}; exports["showNumber"] = showNumber; exports["showChar"] = showChar; exports["showString"] = showString; + exports["showArray"] = showArray; })(PS["Data.Show"] = PS["Data.Show"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.Unit"]; var Data_Show = PS["Data.Show"]; exports["unit"] = $foreign.unit; })(PS["Data.Unit"] = PS["Data.Unit"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.Functor"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; - var Data_Unit = PS["Data.Unit"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Unit = PS["Data.Unit"]; var Functor = function (map) { this.map = map; }; var map = function (dict) { return dict.map; }; + var $$void = function (dictFunctor) { + return map(dictFunctor)(Data_Function["const"](Data_Unit.unit)); + }; var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn)); var functorArray = new Functor($foreign.arrayMap); exports["Functor"] = Functor; exports["map"] = map; + exports["void"] = $$void; exports["functorFn"] = functorFn; exports["functorArray"] = functorArray; })(PS["Data.Functor"] = PS["Data.Functor"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Control.Apply"]; - var Data_Functor = PS["Data.Functor"]; + var Control_Category = PS["Control.Category"]; var Data_Function = PS["Data.Function"]; - var Control_Category = PS["Control.Category"]; - var Apply = function (__superclass_Data$dotFunctor$dotFunctor_0, apply) { - this["__superclass_Data.Functor.Functor_0"] = __superclass_Data$dotFunctor$dotFunctor_0; + var Data_Functor = PS["Data.Functor"]; + var Apply = function (Functor0, apply) { + this.Functor0 = Functor0; this.apply = apply; }; var applyArray = new Apply(function () { @@ -263,7 +281,7 @@ var PS = {}; var applySecond = function (dictApply) { return function (a) { return function (b) { - return apply(dictApply)(Data_Functor.map(dictApply["__superclass_Data.Functor.Functor_0"]())(Data_Function["const"](Control_Category.id(Control_Category.categoryFn)))(a))(b); + return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function["const"](Control_Category.id(Control_Category.categoryFn)))(a))(b); }; }; }; @@ -271,7 +289,7 @@ var PS = {}; return function (f) { return function (a) { return function (b) { - return apply(dictApply)(Data_Functor.map(dictApply["__superclass_Data.Functor.Functor_0"]())(f)(a))(b); + return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b); }; }; }; @@ -283,13 +301,13 @@ var PS = {}; exports["applyArray"] = applyArray; })(PS["Control.Apply"] = PS["Control.Apply"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var Control_Apply = PS["Control.Apply"]; var Data_Functor = PS["Data.Functor"]; var Data_Unit = PS["Data.Unit"]; - var Applicative = function (__superclass_Control$dotApply$dotApply_0, pure) { - this["__superclass_Control.Apply.Apply_0"] = __superclass_Control$dotApply$dotApply_0; + var Applicative = function (Apply0, pure) { + this.Apply0 = Apply0; this.pure = pure; }; var pure = function (dict) { @@ -311,7 +329,7 @@ var PS = {}; var liftA1 = function (dictApplicative) { return function (f) { return function (a) { - return Control_Apply.apply(dictApplicative["__superclass_Control.Apply.Apply_0"]())(pure(dictApplicative)(f))(a); + return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a); }; }; }; @@ -334,16 +352,17 @@ var PS = {}; }; })(PS["Control.Bind"] = PS["Control.Bind"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Control.Bind"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Data_Function = PS["Data.Function"]; - var Data_Functor = PS["Data.Functor"]; - var Bind = function (__superclass_Control$dotApply$dotApply_0, bind) { - this["__superclass_Control.Apply.Apply_0"] = __superclass_Control$dotApply$dotApply_0; + var Data_Functor = PS["Data.Functor"]; + var Data_Unit = PS["Data.Unit"]; + var Bind = function (Apply0, bind) { + this.Apply0 = Apply0; this.bind = bind; }; var bindArray = new Bind(function () { @@ -371,23 +390,23 @@ var PS = {}; exports["bindArray"] = bindArray; })(PS["Control.Bind"] = PS["Control.Bind"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Data_Functor = PS["Data.Functor"]; var Data_Unit = PS["Data.Unit"]; - var Monad = function (__superclass_Control$dotApplicative$dotApplicative_0, __superclass_Control$dotBind$dotBind_1) { - this["__superclass_Control.Applicative.Applicative_0"] = __superclass_Control$dotApplicative$dotApplicative_0; - this["__superclass_Control.Bind.Bind_1"] = __superclass_Control$dotBind$dotBind_1; + var Monad = function (Applicative0, Bind1) { + this.Applicative0 = Applicative0; + this.Bind1 = Bind1; }; var ap = function (dictMonad) { return function (f) { return function (a) { - return Control_Bind.bind(dictMonad["__superclass_Control.Bind.Bind_1"]())(f)(function (v) { - return Control_Bind.bind(dictMonad["__superclass_Control.Bind.Bind_1"]())(a)(function (v1) { - return Control_Applicative.pure(dictMonad["__superclass_Control.Applicative.Applicative_0"]())(v(v1)); + return Control_Bind.bind(dictMonad.Bind1())(f)(function (v) { + return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) { + return Control_Applicative.pure(dictMonad.Applicative0())(v(v1)); }); }); }; @@ -397,7 +416,7 @@ var PS = {}; exports["ap"] = ap; })(PS["Control.Monad"] = PS["Control.Monad"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Control.Monad.Eff"]; var Control_Applicative = PS["Control.Applicative"]; @@ -444,20 +463,20 @@ var PS = {}; }; })(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.Function.Uncurried"]; var Data_Unit = PS["Data.Unit"]; exports["runFn4"] = $foreign.runFn4; })(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Ace"]; var Ace_Types = PS["Ace.Types"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; + var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var edit = function (el) { return function (self) { return $foreign.editImpl(el, self); @@ -511,12 +530,6 @@ var PS = {}; (function(exports) { "use strict"; - exports.concatString = function (s1) { - return function (s2) { - return s1 + s2; - }; - }; - exports.concatArray = function (xs) { return function (ys) { if (xs.length === 0) return ys; @@ -526,31 +539,29 @@ var PS = {}; }; })(PS["Data.Semigroup"] = PS["Data.Semigroup"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.Semigroup"]; var Data_Unit = PS["Data.Unit"]; var Data_Void = PS["Data.Void"]; var Semigroup = function (append) { this.append = append; - }; - var semigroupString = new Semigroup($foreign.concatString); + }; var semigroupArray = new Semigroup($foreign.concatArray); var append = function (dict) { return dict.append; }; exports["Semigroup"] = Semigroup; exports["append"] = append; - exports["semigroupString"] = semigroupString; exports["semigroupArray"] = semigroupArray; })(PS["Data.Semigroup"] = PS["Data.Semigroup"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var Data_Functor = PS["Data.Functor"]; var Data_Semigroup = PS["Data.Semigroup"]; - var Alt = function (__superclass_Data$dotFunctor$dotFunctor_0, alt) { - this["__superclass_Data.Functor.Functor_0"] = __superclass_Data$dotFunctor$dotFunctor_0; + var Alt = function (Functor0, alt) { + this.Functor0 = Functor0; this.alt = alt; }; var alt = function (dict) { @@ -560,12 +571,12 @@ var PS = {}; exports["alt"] = alt; })(PS["Control.Alt"] = PS["Control.Alt"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var Control_Alt = PS["Control.Alt"]; var Data_Functor = PS["Data.Functor"]; - var Plus = function (__superclass_Control$dotAlt$dotAlt_0, empty) { - this["__superclass_Control.Alt.Alt_0"] = __superclass_Control$dotAlt$dotAlt_0; + var Plus = function (Alt0, empty) { + this.Alt0 = Alt0; this.empty = empty; }; var empty = function (dict) { @@ -575,25 +586,11 @@ var PS = {}; exports["empty"] = empty; })(PS["Control.Plus"] = PS["Control.Plus"] || {}); (function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var Data_Function = PS["Data.Function"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Unit = PS["Data.Unit"]; - var Monoid = function (__superclass_Data$dotSemigroup$dotSemigroup_0, mempty) { - this["__superclass_Data.Semigroup.Semigroup_0"] = __superclass_Data$dotSemigroup$dotSemigroup_0; - this.mempty = mempty; - }; - var monoidString = new Monoid(function () { - return Data_Semigroup.semigroupString; - }, ""); - var mempty = function (dict) { - return dict.mempty; - }; - exports["Monoid"] = Monoid; - exports["mempty"] = mempty; - exports["monoidString"] = monoidString; -})(PS["Data.Monoid"] = PS["Data.Monoid"] || {}); + "use strict"; + + exports.topInt = 2147483647; + exports.bottomInt = -2147483648; +})(PS["Data.Bounded"] = PS["Data.Bounded"] || {}); (function(exports) { "use strict"; @@ -604,7 +601,7 @@ var PS = {}; }; })(PS["Data.Eq"] = PS["Data.Eq"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.Eq"]; var Data_Unit = PS["Data.Unit"]; @@ -617,7 +614,7 @@ var PS = {}; var eqBoolean = new Eq($foreign.refEq); var eq = function (dict) { return dict.eq; - }; + }; var notEq = function (dictEq) { return function (x) { return function (y) { @@ -648,7 +645,7 @@ var PS = {}; }; })(PS["Data.Ord.Unsafe"] = PS["Data.Ord.Unsafe"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var Data_Eq = PS["Data.Eq"]; var Data_Semigroup = PS["Data.Semigroup"]; @@ -679,7 +676,7 @@ var PS = {}; exports["EQ"] = EQ; })(PS["Data.Ordering"] = PS["Data.Ordering"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.Ord.Unsafe"]; var Data_Ordering = PS["Data.Ordering"]; @@ -687,7 +684,7 @@ var PS = {}; exports["unsafeCompare"] = unsafeCompare; })(PS["Data.Ord.Unsafe"] = PS["Data.Ord.Unsafe"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.Ord"]; var Data_Eq = PS["Data.Eq"]; @@ -695,11 +692,11 @@ var PS = {}; var Data_Ord_Unsafe = PS["Data.Ord.Unsafe"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; + var Data_Semiring = PS["Data.Semiring"]; var Data_Unit = PS["Data.Unit"]; - var Data_Void = PS["Data.Void"]; - var Data_Semiring = PS["Data.Semiring"]; - var Ord = function (__superclass_Data$dotEq$dotEq_0, compare) { - this["__superclass_Data.Eq.Eq_0"] = __superclass_Data$dotEq$dotEq_0; + var Data_Void = PS["Data.Void"]; + var Ord = function (Eq0, compare) { + this.Eq0 = Eq0; this.compare = compare; }; var ordString = new Ord(function () { @@ -714,17 +711,17 @@ var PS = {}; var max = function (dictOrd) { return function (x) { return function (y) { - var $27 = compare(dictOrd)(x)(y); - if ($27 instanceof Data_Ordering.LT) { + var v = compare(dictOrd)(x)(y); + if (v instanceof Data_Ordering.LT) { return y; }; - if ($27 instanceof Data_Ordering.EQ) { + if (v instanceof Data_Ordering.EQ) { return x; }; - if ($27 instanceof Data_Ordering.GT) { + if (v instanceof Data_Ordering.GT) { return x; }; - throw new Error("Failed pattern match at Data.Ord line 122, column 3 - line 125, column 12: " + [ $27.constructor.name ]); + throw new Error("Failed pattern match at Data.Ord line 123, column 3 - line 126, column 12: " + [ v.constructor.name ]); }; }; }; @@ -735,20 +732,14 @@ var PS = {}; exports["ordString"] = ordString; })(PS["Data.Ord"] = PS["Data.Ord"] || {}); (function(exports) { - "use strict"; - - exports.topInt = 2147483647; - exports.bottomInt = -2147483648; -})(PS["Data.Bounded"] = PS["Data.Bounded"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.Bounded"]; var Data_Ord = PS["Data.Ord"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Ordering = PS["Data.Ordering"]; - var Bounded = function (__superclass_Data$dotOrd$dotOrd_0, bottom, top) { - this["__superclass_Data.Ord.Ord_0"] = __superclass_Data$dotOrd$dotOrd_0; + var Data_Ordering = PS["Data.Ordering"]; + var Data_Unit = PS["Data.Unit"]; + var Bounded = function (Ord0, bottom, top) { + this.Ord0 = Ord0; this.bottom = bottom; this.top = top; }; @@ -767,30 +758,57 @@ var PS = {}; exports["boundedInt"] = boundedInt; })(PS["Data.Bounded"] = PS["Data.Bounded"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 + "use strict"; + var otherwise = true; + exports["otherwise"] = otherwise; +})(PS["Data.Boolean"] = PS["Data.Boolean"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var Data_Boolean = PS["Data.Boolean"]; + var Data_Eq = PS["Data.Eq"]; + var Data_EuclideanRing = PS["Data.EuclideanRing"]; + var Data_Function = PS["Data.Function"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Unit = PS["Data.Unit"]; + var Prelude = PS["Prelude"]; + var Monoid = function (Semigroup0, mempty) { + this.Semigroup0 = Semigroup0; + this.mempty = mempty; + }; + var mempty = function (dict) { + return dict.mempty; + }; + exports["Monoid"] = Monoid; + exports["mempty"] = mempty; +})(PS["Data.Monoid"] = PS["Data.Monoid"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Category = PS["Control.Category"]; var Control_Extend = PS["Control.Extend"]; + var Control_Monad = PS["Control.Monad"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; + var Data_Bounded = PS["Data.Bounded"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Monoid = PS["Data.Monoid"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Eq = PS["Data.Eq"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; - var Data_Bounded = PS["Data.Bounded"]; + var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Unit = PS["Data.Unit"]; - var Data_Function = PS["Data.Function"]; - var Control_Category = PS["Control.Category"]; + var Prelude = PS["Prelude"]; var Nothing = (function () { function Nothing() { @@ -816,7 +834,7 @@ var PS = {}; if (v2 instanceof Just) { return v1(v2.value0); }; - throw new Error("Failed pattern match at Data.Maybe line 214, column 1 - line 214, column 22: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); + throw new Error("Failed pattern match at Data.Maybe line 220, column 1 - line 220, column 22: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }; @@ -830,18 +848,21 @@ var PS = {}; return Nothing.value; }; }); + var fromMaybe = function (a) { + return maybe(a)(Control_Category.id(Control_Category.categoryFn)); + }; var fromJust = function (dictPartial) { return function (v) { var __unused = function (dictPartial1) { - return function ($dollar33) { - return $dollar33; + return function ($dollar34) { + return $dollar34; }; }; return __unused(dictPartial)((function () { if (v instanceof Just) { return v.value0; }; - throw new Error("Failed pattern match at Data.Maybe line 265, column 1 - line 265, column 21: " + [ v.constructor.name ]); + throw new Error("Failed pattern match at Data.Maybe line 271, column 1 - line 271, column 21: " + [ v.constructor.name ]); })()); }; }; @@ -855,12 +876,13 @@ var PS = {}; if (v instanceof Nothing) { return Nothing.value; }; - throw new Error("Failed pattern match at Data.Maybe line 67, column 3 - line 67, column 31: " + [ v.constructor.name, v1.constructor.name ]); + throw new Error("Failed pattern match at Data.Maybe line 69, column 3 - line 69, column 31: " + [ v.constructor.name, v1.constructor.name ]); }; }); exports["Nothing"] = Nothing; exports["Just"] = Just; exports["fromJust"] = fromJust; + exports["fromMaybe"] = fromMaybe; exports["isJust"] = isJust; exports["isNothing"] = isNothing; exports["maybe"] = maybe; @@ -868,18 +890,18 @@ var PS = {}; exports["applyMaybe"] = applyMaybe; })(PS["Data.Maybe"] = PS["Data.Maybe"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Ace.EditSession"]; - var Prelude = PS["Prelude"]; var Ace_Types = PS["Ace.Types"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_ST = PS["Control.Monad.ST"]; + var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Array_ST = PS["Data.Array.ST"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; - var DOM_HTML_Types = PS["DOM.HTML.Types"]; + var Prelude = PS["Prelude"]; var setValue = function (text) { return function (self) { return $foreign.setValueImpl(text, self); @@ -940,16 +962,16 @@ var PS = {}; exports.setThemeImpl = effize("setTheme"); })(PS["Ace.Editor"] = PS["Ace.Editor"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Ace.Editor"]; - var Prelude = PS["Prelude"]; var Ace_Types = PS["Ace.Types"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; + var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; - var DOM_HTML_Types = PS["DOM.HTML.Types"]; + var Prelude = PS["Prelude"]; var setTheme = function (theme) { return function (self) { return $foreign.setThemeImpl(theme, self); @@ -987,13 +1009,13 @@ var PS = {}; }; })(PS["Ace.Range"] = PS["Ace.Range"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Ace.Range"]; - var Prelude = PS["Prelude"]; var Ace_Types = PS["Ace.Types"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; + var Prelude = PS["Prelude"]; var create = function (startRow) { return function (startColumn) { return function (endRow) { @@ -1023,7 +1045,7 @@ var PS = {}; }; })(PS["Control.Monad.Eff.Console"] = PS["Control.Monad.Eff.Console"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Control.Monad.Eff.Console"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; @@ -1046,7 +1068,7 @@ var PS = {}; }; })(PS["Control.Monad.Eff.Exception"] = PS["Control.Monad.Eff.Exception"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var Control_Category = PS["Control.Category"]; var Bifunctor = function (bimap) { @@ -1113,7 +1135,7 @@ var PS = {}; }; })(PS["Data.HeytingAlgebra"] = PS["Data.HeytingAlgebra"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.HeytingAlgebra"]; var Data_Unit = PS["Data.Unit"]; @@ -1158,11 +1180,12 @@ var PS = {}; exports["heytingAlgebraBoolean"] = heytingAlgebraBoolean; })(PS["Data.HeytingAlgebra"] = PS["Data.HeytingAlgebra"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Functor = PS["Data.Functor"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Prelude = PS["Prelude"]; var Newtype = function (unwrap, wrap) { this.unwrap = unwrap; this.wrap = wrap; @@ -1179,8 +1202,8 @@ var PS = {}; return function (dictNewtype1) { return function (v) { return function (f) { - return function ($32) { - return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($32))); + return function ($64) { + return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($64))); }; }; }; @@ -1194,26 +1217,26 @@ var PS = {}; exports["wrap"] = wrap; })(PS["Data.Newtype"] = PS["Data.Newtype"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; + var Control_Monad = PS["Control.Monad"]; + var Data_Bounded = PS["Data.Bounded"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; - var Data_Eq = PS["Data.Eq"]; var Data_Ord = PS["Data.Ord"]; - var Data_Bounded = PS["Data.Bounded"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; - var Data_Show = PS["Data.Show"]; var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Show = PS["Data.Show"]; + var Prelude = PS["Prelude"]; var Conj = function (x) { return x; }; @@ -1238,26 +1261,26 @@ var PS = {}; exports["monoidConj"] = monoidConj; })(PS["Data.Monoid.Conj"] = PS["Data.Monoid.Conj"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; + var Control_Monad = PS["Control.Monad"]; + var Data_Bounded = PS["Data.Bounded"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; - var Data_Eq = PS["Data.Eq"]; var Data_Ord = PS["Data.Ord"]; - var Data_Bounded = PS["Data.Bounded"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; - var Data_Show = PS["Data.Show"]; var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Show = PS["Data.Show"]; + var Prelude = PS["Prelude"]; var Disj = function (x) { return x; }; @@ -1282,11 +1305,19 @@ var PS = {}; exports["monoidDisj"] = monoidDisj; })(PS["Data.Monoid.Disj"] = PS["Data.Monoid.Disj"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.Foldable"]; - var Prelude = PS["Prelude"]; + var Control_Alt = PS["Control.Alt"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Category = PS["Control.Category"]; var Control_Plus = PS["Control.Plus"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Maybe_First = PS["Data.Maybe.First"]; var Data_Maybe_Last = PS["Data.Maybe.Last"]; @@ -1298,20 +1329,12 @@ var PS = {}; var Data_Monoid_Endo = PS["Data.Monoid.Endo"]; var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"]; var Data_Newtype = PS["Data.Newtype"]; - var Control_Alt = PS["Control.Alt"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Function = PS["Data.Function"]; - var Control_Category = PS["Control.Category"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Ordering = PS["Data.Ordering"]; var Data_Ord = PS["Data.Ord"]; + var Data_Ordering = PS["Data.Ordering"]; + var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; - var Data_Functor = PS["Data.Functor"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; + var Data_Unit = PS["Data.Unit"]; + var Prelude = PS["Prelude"]; var Foldable = function (foldMap, foldl, foldr) { this.foldMap = foldMap; this.foldl = foldl; @@ -1323,8 +1346,8 @@ var PS = {}; var traverse_ = function (dictApplicative) { return function (dictFoldable) { return function (f) { - return foldr(dictFoldable)(function ($169) { - return Control_Apply.applySecond(dictApplicative["__superclass_Control.Apply.Apply_0"]())(f($169)); + return foldr(dictFoldable)(function ($175) { + return Control_Apply.applySecond(dictApplicative.Apply0())(f($175)); })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit)); }; }; @@ -1336,43 +1359,15 @@ var PS = {}; }; var foldl = function (dict) { return dict.foldl; - }; - var intercalate = function (dictFoldable) { - return function (dictMonoid) { - return function (sep) { - return function (xs) { - var go = function (v) { - return function (x) { - if (v.init) { - return { - init: false, - acc: x - }; - }; - return { - init: false, - acc: Data_Semigroup.append(dictMonoid["__superclass_Data.Semigroup.Semigroup_0"]())(v.acc)(Data_Semigroup.append(dictMonoid["__superclass_Data.Semigroup.Semigroup_0"]())(sep)(x)) - }; - }; - }; - return (foldl(dictFoldable)(go)({ - init: true, - acc: Data_Monoid.mempty(dictMonoid) - })(xs)).acc; - }; - }; - }; }; var foldMapDefaultR = function (dictFoldable) { return function (dictMonoid) { return function (f) { - return function (xs) { - return foldr(dictFoldable)(function (x) { - return function (acc) { - return Data_Semigroup.append(dictMonoid["__superclass_Data.Semigroup.Semigroup_0"]())(f(x))(acc); - }; - })(Data_Monoid.mempty(dictMonoid))(xs); - }; + return foldr(dictFoldable)(function (x) { + return function (acc) { + return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc); + }; + })(Data_Monoid.mempty(dictMonoid)); }; }; }; @@ -1384,16 +1379,12 @@ var PS = {}; }; var any = function (dictFoldable) { return function (dictHeytingAlgebra) { - return function (p) { - return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Monoid_Disj.newtypeDisj)(Data_Monoid_Disj.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)))(p); - }; + return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Monoid_Disj.newtypeDisj)(Data_Monoid_Disj.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra))); }; }; var all = function (dictFoldable) { return function (dictHeytingAlgebra) { - return function (p) { - return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Monoid_Conj.newtypeConj)(Data_Monoid_Conj.newtypeConj)(Data_Monoid_Conj.Conj)(foldMap(dictFoldable)(Data_Monoid_Conj.monoidConj(dictHeytingAlgebra)))(p); - }; + return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Monoid_Conj.newtypeConj)(Data_Monoid_Conj.newtypeConj)(Data_Monoid_Conj.Conj)(foldMap(dictFoldable)(Data_Monoid_Conj.monoidConj(dictHeytingAlgebra))); }; }; exports["Foldable"] = Foldable; @@ -1404,7 +1395,6 @@ var PS = {}; exports["foldl"] = foldl; exports["foldr"] = foldr; exports["for_"] = for_; - exports["intercalate"] = intercalate; exports["traverse_"] = traverse_; exports["foldableArray"] = foldableArray; })(PS["Data.Foldable"] = PS["Data.Foldable"] || {}); @@ -1433,9 +1423,10 @@ var PS = {}; function listToArray(list) { var arr = []; - while (list !== emptyList) { - arr.push(list.head); - list = list.tail; + var xs = list; + while (xs !== emptyList) { + arr.push(xs.head); + xs = xs.tail; } return arr; } @@ -1474,11 +1465,14 @@ var PS = {}; }(); })(PS["Data.Traversable"] = PS["Data.Traversable"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.Traversable"]; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Category = PS["Control.Category"]; var Data_Foldable = PS["Data.Foldable"]; + var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Maybe_First = PS["Data.Maybe.First"]; var Data_Maybe_Last = PS["Data.Maybe.Last"]; @@ -1487,13 +1481,10 @@ var PS = {}; var Data_Monoid_Disj = PS["Data.Monoid.Disj"]; var Data_Monoid_Dual = PS["Data.Monoid.Dual"]; var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"]; - var Control_Apply = PS["Control.Apply"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Category = PS["Control.Category"]; - var Traversable = function (__superclass_Data$dotFoldable$dotFoldable_1, __superclass_Data$dotFunctor$dotFunctor_0, sequence, traverse) { - this["__superclass_Data.Foldable.Foldable_1"] = __superclass_Data$dotFoldable$dotFoldable_1; - this["__superclass_Data.Functor.Functor_0"] = __superclass_Data$dotFunctor$dotFunctor_0; + var Prelude = PS["Prelude"]; + var Traversable = function (Foldable1, Functor0, sequence, traverse) { + this.Foldable1 = Foldable1; + this.Functor0 = Functor0; this.sequence = sequence; this.traverse = traverse; }; @@ -1505,9 +1496,7 @@ var PS = {}; }; var sequenceDefault = function (dictTraversable) { return function (dictApplicative) { - return function (tma) { - return traverse(dictTraversable)(dictApplicative)(Control_Category.id(Control_Category.categoryFn))(tma); - }; + return traverse(dictTraversable)(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); }; }; var traversableArray = new Traversable(function () { @@ -1517,7 +1506,7 @@ var PS = {}; }, function (dictApplicative) { return sequenceDefault(traversableArray)(dictApplicative); }, function (dictApplicative) { - return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative["__superclass_Control.Apply.Apply_0"]()))(Data_Functor.map((dictApplicative["__superclass_Control.Apply.Apply_0"]())["__superclass_Data.Functor.Functor_0"]()))(Control_Applicative.pure(dictApplicative)); + return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map((dictApplicative.Apply0()).Functor0()))(Control_Applicative.pure(dictApplicative)); }); var sequence = function (dict) { return dict.sequence; @@ -1525,10 +1514,10 @@ var PS = {}; var functorStateL = new Data_Functor.Functor(function (f) { return function (k) { return function (s) { - var $78 = stateL(k)(s); + var v = stateL(k)(s); return { - accum: $78.accum, - value: f($78.value) + accum: v.accum, + value: f(v.value) }; }; }; @@ -1547,11 +1536,11 @@ var PS = {}; }, function (f) { return function (x) { return function (s) { - var $87 = stateL(f)(s); - var $88 = stateL(x)($87.accum); + var v = stateL(f)(s); + var v1 = stateL(x)(v.accum); return { - accum: $88.accum, - value: $87.value($88.value) + accum: v1.accum, + value: v.value(v1.value) }; }; }; @@ -1606,31 +1595,31 @@ var PS = {}; exports["traversableArray"] = traversableArray; })(PS["Data.Traversable"] = PS["Data.Traversable"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; var Control_Alt = PS["Control.Alt"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; var Control_Extend = PS["Control.Extend"]; + var Control_Monad = PS["Control.Monad"]; var Data_Bifoldable = PS["Data.Bifoldable"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Bitraversable = PS["Data.Bitraversable"]; + var Data_Bounded = PS["Data.Bounded"]; + var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Monoid = PS["Data.Monoid"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; - var Data_Show = PS["Data.Show"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Eq = PS["Data.Eq"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; - var Data_Bounded = PS["Data.Bounded"]; + var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; - var Data_Function = PS["Data.Function"]; + var Data_Show = PS["Data.Show"]; + var Data_Traversable = PS["Data.Traversable"]; + var Prelude = PS["Prelude"]; var Left = (function () { function Left(value0) { this.value0 = value0; @@ -1657,7 +1646,7 @@ var PS = {}; if (v1 instanceof Right) { return new Right(v(v1.value0)); }; - throw new Error("Failed pattern match at Data.Either line 35, column 3 - line 35, column 26: " + [ v.constructor.name, v1.constructor.name ]); + throw new Error("Failed pattern match at Data.Either line 37, column 3 - line 37, column 26: " + [ v.constructor.name, v1.constructor.name ]); }; }); var either = function (v) { @@ -1669,7 +1658,7 @@ var PS = {}; if (v2 instanceof Right) { return v1(v2.value0); }; - throw new Error("Failed pattern match at Data.Either line 224, column 1 - line 224, column 26: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); + throw new Error("Failed pattern match at Data.Either line 230, column 1 - line 230, column 26: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }; @@ -1682,7 +1671,7 @@ var PS = {}; if (v2 instanceof Right) { return new Right(v1(v2.value0)); }; - throw new Error("Failed pattern match at Data.Either line 42, column 3 - line 42, column 34: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); + throw new Error("Failed pattern match at Data.Either line 44, column 3 - line 44, column 34: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }); @@ -1696,7 +1685,7 @@ var PS = {}; if (v instanceof Right) { return Data_Functor.map(functorEither)(v.value0)(v1); }; - throw new Error("Failed pattern match at Data.Either line 78, column 3 - line 78, column 28: " + [ v.constructor.name, v1.constructor.name ]); + throw new Error("Failed pattern match at Data.Either line 80, column 3 - line 80, column 28: " + [ v.constructor.name, v1.constructor.name ]); }; }); var bindEither = new Control_Bind.Bind(function () { @@ -1723,17 +1712,17 @@ var PS = {}; exports["bindEither"] = bindEither; })(PS["Data.Either"] = PS["Data.Either"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Control.Monad.Eff.Exception"]; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; + var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Show = PS["Data.Show"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Functor = PS["Data.Functor"]; + var Prelude = PS["Prelude"]; exports["error"] = $foreign.error; exports["throwException"] = $foreign.throwException; })(PS["Control.Monad.Eff.Exception"] = PS["Control.Monad.Eff.Exception"] || {}); @@ -1816,8 +1805,7 @@ var PS = {}; }; })(PS["Control.Monad.Eff.JQuery"] = PS["Control.Monad.Eff.JQuery"] || {}); (function(exports) { - /* global exports */ - "use strict"; + "use strict"; exports.unsafeFromForeign = function (value) { return value; @@ -1828,66 +1816,65 @@ var PS = {}; }; })(PS["Data.Foreign"] = PS["Data.Foreign"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; - var Data_Maybe = PS["Data.Maybe"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; - var Data_Unit = PS["Data.Unit"]; - var MonadError = function (__superclass_Control$dotMonad$dotMonad_0, catchError, throwError) { - this["__superclass_Control.Monad.Monad_0"] = __superclass_Control$dotMonad$dotMonad_0; - this.catchError = catchError; + var Data_Functor = PS["Data.Functor"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Unit = PS["Data.Unit"]; + var Prelude = PS["Prelude"]; + var MonadThrow = function (Monad0, throwError) { + this.Monad0 = Monad0; this.throwError = throwError; }; var throwError = function (dict) { return dict.throwError; - }; - var catchError = function (dict) { - return dict.catchError; }; - exports["MonadError"] = MonadError; - exports["catchError"] = catchError; + exports["MonadThrow"] = MonadThrow; exports["throwError"] = throwError; })(PS["Control.Monad.Error.Class"] = PS["Control.Monad.Error.Class"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; var Control_Biapplicative = PS["Control.Biapplicative"]; var Control_Biapply = PS["Control.Biapply"]; + var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Lazy = PS["Control.Lazy"]; + var Control_Monad = PS["Control.Monad"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifoldable = PS["Data.Bifoldable"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Bitraversable = PS["Data.Bitraversable"]; + var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; + var Data_Bounded = PS["Data.Bounded"]; + var Data_CommutativeRing = PS["Data.CommutativeRing"]; + var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Maybe_First = PS["Data.Maybe.First"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Show = PS["Data.Show"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Eq = PS["Data.Eq"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; - var Data_Bounded = PS["Data.Bounded"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Semiring = PS["Data.Semiring"]; var Data_Ring = PS["Data.Ring"]; - var Data_CommutativeRing = PS["Data.CommutativeRing"]; - var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; - var Data_Function = PS["Data.Function"]; - var Data_Unit = PS["Data.Unit"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Show = PS["Data.Show"]; + var Data_Traversable = PS["Data.Traversable"]; + var Data_Unit = PS["Data.Unit"]; + var Prelude = PS["Prelude"]; var Tuple = (function () { function Tuple(value0, value1) { this.value0 = value0; @@ -1948,12 +1935,12 @@ var PS = {}; return functorTuple; }, function (dictApplicative) { return function (v) { - return Data_Functor.map((dictApplicative["__superclass_Control.Apply.Apply_0"]())["__superclass_Data.Functor.Functor_0"]())(Tuple.create(v.value0))(v.value1); + return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Tuple.create(v.value0))(v.value1); }; }, function (dictApplicative) { return function (f) { return function (v) { - return Data_Functor.map((dictApplicative["__superclass_Control.Apply.Apply_0"]())["__superclass_Data.Functor.Functor_0"]())(Tuple.create(v.value0))(f(v.value1)); + return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Tuple.create(v.value0))(f(v.value1)); }; }; }); @@ -1967,11 +1954,15 @@ var PS = {}; exports["traversableTuple"] = traversableTuple; })(PS["Data.Tuple"] = PS["Data.Tuple"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Category = PS["Control.Category"]; + var Control_Monad = PS["Control.Monad"]; var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; @@ -1983,19 +1974,15 @@ var PS = {}; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Control_Bind = PS["Control.Bind"]; var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Function = PS["Data.Function"]; - var Control_Category = PS["Control.Category"]; + var Data_Tuple = PS["Data.Tuple"]; + var Prelude = PS["Prelude"]; var ExceptT = function (x) { return x; }; @@ -2024,41 +2011,32 @@ var PS = {}; return applyExceptT(dictMonad); }, function (v) { return function (k) { - return Control_Bind.bind(dictMonad["__superclass_Control.Bind.Bind_1"]())(v)(Data_Either.either(function ($88) { - return Control_Applicative.pure(dictMonad["__superclass_Control.Applicative.Applicative_0"]())(Data_Either.Left.create($88)); + return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) { + return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97)); })(function (a) { - var $56 = k(a); - return $56; + var v1 = k(a); + return v1; })); }; }); }; var applyExceptT = function (dictMonad) { return new Control_Apply.Apply(function () { - return functorExceptT(((dictMonad["__superclass_Control.Bind.Bind_1"]())["__superclass_Control.Apply.Apply_0"]())["__superclass_Data.Functor.Functor_0"]()); + return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0()); }, Control_Monad.ap(monadExceptT(dictMonad))); }; var applicativeExceptT = function (dictMonad) { return new Control_Applicative.Applicative(function () { return applyExceptT(dictMonad); - }, function ($89) { - return ExceptT(Control_Applicative.pure(dictMonad["__superclass_Control.Applicative.Applicative_0"]())(Data_Either.Right.create($89))); + }, function ($98) { + return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98))); }); }; - var monadErrorExceptT = function (dictMonad) { - return new Control_Monad_Error_Class.MonadError(function () { + var monadThrowExceptT = function (dictMonad) { + return new Control_Monad_Error_Class.MonadThrow(function () { return monadExceptT(dictMonad); - }, function (v) { - return function (k) { - return Control_Bind.bind(dictMonad["__superclass_Control.Bind.Bind_1"]())(v)(Data_Either.either(function (a) { - var $60 = k(a); - return $60; - })(function ($91) { - return Control_Applicative.pure(dictMonad["__superclass_Control.Applicative.Applicative_0"]())(Data_Either.Right.create($91)); - })); - }; - }, function ($92) { - return ExceptT(Control_Applicative.pure(dictMonad["__superclass_Control.Applicative.Applicative_0"]())(Data_Either.Left.create($92))); + }, function ($102) { + return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102))); }); }; exports["ExceptT"] = ExceptT; @@ -2069,37 +2047,38 @@ var PS = {}; exports["applicativeExceptT"] = applicativeExceptT; exports["bindExceptT"] = bindExceptT; exports["monadExceptT"] = monadExceptT; - exports["monadErrorExceptT"] = monadErrorExceptT; + exports["monadThrowExceptT"] = monadThrowExceptT; })(PS["Control.Monad.Except.Trans"] = PS["Control.Monad.Except.Trans"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; var Control_Alt = PS["Control.Alt"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; + var Control_Lazy = PS["Control.Lazy"]; + var Control_Monad = PS["Control.Monad"]; + var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; + var Data_Bounded = PS["Data.Bounded"]; + var Data_CommutativeRing = PS["Data.CommutativeRing"]; + var Data_Eq = PS["Data.Eq"]; + var Data_EuclideanRing = PS["Data.EuclideanRing"]; + var Data_Field = PS["Data.Field"]; var Data_Foldable = PS["Data.Foldable"]; + var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; + var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Eq = PS["Data.Eq"]; var Data_Ord = PS["Data.Ord"]; - var Data_Bounded = PS["Data.Bounded"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; + var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; - var Data_EuclideanRing = PS["Data.EuclideanRing"]; - var Data_Ring = PS["Data.Ring"]; - var Data_CommutativeRing = PS["Data.CommutativeRing"]; - var Data_Field = PS["Data.Field"]; var Data_Show = PS["Data.Show"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; + var Data_Traversable = PS["Data.Traversable"]; + var Prelude = PS["Prelude"]; var Identity = function (x) { return x; }; @@ -2142,15 +2121,15 @@ var PS = {}; exports["monadIdentity"] = monadIdentity; })(PS["Data.Identity"] = PS["Data.Identity"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Prelude = PS["Prelude"]; var runExcept = function ($0) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0)); }; @@ -2175,22 +2154,137 @@ var PS = {}; }; })(PS["Data.Int"] = PS["Data.Int"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + /* globals exports */ + "use strict"; + + exports.infinity = Infinity; + + exports.readFloat = parseFloat; +})(PS["Global"] = PS["Global"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 "use strict"; - var otherwise = true; - exports["otherwise"] = otherwise; -})(PS["Data.Boolean"] = PS["Data.Boolean"] || {}); + var $foreign = PS["Global"]; + exports["infinity"] = $foreign.infinity; + exports["readFloat"] = $foreign.readFloat; +})(PS["Global"] = PS["Global"] || {}); (function(exports) { "use strict"; exports.floor = Math.floor; })(PS["Math"] = PS["Math"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Math"]; exports["floor"] = $foreign.floor; })(PS["Math"] = PS["Math"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var $foreign = PS["Data.Int"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Boolean = PS["Data.Boolean"]; + var Data_Bounded = PS["Data.Bounded"]; + var Data_Eq = PS["Data.Eq"]; + var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; + var Data_Int_Bits = PS["Data.Int.Bits"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Ring = PS["Data.Ring"]; + var Global = PS["Global"]; + var $$Math = PS["Math"]; + var Prelude = PS["Prelude"]; + var fromNumber = $foreign.fromNumberImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); + var unsafeClamp = function (x) { + if (x === Global.infinity) { + return 0; + }; + if (x === -Global.infinity) { + return 0; + }; + if (x >= $foreign.toNumber(Data_Bounded.top(Data_Bounded.boundedInt))) { + return Data_Bounded.top(Data_Bounded.boundedInt); + }; + if (x <= $foreign.toNumber(Data_Bounded.bottom(Data_Bounded.boundedInt))) { + return Data_Bounded.bottom(Data_Bounded.boundedInt); + }; + if (Data_Boolean.otherwise) { + return Data_Maybe.fromMaybe(0)(fromNumber(x)); + }; + throw new Error("Failed pattern match at Data.Int line 63, column 1 - line 68, column 43: " + [ x.constructor.name ]); + }; + var floor = function ($3) { + return unsafeClamp($$Math.floor($3)); + }; + exports["floor"] = floor; + exports["fromNumber"] = fromNumber; + exports["toNumber"] = $foreign.toNumber; +})(PS["Data.Int"] = PS["Data.Int"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var Control_Alt = PS["Control.Alt"]; + var Control_Alternative = PS["Control.Alternative"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Category = PS["Control.Category"]; + var Control_Plus = PS["Control.Plus"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Foldable = PS["Data.Foldable"]; + var Data_Functor = PS["Data.Functor"]; + var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Ordering = PS["Data.Ordering"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Show = PS["Data.Show"]; + var Data_Traversable = PS["Data.Traversable"]; + var Prelude = PS["Prelude"]; + var NonEmpty = (function () { + function NonEmpty(value0, value1) { + this.value0 = value0; + this.value1 = value1; + }; + NonEmpty.create = function (value0) { + return function (value1) { + return new NonEmpty(value0, value1); + }; + }; + return NonEmpty; + })(); + var singleton = function (dictPlus) { + return function (a) { + return new NonEmpty(a, Control_Plus.empty(dictPlus)); + }; + }; + exports["NonEmpty"] = NonEmpty; + exports["singleton"] = singleton; +})(PS["Data.NonEmpty"] = PS["Data.NonEmpty"] || {}); +(function(exports) { + "use strict"; + + exports.unfoldrArrayImpl = function (isNothing) { + return function (fromJust) { + return function (fst) { + return function (snd) { + return function (f) { + return function (b) { + var result = []; + var value = b; + while (true) { // eslint-disable-line no-constant-condition + var maybe = f(value); + if (isNothing(maybe)) return result; + var tuple = fromJust(maybe); + result.push(fst(tuple)); + value = snd(tuple); + } + }; + }; + }; + }; + }; + }; +})(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {}); (function(exports) { "use strict"; @@ -2212,13 +2306,13 @@ var PS = {}; }; })(PS["Partial"] = PS["Partial"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Partial"]; exports["crashWith"] = $foreign.crashWith; })(PS["Partial"] = PS["Partial"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Partial.Unsafe"]; var Partial = PS["Partial"]; @@ -2228,307 +2322,28 @@ var PS = {}; }); }; exports["unsafeCrashWith"] = unsafeCrashWith; - exports["unsafePartial"] = $foreign.unsafePartial; })(PS["Partial.Unsafe"] = PS["Partial.Unsafe"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var $foreign = PS["Data.Int"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; - var Data_Bounded = PS["Data.Bounded"]; - var Data_Eq = PS["Data.Eq"]; + var $foreign = PS["Data.Unfoldable"]; var Data_Function = PS["Data.Function"]; - var Data_Int_Bits = PS["Data.Int.Bits"]; + var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; - var $$Math = PS["Math"]; + var Data_Ring = PS["Data.Ring"]; + var Data_Traversable = PS["Data.Traversable"]; + var Data_Tuple = PS["Data.Tuple"]; + var Data_Unit = PS["Data.Unit"]; var Partial_Unsafe = PS["Partial.Unsafe"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var fromNumber = $foreign.fromNumberImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); - var unsafeClamp = function (x) { - if (x >= $foreign.toNumber(Data_Bounded.top(Data_Bounded.boundedInt))) { - return Data_Bounded.top(Data_Bounded.boundedInt); - }; - if (x <= $foreign.toNumber(Data_Bounded.bottom(Data_Bounded.boundedInt))) { - return Data_Bounded.bottom(Data_Bounded.boundedInt); - }; - if (Data_Boolean.otherwise) { - return Partial_Unsafe.unsafePartial(function (dictPartial) { - return Data_Maybe.fromJust(dictPartial)(fromNumber(x)); - }); - }; - throw new Error("Failed pattern match at Data.Int line 65, column 1 - line 68, column 56: " + [ x.constructor.name ]); + var Prelude = PS["Prelude"]; + var Unfoldable = function (unfoldr) { + this.unfoldr = unfoldr; }; - var floor = function ($4) { - return unsafeClamp($$Math.floor($4)); + var unfoldr = function (dict) { + return dict.unfoldr; }; - exports["floor"] = floor; - exports["fromNumber"] = fromNumber; - exports["toNumber"] = $foreign.toNumber; -})(PS["Data.Int"] = PS["Data.Int"] || {}); -(function(exports) { - "use strict"; - - // module Data.Generic - - exports.zipAll = function (f) { - return function (xs) { - return function (ys) { - var l = xs.length < ys.length ? xs.length : ys.length; - for (var i = 0; i < l; i++) { - if (!f(xs[i])(ys[i])) { - return false; - } - } - return true; - }; - }; - }; -})(PS["Data.Generic"] = PS["Data.Generic"] || {}); -(function(exports) { - "use strict"; - - //------------------------------------------------------------------------------ - // Array creation -------------------------------------------------------------- - //------------------------------------------------------------------------------ - - exports.range = function (start) { - return function (end) { - var step = start > end ? -1 : 1; - var result = []; - for (var i = start, n = 0; i !== end; i += step) { - result[n++] = i; - } - result[n] = i; - return result; - }; - }; - - //------------------------------------------------------------------------------ - // Array size ------------------------------------------------------------------ - //------------------------------------------------------------------------------ - - exports.length = function (xs) { - return xs.length; - }; - - //------------------------------------------------------------------------------ - // Extending arrays ------------------------------------------------------------ - //------------------------------------------------------------------------------ - - exports.cons = function (e) { - return function (l) { - return [e].concat(l); - }; - }; - - //------------------------------------------------------------------------------ - // Non-indexed reads ----------------------------------------------------------- - //------------------------------------------------------------------------------ - - exports["uncons'"] = function (empty) { - return function (next) { - return function (xs) { - return xs.length === 0 ? empty({}) : next(xs[0])(xs.slice(1)); - }; - }; - }; - - //------------------------------------------------------------------------------ - // Indexed operations ---------------------------------------------------------- - //------------------------------------------------------------------------------ - - exports.indexImpl = function (just) { - return function (nothing) { - return function (xs) { - return function (i) { - return i < 0 || i >= xs.length ? nothing : just(xs[i]); - }; - }; - }; - }; - - exports.findIndexImpl = function (just) { - return function (nothing) { - return function (f) { - return function (xs) { - for (var i = 0, l = xs.length; i < l; i++) { - if (f(xs[i])) return just(i); - } - return nothing; - }; - }; - }; - }; - - exports._updateAt = function (just) { - return function (nothing) { - return function (i) { - return function (a) { - return function (l) { - if (i < 0 || i >= l.length) return nothing; - var l1 = l.slice(); - l1[i] = a; - return just(l1); - }; - }; - }; - }; - }; - - exports.concat = function (xss) { - var result = []; - for (var i = 0, l = xss.length; i < l; i++) { - var xs = xss[i]; - for (var j = 0, m = xs.length; j < m; j++) { - result.push(xs[j]); - } - } - return result; - }; - - exports.filter = function (f) { - return function (xs) { - return xs.filter(f); - }; - }; - - //------------------------------------------------------------------------------ - // Sorting --------------------------------------------------------------------- - //------------------------------------------------------------------------------ - - exports.sortImpl = function (f) { - return function (l) { - // jshint maxparams: 2 - return l.slice().sort(function (x, y) { - return f(x)(y); - }); - }; - }; - - //------------------------------------------------------------------------------ - // Subarrays ------------------------------------------------------------------- - //------------------------------------------------------------------------------ - - exports.slice = function (s) { - return function (e) { - return function (l) { - return l.slice(s, e); - }; - }; - }; - - exports.take = function (n) { - return function (l) { - return n < 1 ? [] : l.slice(0, n); - }; - }; - - //------------------------------------------------------------------------------ - // Zipping --------------------------------------------------------------------- - //------------------------------------------------------------------------------ - - exports.zipWith = function (f) { - return function (xs) { - return function (ys) { - var l = xs.length < ys.length ? xs.length : ys.length; - var result = new Array(l); - for (var i = 0; i < l; i++) { - result[i] = f(xs[i])(ys[i]); - } - return result; - }; - }; - }; -})(PS["Data.Array"] = PS["Data.Array"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var Prelude = PS["Prelude"]; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Plus = PS["Control.Plus"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Show = PS["Data.Show"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Eq = PS["Data.Eq"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Category = PS["Control.Category"]; - var NonEmpty = (function () { - function NonEmpty(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - NonEmpty.create = function (value0) { - return function (value1) { - return new NonEmpty(value0, value1); - }; - }; - return NonEmpty; - })(); - var singleton = function (dictPlus) { - return function (a) { - return new NonEmpty(a, Control_Plus.empty(dictPlus)); - }; - }; - exports["NonEmpty"] = NonEmpty; - exports["singleton"] = singleton; -})(PS["Data.NonEmpty"] = PS["Data.NonEmpty"] || {}); -(function(exports) { - "use strict"; - - exports.unfoldrArrayImpl = function (isNothing) { - return function (fromJust) { - return function (fst) { - return function (snd) { - return function (f) { - return function (b) { - var result = []; - while (true) { - var maybe = f(b); - if (isNothing(maybe)) return result; - var tuple = fromJust(maybe); - result.push(fst(tuple)); - b = snd(tuple); - } - }; - }; - }; - }; - }; - }; -})(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var $foreign = PS["Data.Unfoldable"]; - var Prelude = PS["Prelude"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Function = PS["Data.Function"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Functor = PS["Data.Functor"]; - var Unfoldable = function (unfoldr) { - this.unfoldr = unfoldr; - }; - var unfoldr = function (dict) { - return dict.unfoldr; - }; - var unfoldableArray = new Unfoldable($foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Partial_Unsafe.unsafePartial(function (dictPartial) { - return Data_Maybe.fromJust(dictPartial); - }))(Data_Tuple.fst)(Data_Tuple.snd)); + var unfoldableArray = new Unfoldable($foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd)); var replicate = function (dictUnfoldable) { return function (n) { return function (v) { @@ -2537,10 +2352,7 @@ var PS = {}; if ($8) { return Data_Maybe.Nothing.value; }; - if (!$8) { - return new Data_Maybe.Just(new Data_Tuple.Tuple(v, i - 1)); - }; - throw new Error("Failed pattern match at Data.Unfoldable line 59, column 7 - line 60, column 34: " + [ $8.constructor.name ]); + return new Data_Maybe.Just(new Data_Tuple.Tuple(v, i - 1 | 0)); }; return unfoldr(dictUnfoldable)(step)(n); }; @@ -2564,1025 +2376,565 @@ var PS = {}; exports["unfoldableArray"] = unfoldableArray; })(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var $foreign = PS["Data.Array"]; - var Prelude = PS["Prelude"]; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; - var Control_Lazy = PS["Control.Lazy"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Category = PS["Control.Category"]; + var Control_Comonad = PS["Control.Comonad"]; + var Control_Extend = PS["Control.Extend"]; + var Control_Monad = PS["Control.Monad"]; + var Control_MonadPlus = PS["Control.MonadPlus"]; + var Control_MonadZero = PS["Control.MonadZero"]; + var Control_Plus = PS["Control.Plus"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; - var Data_Maybe = PS["Data.Maybe"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Monoid = PS["Data.Monoid"]; + var Data_Newtype = PS["Data.Newtype"]; var Data_NonEmpty = PS["Data.NonEmpty"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Ordering = PS["Data.Ordering"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Data_Function = PS["Data.Function"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Eq = PS["Data.Eq"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Control_Apply = PS["Control.Apply"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Semiring = PS["Data.Semiring"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Control_Bind = PS["Control.Bind"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Control_Category = PS["Control.Category"]; - var zip = $foreign.zipWith(Data_Tuple.Tuple.create); - var updateAt = $foreign._updateAt(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); - var unzip = $foreign["uncons'"](function (v) { - return new Data_Tuple.Tuple([ ], [ ]); - })(function (v) { - return function (ts) { - var $43 = unzip(ts); - return new Data_Tuple.Tuple($foreign.cons(v.value0)($43.value0), $foreign.cons(v.value1)($43.value1)); + var Prelude = PS["Prelude"]; + var Nil = (function () { + function Nil() { + }; - }); - var uncons = $foreign["uncons'"](Data_Function["const"](Data_Maybe.Nothing.value))(function (x) { - return function (xs) { - return new Data_Maybe.Just({ - head: x, - tail: xs - }); + Nil.value = new Nil(); + return Nil; + })(); + var Cons = (function () { + function Cons(value0, value1) { + this.value0 = value0; + this.value1 = value1; }; - }); - var tail = $foreign["uncons'"](Data_Function["const"](Data_Maybe.Nothing.value))(function (v) { - return function (xs) { - return new Data_Maybe.Just(xs); + Cons.create = function (value0) { + return function (value1) { + return new Cons(value0, value1); + }; }; - }); - var sortBy = function (comp) { - return function (xs) { - var comp$prime = function (x) { - return function (y) { - var $53 = comp(x)(y); - if ($53 instanceof Data_Ordering.GT) { - return 1; - }; - if ($53 instanceof Data_Ordering.EQ) { - return 0; + return Cons; + })(); + var NonEmptyList = function (x) { + return x; + }; + var foldableList = new Data_Foldable.Foldable(function (dictMonoid) { + return function (f) { + return Data_Foldable.foldl(foldableList)(function (acc) { + return function ($116) { + return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($116)); + }; + })(Data_Monoid.mempty(dictMonoid)); + }; + }, function (f) { + var go = function (__copy_b) { + return function (__copy_v) { + var __tco_b = __copy_b; + var __tco_done = false; + var __tco_result; + function __tco_loop(b, v) { + if (v instanceof Nil) { + __tco_done = true; + return b; }; - if ($53 instanceof Data_Ordering.LT) { - return -1; + if (v instanceof Cons) { + __tco_b = f(b)(v.value0); + __copy_v = v.value1; + return; }; - throw new Error("Failed pattern match at Data.Array line 451, column 15 - line 456, column 1: " + [ $53.constructor.name ]); + throw new Error("Failed pattern match at Data.List.Types line 76, column 12 - line 78, column 30: " + [ v.constructor.name ]); + }; + while (!__tco_done) { + __tco_result = __tco_loop(__tco_b, __copy_v); }; + return __tco_result; }; - return $foreign.sortImpl(comp$prime)(xs); }; - }; - var $$null = function (xs) { - return $foreign.length(xs) === 0; - }; - var nubBy = function (eq) { - return function (xs) { - var $54 = uncons(xs); - if ($54 instanceof Data_Maybe.Just) { - return $foreign.cons($54.value0.head)(nubBy(eq)($foreign.filter(function (y) { - return !eq($54.value0.head)(y); - })($54.value0.tail))); + return go; + }, function (f) { + return function (b) { + var rev = function (__copy_acc) { + return function (__copy_v) { + var __tco_acc = __copy_acc; + var __tco_done = false; + var __tco_result; + function __tco_loop(acc, v) { + if (v instanceof Nil) { + __tco_done = true; + return acc; + }; + if (v instanceof Cons) { + __tco_acc = new Cons(v.value0, acc); + __copy_v = v.value1; + return; + }; + throw new Error("Failed pattern match at Data.List.Types line 71, column 15 - line 73, column 33: " + [ v.constructor.name ]); + }; + while (!__tco_done) { + __tco_result = __tco_loop(__tco_acc, __copy_v); + }; + return __tco_result; + }; }; - if ($54 instanceof Data_Maybe.Nothing) { - return [ ]; + return function ($117) { + return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev(Nil.value)($117)); }; - throw new Error("Failed pattern match at Data.Array line 540, column 3 - line 542, column 18: " + [ $54.constructor.name ]); }; - }; - var nub = function (dictEq) { - return nubBy(Data_Eq.eq(dictEq)); - }; - var index = $foreign.indexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); - var last = function (xs) { - return index(xs)($foreign.length(xs) - 1); - }; - var head = $foreign["uncons'"](Data_Function["const"](Data_Maybe.Nothing.value))(function (x) { - return function (v) { - return new Data_Maybe.Just(x); + }); + var functorList = new Data_Functor.Functor(function (f) { + return Data_Foldable.foldr(foldableList)(function (x) { + return function (acc) { + return new Cons(f(x), acc); + }; + })(Nil.value); + }); + var semigroupList = new Data_Semigroup.Semigroup(function (xs) { + return function (ys) { + return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs); }; }); - var foldM = function (dictMonad) { + var traversableList = new Data_Traversable.Traversable(function () { + return foldableList; + }, function () { + return functorList; + }, function (dictApplicative) { + return Data_Traversable.traverse(traversableList)(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); + }, function (dictApplicative) { return function (f) { - return function (a) { - return $foreign["uncons'"](function (v) { - return Control_Applicative.pure(dictMonad["__superclass_Control.Applicative.Applicative_0"]())(a); - })(function (b) { - return function (bs) { - return Control_Bind.bind(dictMonad["__superclass_Control.Bind.Bind_1"]())(f(a)(b))(function (a$prime) { - return foldM(dictMonad)(f)(a$prime)(bs); - }); + return function ($118) { + return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value))(Data_Foldable.foldl(foldableList)(function (acc) { + return function ($119) { + return Control_Apply.lift2(dictApplicative.Apply0())(Data_Function.flip(Cons.create))(acc)(f($119)); }; - }); + })(Control_Applicative.pure(dictApplicative)(Nil.value))($118)); }; }; - }; - var findIndex = $foreign.findIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); - var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray)); - exports["concatMap"] = concatMap; - exports["findIndex"] = findIndex; - exports["foldM"] = foldM; - exports["head"] = head; - exports["index"] = index; - exports["last"] = last; - exports["nub"] = nub; - exports["nubBy"] = nubBy; - exports["null"] = $$null; - exports["sortBy"] = sortBy; - exports["tail"] = tail; - exports["uncons"] = uncons; - exports["unzip"] = unzip; - exports["updateAt"] = updateAt; - exports["zip"] = zip; - exports["concat"] = $foreign.concat; - exports["cons"] = $foreign.cons; - exports["filter"] = $foreign.filter; - exports["length"] = $foreign.length; - exports["range"] = $foreign.range; - exports["take"] = $foreign.take; -})(PS["Data.Array"] = PS["Data.Array"] || {}); -(function(exports) { - "use strict"; - - exports.joinWith = function (s) { - return function (xs) { - return xs.join(s); - }; - }; -})(PS["Data.String"] = PS["Data.String"] || {}); + }); + var applyList = new Control_Apply.Apply(function () { + return functorList; + }, function (v) { + return function (v1) { + if (v instanceof Nil) { + return Nil.value; + }; + if (v instanceof Cons) { + return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1)); + }; + throw new Error("Failed pattern match at Data.List.Types line 93, column 3 - line 93, column 20: " + [ v.constructor.name, v1.constructor.name ]); + }; + }); + var applicativeList = new Control_Applicative.Applicative(function () { + return applyList; + }, function (a) { + return new Cons(a, Nil.value); + }); + var altList = new Control_Alt.Alt(function () { + return functorList; + }, Data_Semigroup.append(semigroupList)); + var plusList = new Control_Plus.Plus(function () { + return altList; + }, Nil.value); + exports["Nil"] = Nil; + exports["Cons"] = Cons; + exports["NonEmptyList"] = NonEmptyList; + exports["semigroupList"] = semigroupList; + exports["functorList"] = functorList; + exports["foldableList"] = foldableList; + exports["traversableList"] = traversableList; + exports["applyList"] = applyList; + exports["applicativeList"] = applicativeList; + exports["altList"] = altList; + exports["plusList"] = plusList; +})(PS["Data.List.Types"] = PS["Data.List.Types"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var $foreign = PS["Data.String"]; - var Prelude = PS["Prelude"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Newtype = PS["Data.Newtype"]; - var Data_String_Unsafe = PS["Data.String.Unsafe"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Show = PS["Data.Show"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Function = PS["Data.Function"]; + var Control_Alt = PS["Control.Alt"]; + var Control_Alternative = PS["Control.Alternative"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Category = PS["Control.Category"]; + var Control_Lazy = PS["Control.Lazy"]; + var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; - exports["joinWith"] = $foreign.joinWith; -})(PS["Data.String"] = PS["Data.String"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var $foreign = PS["Data.Generic"]; - var Prelude = PS["Prelude"]; - var Data_Array = PS["Data.Array"]; - var Data_Either = PS["Data.Either"]; + var Data_Bifunctor = PS["Data.Bifunctor"]; + var Data_Boolean = PS["Data.Boolean"]; + var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; - var Data_Identity = PS["Data.Identity"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; + var Data_List_Types = PS["Data.List.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_NonEmpty = PS["Data.NonEmpty"]; - var Data_String = PS["Data.String"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Ordering = PS["Data.Ordering"]; + var Data_Ring = PS["Data.Ring"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Semiring = PS["Data.Semiring"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; - var Type_Proxy = PS["Type.Proxy"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Functor = PS["Data.Functor"]; + var Data_Unfoldable = PS["Data.Unfoldable"]; var Data_Unit = PS["Data.Unit"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Eq = PS["Data.Eq"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Function = PS["Data.Function"]; - var Data_Show = PS["Data.Show"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Boolean = PS["Data.Boolean"]; - var SProd = (function () { - function SProd(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - SProd.create = function (value0) { - return function (value1) { - return new SProd(value0, value1); - }; - }; - return SProd; - })(); - var SRecord = (function () { - function SRecord(value0) { - this.value0 = value0; - }; - SRecord.create = function (value0) { - return new SRecord(value0); - }; - return SRecord; - })(); - var SNumber = (function () { - function SNumber(value0) { - this.value0 = value0; - }; - SNumber.create = function (value0) { - return new SNumber(value0); - }; - return SNumber; - })(); - var SBoolean = (function () { - function SBoolean(value0) { - this.value0 = value0; - }; - SBoolean.create = function (value0) { - return new SBoolean(value0); - }; - return SBoolean; - })(); - var SInt = (function () { - function SInt(value0) { - this.value0 = value0; - }; - SInt.create = function (value0) { - return new SInt(value0); - }; - return SInt; - })(); - var SString = (function () { - function SString(value0) { - this.value0 = value0; - }; - SString.create = function (value0) { - return new SString(value0); - }; - return SString; - })(); - var SChar = (function () { - function SChar(value0) { - this.value0 = value0; - }; - SChar.create = function (value0) { - return new SChar(value0); - }; - return SChar; - })(); - var SArray = (function () { - function SArray(value0) { - this.value0 = value0; - }; - SArray.create = function (value0) { - return new SArray(value0); - }; - return SArray; - })(); - var SUnit = (function () { - function SUnit() { - - }; - SUnit.value = new SUnit(); - return SUnit; - })(); - var SigProd = (function () { - function SigProd(value0, value1) { - this.value0 = value0; - this.value1 = value1; + var Prelude = PS["Prelude"]; + var uncons = function (v) { + if (v instanceof Data_List_Types.Nil) { + return Data_Maybe.Nothing.value; }; - SigProd.create = function (value0) { - return function (value1) { - return new SigProd(value0, value1); - }; + if (v instanceof Data_List_Types.Cons) { + return new Data_Maybe.Just({ + head: v.value0, + tail: v.value1 + }); }; - return SigProd; - })(); - var Generic = function (fromSpine, toSignature, toSpine) { - this.fromSpine = fromSpine; - this.toSignature = toSignature; - this.toSpine = toSpine; + throw new Error("Failed pattern match at Data.List line 253, column 1 - line 253, column 21: " + [ v.constructor.name ]); }; - var toSpine = function (dict) { - return dict.toSpine; + var toUnfoldable = function (dictUnfoldable) { + return Data_Unfoldable.unfoldr(dictUnfoldable)(function (xs) { + return Data_Functor.map(Data_Maybe.functorMaybe)(function (rec) { + return new Data_Tuple.Tuple(rec.head, rec.tail); + })(uncons(xs)); + }); }; - var toSignature = function (dict) { - return dict.toSignature; - }; - var fromSpine = function (dict) { - return dict.fromSpine; + var tail = function (v) { + if (v instanceof Data_List_Types.Nil) { + return Data_Maybe.Nothing.value; + }; + if (v instanceof Data_List_Types.Cons) { + return new Data_Maybe.Just(v.value1); + }; + throw new Error("Failed pattern match at Data.List line 239, column 1 - line 239, column 19: " + [ v.constructor.name ]); }; - var force = function (f) { - return f(Data_Unit.unit); + var singleton = function (a) { + return new Data_List_Types.Cons(a, Data_List_Types.Nil.value); }; - var genericShowPrec = function (v) { - return function (v1) { - if (v1 instanceof SProd) { - if (Data_Array["null"](v1.value1)) { - return v1.value0; + var reverse = (function () { + var go = function (__copy_acc) { + return function (__copy_v) { + var __tco_acc = __copy_acc; + var __tco_done = false; + var __tco_result; + function __tco_loop(acc, v) { + if (v instanceof Data_List_Types.Nil) { + __tco_done = true; + return acc; + }; + if (v instanceof Data_List_Types.Cons) { + __tco_acc = new Data_List_Types.Cons(v.value0, acc); + __copy_v = v.value1; + return; + }; + throw new Error("Failed pattern match at Data.List line 359, column 11 - line 362, column 36: " + [ acc.constructor.name, v.constructor.name ]); }; - if (Data_Boolean.otherwise) { - var showParen = function (v2) { - return function (x) { - if (!v2) { - return x; + while (!__tco_done) { + __tco_result = __tco_loop(__tco_acc, __copy_v); + }; + return __tco_result; + }; + }; + return go(Data_List_Types.Nil.value); + })(); + var zipWith = function (f) { + return function (xs) { + return function (ys) { + var go = function (__copy_v) { + return function (__copy_v1) { + return function (__copy_acc) { + var __tco_v = __copy_v; + var __tco_v1 = __copy_v1; + var __tco_done = false; + var __tco_result; + function __tco_loop(v, v1, acc) { + if (v instanceof Data_List_Types.Nil) { + __tco_done = true; + return acc; + }; + if (v1 instanceof Data_List_Types.Nil) { + __tco_done = true; + return acc; + }; + if (v instanceof Data_List_Types.Cons && v1 instanceof Data_List_Types.Cons) { + __tco_v = v.value1; + __tco_v1 = v1.value1; + __copy_acc = new Data_List_Types.Cons(f(v.value0)(v1.value0), acc); + return; + }; + throw new Error("Failed pattern match at Data.List line 650, column 19 - line 654, column 52: " + [ v.constructor.name, v1.constructor.name, acc.constructor.name ]); }; - if (v2) { - return "(" + (x + ")"); + while (!__tco_done) { + __tco_result = __tco_loop(__tco_v, __tco_v1, __copy_acc); }; - throw new Error("Failed pattern match at Data.Generic line 396, column 7 - line 396, column 28: " + [ v2.constructor.name, x.constructor.name ]); + return __tco_result; }; }; - return showParen(v > 10)(v1.value0 + (" " + Data_String.joinWith(" ")(Data_Functor.map(Data_Functor.functorArray)(function (x) { - return genericShowPrec(11)(force(x)); - })(v1.value1)))); - }; - }; - if (v1 instanceof SRecord) { - var showLabelPart = function (x) { - return x.recLabel + (": " + genericShowPrec(0)(force(x.recValue))); }; - return "{" + (Data_String.joinWith(", ")(Data_Functor.map(Data_Functor.functorArray)(showLabelPart)(v1.value0)) + "}"); - }; - if (v1 instanceof SBoolean) { - return Data_Show.show(Data_Show.showBoolean)(v1.value0); - }; - if (v1 instanceof SInt) { - return Data_Show.show(Data_Show.showInt)(v1.value0); - }; - if (v1 instanceof SNumber) { - return Data_Show.show(Data_Show.showNumber)(v1.value0); - }; - if (v1 instanceof SString) { - return Data_Show.show(Data_Show.showString)(v1.value0); - }; - if (v1 instanceof SChar) { - return Data_Show.show(Data_Show.showChar)(v1.value0); - }; - if (v1 instanceof SArray) { - return "[" + (Data_String.joinWith(", ")(Data_Functor.map(Data_Functor.functorArray)(function (x) { - return genericShowPrec(0)(force(x)); - })(v1.value0)) + "]"); - }; - if (v1 instanceof SUnit) { - return "unit"; + return reverse(go(xs)(ys)(Data_List_Types.Nil.value)); }; - throw new Error("Failed pattern match at Data.Generic line 390, column 1 - line 398, column 1: " + [ v.constructor.name, v1.constructor.name ]); }; }; - var gShow = function (dictGeneric) { - return function ($274) { - return genericShowPrec(0)(toSpine(dictGeneric)($274)); - }; - }; - var eqThunk = function (dictEq) { - return function (x) { - return function (y) { - return Data_Eq.eq(dictEq)(force(x))(force(y)); + var zip = zipWith(Data_Tuple.Tuple.create); + var range = function (start) { + return function (end) { + if (start === end) { + return singleton(start); }; - }; - }; - var eqRecordSigs = function (dictEq) { - return function (arr1) { - return function (arr2) { - var labelCompare = function (r1) { - return function (r2) { - return Data_Ord.compare(Data_Ord.ordString)(r1.recLabel)(r2.recLabel); + if (Data_Boolean.otherwise) { + var go = function (__copy_s) { + return function (__copy_e) { + return function (__copy_step) { + return function (__copy_rest) { + var __tco_s = __copy_s; + var __tco_e = __copy_e; + var __tco_step = __copy_step; + var __tco_done = false; + var __tco_result; + function __tco_loop(s, e, step, rest) { + if (s === e) { + __tco_done = true; + return new Data_List_Types.Cons(s, rest); + }; + if (Data_Boolean.otherwise) { + __tco_s = s + step | 0; + __tco_e = e; + __tco_step = step; + __copy_rest = new Data_List_Types.Cons(s, rest); + return; + }; + throw new Error("Failed pattern match at Data.List line 139, column 31 - line 142, column 65: " + [ s.constructor.name, e.constructor.name, step.constructor.name, rest.constructor.name ]); + }; + while (!__tco_done) { + __tco_result = __tco_loop(__tco_s, __tco_e, __tco_step, __copy_rest); + }; + return __tco_result; + }; + }; }; }; - var sorted1 = Data_Array.sortBy(labelCompare)(arr1); - var sorted2 = Data_Array.sortBy(labelCompare)(arr2); - var doCmp = function (x) { - return function (y) { - return x.recLabel === y.recLabel && Data_Eq.eq(dictEq)(force(x.recValue))(force(y.recValue)); + return go(end)(start)((function () { + var $195 = start > end; + if ($195) { + return 1; }; - }; - return Data_Array.length(arr1) === Data_Array.length(arr2) && $foreign.zipAll(doCmp)(sorted1)(sorted2); + return -1 | 0; + })())(Data_List_Types.Nil.value); }; + throw new Error("Failed pattern match at Data.List line 138, column 1 - line 142, column 65: " + [ start.constructor.name, end.constructor.name ]); }; }; - var eqGenericSpine = new Data_Eq.Eq(function (v) { - return function (v1) { - if (v instanceof SProd && v1 instanceof SProd) { - return v.value0 === v1.value0 && (Data_Array.length(v.value1) === Data_Array.length(v1.value1) && $foreign.zipAll(eqThunk(eqGenericSpine))(v.value1)(v1.value1)); - }; - if (v instanceof SRecord && v1 instanceof SRecord) { - return eqRecordSigs(eqGenericSpine)(v.value0)(v1.value0); - }; - if (v instanceof SNumber && v1 instanceof SNumber) { - return v.value0 === v1.value0; - }; - if (v instanceof SBoolean && v1 instanceof SBoolean) { - return v.value0 === v1.value0; - }; - if (v instanceof SInt && v1 instanceof SInt) { - return v.value0 === v1.value0; - }; - if (v instanceof SString && v1 instanceof SString) { - return v.value0 === v1.value0; - }; - if (v instanceof SChar && v1 instanceof SChar) { - return v.value0 === v1.value0; - }; - if (v instanceof SArray && v1 instanceof SArray) { - return Data_Array.length(v.value0) === Data_Array.length(v1.value0) && $foreign.zipAll(eqThunk(eqGenericSpine))(v.value0)(v1.value0); - }; - if (v instanceof SUnit && v1 instanceof SUnit) { - return true; - }; - return false; + var head = function (v) { + if (v instanceof Data_List_Types.Nil) { + return Data_Maybe.Nothing.value; }; - }); - var gEq = function (dictGeneric) { - return function (x) { - return function (y) { - return Data_Eq.eq(eqGenericSpine)(toSpine(dictGeneric)(x))(toSpine(dictGeneric)(y)); - }; + if (v instanceof Data_List_Types.Cons) { + return new Data_Maybe.Just(v.value0); }; + throw new Error("Failed pattern match at Data.List line 224, column 1 - line 224, column 19: " + [ v.constructor.name ]); }; - exports["SigProd"] = SigProd; - exports["SProd"] = SProd; - exports["SRecord"] = SRecord; - exports["SNumber"] = SNumber; - exports["SBoolean"] = SBoolean; - exports["SInt"] = SInt; - exports["SString"] = SString; - exports["SChar"] = SChar; - exports["SArray"] = SArray; - exports["SUnit"] = SUnit; - exports["Generic"] = Generic; - exports["fromSpine"] = fromSpine; - exports["gEq"] = gEq; - exports["gShow"] = gShow; - exports["toSignature"] = toSignature; - exports["toSpine"] = toSpine; - exports["eqGenericSpine"] = eqGenericSpine; -})(PS["Data.Generic"] = PS["Data.Generic"] || {}); + var fromFoldable = function (dictFoldable) { + return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value); + }; + exports["fromFoldable"] = fromFoldable; + exports["head"] = head; + exports["range"] = range; + exports["reverse"] = reverse; + exports["singleton"] = singleton; + exports["tail"] = tail; + exports["toUnfoldable"] = toUnfoldable; + exports["uncons"] = uncons; + exports["zip"] = zip; + exports["zipWith"] = zipWith; +})(PS["Data.List"] = PS["Data.List"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Comonad = PS["Control.Comonad"]; - var Control_Extend = PS["Control.Extend"]; - var Control_MonadPlus = PS["Control.MonadPlus"]; - var Control_MonadZero = PS["Control.MonadZero"]; - var Control_Plus = PS["Control.Plus"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Foldable = PS["Data.Foldable"]; - var Data_Generic = PS["Data.Generic"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_List = PS["Data.List"]; + var Data_List_Types = PS["Data.List.Types"]; var Data_Maybe = PS["Data.Maybe"]; - var Data_Monoid = PS["Data.Monoid"]; - var Data_Newtype = PS["Data.Newtype"]; var Data_NonEmpty = PS["Data.NonEmpty"]; - var Data_Traversable = PS["Data.Traversable"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Semiring = PS["Data.Semiring"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Show = PS["Data.Show"]; + var Prelude = PS["Prelude"]; + var singleton = function ($42) { + return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($42)); + }; + exports["singleton"] = singleton; +})(PS["Data.List.NonEmpty"] = PS["Data.List.NonEmpty"] || {}); +(function(exports) { + "use strict"; + + exports.joinWith = function (s) { + return function (xs) { + return xs.join(s); + }; + }; +})(PS["Data.String"] = PS["Data.String"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var $foreign = PS["Data.String"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Function = PS["Data.Function"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Newtype = PS["Data.Newtype"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Ordering = PS["Data.Ordering"]; + var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Functor = PS["Data.Functor"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Show = PS["Data.Show"]; + var Data_String_Unsafe = PS["Data.String.Unsafe"]; + var Prelude = PS["Prelude"]; + exports["joinWith"] = $foreign.joinWith; +})(PS["Data.String"] = PS["Data.String"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var $foreign = PS["Data.Foreign"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; + var Control_Monad_Except = PS["Control.Monad.Except"]; + var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Boolean = PS["Data.Boolean"]; + var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; + var Data_Identity = PS["Data.Identity"]; + var Data_Int = PS["Data.Int"]; + var Data_List_NonEmpty = PS["Data.List.NonEmpty"]; + var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Category = PS["Control.Category"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; - var Nil = (function () { - function Nil() { - - }; - Nil.value = new Nil(); - return Nil; - })(); - var Cons = (function () { - function Cons(value0, value1) { + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Show = PS["Data.Show"]; + var Data_String = PS["Data.String"]; + var Prelude = PS["Prelude"]; + var TypeMismatch = (function () { + function TypeMismatch(value0, value1) { this.value0 = value0; this.value1 = value1; }; - Cons.create = function (value0) { + TypeMismatch.create = function (value0) { return function (value1) { - return new Cons(value0, value1); + return new TypeMismatch(value0, value1); }; }; - return Cons; + return TypeMismatch; })(); - var NonEmptyList = function (x) { - return x; + var fail = function ($121) { + return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($121)); }; - var semigroupList = new Data_Semigroup.Semigroup(function (v) { - return function (ys) { - if (v instanceof Nil) { - return ys; + var unsafeReadTagged = function (tag) { + return function (value) { + if ($foreign.tagOf(value) === tag) { + return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value)); }; - if (v instanceof Cons) { - return new Cons(v.value0, Data_Semigroup.append(semigroupList)(v.value1)(ys)); + if (Data_Boolean.otherwise) { + return fail(new TypeMismatch(tag, $foreign.tagOf(value))); }; - throw new Error("Failed pattern match at Data.List.Types line 53, column 3 - line 53, column 21: " + [ v.constructor.name, ys.constructor.name ]); + throw new Error("Failed pattern match at Data.Foreign line 105, column 1 - line 107, column 54: " + [ tag.constructor.name, value.constructor.name ]); }; - }); - var foldableList = new Data_Foldable.Foldable(function (dictMonoid) { - return function (f) { - return Data_Foldable.foldl(foldableList)(function (acc) { - return function ($133) { - return Data_Semigroup.append(dictMonoid["__superclass_Data.Semigroup.Semigroup_0"]())(acc)(f($133)); - }; - })(Data_Monoid.mempty(dictMonoid)); + }; + var readBoolean = unsafeReadTagged("Boolean"); + var readNumber = unsafeReadTagged("Number"); + var readString = unsafeReadTagged("String"); + exports["TypeMismatch"] = TypeMismatch; + exports["fail"] = fail; + exports["readBoolean"] = readBoolean; + exports["readNumber"] = readNumber; + exports["readString"] = readString; + exports["unsafeReadTagged"] = unsafeReadTagged; +})(PS["Data.Foreign"] = PS["Data.Foreign"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var $foreign = PS["Control.Monad.Eff.JQuery"]; + var Control_Monad_Eff = PS["Control.Monad.Eff"]; + var DOM = PS["DOM"]; + var Data_Foreign = PS["Data.Foreign"]; + var Prelude = PS["Prelude"]; + exports["append"] = $foreign.append; + exports["body"] = $foreign.body; + exports["create"] = $foreign.create; + exports["find"] = $foreign.find; + exports["getProp"] = $foreign.getProp; + exports["getText"] = $foreign.getText; + exports["getValue"] = $foreign.getValue; + exports["on"] = $foreign.on; + exports["setText"] = $foreign.setText; + exports["setValue"] = $foreign.setValue; +})(PS["Control.Monad.Eff.JQuery"] = PS["Control.Monad.Eff.JQuery"] || {}); +(function(exports) { + "use strict"; + + exports.newRef = function (val) { + return function () { + return { value: val }; + }; + }; + + exports.readRef = function (ref) { + return function () { + return ref.value; + }; + }; + + exports["modifyRef'"] = function (ref) { + return function (f) { + return function () { + var t = f(ref.value); + ref.value = t.state; + return t.value; }; - }, function (f) { - var go = function (__copy_b) { - return function (__copy_v) { - var b = __copy_b; - var v = __copy_v; - tco: while (true) { - if (v instanceof Nil) { - return b; - }; - if (v instanceof Cons) { - var __tco_b = f(b)(v.value0); - var __tco_v = v.value1; - b = __tco_b; - v = __tco_v; - continue tco; - }; - throw new Error("Failed pattern match at Data.List.Types line 67, column 3 - line 70, column 34: " + [ b.constructor.name, v.constructor.name ]); + }; + }; + + exports.writeRef = function (ref) { + return function (val) { + return function () { + ref.value = val; + return {}; + }; + }; + }; +})(PS["Control.Monad.Eff.Ref"] = PS["Control.Monad.Eff.Ref"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var $foreign = PS["Control.Monad.Eff.Ref"]; + var Control_Monad_Eff = PS["Control.Monad.Eff"]; + var Data_Unit = PS["Data.Unit"]; + var Prelude = PS["Prelude"]; + var modifyRef = function (ref) { + return function (f) { + return $foreign["modifyRef'"](ref)(function (s) { + return { + state: f(s), + value: Data_Unit.unit }; - }; - }; - return go; - }, function (f) { - return function (b) { - return function (as) { - var rev = function (__copy_acc) { - return function (__copy_v) { - var acc = __copy_acc; - var v = __copy_v; - tco: while (true) { - if (v instanceof Nil) { - return acc; - }; - if (v instanceof Cons) { - var __tco_acc = new Cons(v.value0, acc); - var __tco_v = v.value1; - acc = __tco_acc; - v = __tco_v; - continue tco; - }; - throw new Error("Failed pattern match at Data.List.Types line 63, column 3 - line 66, column 40: " + [ acc.constructor.name, v.constructor.name ]); - }; - }; - }; - return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev(Nil.value)(as)); - }; - }; - }); - var functorList = new Data_Functor.Functor(function (f) { - return Data_Foldable.foldr(foldableList)(function (x) { - return function (acc) { - return new Cons(f(x), acc); - }; - })(Nil.value); - }); - var showList = function (dictShow) { - return new Data_Show.Show(function (v) { - if (v instanceof Nil) { - return "Nil"; - }; - return "(" + (Data_Foldable.intercalate(foldableList)(Data_Monoid.monoidString)(" : ")(Data_Functor.map(functorList)(Data_Show.show(dictShow))(v)) + " : Nil)"); - }); - }; - var traversableList = new Data_Traversable.Traversable(function () { - return foldableList; - }, function () { - return functorList; - }, function (dictApplicative) { - return Data_Traversable.traverse(traversableList)(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); - }, function (dictApplicative) { - return function (f) { - return function ($134) { - return Data_Functor.map((dictApplicative["__superclass_Control.Apply.Apply_0"]())["__superclass_Data.Functor.Functor_0"]())(Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value))(Data_Foldable.foldl(foldableList)(function (acc) { - return function ($135) { - return Control_Apply.lift2(dictApplicative["__superclass_Control.Apply.Apply_0"]())(Data_Function.flip(Cons.create))(acc)(f($135)); - }; - })(Control_Applicative.pure(dictApplicative)(Nil.value))($134)); - }; - }; - }); - var applyList = new Control_Apply.Apply(function () { - return functorList; - }, function (v) { - return function (v1) { - if (v instanceof Nil) { - return Nil.value; - }; - if (v instanceof Cons) { - return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1)); - }; - throw new Error("Failed pattern match at Data.List.Types line 85, column 3 - line 85, column 20: " + [ v.constructor.name, v1.constructor.name ]); - }; - }); - var applicativeList = new Control_Applicative.Applicative(function () { - return applyList; - }, function (a) { - return new Cons(a, Nil.value); - }); - var altList = new Control_Alt.Alt(function () { - return functorList; - }, Data_Semigroup.append(semigroupList)); - var plusList = new Control_Plus.Plus(function () { - return altList; - }, Nil.value); - exports["Nil"] = Nil; - exports["Cons"] = Cons; - exports["NonEmptyList"] = NonEmptyList; - exports["showList"] = showList; - exports["semigroupList"] = semigroupList; - exports["functorList"] = functorList; - exports["foldableList"] = foldableList; - exports["traversableList"] = traversableList; - exports["applyList"] = applyList; - exports["applicativeList"] = applicativeList; - exports["altList"] = altList; - exports["plusList"] = plusList; -})(PS["Data.List.Types"] = PS["Data.List.Types"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var Prelude = PS["Prelude"]; - var Control_Alt = PS["Control.Alt"]; - var Control_Alternative = PS["Control.Alternative"]; - var Control_Lazy = PS["Control.Lazy"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_NonEmpty = PS["Data.NonEmpty"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Function = PS["Data.Function"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Semiring = PS["Data.Semiring"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Unit = PS["Data.Unit"]; - var Control_Apply = PS["Control.Apply"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Control_Category = PS["Control.Category"]; - var uncons = function (v) { - if (v instanceof Data_List_Types.Nil) { - return Data_Maybe.Nothing.value; - }; - if (v instanceof Data_List_Types.Cons) { - return new Data_Maybe.Just({ - head: v.value0, - tail: v.value1 - }); - }; - throw new Error("Failed pattern match at Data.List line 257, column 1 - line 257, column 21: " + [ v.constructor.name ]); - }; - var toUnfoldable = function (dictUnfoldable) { - return Data_Unfoldable.unfoldr(dictUnfoldable)(function (xs) { - return Data_Functor.map(Data_Maybe.functorMaybe)(function (rec) { - return new Data_Tuple.Tuple(rec.head, rec.tail); - })(uncons(xs)); - }); - }; - var tail = function (v) { - if (v instanceof Data_List_Types.Nil) { - return Data_Maybe.Nothing.value; - }; - if (v instanceof Data_List_Types.Cons) { - return new Data_Maybe.Just(v.value1); - }; - throw new Error("Failed pattern match at Data.List line 238, column 1 - line 238, column 19: " + [ v.constructor.name ]); - }; - var singleton = function (a) { - return new Data_List_Types.Cons(a, Data_List_Types.Nil.value); - }; - var reverse = (function () { - var go = function (__copy_acc) { - return function (__copy_v) { - var acc = __copy_acc; - var v = __copy_v; - tco: while (true) { - if (v instanceof Data_List_Types.Nil) { - return acc; - }; - if (v instanceof Data_List_Types.Cons) { - var __tco_acc = new Data_List_Types.Cons(v.value0, acc); - var __tco_v = v.value1; - acc = __tco_acc; - v = __tco_v; - continue tco; - }; - throw new Error("Failed pattern match at Data.List line 352, column 1 - line 355, column 36: " + [ acc.constructor.name, v.constructor.name ]); - }; - }; - }; - return go(Data_List_Types.Nil.value); - })(); - var zipWith = function (f) { - return function (xs) { - return function (ys) { - var go = function (__copy_v) { - return function (__copy_v1) { - return function (__copy_acc) { - var v = __copy_v; - var v1 = __copy_v1; - var acc = __copy_acc; - tco: while (true) { - if (v instanceof Data_List_Types.Nil) { - return acc; - }; - if (v1 instanceof Data_List_Types.Nil) { - return acc; - }; - if (v instanceof Data_List_Types.Cons && v1 instanceof Data_List_Types.Cons) { - var __tco_v = v.value1; - var __tco_v1 = v1.value1; - var __tco_acc = new Data_List_Types.Cons(f(v.value0)(v1.value0), acc); - v = __tco_v; - v1 = __tco_v1; - acc = __tco_acc; - continue tco; - }; - throw new Error("Failed pattern match at Data.List line 643, column 1 - line 647, column 52: " + [ v.constructor.name, v1.constructor.name, acc.constructor.name ]); - }; - }; - }; - }; - return reverse(go(xs)(ys)(Data_List_Types.Nil.value)); - }; - }; - }; - var zip = zipWith(Data_Tuple.Tuple.create); - var range = function (start) { - return function (end) { - if (start === end) { - return singleton(start); - }; - if (Data_Boolean.otherwise) { - var go = function (__copy_s) { - return function (__copy_e) { - return function (__copy_step) { - return function (__copy_rest) { - var s = __copy_s; - var e = __copy_e; - var step = __copy_step; - var rest = __copy_rest; - tco: while (true) { - if (s === e) { - return new Data_List_Types.Cons(s, rest); - }; - if (Data_Boolean.otherwise) { - var __tco_s = s + step | 0; - var __tco_e = e; - var __tco_step = step; - var __tco_rest = new Data_List_Types.Cons(s, rest); - s = __tco_s; - e = __tco_e; - step = __tco_step; - rest = __tco_rest; - continue tco; - }; - throw new Error("Failed pattern match at Data.List line 137, column 1 - line 141, column 65: " + [ s.constructor.name, e.constructor.name, step.constructor.name, rest.constructor.name ]); - }; - }; - }; - }; - }; - return go(end)(start)((function () { - var $184 = start > end; - if ($184) { - return 1; - }; - if (!$184) { - return -1; - }; - throw new Error("Failed pattern match at Data.List line 138, column 45 - line 138, column 74: " + [ $184.constructor.name ]); - })())(Data_List_Types.Nil.value); - }; - throw new Error("Failed pattern match at Data.List line 137, column 1 - line 141, column 65: " + [ start.constructor.name, end.constructor.name ]); - }; - }; - var head = function (v) { - if (v instanceof Data_List_Types.Nil) { - return Data_Maybe.Nothing.value; - }; - if (v instanceof Data_List_Types.Cons) { - return new Data_Maybe.Just(v.value0); - }; - throw new Error("Failed pattern match at Data.List line 223, column 1 - line 223, column 19: " + [ v.constructor.name ]); - }; - var fromFoldable = function (dictFoldable) { - return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value); - }; - var filter = function (p) { - var go = function (__copy_acc) { - return function (__copy_v) { - var acc = __copy_acc; - var v = __copy_v; - tco: while (true) { - if (v instanceof Data_List_Types.Nil) { - return reverse(acc); - }; - if (v instanceof Data_List_Types.Cons) { - if (p(v.value0)) { - var __tco_acc = new Data_List_Types.Cons(v.value0, acc); - var __tco_v = v.value1; - acc = __tco_acc; - v = __tco_v; - continue tco; - }; - if (Data_Boolean.otherwise) { - var __tco_acc = acc; - var __tco_v = v.value1; - acc = __tco_acc; - v = __tco_v; - continue tco; - }; - }; - throw new Error("Failed pattern match at Data.List line 374, column 1 - line 379, column 28: " + [ acc.constructor.name, v.constructor.name ]); - }; - }; - }; - return go(Data_List_Types.Nil.value); - }; - exports["filter"] = filter; - exports["fromFoldable"] = fromFoldable; - exports["head"] = head; - exports["range"] = range; - exports["reverse"] = reverse; - exports["singleton"] = singleton; - exports["tail"] = tail; - exports["toUnfoldable"] = toUnfoldable; - exports["uncons"] = uncons; - exports["zip"] = zip; - exports["zipWith"] = zipWith; -})(PS["Data.List"] = PS["Data.List"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var Prelude = PS["Prelude"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_List = PS["Data.List"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_NonEmpty = PS["Data.NonEmpty"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Function = PS["Data.Function"]; - var Control_Bind = PS["Control.Bind"]; - var singleton = function ($36) { - return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($36)); - }; - exports["singleton"] = singleton; -})(PS["Data.List.NonEmpty"] = PS["Data.List.NonEmpty"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var $foreign = PS["Data.Foreign"]; - var Prelude = PS["Prelude"]; - var Control_Monad_Except = PS["Control.Monad.Except"]; - var Data_Either = PS["Data.Either"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Int = PS["Data.Int"]; - var Data_List_NonEmpty = PS["Data.List.NonEmpty"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_String = PS["Data.String"]; - var Data_Eq = PS["Data.Eq"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; - var Data_Show = PS["Data.Show"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; - var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; - var Data_Identity = PS["Data.Identity"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Function = PS["Data.Function"]; - var Data_Boolean = PS["Data.Boolean"]; - var TypeMismatch = (function () { - function TypeMismatch(value0, value1) { - this.value0 = value0; - this.value1 = value1; - }; - TypeMismatch.create = function (value0) { - return function (value1) { - return new TypeMismatch(value0, value1); - }; - }; - return TypeMismatch; - })(); - var fail = function ($112) { - return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadErrorExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($112)); - }; - var unsafeReadTagged = function (tag) { - return function (value) { - if ($foreign.tagOf(value) === tag) { - return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value)); - }; - if (Data_Boolean.otherwise) { - return fail(new TypeMismatch(tag, $foreign.tagOf(value))); - }; - throw new Error("Failed pattern match at Data.Foreign line 108, column 1 - line 110, column 54: " + [ tag.constructor.name, value.constructor.name ]); - }; - }; - var readBoolean = unsafeReadTagged("Boolean"); - var readNumber = unsafeReadTagged("Number"); - var readString = unsafeReadTagged("String"); - exports["TypeMismatch"] = TypeMismatch; - exports["fail"] = fail; - exports["readBoolean"] = readBoolean; - exports["readNumber"] = readNumber; - exports["readString"] = readString; - exports["unsafeReadTagged"] = unsafeReadTagged; -})(PS["Data.Foreign"] = PS["Data.Foreign"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var $foreign = PS["Control.Monad.Eff.JQuery"]; - var Prelude = PS["Prelude"]; - var Control_Monad_Eff = PS["Control.Monad.Eff"]; - var Data_Foreign = PS["Data.Foreign"]; - var DOM = PS["DOM"]; - exports["append"] = $foreign.append; - exports["body"] = $foreign.body; - exports["create"] = $foreign.create; - exports["find"] = $foreign.find; - exports["getProp"] = $foreign.getProp; - exports["getText"] = $foreign.getText; - exports["getValue"] = $foreign.getValue; - exports["on"] = $foreign.on; - exports["setText"] = $foreign.setText; - exports["setValue"] = $foreign.setValue; -})(PS["Control.Monad.Eff.JQuery"] = PS["Control.Monad.Eff.JQuery"] || {}); -(function(exports) { - "use strict"; - - exports.newRef = function (val) { - return function () { - return { value: val }; - }; - }; - - exports.readRef = function (ref) { - return function () { - return ref.value; - }; - }; - - exports["modifyRef'"] = function (ref) { - return function (f) { - return function () { - var t = f(ref.value); - ref.value = t.state; - return t.value; - }; - }; - }; - - exports.writeRef = function (ref) { - return function (val) { - return function () { - ref.value = val; - return {}; - }; - }; - }; -})(PS["Control.Monad.Eff.Ref"] = PS["Control.Monad.Eff.Ref"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var $foreign = PS["Control.Monad.Eff.Ref"]; - var Prelude = PS["Prelude"]; - var Control_Monad_Eff = PS["Control.Monad.Eff"]; - var Data_Unit = PS["Data.Unit"]; - var modifyRef = function (ref) { - return function (f) { - return $foreign["modifyRef'"](ref)(function (s) { - return { - state: f(s), - value: Data_Unit.unit - }; - }); + }); }; }; exports["modifyRef"] = modifyRef; @@ -3603,7 +2955,7 @@ var PS = {}; }; })(PS["Control.Monad.Eff.WebGL"] = PS["Control.Monad.Eff.WebGL"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Control.Monad.Eff.WebGL"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; @@ -3633,14 +2985,13 @@ var PS = {}; }; })(PS["Data.Argonaut.Core"] = PS["Data.Argonaut.Core"] || {}); (function(exports) { - /* global exports */ - "use strict"; + "use strict"; exports._copyEff = function (m) { return function () { var r = {}; for (var k in m) { - if (m.hasOwnProperty(k)) { + if (hasOwnProperty.call(m, k)) { r[k] = m[k]; } } @@ -3648,93 +2999,451 @@ var PS = {}; }; }; - exports.empty = {}; - - exports.runST = function (f) { - return f; + exports.empty = {}; + + exports.runST = function (f) { + return f; + }; + + exports._fmapStrMap = function (m0, f) { + var m = {}; + for (var k in m0) { + if (hasOwnProperty.call(m0, k)) { + m[k] = f(m0[k]); + } + } + return m; + }; + + exports._mapWithKey = function (m0, f) { + var m = {}; + for (var k in m0) { + if (hasOwnProperty.call(m0, k)) { + m[k] = f(k)(m0[k]); + } + } + return m; + }; + + exports._foldM = function (bind) { + return function (f) { + return function (mz) { + return function (m) { + var acc = mz; + function g(k) { + return function (z) { + return f(z)(k)(m[k]); + }; + } + for (var k in m) { + if (hasOwnProperty.call(m, k)) { + acc = bind(acc)(g(k)); + } + } + return acc; + }; + }; + }; + }; + + exports.all = function (f) { + return function (m) { + for (var k in m) { + if (hasOwnProperty.call(m, k) && !f(k)(m[k])) return false; + } + return true; + }; + }; + + exports.size = function (m) { + var s = 0; + for (var k in m) { + if (hasOwnProperty.call(m, k)) { + ++s; + } + } + return s; + }; + + exports._lookup = function (no, yes, k, m) { + return k in m ? yes(m[k]) : no; + }; + + function _collect(f) { + return function (m) { + var r = []; + for (var k in m) { + if (hasOwnProperty.call(m, k)) { + r.push(f(k)(m[k])); + } + } + return r; + }; + } + + exports._collect = _collect; + + exports.keys = Object.keys || _collect(function (k) { + return function () { return k; }; + }); +})(PS["Data.StrMap"] = PS["Data.StrMap"] || {}); +(function(exports) { + "use strict"; + + //------------------------------------------------------------------------------ + // Array creation -------------------------------------------------------------- + //------------------------------------------------------------------------------ + + exports.range = function (start) { + return function (end) { + var step = start > end ? -1 : 1; + var result = []; + var i = start, n = 0; + while (i !== end) { + result[n++] = i; + i += step; + } + result[n] = i; + return result; + }; + }; + + var replicate = function (count) { + return function (value) { + if (count < 1) { + return []; + } + var result = new Array(count); + return result.fill(value); + }; + }; + + // In browsers that have Array.prototype.fill we use it, as it's faster. + exports.replicate = typeof Array.prototype.fill === "function" ? + replicate : + replicatePolyfill; + + //------------------------------------------------------------------------------ + // Array size ------------------------------------------------------------------ + //------------------------------------------------------------------------------ + + exports.length = function (xs) { + return xs.length; + }; + + //------------------------------------------------------------------------------ + // Extending arrays ------------------------------------------------------------ + //------------------------------------------------------------------------------ + + exports.cons = function (e) { + return function (l) { + return [e].concat(l); + }; + }; + + //------------------------------------------------------------------------------ + // Non-indexed reads ----------------------------------------------------------- + //------------------------------------------------------------------------------ + + exports["uncons'"] = function (empty) { + return function (next) { + return function (xs) { + return xs.length === 0 ? empty({}) : next(xs[0])(xs.slice(1)); + }; + }; + }; + + //------------------------------------------------------------------------------ + // Indexed operations ---------------------------------------------------------- + //------------------------------------------------------------------------------ + + exports.indexImpl = function (just) { + return function (nothing) { + return function (xs) { + return function (i) { + return i < 0 || i >= xs.length ? nothing : just(xs[i]); + }; + }; + }; + }; + + exports.findIndexImpl = function (just) { + return function (nothing) { + return function (f) { + return function (xs) { + for (var i = 0, l = xs.length; i < l; i++) { + if (f(xs[i])) return just(i); + } + return nothing; + }; + }; + }; + }; + + exports._updateAt = function (just) { + return function (nothing) { + return function (i) { + return function (a) { + return function (l) { + if (i < 0 || i >= l.length) return nothing; + var l1 = l.slice(); + l1[i] = a; + return just(l1); + }; + }; + }; + }; }; - // jshint maxparams: 2 - exports._fmapStrMap = function (m0, f) { - var m = {}; - for (var k in m0) { - if (m0.hasOwnProperty(k)) { - m[k] = f(m0[k]); + exports.concat = function (xss) { + if (xss.length <= 10000) { + // This method is faster, but it crashes on big arrays. + // So we use it when can and fallback to simple variant otherwise. + return Array.prototype.concat.apply([], xss); + } + + var result = []; + for (var i = 0, l = xss.length; i < l; i++) { + var xs = xss[i]; + for (var j = 0, m = xs.length; j < m; j++) { + result.push(xs[j]); } } - return m; + return result; }; - // jshint maxparams: 1 - exports._foldM = function (bind) { - return function (f) { - return function (mz) { - return function (m) { - var acc = mz; - function g(k) { - return function (z) { - return f(z)(k)(m[k]); - }; - } - for (var k in m) { - if (m.hasOwnProperty(k)) { - acc = bind(acc)(g(k)); - } - } - return acc; - }; - }; + exports.filter = function (f) { + return function (xs) { + return xs.filter(f); }; }; - // jshint maxparams: 1 - exports.all = function (f) { - return function (m) { - for (var k in m) { - if (m.hasOwnProperty(k) && !f(k)(m[k])) return false; - } - return true; + //------------------------------------------------------------------------------ + // Sorting --------------------------------------------------------------------- + //------------------------------------------------------------------------------ + + exports.sortImpl = function (f) { + return function (l) { + // jshint maxparams: 2 + return l.slice().sort(function (x, y) { + return f(x)(y); + }); }; }; - exports.size = function (m) { - var s = 0; - for (var k in m) { - if (m.hasOwnProperty(k)) { - ++s; - } - } - return s; + //------------------------------------------------------------------------------ + // Subarrays ------------------------------------------------------------------- + //------------------------------------------------------------------------------ + + exports.slice = function (s) { + return function (e) { + return function (l) { + return l.slice(s, e); + }; + }; }; - // jshint maxparams: 4 - exports._lookup = function (no, yes, k, m) { - return k in m ? yes(m[k]) : no; + exports.take = function (n) { + return function (l) { + return n < 1 ? [] : l.slice(0, n); + }; }; - function _collect(f) { - return function (m) { - var r = []; - for (var k in m) { - if (m.hasOwnProperty(k)) { - r.push(f(k)(m[k])); + //------------------------------------------------------------------------------ + // Zipping --------------------------------------------------------------------- + //------------------------------------------------------------------------------ + + exports.zipWith = function (f) { + return function (xs) { + return function (ys) { + var l = xs.length < ys.length ? xs.length : ys.length; + var result = new Array(l); + for (var i = 0; i < l; i++) { + result[i] = f(xs[i])(ys[i]); } - } - return r; + return result; + }; }; - } + }; - exports._collect = _collect; + //------------------------------------------------------------------------------ + // Partial --------------------------------------------------------------------- + //------------------------------------------------------------------------------ - exports.keys = Object.keys || _collect(function (k) { - return function () { return k; }; + exports.unsafeIndexImpl = function (xs) { + return function (n) { + return xs[n]; + }; + }; +})(PS["Data.Array"] = PS["Data.Array"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var $foreign = PS["Data.Array"]; + var Control_Alt = PS["Control.Alt"]; + var Control_Alternative = PS["Control.Alternative"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Category = PS["Control.Category"]; + var Control_Lazy = PS["Control.Lazy"]; + var Control_Monad_Eff = PS["Control.Monad.Eff"]; + var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; + var Control_Monad_ST = PS["Control.Monad.ST"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Array_ST = PS["Data.Array.ST"]; + var Data_Array_ST_Iterator = PS["Data.Array.ST.Iterator"]; + var Data_Boolean = PS["Data.Boolean"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Foldable = PS["Data.Foldable"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_NonEmpty = PS["Data.NonEmpty"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Ordering = PS["Data.Ordering"]; + var Data_Ring = PS["Data.Ring"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Traversable = PS["Data.Traversable"]; + var Data_Tuple = PS["Data.Tuple"]; + var Data_Unfoldable = PS["Data.Unfoldable"]; + var Partial_Unsafe = PS["Partial.Unsafe"]; + var Prelude = PS["Prelude"]; + var zip = $foreign.zipWith(Data_Tuple.Tuple.create); + var updateAt = $foreign._updateAt(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); + var unzip = $foreign["uncons'"](function (v) { + return new Data_Tuple.Tuple([ ], [ ]); + })(function (v) { + return function (ts) { + var v1 = unzip(ts); + return new Data_Tuple.Tuple($foreign.cons(v.value0)(v1.value0), $foreign.cons(v.value1)(v1.value1)); + }; }); -})(PS["Data.StrMap"] = PS["Data.StrMap"] || {}); + var unsafeIndex = function (dictPartial) { + return $foreign.unsafeIndexImpl; + }; + var uncons = $foreign["uncons'"](Data_Function["const"](Data_Maybe.Nothing.value))(function (x) { + return function (xs) { + return new Data_Maybe.Just({ + head: x, + tail: xs + }); + }; + }); + var toUnfoldable = function (dictUnfoldable) { + return function (xs) { + var len = $foreign.length(xs); + var f = function (i) { + if (i < len) { + return new Data_Maybe.Just(new Data_Tuple.Tuple(unsafeIndex()(xs)(i), i + 1 | 0)); + }; + if (Data_Boolean.otherwise) { + return Data_Maybe.Nothing.value; + }; + throw new Error("Failed pattern match at Data.Array line 132, column 19 - line 137, column 26: " + [ i.constructor.name ]); + }; + return Data_Unfoldable.unfoldr(dictUnfoldable)(f)(0); + }; + }; + var tail = $foreign["uncons'"](Data_Function["const"](Data_Maybe.Nothing.value))(function (v) { + return function (xs) { + return new Data_Maybe.Just(xs); + }; + }); + var sortBy = function (comp) { + return function (xs) { + var comp$prime = function (x) { + return function (y) { + var v = comp(x)(y); + if (v instanceof Data_Ordering.GT) { + return 1; + }; + if (v instanceof Data_Ordering.EQ) { + return 0; + }; + if (v instanceof Data_Ordering.LT) { + return -1 | 0; + }; + throw new Error("Failed pattern match at Data.Array line 462, column 15 - line 467, column 1: " + [ v.constructor.name ]); + }; + }; + return $foreign.sortImpl(comp$prime)(xs); + }; + }; + var $$null = function (xs) { + return $foreign.length(xs) === 0; + }; + var nubBy = function (eq) { + return function (xs) { + var v = uncons(xs); + if (v instanceof Data_Maybe.Just) { + return $foreign.cons(v.value0.head)(nubBy(eq)($foreign.filter(function (y) { + return !eq(v.value0.head)(y); + })(v.value0.tail))); + }; + if (v instanceof Data_Maybe.Nothing) { + return [ ]; + }; + throw new Error("Failed pattern match at Data.Array line 570, column 3 - line 572, column 18: " + [ v.constructor.name ]); + }; + }; + var nub = function (dictEq) { + return nubBy(Data_Eq.eq(dictEq)); + }; + var index = $foreign.indexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); + var last = function (xs) { + return index(xs)($foreign.length(xs) - 1 | 0); + }; + var head = function (xs) { + return index(xs)(0); + }; + var foldM = function (dictMonad) { + return function (f) { + return function (a) { + return $foreign["uncons'"](function (v) { + return Control_Applicative.pure(dictMonad.Applicative0())(a); + })(function (b) { + return function (bs) { + return Control_Bind.bind(dictMonad.Bind1())(f(a)(b))(function (a$prime) { + return foldM(dictMonad)(f)(a$prime)(bs); + }); + }; + }); + }; + }; + }; + var findIndex = $foreign.findIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); + var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray)); + exports["concatMap"] = concatMap; + exports["findIndex"] = findIndex; + exports["foldM"] = foldM; + exports["head"] = head; + exports["index"] = index; + exports["last"] = last; + exports["nub"] = nub; + exports["nubBy"] = nubBy; + exports["null"] = $$null; + exports["sortBy"] = sortBy; + exports["tail"] = tail; + exports["toUnfoldable"] = toUnfoldable; + exports["uncons"] = uncons; + exports["unsafeIndex"] = unsafeIndex; + exports["unzip"] = unzip; + exports["updateAt"] = updateAt; + exports["zip"] = zip; + exports["concat"] = $foreign.concat; + exports["cons"] = $foreign.cons; + exports["filter"] = $foreign.filter; + exports["length"] = $foreign.length; + exports["range"] = $foreign.range; + exports["replicate"] = $foreign.replicate; + exports["take"] = $foreign.take; + exports["zipWith"] = $foreign.zipWith; +})(PS["Data.Array"] = PS["Data.Array"] || {}); (function(exports) { - /* global exports */ - "use strict"; - - // module Data.StrMap.ST + "use strict"; exports["new"] = function () { return {}; @@ -3752,7 +3461,7 @@ var PS = {}; }; })(PS["Data.StrMap.ST"] = PS["Data.StrMap.ST"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.StrMap.ST"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; @@ -3762,825 +3471,1106 @@ var PS = {}; exports["poke"] = $foreign.poke; })(PS["Data.StrMap.ST"] = PS["Data.StrMap.ST"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.StrMap"]; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Category = PS["Control.Category"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_ST = PS["Control.Monad.ST"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Array = PS["Data.Array"]; + var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; + var Data_Function = PS["Data.Function"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_List = PS["Data.List"]; + var Data_Functor = PS["Data.Functor"]; + var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Show = PS["Data.Show"]; var Data_StrMap_ST = PS["Data.StrMap.ST"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Function = PS["Data.Function"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Category = PS["Control.Category"]; - var Data_Eq = PS["Data.Eq"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Show = PS["Data.Show"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_List_Types = PS["Data.List.Types"]; - var Control_Bind = PS["Control.Bind"]; - var values = function ($39) { - return Data_List.fromFoldable(Data_Foldable.foldableArray)($foreign._collect(function (v) { - return function (v1) { - return v1; + var Prelude = PS["Prelude"]; + var values = $foreign._collect(function (v) { + return function (v1) { + return v1; + }; + }); + var toUnfoldable = function (dictUnfoldable) { + return function ($40) { + return Data_Array.toUnfoldable(dictUnfoldable)($foreign._collect(Data_Tuple.Tuple.create)($40)); + }; + }; + var toArray = $foreign._collect(Data_Tuple.Tuple.create); + var thawST = $foreign._copyEff; + var showStrMap = function (dictShow) { + return new Data_Show.Show(function (m) { + return "(fromFoldable " + (Data_Show.show(Data_Show.showArray(Data_Tuple.showTuple(Data_Show.showString)(dictShow)))(toArray(m)) + ")"); + }); + }; + var pureST = function (f) { + return Control_Monad_Eff.runPure($foreign.runST(f)); + }; + var singleton = function (k) { + return function (v) { + return pureST(function __do() { + var v1 = Data_StrMap_ST["new"](); + var v2 = Data_StrMap_ST.poke(v1)(k)(v)(); + return v1; + }); + }; + }; + var mutate = function (f) { + return function (m) { + return pureST(function __do() { + var v = thawST(m)(); + var v1 = f(v)(); + return v; + }); + }; + }; + var member = Data_Function_Uncurried.runFn4($foreign._lookup)(false)(Data_Function["const"](true)); + var mapWithKey = function (f) { + return function (m) { + return $foreign._mapWithKey(m, f); + }; + }; + var lookup = Data_Function_Uncurried.runFn4($foreign._lookup)(Data_Maybe.Nothing.value)(Data_Maybe.Just.create); + var isSubmap = function (dictEq) { + return function (m1) { + return function (m2) { + var f = function (k) { + return function (v) { + return $foreign._lookup(false, Data_Eq.eq(dictEq)(v), k, m2); + }; + }; + return $foreign.all(f)(m1); + }; + }; + }; + var functorStrMap = new Data_Functor.Functor(function (f) { + return function (m) { + return $foreign._fmapStrMap(m, f); + }; + }); + var fromFoldable = function (dictFoldable) { + return function (l) { + return pureST(function __do() { + var v = Data_StrMap_ST["new"](); + Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(dictFoldable)(l)(function (v1) { + return Data_StrMap_ST.poke(v)(v1.value0)(v1.value1); + })(); + return v; + }); + }; + }; + var foldM = function (dictMonad) { + return function (f) { + return function (z) { + return $foreign._foldM(Control_Bind.bind(dictMonad.Bind1()))(f)(Control_Applicative.pure(dictMonad.Applicative0())(z)); + }; + }; + }; + var union = function (m) { + return mutate(function (s) { + return Data_Functor["void"](Control_Monad_Eff.functorEff)(foldM(Control_Monad_Eff.monadEff)(Data_StrMap_ST.poke)(s)(m)); + }); + }; + var fold = $foreign._foldM(Data_Function.applyFlipped); + var foldMap = function (dictMonoid) { + return function (f) { + return fold(function (acc) { + return function (k) { + return function (v) { + return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f(k)(v)); + }; + }; + })(Data_Monoid.mempty(dictMonoid)); + }; + }; + var foldableStrMap = new Data_Foldable.Foldable(function (dictMonoid) { + return function (f) { + return foldMap(dictMonoid)(Data_Function["const"](f)); + }; + }, function (f) { + return fold(function (z) { + return function (v) { + return f(z); + }; + }); + }, function (f) { + return function (z) { + return function (m) { + return Data_Foldable.foldr(Data_Foldable.foldableArray)(f)(z)(values(m)); + }; + }; + }); + var traversableStrMap = new Data_Traversable.Traversable(function () { + return foldableStrMap; + }, function () { + return functorStrMap; + }, function (dictApplicative) { + return Data_Traversable.traverse(traversableStrMap)(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); + }, function (dictApplicative) { + return function (f) { + return function (ms) { + return Data_Foldable.foldr(Data_Foldable.foldableArray)(function (x) { + return function (acc) { + return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(union)(x))(acc); + }; + })(Control_Applicative.pure(dictApplicative)($foreign.empty))(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Tuple.uncurry(singleton)))(Data_Functor.map(Data_Functor.functorArray)(Data_Traversable.traverse(Data_Tuple.traversableTuple)(dictApplicative)(f))(toArray(ms)))); + }; + }; + }); + var eqStrMap = function (dictEq) { + return new Data_Eq.Eq(function (m1) { + return function (m2) { + return isSubmap(dictEq)(m1)(m2) && isSubmap(dictEq)(m2)(m1); + }; + }); + }; + exports["fold"] = fold; + exports["foldM"] = foldM; + exports["foldMap"] = foldMap; + exports["fromFoldable"] = fromFoldable; + exports["isSubmap"] = isSubmap; + exports["lookup"] = lookup; + exports["mapWithKey"] = mapWithKey; + exports["member"] = member; + exports["pureST"] = pureST; + exports["singleton"] = singleton; + exports["thawST"] = thawST; + exports["toUnfoldable"] = toUnfoldable; + exports["union"] = union; + exports["values"] = values; + exports["functorStrMap"] = functorStrMap; + exports["foldableStrMap"] = foldableStrMap; + exports["traversableStrMap"] = traversableStrMap; + exports["eqStrMap"] = eqStrMap; + exports["showStrMap"] = showStrMap; + exports["keys"] = $foreign.keys; + exports["size"] = $foreign.size; +})(PS["Data.StrMap"] = PS["Data.StrMap"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var $foreign = PS["Data.Argonaut.Core"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Function = PS["Data.Function"]; + var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Ordering = PS["Data.Ordering"]; + var Data_Show = PS["Data.Show"]; + var Data_StrMap = PS["Data.StrMap"]; + var Data_Tuple = PS["Data.Tuple"]; + var Prelude = PS["Prelude"]; + var Unsafe_Coerce = PS["Unsafe.Coerce"]; + var verbJsonType = function (def) { + return function (f) { + return function (fold) { + return fold(def)(f); + }; + }; + }; + var toJsonType = verbJsonType(Data_Maybe.Nothing.value)(Data_Maybe.Just.create); + var isJsonType = verbJsonType(false)(Data_Function["const"](true)); + var foldJsonString = function (d) { + return function (f) { + return function (j) { + return $foreign._foldJson(Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), f, Data_Function["const"](d), Data_Function["const"](d), j); + }; + }; + }; + var foldJsonObject = function (d) { + return function (f) { + return function (j) { + return $foreign._foldJson(Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), f, j); + }; + }; + }; + var toObject = toJsonType(foldJsonObject); + var foldJsonNumber = function (d) { + return function (f) { + return function (j) { + return $foreign._foldJson(Data_Function["const"](d), Data_Function["const"](d), f, Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), j); + }; + }; + }; + var foldJsonNull = function (d) { + return function (f) { + return function (j) { + return $foreign._foldJson(f, Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), j); + }; + }; + }; + var isNull = isJsonType(foldJsonNull); + var foldJsonBoolean = function (d) { + return function (f) { + return function (j) { + return $foreign._foldJson(Data_Function["const"](d), f, Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), j); + }; + }; + }; + var foldJsonArray = function (d) { + return function (f) { + return function (j) { + return $foreign._foldJson(Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), f, Data_Function["const"](d), j); + }; + }; + }; + var toArray = toJsonType(foldJsonArray); + exports["foldJsonArray"] = foldJsonArray; + exports["foldJsonBoolean"] = foldJsonBoolean; + exports["foldJsonNull"] = foldJsonNull; + exports["foldJsonNumber"] = foldJsonNumber; + exports["foldJsonObject"] = foldJsonObject; + exports["foldJsonString"] = foldJsonString; + exports["isNull"] = isNull; + exports["toArray"] = toArray; + exports["toObject"] = toObject; +})(PS["Data.Argonaut.Core"] = PS["Data.Argonaut.Core"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Category = PS["Control.Category"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Foldable = PS["Data.Foldable"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_List = PS["Data.List"]; + var Data_List_Types = PS["Data.List.Types"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Monoid = PS["Data.Monoid"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Ordering = PS["Data.Ordering"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Show = PS["Data.Show"]; + var Data_Traversable = PS["Data.Traversable"]; + var Data_Tuple = PS["Data.Tuple"]; + var Data_Unfoldable = PS["Data.Unfoldable"]; + var Partial_Unsafe = PS["Partial.Unsafe"]; + var Prelude = PS["Prelude"]; + var Leaf = (function () { + function Leaf() { + + }; + Leaf.value = new Leaf(); + return Leaf; + })(); + var Two = (function () { + function Two(value0, value1, value2, value3) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + this.value3 = value3; + }; + Two.create = function (value0) { + return function (value1) { + return function (value2) { + return function (value3) { + return new Two(value0, value1, value2, value3); + }; + }; }; - })($39)); - }; - var toList = function ($40) { - return Data_List.fromFoldable(Data_Foldable.foldableArray)($foreign._collect(Data_Tuple.Tuple.create)($40)); - }; - var toUnfoldable = function (dictUnfoldable) { - return function ($41) { - return Data_List.toUnfoldable(dictUnfoldable)(toList($41)); }; - }; - var thawST = $foreign._copyEff; - var showStrMap = function (dictShow) { - return new Data_Show.Show(function (m) { - return "fromList " + Data_Show.show(Data_List_Types.showList(Data_Tuple.showTuple(Data_Show.showString)(dictShow)))(toList(m)); - }); - }; - var pureST = function (f) { - return Control_Monad_Eff.runPure($foreign.runST(f)); - }; - var singleton = function (k) { - return function (v) { - return pureST(function __do() { - var v1 = Data_StrMap_ST["new"](); - Data_StrMap_ST.poke(v1)(k)(v)(); - return v1; - }); + return Two; + })(); + var Three = (function () { + function Three(value0, value1, value2, value3, value4, value5, value6) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + this.value3 = value3; + this.value4 = value4; + this.value5 = value5; + this.value6 = value6; }; - }; - var mutate = function (f) { - return function (m) { - return pureST(function __do() { - var v = thawST(m)(); - f(v)(); - return v; - }); + Three.create = function (value0) { + return function (value1) { + return function (value2) { + return function (value3) { + return function (value4) { + return function (value5) { + return function (value6) { + return new Three(value0, value1, value2, value3, value4, value5, value6); + }; + }; + }; + }; + }; + }; }; - }; - var member = Data_Function_Uncurried.runFn4($foreign._lookup)(false)(Data_Function["const"](true)); - var lookup = Data_Function_Uncurried.runFn4($foreign._lookup)(Data_Maybe.Nothing.value)(Data_Maybe.Just.create); - var isSubmap = function (dictEq) { - return function (m1) { - return function (m2) { - var f = function (k) { - return function (v) { - return $foreign._lookup(false, Data_Eq.eq(dictEq)(v), k, m2); + return Three; + })(); + var TwoLeft = (function () { + function TwoLeft(value0, value1, value2) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + }; + TwoLeft.create = function (value0) { + return function (value1) { + return function (value2) { + return new TwoLeft(value0, value1, value2); + }; + }; + }; + return TwoLeft; + })(); + var TwoRight = (function () { + function TwoRight(value0, value1, value2) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + }; + TwoRight.create = function (value0) { + return function (value1) { + return function (value2) { + return new TwoRight(value0, value1, value2); + }; + }; + }; + return TwoRight; + })(); + var ThreeLeft = (function () { + function ThreeLeft(value0, value1, value2, value3, value4, value5) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + this.value3 = value3; + this.value4 = value4; + this.value5 = value5; + }; + ThreeLeft.create = function (value0) { + return function (value1) { + return function (value2) { + return function (value3) { + return function (value4) { + return function (value5) { + return new ThreeLeft(value0, value1, value2, value3, value4, value5); + }; + }; }; }; - return $foreign.all(f)(m1); }; }; - }; - var functorStrMap = new Data_Functor.Functor(function (f) { - return function (m) { - return $foreign._fmapStrMap(m, f); + return ThreeLeft; + })(); + var ThreeMiddle = (function () { + function ThreeMiddle(value0, value1, value2, value3, value4, value5) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + this.value3 = value3; + this.value4 = value4; + this.value5 = value5; }; - }); - var fromFoldable = function (dictFoldable) { - return function (l) { - return pureST(function __do() { - var v = Data_StrMap_ST["new"](); - Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(dictFoldable)(l)(function (v1) { - return Data_StrMap_ST.poke(v)(v1.value0)(v1.value1); - })(); - return v; - }); + ThreeMiddle.create = function (value0) { + return function (value1) { + return function (value2) { + return function (value3) { + return function (value4) { + return function (value5) { + return new ThreeMiddle(value0, value1, value2, value3, value4, value5); + }; + }; + }; + }; + }; }; - }; - var foldM = function (dictMonad) { - return function (f) { - return function (z) { - return $foreign._foldM(Control_Bind.bind(dictMonad["__superclass_Control.Bind.Bind_1"]()))(f)(Control_Applicative.pure(dictMonad["__superclass_Control.Applicative.Applicative_0"]())(z)); + return ThreeMiddle; + })(); + var ThreeRight = (function () { + function ThreeRight(value0, value1, value2, value3, value4, value5) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + this.value3 = value3; + this.value4 = value4; + this.value5 = value5; + }; + ThreeRight.create = function (value0) { + return function (value1) { + return function (value2) { + return function (value3) { + return function (value4) { + return function (value5) { + return new ThreeRight(value0, value1, value2, value3, value4, value5); + }; + }; + }; + }; + }; + }; + return ThreeRight; + })(); + var KickUp = (function () { + function KickUp(value0, value1, value2, value3) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + this.value3 = value3; + }; + KickUp.create = function (value0) { + return function (value1) { + return function (value2) { + return function (value3) { + return new KickUp(value0, value1, value2, value3); + }; + }; + }; + }; + return KickUp; + })(); + var values = function (v) { + if (v instanceof Leaf) { + return Data_List_Types.Nil.value; + }; + if (v instanceof Two) { + return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3))); + }; + if (v instanceof Three) { + return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6))))); + }; + throw new Error("Failed pattern match at Data.Map line 425, column 1 - line 425, column 18: " + [ v.constructor.name ]); + }; + var fromZipper = function (__copy_dictOrd) { + return function (__copy_v) { + return function (__copy_tree) { + var __tco_dictOrd = __copy_dictOrd; + var __tco_v = __copy_v; + var __tco_done = false; + var __tco_result; + function __tco_loop(dictOrd, v, tree) { + if (v instanceof Data_List_Types.Nil) { + __tco_done = true; + return tree; + }; + if (v instanceof Data_List_Types.Cons) { + if (v.value0 instanceof TwoLeft) { + __tco_dictOrd = dictOrd; + __tco_v = v.value1; + __copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2); + return; + }; + if (v.value0 instanceof TwoRight) { + __tco_dictOrd = dictOrd; + __tco_v = v.value1; + __copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree); + return; + }; + if (v.value0 instanceof ThreeLeft) { + __tco_dictOrd = dictOrd; + __tco_v = v.value1; + __copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5); + return; + }; + if (v.value0 instanceof ThreeMiddle) { + __tco_dictOrd = dictOrd; + __tco_v = v.value1; + __copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5); + return; + }; + if (v.value0 instanceof ThreeRight) { + __tco_dictOrd = dictOrd; + __tco_v = v.value1; + __copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree); + return; + }; + throw new Error("Failed pattern match at Data.Map line 247, column 3 - line 252, column 88: " + [ v.value0.constructor.name ]); + }; + throw new Error("Failed pattern match at Data.Map line 245, column 1 - line 245, column 27: " + [ v.constructor.name, tree.constructor.name ]); + }; + while (!__tco_done) { + __tco_result = __tco_loop(__tco_dictOrd, __tco_v, __copy_tree); + }; + return __tco_result; }; }; }; - var union = function (m) { - return mutate(function (s) { - return foldM(Control_Monad_Eff.monadEff)(Data_StrMap_ST.poke)(s)(m); - }); - }; - var fold = $foreign._foldM(Data_Function.applyFlipped); - var foldMap = function (dictMonoid) { - return function (f) { - return fold(function (acc) { - return function (k) { - return function (v) { - return Data_Semigroup.append(dictMonoid["__superclass_Data.Semigroup.Semigroup_0"]())(acc)(f(k)(v)); + var insert = function (dictOrd) { + var up = function (__copy_v) { + return function (__copy_v1) { + var __tco_v = __copy_v; + var __tco_done = false; + var __tco_result; + function __tco_loop(v, v1) { + if (v instanceof Data_List_Types.Nil) { + __tco_done = true; + return new Two(v1.value0, v1.value1, v1.value2, v1.value3); + }; + if (v instanceof Data_List_Types.Cons) { + if (v.value0 instanceof TwoLeft) { + __tco_done = true; + return fromZipper(dictOrd)(v.value1)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, v.value0.value0, v.value0.value1, v.value0.value2)); + }; + if (v.value0 instanceof TwoRight) { + __tco_done = true; + return fromZipper(dictOrd)(v.value1)(new Three(v.value0.value0, v.value0.value1, v.value0.value2, v1.value0, v1.value1, v1.value2, v1.value3)); + }; + if (v.value0 instanceof ThreeLeft) { + __tco_v = v.value1; + __copy_v1 = new KickUp(new Two(v1.value0, v1.value1, v1.value2, v1.value3), v.value0.value0, v.value0.value1, new Two(v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5)); + return; + }; + if (v.value0 instanceof ThreeMiddle) { + __tco_v = v.value1; + __copy_v1 = new KickUp(new Two(v.value0.value0, v.value0.value1, v.value0.value2, v1.value0), v1.value1, v1.value2, new Two(v1.value3, v.value0.value3, v.value0.value4, v.value0.value5)); + return; + }; + if (v.value0 instanceof ThreeRight) { + __tco_v = v.value1; + __copy_v1 = new KickUp(new Two(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3), v.value0.value4, v.value0.value5, new Two(v1.value0, v1.value1, v1.value2, v1.value3)); + return; + }; + throw new Error("Failed pattern match at Data.Map line 283, column 5 - line 288, column 104: " + [ v.value0.constructor.name, v1.constructor.name ]); }; + throw new Error("Failed pattern match at Data.Map line 281, column 3 - line 281, column 54: " + [ v.constructor.name, v1.constructor.name ]); }; - })(Data_Monoid.mempty(dictMonoid)); - }; - }; - var foldableStrMap = new Data_Foldable.Foldable(function (dictMonoid) { - return function (f) { - return foldMap(dictMonoid)(Data_Function["const"](f)); - }; - }, function (f) { - return fold(function (z) { - return function (v) { - return f(z); - }; - }); - }, function (f) { - return function (z) { - return function (m) { - return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m)); + while (!__tco_done) { + __tco_result = __tco_loop(__tco_v, __copy_v1); + }; + return __tco_result; }; }; - }); - var traversableStrMap = new Data_Traversable.Traversable(function () { - return foldableStrMap; - }, function () { - return functorStrMap; - }, function (dictApplicative) { - return Data_Traversable.traverse(traversableStrMap)(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); - }, function (dictApplicative) { - return function (f) { - return function (ms) { - return Data_Foldable.foldr(Data_List_Types.foldableList)(function (x) { - return function (acc) { - return Control_Apply.apply(dictApplicative["__superclass_Control.Apply.Apply_0"]())(Data_Functor.map((dictApplicative["__superclass_Control.Apply.Apply_0"]())["__superclass_Data.Functor.Functor_0"]())(union)(x))(acc); + var comp = Data_Ord.compare(dictOrd); + var down = function (__copy_ctx) { + return function (__copy_k) { + return function (__copy_v) { + return function (__copy_v1) { + var __tco_ctx = __copy_ctx; + var __tco_k = __copy_k; + var __tco_v = __copy_v; + var __tco_done = false; + var __tco_result; + function __tco_loop(ctx, k, v, v1) { + if (v1 instanceof Leaf) { + __tco_done = true; + return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value)); + }; + if (v1 instanceof Two) { + var v3 = comp(k)(v1.value1); + if (v3 instanceof Data_Ordering.EQ) { + __tco_done = true; + return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3)); + }; + if (v3 instanceof Data_Ordering.LT) { + __tco_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx); + __tco_k = k; + __tco_v = v; + __copy_v1 = v1.value0; + return; + }; + __tco_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx); + __tco_k = k; + __tco_v = v; + __copy_v1 = v1.value3; + return; + }; + if (v1 instanceof Three) { + var v3 = comp(k)(v1.value1); + if (v3 instanceof Data_Ordering.EQ) { + __tco_done = true; + return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6)); + }; + var v4 = comp(k)(v1.value4); + if (v4 instanceof Data_Ordering.EQ) { + __tco_done = true; + return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6)); + }; + if (v3 instanceof Data_Ordering.LT) { + __tco_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx); + __tco_k = k; + __tco_v = v; + __copy_v1 = v1.value0; + return; + }; + if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) { + __tco_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx); + __tco_k = k; + __tco_v = v; + __copy_v1 = v1.value3; + return; + }; + __tco_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx); + __tco_k = k; + __tco_v = v; + __copy_v1 = v1.value6; + return; + }; + throw new Error("Failed pattern match at Data.Map line 264, column 3 - line 264, column 52: " + [ ctx.constructor.name, k.constructor.name, v.constructor.name, v1.constructor.name ]); + }; + while (!__tco_done) { + __tco_result = __tco_loop(__tco_ctx, __tco_k, __tco_v, __copy_v1); + }; + return __tco_result; }; - })(Control_Applicative.pure(dictApplicative)($foreign.empty))(Data_Functor.map(Data_List_Types.functorList)(Data_Functor.map((dictApplicative["__superclass_Control.Apply.Apply_0"]())["__superclass_Data.Functor.Functor_0"]())(Data_Tuple.uncurry(singleton)))(Data_Functor.map(Data_List_Types.functorList)(Data_Traversable.traverse(Data_Tuple.traversableTuple)(dictApplicative)(f))(toList(ms)))); + }; }; }; - }); - var eqStrMap = function (dictEq) { - return new Data_Eq.Eq(function (m1) { - return function (m2) { - return isSubmap(dictEq)(m1)(m2) && isSubmap(dictEq)(m2)(m1); - }; - }); + return down(Data_List_Types.Nil.value); }; - exports["fold"] = fold; - exports["foldM"] = foldM; - exports["foldMap"] = foldMap; - exports["fromFoldable"] = fromFoldable; - exports["isSubmap"] = isSubmap; - exports["lookup"] = lookup; - exports["member"] = member; - exports["pureST"] = pureST; - exports["singleton"] = singleton; - exports["thawST"] = thawST; - exports["toList"] = toList; - exports["toUnfoldable"] = toUnfoldable; - exports["union"] = union; + var empty = Leaf.value; + exports["empty"] = empty; + exports["insert"] = insert; exports["values"] = values; - exports["functorStrMap"] = functorStrMap; - exports["foldableStrMap"] = foldableStrMap; - exports["traversableStrMap"] = traversableStrMap; - exports["eqStrMap"] = eqStrMap; - exports["showStrMap"] = showStrMap; - exports["keys"] = $foreign.keys; - exports["size"] = $foreign.size; -})(PS["Data.StrMap"] = PS["Data.StrMap"] || {}); +})(PS["Data.Map"] = PS["Data.Map"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var $foreign = PS["Data.Argonaut.Core"]; - var Prelude = PS["Prelude"]; - var Data_Tuple = PS["Data.Tuple"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; + var Data_Bifunctor = PS["Data.Bifunctor"]; + var Data_Boolean = PS["Data.Boolean"]; + var Data_Either = PS["Data.Either"]; + var Data_Foldable = PS["Data.Foldable"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_Int = PS["Data.Int"]; + var Data_List = PS["Data.List"]; + var Data_List_Types = PS["Data.List.Types"]; + var Data_Map = PS["Data.Map"]; var Data_Maybe = PS["Data.Maybe"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_StrMap = PS["Data.StrMap"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ordering = PS["Data.Ordering"]; + var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; - var Data_Function = PS["Data.Function"]; - var verbJsonType = function (def) { - return function (f) { - return function (fold) { - return fold(def)(f); - }; - }; - }; - var toJsonType = verbJsonType(Data_Maybe.Nothing.value)(Data_Maybe.Just.create); - var isJsonType = verbJsonType(false)(Data_Function["const"](true)); - var foldJsonString = function (d) { - return function (f) { - return function (j) { - return $foreign._foldJson(Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), f, Data_Function["const"](d), Data_Function["const"](d), j); - }; - }; - }; - var foldJsonObject = function (d) { - return function (f) { - return function (j) { - return $foreign._foldJson(Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), f, j); - }; - }; - }; - var toObject = toJsonType(foldJsonObject); - var foldJsonNumber = function (d) { - return function (f) { - return function (j) { - return $foreign._foldJson(Data_Function["const"](d), Data_Function["const"](d), f, Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), j); + var Data_StrMap = PS["Data.StrMap"]; + var Data_String = PS["Data.String"]; + var Data_Traversable = PS["Data.Traversable"]; + var Data_Tuple = PS["Data.Tuple"]; + var Data_Unit = PS["Data.Unit"]; + var Prelude = PS["Prelude"]; + var DecodeJson = function (decodeJson) { + this.decodeJson = decodeJson; + }; + var decodeJsonString = new DecodeJson(Data_Argonaut_Core.foldJsonString(new Data_Either.Left("Value is not a String"))(Data_Either.Right.create)); + var decodeJsonNumber = new DecodeJson(Data_Argonaut_Core.foldJsonNumber(new Data_Either.Left("Value is not a Number"))(Data_Either.Right.create)); + var decodeJsonJson = new DecodeJson(Data_Either.Right.create); + var decodeJsonBoolean = new DecodeJson(Data_Argonaut_Core.foldJsonBoolean(new Data_Either.Left("Value is not a Boolean"))(Data_Either.Right.create)); + var decodeJson = function (dict) { + return dict.decodeJson; + }; + var decodeJsonInt = new DecodeJson(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(function ($32) { + return Data_Maybe.maybe(new Data_Either.Left("Value is not an integer"))(Data_Either.Right.create)(Data_Int.fromNumber($32)); + })(decodeJson(decodeJsonNumber))); + var decodeJsonMaybe = function (dictDecodeJson) { + return new DecodeJson(function (j) { + if (Data_Argonaut_Core.isNull(j)) { + return Control_Applicative.pure(Data_Either.applicativeEither)(Data_Maybe.Nothing.value); }; - }; - }; - var foldJsonNull = function (d) { - return function (f) { - return function (j) { - return $foreign._foldJson(f, Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), j); + if (Data_Boolean.otherwise) { + return Data_Functor.map(Data_Either.functorEither)(Data_Maybe.Just.create)(decodeJson(dictDecodeJson)(j)); }; - }; + throw new Error("Failed pattern match at Data.Argonaut.Decode.Class line 24, column 3 - line 26, column 40: " + [ j.constructor.name ]); + }); }; - var isNull = isJsonType(foldJsonNull); - var foldJsonBoolean = function (d) { - return function (f) { - return function (j) { - return $foreign._foldJson(Data_Function["const"](d), f, Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), j); - }; - }; - }; - var foldJsonArray = function (d) { - return function (f) { - return function (j) { - return $foreign._foldJson(Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), f, Data_Function["const"](d), j); + var decodeJObject = function ($33) { + return Data_Maybe.maybe(new Data_Either.Left("Value is not an Object"))(Data_Either.Right.create)(Data_Argonaut_Core.toObject($33)); + }; + var decodeStrMap = function (dictDecodeJson) { + return new DecodeJson(function ($34) { + return Data_Bifunctor.lmap(Data_Either.bifunctorEither)(function (v) { + return "Couldn't decode StrMap: " + v; + })(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(Data_Traversable.traverse(Data_StrMap.traversableStrMap)(Data_Either.applicativeEither)(decodeJson(dictDecodeJson)))(decodeJObject)($34)); + }); + }; + var decodeJArray = function ($35) { + return Data_Maybe.maybe(new Data_Either.Left("Value is not an Array"))(Data_Either.Right.create)(Data_Argonaut_Core.toArray($35)); + }; + var decodeList = function (dictDecodeJson) { + return new DecodeJson(function ($36) { + return Data_Bifunctor.lmap(Data_Either.bifunctorEither)(function (v) { + return "Couldn't decode List: " + v; + })(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(Data_Traversable.traverse(Data_List_Types.traversableList)(Data_Either.applicativeEither)(decodeJson(dictDecodeJson)))(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Either.functorEither)(Data_List.fromFoldable(Data_Foldable.foldableArray)))(decodeJArray))($36)); + }); + }; + var decodeArray = function (dictDecodeJson) { + return new DecodeJson(function ($38) { + return Data_Bifunctor.lmap(Data_Either.bifunctorEither)(function (v) { + return "Couldn't decode Array: " + v; + })(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Either.applicativeEither)(decodeJson(dictDecodeJson)))(decodeJArray)($38)); + }); + }; + exports["DecodeJson"] = DecodeJson; + exports["decodeJson"] = decodeJson; + exports["decodeJsonMaybe"] = decodeJsonMaybe; + exports["decodeJsonBoolean"] = decodeJsonBoolean; + exports["decodeJsonNumber"] = decodeJsonNumber; + exports["decodeJsonInt"] = decodeJsonInt; + exports["decodeJsonString"] = decodeJsonString; + exports["decodeJsonJson"] = decodeJsonJson; + exports["decodeStrMap"] = decodeStrMap; + exports["decodeArray"] = decodeArray; + exports["decodeList"] = decodeList; +})(PS["Data.Argonaut.Decode.Class"] = PS["Data.Argonaut.Decode.Class"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var Control_Applicative = PS["Control.Applicative"]; + var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; + var Data_Argonaut_Decode_Class = PS["Data.Argonaut.Decode.Class"]; + var Data_Either = PS["Data.Either"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Show = PS["Data.Show"]; + var Data_StrMap = PS["Data.StrMap"]; + var Prelude = PS["Prelude"]; + var getField = function (dictDecodeJson) { + return function (o) { + return function (s) { + return Data_Maybe.maybe(Data_Either.Left.create("Expected field " + Data_Show.show(Data_Show.showString)(s)))(Data_Argonaut_Decode_Class.decodeJson(dictDecodeJson))(Data_StrMap.lookup(s)(o)); }; }; - }; - var toArray = toJsonType(foldJsonArray); - exports["foldJsonArray"] = foldJsonArray; - exports["foldJsonBoolean"] = foldJsonBoolean; - exports["foldJsonNull"] = foldJsonNull; - exports["foldJsonNumber"] = foldJsonNumber; - exports["foldJsonObject"] = foldJsonObject; - exports["foldJsonString"] = foldJsonString; - exports["isNull"] = isNull; - exports["toArray"] = toArray; - exports["toObject"] = toObject; -})(PS["Data.Argonaut.Core"] = PS["Data.Argonaut.Core"] || {}); + }; + exports["getField"] = getField; +})(PS["Data.Argonaut.Decode.Combinators"] = PS["Data.Argonaut.Decode.Combinators"] || {}); +(function(exports) { + "use strict"; + + exports._jsonParser = function (fail, succ, s) { + try { + return succ(JSON.parse(s)); + } + catch (e) { + return fail(e.message); + } + }; +})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; + var $foreign = PS["Data.Argonaut.Parser"]; + var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; + var Data_Either = PS["Data.Either"]; + var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; + var jsonParser = function (j) { + return $foreign._jsonParser(Data_Either.Left.create, Data_Either.Right.create, j); + }; + exports["jsonParser"] = jsonParser; +})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {}); +(function(exports) { + "use strict"; + + // module Data.Generic + + exports.zipAll = function (f) { + return function (xs) { + return function (ys) { + var l = xs.length < ys.length ? xs.length : ys.length; + for (var i = 0; i < l; i++) { + if (!f(xs[i])(ys[i])) { + return false; + } + } + return true; + }; + }; + }; +})(PS["Data.Generic"] = PS["Data.Generic"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var $foreign = PS["Data.Generic"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Array = PS["Data.Array"]; + var Data_Boolean = PS["Data.Boolean"]; + var Data_Either = PS["Data.Either"]; + var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; - var Data_List = PS["Data.List"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; + var Data_Identity = PS["Data.Identity"]; + var Data_List_Types = PS["Data.List.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Data_Eq = PS["Data.Eq"]; + var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Ord = PS["Data.Ord"]; - var Data_Show = PS["Data.Show"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Applicative = PS["Control.Applicative"]; - var Control_Category = PS["Control.Category"]; - var Data_List_Types = PS["Data.List.Types"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Ordering = PS["Data.Ordering"]; - var Data_Function = PS["Data.Function"]; - var Data_Semiring = PS["Data.Semiring"]; - var Leaf = (function () { - function Leaf() { - - }; - Leaf.value = new Leaf(); - return Leaf; - })(); - var Two = (function () { - function Two(value0, value1, value2, value3) { + var Data_Ring = PS["Data.Ring"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Show = PS["Data.Show"]; + var Data_String = PS["Data.String"]; + var Data_Traversable = PS["Data.Traversable"]; + var Data_Tuple = PS["Data.Tuple"]; + var Data_Unit = PS["Data.Unit"]; + var Data_Void = PS["Data.Void"]; + var Prelude = PS["Prelude"]; + var Type_Proxy = PS["Type.Proxy"]; + var SProd = (function () { + function SProd(value0, value1) { this.value0 = value0; this.value1 = value1; - this.value2 = value2; - this.value3 = value3; }; - Two.create = function (value0) { + SProd.create = function (value0) { return function (value1) { - return function (value2) { - return function (value3) { - return new Two(value0, value1, value2, value3); - }; - }; + return new SProd(value0, value1); }; }; - return Two; + return SProd; })(); - var Three = (function () { - function Three(value0, value1, value2, value3, value4, value5, value6) { + var SRecord = (function () { + function SRecord(value0) { this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - this.value4 = value4; - this.value5 = value5; - this.value6 = value6; }; - Three.create = function (value0) { - return function (value1) { - return function (value2) { - return function (value3) { - return function (value4) { - return function (value5) { - return function (value6) { - return new Three(value0, value1, value2, value3, value4, value5, value6); - }; - }; - }; - }; - }; - }; + SRecord.create = function (value0) { + return new SRecord(value0); }; - return Three; + return SRecord; })(); - var TwoLeft = (function () { - function TwoLeft(value0, value1, value2) { + var SNumber = (function () { + function SNumber(value0) { this.value0 = value0; - this.value1 = value1; - this.value2 = value2; }; - TwoLeft.create = function (value0) { - return function (value1) { - return function (value2) { - return new TwoLeft(value0, value1, value2); - }; - }; + SNumber.create = function (value0) { + return new SNumber(value0); }; - return TwoLeft; + return SNumber; })(); - var TwoRight = (function () { - function TwoRight(value0, value1, value2) { + var SBoolean = (function () { + function SBoolean(value0) { this.value0 = value0; - this.value1 = value1; - this.value2 = value2; }; - TwoRight.create = function (value0) { - return function (value1) { - return function (value2) { - return new TwoRight(value0, value1, value2); - }; - }; + SBoolean.create = function (value0) { + return new SBoolean(value0); }; - return TwoRight; + return SBoolean; })(); - var ThreeLeft = (function () { - function ThreeLeft(value0, value1, value2, value3, value4, value5) { + var SInt = (function () { + function SInt(value0) { this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - this.value4 = value4; - this.value5 = value5; }; - ThreeLeft.create = function (value0) { - return function (value1) { - return function (value2) { - return function (value3) { - return function (value4) { - return function (value5) { - return new ThreeLeft(value0, value1, value2, value3, value4, value5); - }; - }; - }; - }; - }; + SInt.create = function (value0) { + return new SInt(value0); }; - return ThreeLeft; + return SInt; })(); - var ThreeMiddle = (function () { - function ThreeMiddle(value0, value1, value2, value3, value4, value5) { + var SString = (function () { + function SString(value0) { this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - this.value4 = value4; - this.value5 = value5; }; - ThreeMiddle.create = function (value0) { - return function (value1) { - return function (value2) { - return function (value3) { - return function (value4) { - return function (value5) { - return new ThreeMiddle(value0, value1, value2, value3, value4, value5); - }; - }; - }; - }; - }; + SString.create = function (value0) { + return new SString(value0); }; - return ThreeMiddle; + return SString; + })(); + var SChar = (function () { + function SChar(value0) { + this.value0 = value0; + }; + SChar.create = function (value0) { + return new SChar(value0); + }; + return SChar; + })(); + var SArray = (function () { + function SArray(value0) { + this.value0 = value0; + }; + SArray.create = function (value0) { + return new SArray(value0); + }; + return SArray; + })(); + var SUnit = (function () { + function SUnit() { + + }; + SUnit.value = new SUnit(); + return SUnit; })(); - var ThreeRight = (function () { - function ThreeRight(value0, value1, value2, value3, value4, value5) { + var SigProd = (function () { + function SigProd(value0, value1) { this.value0 = value0; this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - this.value4 = value4; - this.value5 = value5; }; - ThreeRight.create = function (value0) { + SigProd.create = function (value0) { return function (value1) { - return function (value2) { - return function (value3) { - return function (value4) { - return function (value5) { - return new ThreeRight(value0, value1, value2, value3, value4, value5); + return new SigProd(value0, value1); + }; + }; + return SigProd; + })(); + var Generic = function (fromSpine, toSignature, toSpine) { + this.fromSpine = fromSpine; + this.toSignature = toSignature; + this.toSpine = toSpine; + }; + var toSpine = function (dict) { + return dict.toSpine; + }; + var toSignature = function (dict) { + return dict.toSignature; + }; + var fromSpine = function (dict) { + return dict.fromSpine; + }; + var force = function (f) { + return f(Data_Unit.unit); + }; + var genericShowPrec = function (v) { + return function (v1) { + if (v1 instanceof SProd) { + if (Data_Array["null"](v1.value1)) { + return v1.value0; + }; + if (Data_Boolean.otherwise) { + var showParen = function (v2) { + return function (x) { + if (!v2) { + return x; + }; + if (v2) { + return "(" + (x + ")"); }; + throw new Error("Failed pattern match at Data.Generic line 467, column 7 - line 467, column 28: " + [ v2.constructor.name, x.constructor.name ]); }; }; + return showParen(v > 10)(v1.value0 + (" " + Data_String.joinWith(" ")(Data_Functor.map(Data_Functor.functorArray)(function (x) { + return genericShowPrec(11)(force(x)); + })(v1.value1)))); }; }; - }; - return ThreeRight; - })(); - var KickUp = (function () { - function KickUp(value0, value1, value2, value3) { - this.value0 = value0; - this.value1 = value1; - this.value2 = value2; - this.value3 = value3; - }; - KickUp.create = function (value0) { - return function (value1) { - return function (value2) { - return function (value3) { - return new KickUp(value0, value1, value2, value3); - }; + if (v1 instanceof SRecord) { + var showLabelPart = function (x) { + return x.recLabel + (": " + genericShowPrec(0)(force(x.recValue))); }; + return "{" + (Data_String.joinWith(", ")(Data_Functor.map(Data_Functor.functorArray)(showLabelPart)(v1.value0)) + "}"); }; + if (v1 instanceof SBoolean) { + return Data_Show.show(Data_Show.showBoolean)(v1.value0); + }; + if (v1 instanceof SInt) { + return Data_Show.show(Data_Show.showInt)(v1.value0); + }; + if (v1 instanceof SNumber) { + return Data_Show.show(Data_Show.showNumber)(v1.value0); + }; + if (v1 instanceof SString) { + return Data_Show.show(Data_Show.showString)(v1.value0); + }; + if (v1 instanceof SChar) { + return Data_Show.show(Data_Show.showChar)(v1.value0); + }; + if (v1 instanceof SArray) { + return "[" + (Data_String.joinWith(", ")(Data_Functor.map(Data_Functor.functorArray)(function (x) { + return genericShowPrec(0)(force(x)); + })(v1.value0)) + "]"); + }; + if (v1 instanceof SUnit) { + return "unit"; + }; + throw new Error("Failed pattern match at Data.Generic line 461, column 1 - line 469, column 1: " + [ v.constructor.name, v1.constructor.name ]); }; - return KickUp; - })(); - var values = function (v) { - if (v instanceof Leaf) { - return Data_List_Types.Nil.value; - }; - if (v instanceof Two) { - return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3))); - }; - if (v instanceof Three) { - return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6))))); + }; + var gShow = function (dictGeneric) { + return function ($312) { + return genericShowPrec(0)(toSpine(dictGeneric)($312)); }; - throw new Error("Failed pattern match at Data.Map line 391, column 1 - line 391, column 18: " + [ v.constructor.name ]); - }; - var fromZipper = function (__copy_dictOrd) { - return function (__copy_v) { - return function (__copy_tree) { - var dictOrd = __copy_dictOrd; - var v = __copy_v; - var tree = __copy_tree; - tco: while (true) { - if (v instanceof Data_List_Types.Nil) { - return tree; - }; - if (v instanceof Data_List_Types.Cons) { - if (v.value0 instanceof TwoLeft) { - var __tco_dictOrd = dictOrd; - var __tco_v = v.value1; - var __tco_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2); - dictOrd = __tco_dictOrd; - v = __tco_v; - tree = __tco_tree; - continue tco; - }; - if (v.value0 instanceof TwoRight) { - var __tco_dictOrd = dictOrd; - var __tco_v = v.value1; - var __tco_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree); - dictOrd = __tco_dictOrd; - v = __tco_v; - tree = __tco_tree; - continue tco; - }; - if (v.value0 instanceof ThreeLeft) { - var __tco_dictOrd = dictOrd; - var __tco_v = v.value1; - var __tco_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5); - dictOrd = __tco_dictOrd; - v = __tco_v; - tree = __tco_tree; - continue tco; - }; - if (v.value0 instanceof ThreeMiddle) { - var __tco_dictOrd = dictOrd; - var __tco_v = v.value1; - var __tco_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5); - dictOrd = __tco_dictOrd; - v = __tco_v; - tree = __tco_tree; - continue tco; - }; - if (v.value0 instanceof ThreeRight) { - var __tco_dictOrd = dictOrd; - var __tco_v = v.value1; - var __tco_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree); - dictOrd = __tco_dictOrd; - v = __tco_v; - tree = __tco_tree; - continue tco; - }; - throw new Error("Failed pattern match at Data.Map line 224, column 3 - line 229, column 88: " + [ v.value0.constructor.name ]); - }; - throw new Error("Failed pattern match at Data.Map line 222, column 1 - line 222, column 27: " + [ v.constructor.name, tree.constructor.name ]); - }; + }; + var eqThunk = function (dictEq) { + return function (x) { + return function (y) { + return Data_Eq.eq(dictEq)(force(x))(force(y)); }; }; }; - var insert = function (dictOrd) { - var up = function (__copy_v) { - return function (__copy_v1) { - var v = __copy_v; - var v1 = __copy_v1; - tco: while (true) { - if (v instanceof Data_List_Types.Nil) { - return new Two(v1.value0, v1.value1, v1.value2, v1.value3); - }; - if (v instanceof Data_List_Types.Cons) { - if (v.value0 instanceof TwoLeft) { - return fromZipper(dictOrd)(v.value1)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, v.value0.value0, v.value0.value1, v.value0.value2)); - }; - if (v.value0 instanceof TwoRight) { - return fromZipper(dictOrd)(v.value1)(new Three(v.value0.value0, v.value0.value1, v.value0.value2, v1.value0, v1.value1, v1.value2, v1.value3)); - }; - if (v.value0 instanceof ThreeLeft) { - var __tco_v = v.value1; - var __tco_v1 = new KickUp(new Two(v1.value0, v1.value1, v1.value2, v1.value3), v.value0.value0, v.value0.value1, new Two(v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5)); - v = __tco_v; - v1 = __tco_v1; - continue tco; - }; - if (v.value0 instanceof ThreeMiddle) { - var __tco_v = v.value1; - var __tco_v1 = new KickUp(new Two(v.value0.value0, v.value0.value1, v.value0.value2, v1.value0), v1.value1, v1.value2, new Two(v1.value3, v.value0.value3, v.value0.value4, v.value0.value5)); - v = __tco_v; - v1 = __tco_v1; - continue tco; - }; - if (v.value0 instanceof ThreeRight) { - var __tco_v = v.value1; - var __tco_v1 = new KickUp(new Two(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3), v.value0.value4, v.value0.value5, new Two(v1.value0, v1.value1, v1.value2, v1.value3)); - v = __tco_v; - v1 = __tco_v1; - continue tco; - }; - throw new Error("Failed pattern match at Data.Map line 260, column 5 - line 265, column 104: " + [ v.value0.constructor.name, v1.constructor.name ]); + var eqRecordSigs = function (dictEq) { + return function (arr1) { + return function (arr2) { + var labelCompare = function (r1) { + return function (r2) { + return Data_Ord.compare(Data_Ord.ordString)(r1.recLabel)(r2.recLabel); }; - throw new Error("Failed pattern match at Data.Map line 258, column 3 - line 258, column 54: " + [ v.constructor.name, v1.constructor.name ]); }; - }; - }; - var comp = Data_Ord.compare(dictOrd); - var down = function (__copy_ctx) { - return function (__copy_k) { - return function (__copy_v) { - return function (__copy_v1) { - var ctx = __copy_ctx; - var k = __copy_k; - var v = __copy_v; - var v1 = __copy_v1; - tco: while (true) { - if (v1 instanceof Leaf) { - return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value)); - }; - if (v1 instanceof Two) { - var $291 = comp(k)(v1.value1); - if ($291 instanceof Data_Ordering.EQ) { - return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3)); - }; - if ($291 instanceof Data_Ordering.LT) { - var __tco_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx); - var __tco_k = k; - var __tco_v = v; - var __tco_v1 = v1.value0; - ctx = __tco_ctx; - k = __tco_k; - v = __tco_v; - v1 = __tco_v1; - continue tco; - }; - var __tco_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx); - var __tco_k = k; - var __tco_v = v; - var __tco_v1 = v1.value3; - ctx = __tco_ctx; - k = __tco_k; - v = __tco_v; - v1 = __tco_v1; - continue tco; - }; - if (v1 instanceof Three) { - var $296 = comp(k)(v1.value1); - if ($296 instanceof Data_Ordering.EQ) { - return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6)); - }; - var $298 = comp(k)(v1.value4); - if ($298 instanceof Data_Ordering.EQ) { - return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6)); - }; - if ($296 instanceof Data_Ordering.LT) { - var __tco_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx); - var __tco_k = k; - var __tco_v = v; - var __tco_v1 = v1.value0; - ctx = __tco_ctx; - k = __tco_k; - v = __tco_v; - v1 = __tco_v1; - continue tco; - }; - if ($296 instanceof Data_Ordering.GT && $298 instanceof Data_Ordering.LT) { - var __tco_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx); - var __tco_k = k; - var __tco_v = v; - var __tco_v1 = v1.value3; - ctx = __tco_ctx; - k = __tco_k; - v = __tco_v; - v1 = __tco_v1; - continue tco; - }; - var __tco_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx); - var __tco_k = k; - var __tco_v = v; - var __tco_v1 = v1.value6; - ctx = __tco_ctx; - k = __tco_k; - v = __tco_v; - v1 = __tco_v1; - continue tco; - }; - throw new Error("Failed pattern match at Data.Map line 241, column 3 - line 241, column 52: " + [ ctx.constructor.name, k.constructor.name, v.constructor.name, v1.constructor.name ]); - }; + var sorted1 = Data_Array.sortBy(labelCompare)(arr1); + var sorted2 = Data_Array.sortBy(labelCompare)(arr2); + var doCmp = function (x) { + return function (y) { + return x.recLabel === y.recLabel && Data_Eq.eq(dictEq)(force(x.recValue))(force(y.recValue)); }; }; + return Data_Array.length(arr1) === Data_Array.length(arr2) && $foreign.zipAll(doCmp)(sorted1)(sorted2); }; }; - return down(Data_List_Types.Nil.value); }; - var empty = Leaf.value; - exports["empty"] = empty; - exports["insert"] = insert; - exports["values"] = values; -})(PS["Data.Map"] = PS["Data.Map"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var Prelude = PS["Prelude"]; - var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_Array = PS["Data.Array"]; - var Data_Bifunctor = PS["Data.Bifunctor"]; - var Data_Either = PS["Data.Either"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Generic = PS["Data.Generic"]; - var Data_Int = PS["Data.Int"]; - var Data_List = PS["Data.List"]; - var Data_Map = PS["Data.Map"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_String = PS["Data.String"]; - var Data_StrMap = PS["Data.StrMap"]; - var Data_Traversable = PS["Data.Traversable"]; - var Data_Tuple = PS["Data.Tuple"]; - var Type_Proxy = PS["Type.Proxy"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Boolean = PS["Data.Boolean"]; - var Data_Functor = PS["Data.Functor"]; - var Data_List_Types = PS["Data.List.Types"]; - var Control_Apply = PS["Control.Apply"]; - var Control_Bind = PS["Control.Bind"]; - var Data_Function = PS["Data.Function"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Unit = PS["Data.Unit"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Show = PS["Data.Show"]; - var Data_Eq = PS["Data.Eq"]; - var DecodeJson = function (decodeJson) { - this.decodeJson = decodeJson; - }; - var decodeJsonString = new DecodeJson(Data_Argonaut_Core.foldJsonString(new Data_Either.Left("Value is not a String"))(Data_Either.Right.create)); - var decodeJsonNumber = new DecodeJson(Data_Argonaut_Core.foldJsonNumber(new Data_Either.Left("Value is not a Number"))(Data_Either.Right.create)); - var decodeJsonJson = new DecodeJson(Data_Either.Right.create); - var decodeJsonBoolean = new DecodeJson(Data_Argonaut_Core.foldJsonBoolean(new Data_Either.Left("Value is not a Boolean"))(Data_Either.Right.create)); - var decodeJson = function (dict) { - return dict.decodeJson; - }; - var decodeJsonInt = new DecodeJson(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(function ($65) { - return Data_Maybe.maybe(new Data_Either.Left("Value is not an integer"))(Data_Either.Right.create)(Data_Int.fromNumber($65)); - })(decodeJson(decodeJsonNumber))); - var decodeJsonMaybe = function (dictDecodeJson) { - return new DecodeJson(function (j) { - if (Data_Argonaut_Core.isNull(j)) { - return Control_Applicative.pure(Data_Either.applicativeEither)(Data_Maybe.Nothing.value); + var eqGenericSpine = new Data_Eq.Eq(function (v) { + return function (v1) { + if (v instanceof SProd && v1 instanceof SProd) { + return v.value0 === v1.value0 && (Data_Array.length(v.value1) === Data_Array.length(v1.value1) && $foreign.zipAll(eqThunk(eqGenericSpine))(v.value1)(v1.value1)); + }; + if (v instanceof SRecord && v1 instanceof SRecord) { + return eqRecordSigs(eqGenericSpine)(v.value0)(v1.value0); + }; + if (v instanceof SNumber && v1 instanceof SNumber) { + return v.value0 === v1.value0; + }; + if (v instanceof SBoolean && v1 instanceof SBoolean) { + return v.value0 === v1.value0; + }; + if (v instanceof SInt && v1 instanceof SInt) { + return v.value0 === v1.value0; }; - if (Data_Boolean.otherwise) { - return Data_Functor.map(Data_Either.functorEither)(Data_Maybe.Just.create)(decodeJson(dictDecodeJson)(j)); + if (v instanceof SString && v1 instanceof SString) { + return v.value0 === v1.value0; }; - throw new Error("Failed pattern match at Data.Argonaut.Decode.Class line 71, column 3 - line 73, column 40: " + [ j.constructor.name ]); - }); - }; - var decodeJObject = function ($66) { - return Data_Maybe.maybe(new Data_Either.Left("Value is not an Object"))(Data_Either.Right.create)(Data_Argonaut_Core.toObject($66)); - }; - var decodeStrMap = function (dictDecodeJson) { - return new DecodeJson(function ($67) { - return Data_Bifunctor.lmap(Data_Either.bifunctorEither)(function (v) { - return "Couldn't decode StrMap: " + v; - })(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(Data_Traversable.traverse(Data_StrMap.traversableStrMap)(Data_Either.applicativeEither)(decodeJson(dictDecodeJson)))(decodeJObject)($67)); - }); - }; - var decodeJArray = function ($68) { - return Data_Maybe.maybe(new Data_Either.Left("Value is not an Array"))(Data_Either.Right.create)(Data_Argonaut_Core.toArray($68)); - }; - var decodeList = function (dictDecodeJson) { - return new DecodeJson(function ($69) { - return Data_Bifunctor.lmap(Data_Either.bifunctorEither)(function (v) { - return "Couldn't decode List: " + v; - })(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(Data_Traversable.traverse(Data_List_Types.traversableList)(Data_Either.applicativeEither)(decodeJson(dictDecodeJson)))(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Either.functorEither)(Data_List.fromFoldable(Data_Foldable.foldableArray)))(decodeJArray))($69)); - }); - }; - var decodeArray = function (dictDecodeJson) { - return new DecodeJson(function ($71) { - return Data_Bifunctor.lmap(Data_Either.bifunctorEither)(function (v) { - return "Couldn't decode Array: " + v; - })(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Either.applicativeEither)(decodeJson(dictDecodeJson)))(decodeJArray)($71)); - }); - }; - exports["DecodeJson"] = DecodeJson; - exports["decodeJson"] = decodeJson; - exports["decodeJsonMaybe"] = decodeJsonMaybe; - exports["decodeJsonBoolean"] = decodeJsonBoolean; - exports["decodeJsonNumber"] = decodeJsonNumber; - exports["decodeJsonInt"] = decodeJsonInt; - exports["decodeJsonString"] = decodeJsonString; - exports["decodeJsonJson"] = decodeJsonJson; - exports["decodeStrMap"] = decodeStrMap; - exports["decodeArray"] = decodeArray; - exports["decodeList"] = decodeList; -})(PS["Data.Argonaut.Decode.Class"] = PS["Data.Argonaut.Decode.Class"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var Prelude = PS["Prelude"]; - var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_Argonaut_Decode_Class = PS["Data.Argonaut.Decode.Class"]; - var Data_Either = PS["Data.Either"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_StrMap = PS["Data.StrMap"]; - var Data_Functor = PS["Data.Functor"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Function = PS["Data.Function"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Show = PS["Data.Show"]; - var getField = function (dictDecodeJson) { - return function (o) { - return function (s) { - return Data_Maybe.maybe(Data_Either.Left.create("Expected field " + Data_Show.show(Data_Show.showString)(s)))(Data_Argonaut_Decode_Class.decodeJson(dictDecodeJson))(Data_StrMap.lookup(s)(o)); + if (v instanceof SChar && v1 instanceof SChar) { + return v.value0 === v1.value0; + }; + if (v instanceof SArray && v1 instanceof SArray) { + return Data_Array.length(v.value0) === Data_Array.length(v1.value0) && $foreign.zipAll(eqThunk(eqGenericSpine))(v.value0)(v1.value0); + }; + if (v instanceof SUnit && v1 instanceof SUnit) { + return true; + }; + return false; + }; + }); + var gEq = function (dictGeneric) { + return function (x) { + return function (y) { + return Data_Eq.eq(eqGenericSpine)(toSpine(dictGeneric)(x))(toSpine(dictGeneric)(y)); }; }; }; - exports["getField"] = getField; -})(PS["Data.Argonaut.Decode.Combinators"] = PS["Data.Argonaut.Decode.Combinators"] || {}); + exports["SigProd"] = SigProd; + exports["SProd"] = SProd; + exports["SRecord"] = SRecord; + exports["SNumber"] = SNumber; + exports["SBoolean"] = SBoolean; + exports["SInt"] = SInt; + exports["SString"] = SString; + exports["SChar"] = SChar; + exports["SArray"] = SArray; + exports["SUnit"] = SUnit; + exports["Generic"] = Generic; + exports["fromSpine"] = fromSpine; + exports["gEq"] = gEq; + exports["gShow"] = gShow; + exports["toSignature"] = toSignature; + exports["toSpine"] = toSpine; + exports["eqGenericSpine"] = eqGenericSpine; +})(PS["Data.Generic"] = PS["Data.Generic"] || {}); (function(exports) { "use strict"; - exports._jsonParser = function (fail, succ, s) { - try { - return succ(JSON.parse(s)); - } - catch (e) { - return fail(e.message); - } - }; -})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var $foreign = PS["Data.Argonaut.Parser"]; - var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_Either = PS["Data.Either"]; - var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var jsonParser = function (j) { - return $foreign._jsonParser(Data_Either.Left.create, Data_Either.Right.create, j); - }; - exports["jsonParser"] = jsonParser; -})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {}); -(function(exports) { - /* global exports */ - "use strict"; - - // module Data.StrMap.Unsafe - exports.unsafeIndex = function (m) { return function (k) { return m[k]; @@ -4588,7 +4578,7 @@ var PS = {}; }; })(PS["Data.StrMap.Unsafe"] = PS["Data.StrMap.Unsafe"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.StrMap.Unsafe"]; var Data_StrMap = PS["Data.StrMap"]; @@ -4611,14 +4601,14 @@ var PS = {}; return res;}; })(PS["Data.TypedArray"] = PS["Data.TypedArray"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Data.TypedArray"]; - var Prelude = PS["Prelude"]; - var Data_Maybe = PS["Data.Maybe"]; var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; + var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; + var Prelude = PS["Prelude"]; exports["asFloat32Array"] = $foreign.asFloat32Array; exports["asInt32Array"] = $foreign.asInt32Array; })(PS["Data.TypedArray"] = PS["Data.TypedArray"] || {}); @@ -4635,42 +4625,29 @@ var PS = {}; } })(PS["Extensions"] = PS["Extensions"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Extensions"]; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; - var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Data_Array = PS["Data.Array"]; - var Data_List = PS["Data.List"]; - var Data_Traversable = PS["Data.Traversable"]; - var $$Math = PS["Math"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Ring = PS["Data.Ring"]; var Data_Boolean = PS["Data.Boolean"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Function = PS["Data.Function"]; - var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Eq = PS["Data.Eq"]; - var Data_Semiring = PS["Data.Semiring"]; + var Data_EuclideanRing = PS["Data.EuclideanRing"]; + var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; + var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; - var Control_Bind = PS["Control.Bind"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Ring = PS["Data.Ring"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Traversable = PS["Data.Traversable"]; + var $$Math = PS["Math"]; + var Partial_Unsafe = PS["Partial.Unsafe"]; + var Prelude = PS["Prelude"]; exports["fail"] = $foreign.fail; })(PS["Extensions"] = PS["Extensions"] || {}); -(function(exports) { - /* globals exports */ - "use strict"; - - exports.readFloat = parseFloat; -})(PS["Global"] = PS["Global"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var $foreign = PS["Global"]; - exports["readFloat"] = $foreign.readFloat; -})(PS["Global"] = PS["Global"] || {}); (function(exports) { /* global exports */ @@ -5204,13 +5181,13 @@ var PS = {}; ; })(PS["Graphics.WebGLRaw"] = PS["Graphics.WebGLRaw"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Graphics.WebGLRaw"]; - var Prelude = PS["Prelude"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_WebGL = PS["Control.Monad.Eff.WebGL"]; - var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; + var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; + var Prelude = PS["Prelude"]; var _ZERO = 0; var _VERTEX_SHADER = 35633; var _UNSIGNED_SHORT = 5123; @@ -5449,33 +5426,33 @@ var PS = {}; exports["viewport_"] = $foreign.viewport_; })(PS["Graphics.WebGLRaw"] = PS["Graphics.WebGLRaw"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Graphics.WebGL"]; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Array_Partial = PS["Data.Array.Partial"]; - var Data_Array = PS["Data.Array"]; - var Data_Either = PS["Data.Either"]; - var Data_Int_Bits = PS["Data.Int.Bits"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; var Control_Monad_Eff_WebGL = PS["Control.Monad.Eff.WebGL"]; - var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Array = PS["Data.Array"]; + var Data_Array_Partial = PS["Data.Array.Partial"]; var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; - var Data_TypedArray = PS["Data.TypedArray"]; - var Extensions = PS["Extensions"]; - var Data_Eq = PS["Data.Eq"]; var Data_Boolean = PS["Data.Boolean"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Unit = PS["Data.Unit"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; + var Data_Either = PS["Data.Either"]; + var Data_Eq = PS["Data.Eq"]; + var Data_EuclideanRing = PS["Data.EuclideanRing"]; + var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; - var Data_EuclideanRing = PS["Data.EuclideanRing"]; + var Data_Int_Bits = PS["Data.Int.Bits"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_TypedArray = PS["Data.TypedArray"]; + var Data_Unit = PS["Data.Unit"]; + var Extensions = PS["Extensions"]; + var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; + var Partial_Unsafe = PS["Partial.Unsafe"]; + var Prelude = PS["Prelude"]; var getCanvasWidth = function (context) { return $foreign.getCanvasWidth_(context.canvasName); }; @@ -5503,10 +5480,7 @@ var PS = {}; if (v) { return Control_Monad_Eff_WebGL.runWebGl_(success(makeContext))(); }; - if (!v) { - return failure("Unable to initialize WebGL. Your browser may not support it.")(); - }; - throw new Error("Failed pattern match at Graphics.WebGL line 165, column 3 - line 168, column 5: " + [ v.constructor.name ]); + return failure("Unable to initialize WebGL. Your browser may not support it.")(); }; }; }; @@ -5529,27 +5503,27 @@ var PS = {}; {gl.bindTexture(target,null);};}; })(PS["Graphics.WebGLTexture"] = PS["Graphics.WebGLTexture"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Graphics.WebGLTexture"]; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; - var Data_Int_Bits = PS["Data.Int.Bits"]; - var Graphics_Canvas = PS["Graphics.Canvas"]; var Control_Monad_Eff_WebGL = PS["Control.Monad.Eff.WebGL"]; - var Graphics_WebGL = PS["Graphics.WebGL"]; - var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; - var Extensions = PS["Extensions"]; - var Data_TypedArray = PS["Data.TypedArray"]; var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Function = PS["Data.Function"]; + var Data_Boolean = PS["Data.Boolean"]; var Data_Eq = PS["Data.Eq"]; - var Data_Semiring = PS["Data.Semiring"]; + var Data_Function = PS["Data.Function"]; + var Data_Int_Bits = PS["Data.Int.Bits"]; var Data_Ord = PS["Data.Ord"]; - var Data_Boolean = PS["Data.Boolean"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_TypedArray = PS["Data.TypedArray"]; + var Data_Unit = PS["Data.Unit"]; + var Extensions = PS["Extensions"]; + var Graphics_Canvas = PS["Graphics.Canvas"]; + var Graphics_WebGL = PS["Graphics.WebGL"]; + var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; + var Prelude = PS["Prelude"]; var TEXTURE_2D = (function () { function TEXTURE_2D() { @@ -5637,27 +5611,26 @@ var PS = {}; exports["unbindTexture"] = unbindTexture; })(PS["Graphics.WebGLTexture"] = PS["Graphics.WebGLTexture"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; - var Data_Generic = PS["Data.Generic"]; - var Data_Argonaut_Encode_Combinators = PS["Data.Argonaut.Encode.Combinators"]; - var Data_Argonaut_Decode_Combinators = PS["Data.Argonaut.Decode.Combinators"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_Argonaut_Printer = PS["Data.Argonaut.Printer"]; - var Data_Argonaut_Encode = PS["Data.Argonaut.Encode"]; var Data_Argonaut_Decode = PS["Data.Argonaut.Decode"]; - var Control_Apply = PS["Control.Apply"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Show = PS["Data.Show"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Argonaut_Encode_Class = PS["Data.Argonaut.Encode.Class"]; var Data_Argonaut_Decode_Class = PS["Data.Argonaut.Decode.Class"]; - var Control_Bind = PS["Control.Bind"]; + var Data_Argonaut_Decode_Combinators = PS["Data.Argonaut.Decode.Combinators"]; + var Data_Argonaut_Encode = PS["Data.Argonaut.Encode"]; + var Data_Argonaut_Encode_Class = PS["Data.Argonaut.Encode.Class"]; + var Data_Argonaut_Encode_Combinators = PS["Data.Argonaut.Encode.Combinators"]; + var Data_Either = PS["Data.Either"]; + var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; - var Data_Either = PS["Data.Either"]; + var Data_Generic = PS["Data.Generic"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Show = PS["Data.Show"]; + var Data_Unit = PS["Data.Unit"]; + var Prelude = PS["Prelude"]; var V4 = (function () { function V4(value0, value1, value2, value3) { this.value0 = value0; @@ -5731,34 +5704,33 @@ var PS = {}; exports["decodeJsonV3"] = decodeJsonV3; exports["decodeJsonV4"] = decodeJsonV4; })(PS["LambdaCube.LinearBase"] = PS["LambdaCube.LinearBase"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var Prelude = PS["Prelude"]; - var Data_Generic = PS["Data.Generic"]; - var Data_Either = PS["Data.Either"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_StrMap = PS["Data.StrMap"]; - var Data_Map = PS["Data.Map"]; - var Data_List = PS["Data.List"]; - var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; - var Data_Argonaut_Encode_Combinators = PS["Data.Argonaut.Encode.Combinators"]; - var Data_Argonaut_Decode_Combinators = PS["Data.Argonaut.Decode.Combinators"]; +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_Argonaut_Printer = PS["Data.Argonaut.Printer"]; - var Data_Argonaut_Encode = PS["Data.Argonaut.Encode"]; var Data_Argonaut_Decode = PS["Data.Argonaut.Decode"]; - var Data_Show = PS["Data.Show"]; - var Data_Eq = PS["Data.Eq"]; - var Control_Apply = PS["Control.Apply"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Argonaut_Encode_Class = PS["Data.Argonaut.Encode.Class"]; var Data_Argonaut_Decode_Class = PS["Data.Argonaut.Decode.Class"]; - var Control_Bind = PS["Control.Bind"]; + var Data_Argonaut_Decode_Combinators = PS["Data.Argonaut.Decode.Combinators"]; + var Data_Argonaut_Encode = PS["Data.Argonaut.Encode"]; + var Data_Argonaut_Encode_Class = PS["Data.Argonaut.Encode.Class"]; + var Data_Argonaut_Encode_Combinators = PS["Data.Argonaut.Encode.Combinators"]; + var Data_Either = PS["Data.Either"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; + var Data_Generic = PS["Data.Generic"]; + var Data_List = PS["Data.List"]; + var Data_Map = PS["Data.Map"]; + var Data_Maybe = PS["Data.Maybe"]; var Data_Semigroup = PS["Data.Semigroup"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Function = PS["Data.Function"]; + var Data_Show = PS["Data.Show"]; + var Data_StrMap = PS["Data.StrMap"]; + var Data_Unit = PS["Data.Unit"]; + var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; + var Prelude = PS["Prelude"]; var VBool = (function () { function VBool(value0) { this.value0 = value0; @@ -7662,7 +7634,7 @@ var PS = {}; if (v instanceof TrianglesAdjacency) { return new Data_Generic.SProd("LambdaCube.IR.TrianglesAdjacency", [ ]); }; - throw new Error("Failed pattern match at LambdaCube.IR line 460, column 1 - line 460, column 64: " + [ v.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.IR line 459, column 1 - line 459, column 64: " + [ v.constructor.name ]); }); var showFetchPrimitive = new Data_Show.Show(Data_Generic.gShow(genericFetchPrimitive)); var genericColorArity = new Data_Generic.Generic(function (v) { @@ -7706,17 +7678,17 @@ var PS = {}; if (v instanceof RGBA) { return new Data_Generic.SProd("LambdaCube.IR.RGBA", [ ]); }; - throw new Error("Failed pattern match at LambdaCube.IR line 464, column 1 - line 464, column 56: " + [ v.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.IR line 463, column 1 - line 463, column 56: " + [ v.constructor.name ]); }); var genericTextureDataType = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "LambdaCube.IR.FloatT" && v.value1.length === 1)) { - return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(FloatT.create))(Data_Generic.fromSpine(genericColorArity)(v.value1[0](Data_Unit.unit))); + return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(FloatT.create))(Data_Generic.fromSpine(genericColorArity)(v["value1"][0](Data_Unit.unit))); }; if (v instanceof Data_Generic.SProd && (v.value0 === "LambdaCube.IR.IntT" && v.value1.length === 1)) { - return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(IntT.create))(Data_Generic.fromSpine(genericColorArity)(v.value1[0](Data_Unit.unit))); + return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(IntT.create))(Data_Generic.fromSpine(genericColorArity)(v["value1"][0](Data_Unit.unit))); }; if (v instanceof Data_Generic.SProd && (v.value0 === "LambdaCube.IR.WordT" && v.value1.length === 1)) { - return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(WordT.create))(Data_Generic.fromSpine(genericColorArity)(v.value1[0](Data_Unit.unit))); + return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(WordT.create))(Data_Generic.fromSpine(genericColorArity)(v["value1"][0](Data_Unit.unit))); }; if (v instanceof Data_Generic.SProd && (v.value0 === "LambdaCube.IR.ShadowT" && v.value1.length === 0)) { return new Data_Maybe.Just(ShadowT.value); @@ -7761,7 +7733,7 @@ var PS = {}; if (v instanceof ShadowT) { return new Data_Generic.SProd("LambdaCube.IR.ShadowT", [ ]); }; - throw new Error("Failed pattern match at LambdaCube.IR line 467, column 1 - line 467, column 66: " + [ v.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.IR line 466, column 1 - line 466, column 66: " + [ v.constructor.name ]); }); var showTextureDataType = new Data_Show.Show(Data_Generic.gShow(genericTextureDataType)); var eqFetchPrimitive = new Data_Eq.Eq(Data_Generic.gEq(genericFetchPrimitive)); @@ -9232,29 +9204,28 @@ var PS = {}; exports["decodeJsonPipeline"] = decodeJsonPipeline; })(PS["LambdaCube.IR"] = PS["LambdaCube.IR"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; - var Data_Generic = PS["Data.Generic"]; - var Data_Either = PS["Data.Either"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_StrMap = PS["Data.StrMap"]; - var Data_Map = PS["Data.Map"]; - var Data_List = PS["Data.List"]; - var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; - var Data_Argonaut_Encode_Combinators = PS["Data.Argonaut.Encode.Combinators"]; - var Data_Argonaut_Decode_Combinators = PS["Data.Argonaut.Decode.Combinators"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Bind = PS["Control.Bind"]; var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_Argonaut_Printer = PS["Data.Argonaut.Printer"]; - var Data_Argonaut_Encode = PS["Data.Argonaut.Encode"]; var Data_Argonaut_Decode = PS["Data.Argonaut.Decode"]; - var Data_Argonaut_Encode_Class = PS["Data.Argonaut.Encode.Class"]; var Data_Argonaut_Decode_Class = PS["Data.Argonaut.Decode.Class"]; - var Control_Bind = PS["Control.Bind"]; + var Data_Argonaut_Decode_Combinators = PS["Data.Argonaut.Decode.Combinators"]; + var Data_Argonaut_Encode = PS["Data.Argonaut.Encode"]; + var Data_Argonaut_Encode_Class = PS["Data.Argonaut.Encode.Class"]; + var Data_Argonaut_Encode_Combinators = PS["Data.Argonaut.Encode.Combinators"]; + var Data_Either = PS["Data.Either"]; + var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; + var Data_Generic = PS["Data.Generic"]; + var Data_List = PS["Data.List"]; + var Data_Map = PS["Data.Map"]; + var Data_Maybe = PS["Data.Maybe"]; var Data_Semigroup = PS["Data.Semigroup"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Function = PS["Data.Function"]; + var Data_StrMap = PS["Data.StrMap"]; + var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; + var Prelude = PS["Prelude"]; var P_Points = (function () { function P_Points() { @@ -9477,31 +9448,27 @@ var PS = {}; exports["decodeJsonMesh"] = decodeJsonMesh; })(PS["LambdaCube.Mesh"] = PS["LambdaCube.Mesh"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; - var Data_Generic = PS["Data.Generic"]; - var Data_Either = PS["Data.Either"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_StrMap = PS["Data.StrMap"]; - var Data_Map = PS["Data.Map"]; - var Data_List = PS["Data.List"]; - var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; - var Data_Argonaut_Encode_Combinators = PS["Data.Argonaut.Encode.Combinators"]; - var Data_Argonaut_Decode_Combinators = PS["Data.Argonaut.Decode.Combinators"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Bind = PS["Control.Bind"]; var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_Argonaut_Printer = PS["Data.Argonaut.Printer"]; - var Data_Argonaut_Encode = PS["Data.Argonaut.Encode"]; var Data_Argonaut_Decode = PS["Data.Argonaut.Decode"]; - var LambdaCube_IR = PS["LambdaCube.IR"]; - var Data_Show = PS["Data.Show"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Argonaut_Encode_Class = PS["Data.Argonaut.Encode.Class"]; var Data_Argonaut_Decode_Class = PS["Data.Argonaut.Decode.Class"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Applicative = PS["Control.Applicative"]; + var Data_Argonaut_Decode_Combinators = PS["Data.Argonaut.Decode.Combinators"]; + var Data_Argonaut_Encode = PS["Data.Argonaut.Encode"]; + var Data_Argonaut_Encode_Class = PS["Data.Argonaut.Encode.Class"]; + var Data_Argonaut_Encode_Combinators = PS["Data.Argonaut.Encode.Combinators"]; + var Data_Either = PS["Data.Either"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Function = PS["Data.Function"]; + var Data_Generic = PS["Data.Generic"]; + var Data_Maybe = PS["Data.Maybe"]; var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Function = PS["Data.Function"]; + var Data_Show = PS["Data.Show"]; + var Data_StrMap = PS["Data.StrMap"]; + var LambdaCube_IR = PS["LambdaCube.IR"]; + var Prelude = PS["Prelude"]; var Attribute_Word = (function () { function Attribute_Word() { @@ -9861,7 +9828,7 @@ var PS = {}; if (v instanceof Attribute_M44F) { return new Data_Generic.SProd("LambdaCube.PipelineSchema.Attribute_M44F", [ ]); }; - throw new Error("Failed pattern match at LambdaCube.PipelineSchema line 61, column 1 - line 61, column 56: " + [ v.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.PipelineSchema line 56, column 1 - line 56, column 56: " + [ v.constructor.name ]); }); var showStreamType = new Data_Show.Show(Data_Generic.gShow(genericStreamType)); var eqStreamType = new Data_Eq.Eq(Data_Generic.gEq(genericStreamType)); @@ -9893,31 +9860,30 @@ var PS = {}; exports["eqStreamType"] = eqStreamType; })(PS["LambdaCube.PipelineSchema"] = PS["LambdaCube.PipelineSchema"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; - var Data_Generic = PS["Data.Generic"]; - var Data_Either = PS["Data.Either"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_StrMap = PS["Data.StrMap"]; - var Data_Map = PS["Data.Map"]; - var Data_List = PS["Data.List"]; - var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; - var Data_Argonaut_Encode_Combinators = PS["Data.Argonaut.Encode.Combinators"]; - var Data_Argonaut_Decode_Combinators = PS["Data.Argonaut.Decode.Combinators"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Apply = PS["Control.Apply"]; + var Control_Bind = PS["Control.Bind"]; var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; - var Data_Argonaut_Printer = PS["Data.Argonaut.Printer"]; - var Data_Argonaut_Encode = PS["Data.Argonaut.Encode"]; var Data_Argonaut_Decode = PS["Data.Argonaut.Decode"]; - var LambdaCube_IR = PS["LambdaCube.IR"]; - var Data_Argonaut_Encode_Class = PS["Data.Argonaut.Encode.Class"]; var Data_Argonaut_Decode_Class = PS["Data.Argonaut.Decode.Class"]; - var Control_Bind = PS["Control.Bind"]; + var Data_Argonaut_Decode_Combinators = PS["Data.Argonaut.Decode.Combinators"]; + var Data_Argonaut_Encode = PS["Data.Argonaut.Encode"]; + var Data_Argonaut_Encode_Class = PS["Data.Argonaut.Encode.Class"]; + var Data_Argonaut_Encode_Combinators = PS["Data.Argonaut.Encode.Combinators"]; + var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; - var Control_Applicative = PS["Control.Applicative"]; + var Data_Functor = PS["Data.Functor"]; + var Data_Generic = PS["Data.Generic"]; + var Data_List = PS["Data.List"]; + var Data_Map = PS["Data.Map"]; + var Data_Maybe = PS["Data.Maybe"]; var Data_Semigroup = PS["Data.Semigroup"]; - var Control_Apply = PS["Control.Apply"]; - var Data_Functor = PS["Data.Functor"]; + var Data_StrMap = PS["Data.StrMap"]; + var LambdaCube_IR = PS["LambdaCube.IR"]; + var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; + var Prelude = PS["Prelude"]; var Range = (function () { function Range(value0) { this.value0 = value0; @@ -10101,26 +10067,26 @@ var PS = {}; exports.nullWebGLFramebuffer = null; })(PS["LambdaCube.WebGL.Backend"] = PS["LambdaCube.WebGL.Backend"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Console = PS["Control.Monad.Eff.Console"]; - var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; + var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; var Control_Monad_Eff_WebGL = PS["Control.Monad.Eff.WebGL"]; - var Data_StrMap = PS["Data.StrMap"]; - var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; - var Data_Map = PS["Data.Map"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Maybe = PS["Data.Maybe"]; var Data_Array = PS["Data.Array"]; - var Data_Int = PS["Data.Int"]; var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; + var Data_Int = PS["Data.Int"]; + var Data_Map = PS["Data.Map"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Show = PS["Data.Show"]; + var Data_StrMap = PS["Data.StrMap"]; + var Data_Tuple = PS["Data.Tuple"]; + var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; var LambdaCube_IR = PS["LambdaCube.IR"]; var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; var LambdaCube_PipelineSchema = PS["LambdaCube.PipelineSchema"]; - var Data_Show = PS["Data.Show"]; + var Prelude = PS["Prelude"]; var TextureData = (function () { function TextureData(value0) { this.value0 = value0; @@ -10779,7 +10745,7 @@ var PS = {}; if (s instanceof Stream) { return s.value0.sType; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Type line 235, column 24 - line 243, column 24: " + [ s.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Type line 236, column 24 - line 244, column 24: " + [ s.constructor.name ]); }; var sizeOfArrayType = function (v) { if (v instanceof ArrWord8) { @@ -10797,7 +10763,7 @@ var PS = {}; if (v instanceof ArrFloat) { return 4; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Type line 53, column 1 - line 54, column 1: " + [ v.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Type line 54, column 1 - line 55, column 1: " + [ v.constructor.name ]); }; var showPrimitive = new Data_Show.Show(function (v) { if (v instanceof TriangleStrip) { @@ -10821,7 +10787,7 @@ var PS = {}; if (v instanceof PointList) { return "PointList"; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Type line 95, column 3 - line 96, column 3: " + [ v.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Type line 96, column 3 - line 97, column 3: " + [ v.constructor.name ]); }); var numStorable = new NumberStorable(function (a) { return [ a ]; @@ -10837,10 +10803,7 @@ var PS = {}; if (a) { return 1; }; - if (!a) { - return 0; - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Type line 261, column 71 - line 261, column 89: " + [ a.constructor.name ]); + return 0; })() ]; }); var arrStorable = function (dictNumberStorable) { @@ -11058,57 +11021,50 @@ var PS = {}; {gl.texImage2D(target,level,internalformat,format,type,pixels);};};};};};};}; })(PS["LambdaCube.WebGL.Util"] = PS["LambdaCube.WebGL.Util"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["LambdaCube.WebGL.Util"]; - var Prelude = PS["Prelude"]; - var Control_Monad_Eff_Console = PS["Control.Monad.Eff.Console"]; - var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; - var Control_Monad_Eff_WebGL = PS["Control.Monad.Eff.WebGL"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Maybe = PS["Data.Maybe"]; + var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Array = PS["Data.Array"]; - var Data_List = PS["Data.List"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; - var Data_TypedArray = PS["Data.TypedArray"]; - var $$Math = PS["Math"]; + var Data_Eq = PS["Data.Eq"]; + var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Foldable = PS["Data.Foldable"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; + var Data_Function = PS["Data.Function"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Ring = PS["Data.Ring"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Show = PS["Data.Show"]; + var Data_Tuple = PS["Data.Tuple"]; + var Data_TypedArray = PS["Data.TypedArray"]; + var Data_Unit = PS["Data.Unit"]; + var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; var LambdaCube_IR = PS["LambdaCube.IR"]; var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; var LambdaCube_PipelineSchema = PS["LambdaCube.PipelineSchema"]; var LambdaCube_WebGL_Type = PS["LambdaCube.WebGL.Type"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Function = PS["Data.Function"]; - var Data_Show = PS["Data.Show"]; - var Data_Unit = PS["Data.Unit"]; - var Control_Bind = PS["Control.Bind"]; - var Data_Semiring = PS["Data.Semiring"]; - var Control_Semigroupoid = PS["Control.Semigroupoid"]; - var Data_Ring = PS["Data.Ring"]; - var Data_EuclideanRing = PS["Data.EuclideanRing"]; - var Data_Eq = PS["Data.Eq"]; + var $$Math = PS["Math"]; + var Partial_Unsafe = PS["Partial.Unsafe"]; + var Prelude = PS["Prelude"]; var unlines = function (l) { - var $15 = Data_Array.uncons(l); - if ($15 instanceof Data_Maybe.Nothing) { + var v = Data_Array.uncons(l); + if (v instanceof Data_Maybe.Nothing) { return ""; }; - if ($15 instanceof Data_Maybe.Just) { - var $16 = Data_Array["null"]($15.value0.tail); - if ($16) { - return $15.value0.head; - }; - if (!$16) { - return $15.value0.head + ("\n" + unlines($15.value0.tail)); + if (v instanceof Data_Maybe.Just) { + var $17 = Data_Array["null"](v.value0.tail); + if ($17) { + return v.value0.head; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 112, column 14 - line 112, column 78: " + [ $16.constructor.name ]); + return v.value0.head + ("\x0a" + unlines(v.value0.tail)); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 110, column 13 - line 112, column 78: " + [ $15.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 106, column 13 - line 108, column 78: " + [ v.constructor.name ]); }; var toStreamType = function (a) { if (a instanceof LambdaCube_IR.Float) { @@ -11160,7 +11116,7 @@ var PS = {}; if (v instanceof LambdaCube_IR.Stencil) { return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("FIXME: This texture format is not yet supported" + Data_Show.show(LambdaCube_IR.showTextureDataType)(a))); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 237, column 1 - line 241, column 104: " + [ v.constructor.name, a.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 233, column 1 - line 237, column 103: " + [ v.constructor.name, a.constructor.name ]); }; }; var textureDataTypeToGLArityType = function (v) { @@ -11189,7 +11145,7 @@ var PS = {}; if (v instanceof LambdaCube_IR.Stencil) { return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("FIXME: This texture format is not yet supported" + Data_Show.show(LambdaCube_IR.showTextureDataType)(a))); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 250, column 1 - line 254, column 104: " + [ v.constructor.name, a.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 246, column 1 - line 250, column 104: " + [ v.constructor.name, a.constructor.name ]); }; }; var setUniform = function (i) { @@ -11242,7 +11198,7 @@ var PS = {}; if (uni instanceof LambdaCube_WebGL_Type.UniFTexture2D) { return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); }; - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (setUniform)!")); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 151, column 20 - line 167, column 31: " + [ uni.constructor.name ]); }; }; var setAV4F = function (i) { @@ -11325,7 +11281,7 @@ var PS = {}; if (p instanceof LambdaCube_WebGL_Type.PointList) { return Graphics_WebGLRaw._POINTS; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 175, column 23 - line 182, column 30: " + [ p.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 171, column 23 - line 178, column 30: " + [ p.constructor.name ]); }; var primitiveToFetchPrimitive = function (prim) { if (prim instanceof LambdaCube_WebGL_Type.TriangleStrip) { @@ -11349,97 +11305,97 @@ var PS = {}; if (prim instanceof LambdaCube_WebGL_Type.PointList) { return LambdaCube_IR.Points.value; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 100, column 34 - line 107, column 36: " + [ prim.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 96, column 34 - line 103, column 36: " + [ prim.constructor.name ]); }; var mkUniformSetter = function (v) { if (v instanceof LambdaCube_IR.Bool) { var r = Data_TypedArray.asInt32Array([ 0 ]); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniBool(r), LambdaCube_WebGL_Type.SBool.create(function ($126) { - return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.boolIntStorable)($126)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniBool(r), LambdaCube_WebGL_Type.SBool.create(function ($127) { + return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.boolIntStorable)($127)); }))); }; if (v instanceof LambdaCube_IR.V2B) { - var r = Data_TypedArray.asInt32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(2)(0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV2B(r), LambdaCube_WebGL_Type.SV2B.create(function ($127) { - return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v2IntStorable(LambdaCube_WebGL_Type.boolIntStorable))($127)); + var r = Data_TypedArray.asInt32Array(Data_Array.replicate(2)(0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV2B(r), LambdaCube_WebGL_Type.SV2B.create(function ($128) { + return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v2IntStorable(LambdaCube_WebGL_Type.boolIntStorable))($128)); }))); }; if (v instanceof LambdaCube_IR.V3B) { - var r = Data_TypedArray.asInt32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(3)(0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV3B(r), LambdaCube_WebGL_Type.SV3B.create(function ($128) { - return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v3IntStorable(LambdaCube_WebGL_Type.boolIntStorable))($128)); + var r = Data_TypedArray.asInt32Array(Data_Array.replicate(3)(0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV3B(r), LambdaCube_WebGL_Type.SV3B.create(function ($129) { + return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v3IntStorable(LambdaCube_WebGL_Type.boolIntStorable))($129)); }))); }; if (v instanceof LambdaCube_IR.V4B) { - var r = Data_TypedArray.asInt32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(4)(0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV4B(r), LambdaCube_WebGL_Type.SV4B.create(function ($129) { - return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v4IntStorable(LambdaCube_WebGL_Type.boolIntStorable))($129)); + var r = Data_TypedArray.asInt32Array(Data_Array.replicate(4)(0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV4B(r), LambdaCube_WebGL_Type.SV4B.create(function ($130) { + return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v4IntStorable(LambdaCube_WebGL_Type.boolIntStorable))($130)); }))); }; if (v instanceof LambdaCube_IR.Int) { var r = Data_TypedArray.asInt32Array([ 0 ]); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniInt(r), LambdaCube_WebGL_Type.SInt.create(function ($130) { - return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.intIntStorable)($130)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniInt(r), LambdaCube_WebGL_Type.SInt.create(function ($131) { + return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.intIntStorable)($131)); }))); }; if (v instanceof LambdaCube_IR.V2I) { - var r = Data_TypedArray.asInt32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(2)(0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV2I(r), LambdaCube_WebGL_Type.SV2I.create(function ($131) { - return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v2IntStorable(LambdaCube_WebGL_Type.intIntStorable))($131)); + var r = Data_TypedArray.asInt32Array(Data_Array.replicate(2)(0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV2I(r), LambdaCube_WebGL_Type.SV2I.create(function ($132) { + return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v2IntStorable(LambdaCube_WebGL_Type.intIntStorable))($132)); }))); }; if (v instanceof LambdaCube_IR.V3I) { - var r = Data_TypedArray.asInt32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(3)(0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV3I(r), LambdaCube_WebGL_Type.SV3I.create(function ($132) { - return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v3IntStorable(LambdaCube_WebGL_Type.intIntStorable))($132)); + var r = Data_TypedArray.asInt32Array(Data_Array.replicate(3)(0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV3I(r), LambdaCube_WebGL_Type.SV3I.create(function ($133) { + return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v3IntStorable(LambdaCube_WebGL_Type.intIntStorable))($133)); }))); }; if (v instanceof LambdaCube_IR.V4I) { - var r = Data_TypedArray.asInt32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(4)(0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV4I(r), LambdaCube_WebGL_Type.SV4I.create(function ($133) { - return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v4IntStorable(LambdaCube_WebGL_Type.intIntStorable))($133)); + var r = Data_TypedArray.asInt32Array(Data_Array.replicate(4)(0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV4I(r), LambdaCube_WebGL_Type.SV4I.create(function ($134) { + return $foreign.setIntArray(r)(LambdaCube_WebGL_Type.toIntArray(LambdaCube_WebGL_Type.v4IntStorable(LambdaCube_WebGL_Type.intIntStorable))($134)); }))); }; if (v instanceof LambdaCube_IR.Float) { var r = Data_TypedArray.asFloat32Array([ 0.0 ]); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniFloat(r), LambdaCube_WebGL_Type.SFloat.create(function ($134) { - return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.numStorable)($134)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniFloat(r), LambdaCube_WebGL_Type.SFloat.create(function ($135) { + return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.numStorable)($135)); }))); }; if (v instanceof LambdaCube_IR.V2F) { - var r = Data_TypedArray.asFloat32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(2)(0.0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV2F(r), LambdaCube_WebGL_Type.SV2F.create(function ($135) { - return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.numStorable))($135)); + var r = Data_TypedArray.asFloat32Array(Data_Array.replicate(2)(0.0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV2F(r), LambdaCube_WebGL_Type.SV2F.create(function ($136) { + return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.numStorable))($136)); }))); }; if (v instanceof LambdaCube_IR.V3F) { - var r = Data_TypedArray.asFloat32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(3)(0.0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV3F(r), LambdaCube_WebGL_Type.SV3F.create(function ($136) { - return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.numStorable))($136)); + var r = Data_TypedArray.asFloat32Array(Data_Array.replicate(3)(0.0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV3F(r), LambdaCube_WebGL_Type.SV3F.create(function ($137) { + return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.numStorable))($137)); }))); }; if (v instanceof LambdaCube_IR.V4F) { - var r = Data_TypedArray.asFloat32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(4)(0.0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV4F(r), LambdaCube_WebGL_Type.SV4F.create(function ($137) { - return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.numStorable))($137)); + var r = Data_TypedArray.asFloat32Array(Data_Array.replicate(4)(0.0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniV4F(r), LambdaCube_WebGL_Type.SV4F.create(function ($138) { + return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.numStorable))($138)); }))); }; if (v instanceof LambdaCube_IR.M22F) { - var r = Data_TypedArray.asFloat32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(4)(0.0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniM22F(r), LambdaCube_WebGL_Type.SM22F.create(function ($138) { - return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.numStorable)))($138)); + var r = Data_TypedArray.asFloat32Array(Data_Array.replicate(4)(0.0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniM22F(r), LambdaCube_WebGL_Type.SM22F.create(function ($139) { + return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.numStorable)))($139)); }))); }; if (v instanceof LambdaCube_IR.M33F) { - var r = Data_TypedArray.asFloat32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(9)(0.0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniM33F(r), LambdaCube_WebGL_Type.SM33F.create(function ($139) { - return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.numStorable)))($139)); + var r = Data_TypedArray.asFloat32Array(Data_Array.replicate(9)(0.0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniM33F(r), LambdaCube_WebGL_Type.SM33F.create(function ($140) { + return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.numStorable)))($140)); }))); }; if (v instanceof LambdaCube_IR.M44F) { - var r = Data_TypedArray.asFloat32Array(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(16)(0.0)); - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniM44F(r), LambdaCube_WebGL_Type.SM44F.create(function ($140) { - return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.numStorable)))($140)); + var r = Data_TypedArray.asFloat32Array(Data_Array.replicate(16)(0.0)); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(new LambdaCube_WebGL_Type.UniM44F(r), LambdaCube_WebGL_Type.SM44F.create(function ($141) { + return $foreign.setFloatArray(r)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.numStorable)))($141)); }))); }; if (v instanceof LambdaCube_IR.FTexture2D) { @@ -11469,7 +11425,7 @@ var PS = {}; if (a instanceof LambdaCube_IR.LinearMipmapLinear) { return Graphics_WebGLRaw._LINEAR_MIPMAP_LINEAR; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 293, column 20 - line 299, column 56: " + [ a.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 289, column 20 - line 295, column 56: " + [ a.constructor.name ]); }; var edgeModeToGLType = function (a) { if (a instanceof LambdaCube_IR.Repeat) { @@ -11494,7 +11450,7 @@ var PS = {}; if (v.value0.samplerWrapT instanceof Data_Maybe.Just) { return Graphics_WebGLRaw.texParameteri_(t)(Graphics_WebGLRaw._TEXTURE_WRAP_T)(edgeModeToGLType(v.value0.samplerWrapT.value0)); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 286, column 5 - line 288, column 79: " + [ v.value0.samplerWrapT.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 282, column 5 - line 284, column 79: " + [ v.value0.samplerWrapT.constructor.name ]); })()(); Graphics_WebGLRaw.texParameteri_(t)(Graphics_WebGLRaw._TEXTURE_MIN_FILTER)(filterToGLType(v.value0.samplerMinFilter))(); return Graphics_WebGLRaw.texParameteri_(t)(Graphics_WebGLRaw._TEXTURE_MAG_FILTER)(filterToGLType(v.value0.samplerMagFilter))(); @@ -11520,10 +11476,10 @@ var PS = {}; if (v2 === 0) { return [ x ]; }; - return Data_Array.cons(x)(mipSize(v2 - 1)(x / 2 | 0)); + return Data_Array.cons(x)(mipSize(v2 - 1 | 0)(x / 2 | 0)); }; }; - var mipS = mipSize(v.value0.textureMaxLevel - v.value0.textureBaseLevel); + var mipS = mipSize(v.value0.textureMaxLevel - v.value0.textureBaseLevel | 0); var levels = Data_Array.range(v.value0.textureBaseLevel)(v.value0.textureMaxLevel); var div = function (a) { return function (b) { @@ -11538,14 +11494,11 @@ var PS = {}; Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(Data_Array.zip(levels)(Data_Array.zip(mipS(v.value0.textureSize.value0.value0))(mipS(v.value0.textureSize.value0.value1))))(function (v3) { return function __do() { $foreign.texImage2DNull_(Graphics_WebGLRaw._TEXTURE_2D)(v3.value0)(v2.value0)(v3.value1.value0)(v3.value1.value1)(0)(v2.value1)((function () { - var $109 = v2.value1 === Graphics_WebGLRaw._DEPTH_COMPONENT; - if ($109) { + var $110 = v2.value1 === Graphics_WebGLRaw._DEPTH_COMPONENT; + if ($110) { return Graphics_WebGLRaw._UNSIGNED_SHORT; }; - if (!$109) { - return Graphics_WebGLRaw._UNSIGNED_BYTE; - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 226, column 75 - line 226, column 158: " + [ $109.constructor.name ]); + return Graphics_WebGLRaw._UNSIGNED_BYTE; })())(); return Data_Unit.unit; }; @@ -11588,7 +11541,7 @@ var PS = {}; if (a instanceof LambdaCube_IR.Notequal) { return Graphics_WebGLRaw._NOTEQUAL; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 27, column 32 - line 35, column 32: " + [ a.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 23, column 32 - line 31, column 32: " + [ a.constructor.name ]); }; var blendingFactorToGLType = function (a) { if (a instanceof LambdaCube_IR.ConstantAlpha) { @@ -11636,7 +11589,7 @@ var PS = {}; if (a instanceof LambdaCube_IR.Zero) { return Graphics_WebGLRaw._ZERO; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 46, column 28 - line 61, column 40: " + [ a.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 42, column 28 - line 57, column 40: " + [ a.constructor.name ]); }; var blendEquationToGLType = function (a) { if (a instanceof LambdaCube_IR.FuncAdd) { @@ -11654,7 +11607,7 @@ var PS = {}; if (a instanceof LambdaCube_IR.Min) { return Graphics_WebGLRaw._FUNC_ADD; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 38, column 27 - line 43, column 40: " + [ a.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 34, column 27 - line 39, column 40: " + [ a.constructor.name ]); }; var arrayTypeToGLType = function (a) { if (a instanceof LambdaCube_WebGL_Type.ArrWord8) { @@ -11672,7 +11625,7 @@ var PS = {}; if (a instanceof LambdaCube_WebGL_Type.ArrFloat) { return Graphics_WebGLRaw._FLOAT; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 185, column 23 - line 190, column 27: " + [ a.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Util line 181, column 23 - line 186, column 27: " + [ a.constructor.name ]); }; exports["arrayTypeToGLType"] = arrayTypeToGLType; exports["blendEquationToGLType"] = blendEquationToGLType; @@ -11709,42 +11662,147 @@ var PS = {}; exports["texImage2D__"] = $foreign.texImage2D__; })(PS["LambdaCube.WebGL.Util"] = PS["LambdaCube.WebGL.Util"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 + "use strict"; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Monad_Eff = PS["Control.Monad.Eff"]; + var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; + var Data_Array = PS["Data.Array"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Foldable = PS["Data.Foldable"]; + var Data_Function = PS["Data.Function"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Traversable = PS["Data.Traversable"]; + var Data_Tuple = PS["Data.Tuple"]; + var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; + var Graphics_WebGLTexture = PS["Graphics.WebGLTexture"]; + var LambdaCube_WebGL_Type = PS["LambdaCube.WebGL.Type"]; + var LambdaCube_WebGL_Util = PS["LambdaCube.WebGL.Util"]; + var Prelude = PS["Prelude"]; + var uploadTexture2DToGPU = function (name) { + return function (action) { + return function __do() { + var v = Graphics_WebGLRaw.createTexture_(); + return LambdaCube_WebGL_Util.loadImage_(name)(function (image) { + return function __do() { + Graphics_WebGLRaw.bindTexture_(Graphics_WebGLRaw._TEXTURE_2D)(v)(); + Graphics_WebGLRaw.texParameteri_(Graphics_WebGLRaw._TEXTURE_2D)(Graphics_WebGLRaw._TEXTURE_MAG_FILTER)(Graphics_WebGLRaw._LINEAR)(); + Graphics_WebGLRaw.texParameteri_(Graphics_WebGLRaw._TEXTURE_2D)(Graphics_WebGLRaw._TEXTURE_MIN_FILTER)(Graphics_WebGLRaw._LINEAR)(); + Graphics_WebGLRaw.pixelStorei_(Graphics_WebGLRaw._UNPACK_FLIP_Y_WEBGL)(1)(); + Graphics_WebGLRaw.pixelStorei_(Graphics_WebGLRaw._UNPACK_PREMULTIPLY_ALPHA_WEBGL)(0)(); + LambdaCube_WebGL_Util.texImage2D__(Graphics_WebGLRaw._TEXTURE_2D)(0)(Graphics_WebGLRaw._RGBA)(Graphics_WebGLRaw._RGBA)(Graphics_WebGLRaw._UNSIGNED_BYTE)(image)(); + Graphics_WebGLTexture.unbindTexture(Graphics_WebGLTexture.TEXTURE_2D.value)(); + return action(new LambdaCube_WebGL_Type.TextureData(v))(); + }; + })(); + }; + }; + }; + var compileBuffer = function (arrs) { + var offsets = Data_Semigroup.append(Data_Semigroup.semigroupArray)([ 0 ])(Data_Traversable.scanl(Data_Traversable.traversableArray)(function (s) { + return function (v) { + return s + (LambdaCube_WebGL_Type.sizeOfArrayType(v.value0) * Data_Array.length(v.value1) | 0) | 0; + }; + })(0)(arrs)); + var size = (function () { + var v = Data_Array.last(offsets); + if (v instanceof Data_Maybe.Just) { + return v.value0; + }; + if (v instanceof Data_Maybe.Nothing) { + return 0; + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Data line 20, column 16 - line 23, column 5: " + [ v.constructor.name ]); + })(); + return function __do() { + var v = LambdaCube_WebGL_Util.newArrayBuffer(size)(); + var v1 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)(Data_Array.zip(arrs)(Data_Array.take(Data_Array.length(arrs))(offsets)))(function (v1) { + var newView = (function () { + if (v1.value0.value0 instanceof LambdaCube_WebGL_Type.ArrWord8) { + return LambdaCube_WebGL_Util.newWord8View; + }; + if (v1.value0.value0 instanceof LambdaCube_WebGL_Type.ArrWord16) { + return LambdaCube_WebGL_Util.newWord16View; + }; + if (v1.value0.value0 instanceof LambdaCube_WebGL_Type.ArrInt8) { + return LambdaCube_WebGL_Util.newInt8View; + }; + if (v1.value0.value0 instanceof LambdaCube_WebGL_Type.ArrInt16) { + return LambdaCube_WebGL_Util.newInt16View; + }; + if (v1.value0.value0 instanceof LambdaCube_WebGL_Type.ArrFloat) { + return LambdaCube_WebGL_Util.newFloatView; + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Data line 27, column 21 - line 32, column 38: " + [ v1.value0.value0.constructor.name ]); + })(); + var len = Data_Array.length(v1.value0.value1); + var bytes = len * LambdaCube_WebGL_Type.sizeOfArrayType(v1.value0.value0) | 0; + return function __do() { + var v2 = newView(v)(v1.value1)(len)(); + LambdaCube_WebGL_Util.setArrayView(v2)(v1.value0.value1)(); + return { + arrType: v1.value0.value0, + arrLength: len, + arrOffset: v1.value1, + arrSize: bytes, + arrView: v2 + }; + }; + })(); + var v2 = Graphics_WebGLRaw.createBuffer_(); + Graphics_WebGLRaw.bindBuffer_(Graphics_WebGLRaw._ARRAY_BUFFER)(v2)(); + LambdaCube_WebGL_Util.bufferDataAlloc(Graphics_WebGLRaw._ARRAY_BUFFER)(size)(Graphics_WebGLRaw._STATIC_DRAW)(); + LambdaCube_WebGL_Util.bufferSubDataArrayBuffer(Graphics_WebGLRaw._ARRAY_BUFFER)(0)(v)(); + Graphics_WebGLRaw.bindBuffer_(Graphics_WebGLRaw._ARRAY_BUFFER)(LambdaCube_WebGL_Util.nullWebGLBuffer)(); + return { + arrays: v1, + glBuffer: v2, + buffer: v + }; + }; + }; + exports["compileBuffer"] = compileBuffer; + exports["uploadTexture2DToGPU"] = uploadTexture2DToGPU; +})(PS["LambdaCube.WebGL.Data"] = PS["LambdaCube.WebGL.Data"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; - var Control_Monad = PS["Control.Monad"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; - var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; + var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; + var Data_Array = PS["Data.Array"]; + var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; + var Data_Eq = PS["Data.Eq"]; + var Data_Foldable = PS["Data.Foldable"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_List = PS["Data.List"]; + var Data_List_Types = PS["Data.List.Types"]; var Data_Map = PS["Data.Map"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Show = PS["Data.Show"]; var Data_StrMap = PS["Data.StrMap"]; var Data_StrMap_Unsafe = PS["Data.StrMap.Unsafe"]; - var Data_Foldable = PS["Data.Foldable"]; var Data_Traversable = PS["Data.Traversable"]; - var Data_Maybe = PS["Data.Maybe"]; var Data_Tuple = PS["Data.Tuple"]; - var Data_Array = PS["Data.Array"]; - var Data_Int = PS["Data.Int"]; - var Data_List = PS["Data.List"]; var Data_Unfoldable = PS["Data.Unfoldable"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; + var Data_Unit = PS["Data.Unit"]; + var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; var LambdaCube_IR = PS["LambdaCube.IR"]; var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; var LambdaCube_PipelineSchema = PS["LambdaCube.PipelineSchema"]; var LambdaCube_WebGL_Type = PS["LambdaCube.WebGL.Type"]; var LambdaCube_WebGL_Util = PS["LambdaCube.WebGL.Util"]; - var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; - var Data_Function = PS["Data.Function"]; - var Data_Ord = PS["Data.Ord"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Unit = PS["Data.Unit"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_Show = PS["Data.Show"]; - var Data_Eq = PS["Data.Eq"]; + var Partial_Unsafe = PS["Partial.Unsafe"]; + var Prelude = PS["Prelude"]; var sortSlotObjects = function (p) { return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(p.slotVector)(function (slotRef) { return function __do() { @@ -11756,15 +11814,15 @@ var PS = {}; }; var doSort = function (objs) { return Control_Monad_Eff_Ref.writeRef(slotRef)((function () { - var $55 = {}; - for (var $56 in v) { - if (v.hasOwnProperty($56)) { - $55[$56] = v[$56]; + var $80 = {}; + for (var $81 in v) { + if ({}.hasOwnProperty.call(v, $81)) { + $80[$81] = v[$81]; }; }; - $55.sortedObjects = Data_Array.sortBy(cmpFun)(objs); - $55.orderJob = LambdaCube_WebGL_Type.Ordered.value; - return $55; + $80.sortedObjects = Data_Array.sortBy(cmpFun)(objs); + $80.orderJob = LambdaCube_WebGL_Type.Ordered.value; + return $80; })()); }; if (v.orderJob instanceof LambdaCube_WebGL_Type.Ordered) { @@ -11788,7 +11846,7 @@ var PS = {}; })(); return doSort(v1)(); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 160, column 5 - line 171, column 24: " + [ v.orderJob.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 153, column 5 - line 164, column 24: " + [ v.orderJob.constructor.name ]); }; }); }; @@ -11806,27 +11864,27 @@ var PS = {}; }; var uniformFTexture2D = function (n) { return function (is) { - var $80 = Data_StrMap.lookup(n)(is); - if ($80 instanceof Data_Maybe.Just && $80.value0 instanceof LambdaCube_WebGL_Type.SFTexture2D) { - return $80.value0.value0; + var v = Data_StrMap.lookup(n)(is); + if (v instanceof Data_Maybe.Just && v.value0 instanceof LambdaCube_WebGL_Type.SFTexture2D) { + return v.value0.value0; }; return nullSetter(n)("FTexture2D"); }; }; var uniformFloat = function (n) { return function (is) { - var $83 = Data_StrMap.lookup(n)(is); - if ($83 instanceof Data_Maybe.Just && $83.value0 instanceof LambdaCube_WebGL_Type.SFloat) { - return $83.value0.value0; + var v = Data_StrMap.lookup(n)(is); + if (v instanceof Data_Maybe.Just && v.value0 instanceof LambdaCube_WebGL_Type.SFloat) { + return v.value0.value0; }; return nullSetter(n)("Float"); }; }; var uniformV2F = function (n) { return function (is) { - var $101 = Data_StrMap.lookup(n)(is); - if ($101 instanceof Data_Maybe.Just && $101.value0 instanceof LambdaCube_WebGL_Type.SV2F) { - return $101.value0.value0; + var v = Data_StrMap.lookup(n)(is); + if (v instanceof Data_Maybe.Just && v.value0 instanceof LambdaCube_WebGL_Type.SV2F) { + return v.value0.value0; }; return nullSetter(n)("V2F"); }; @@ -11846,31 +11904,29 @@ var PS = {}; }; }; var mkWebGLPipelineInput = function (v) { - return Partial_Unsafe.unsafePartial(function (dictPartial) { - var len = Data_Maybe.fromJust(dictPartial)(Data_Int.fromNumber(Data_StrMap.size(v.value0.objectArrays))); - var sm = Data_StrMap.fromFoldable(Data_List_Types.foldableList)(Data_List.zip(Data_List.fromFoldable(Data_Foldable.foldableArray)(Data_StrMap.keys(v.value0.objectArrays)))(Data_List.range(0)(len))); - return function __do() { - var v1 = mkUniform(Data_StrMap.toUnfoldable(Data_Unfoldable.unfoldableArray)(v.value0.uniforms))(); - var v2 = Data_Unfoldable.replicateA(Control_Monad_Eff.applicativeEff)(Data_Unfoldable.unfoldableArray)(Data_Traversable.traversableArray)(len)(Control_Monad_Eff_Ref.newRef({ - objectMap: Data_Map.empty, - sortedObjects: [ ], - orderJob: LambdaCube_WebGL_Type.Ordered.value - }))(); - var v3 = Control_Monad_Eff_Ref.newRef(0)(); - var v4 = Control_Monad_Eff_Ref.newRef(new LambdaCube_LinearBase.V2(0, 0))(); - var v5 = Control_Monad_Eff_Ref.newRef([ Data_Maybe.Nothing.value ])(); - return { - schema: new LambdaCube_PipelineSchema.PipelineSchema(v.value0), - slotMap: sm, - slotVector: v2, - objSeed: v3, - uniformSetter: v1.value0, - uniformSetup: v1.value1, - screenSize: v4, - pipelines: v5 - }; + var len = Data_StrMap.size(v.value0.objectArrays); + var sm = Data_StrMap.fromFoldable(Data_List_Types.foldableList)(Data_List.zip(Data_List.fromFoldable(Data_Foldable.foldableArray)(Data_StrMap.keys(v.value0.objectArrays)))(Data_List.range(0)(len))); + return function __do() { + var v1 = mkUniform(Data_StrMap.toUnfoldable(Data_Unfoldable.unfoldableArray)(v.value0.uniforms))(); + var v2 = Data_Unfoldable.replicateA(Control_Monad_Eff.applicativeEff)(Data_Unfoldable.unfoldableArray)(Data_Traversable.traversableArray)(len)(Control_Monad_Eff_Ref.newRef({ + objectMap: Data_Map.empty, + sortedObjects: [ ], + orderJob: LambdaCube_WebGL_Type.Ordered.value + }))(); + var v3 = Control_Monad_Eff_Ref.newRef(0)(); + var v4 = Control_Monad_Eff_Ref.newRef(new LambdaCube_LinearBase.V2(0, 0))(); + var v5 = Control_Monad_Eff_Ref.newRef([ Data_Maybe.Nothing.value ])(); + return { + schema: new LambdaCube_PipelineSchema.PipelineSchema(v.value0), + slotMap: sm, + slotVector: v2, + objSeed: v3, + uniformSetter: v1.value0, + uniformSetup: v1.value1, + screenSize: v4, + pipelines: v5 }; - }); + }; }; var createObjectCommands = function (texUnitMap) { return function (topUnis) { @@ -11880,14 +11936,14 @@ var PS = {}; var uniMap = Data_StrMap.toUnfoldable(Data_Unfoldable.unfoldableArray)(prg.inputUniforms); var uniCmds = Data_Function.flip(Data_Functor.map(Data_Functor.functorArray))(uniMap)(function (v) { return LambdaCube_WebGL_Type.GLSetUniform.create(v.value1)((function () { - var $145 = Data_StrMap.lookup(v.value0)(obj.uniSetup); - if ($145 instanceof Data_Maybe.Nothing) { + var v1 = Data_StrMap.lookup(v.value0)(obj.uniSetup); + if (v1 instanceof Data_Maybe.Nothing) { return Data_StrMap_Unsafe.unsafeIndex(topUnis)(v.value0); }; - if ($145 instanceof Data_Maybe.Just) { - return $145.value0; + if (v1 instanceof Data_Maybe.Just) { + return v1.value0; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 281, column 53 - line 283, column 23: " + [ $145.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 274, column 70 - line 276, column 23: " + [ v1.constructor.name ]); })()); }); var topUni = function (n) { @@ -11895,69 +11951,65 @@ var PS = {}; }; var texCmds = Data_Function.flip(Data_Functor.map(Data_Functor.functorArray))(prg.inputTextureUniforms)(function (n) { var u = (function () { - var $149 = Data_StrMap.lookup(n)(obj.uniSetup); - if ($149 instanceof Data_Maybe.Nothing) { + var v = Data_StrMap.lookup(n)(obj.uniSetup); + if (v instanceof Data_Maybe.Nothing) { return topUni(n); }; - if ($149 instanceof Data_Maybe.Just) { - return $149.value0; + if (v instanceof Data_Maybe.Just) { + return v.value0; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 285, column 19 - line 287, column 32: " + [ $149.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 278, column 19 - line 280, column 32: " + [ v.constructor.name ]); })(); var texUnit = Data_StrMap_Unsafe.unsafeIndex(texUnitMap)(n); return new LambdaCube_WebGL_Type.GLBindTexture(Graphics_WebGLRaw._TEXTURE_2D, texUnit, u); }); - return Partial_Unsafe.unsafePartial(function (dictPartial) { - return Data_Semigroup.append(Data_Semigroup.semigroupArray)(uniCmds)(texCmds); - }); + return Data_Semigroup.append(Data_Semigroup.semigroupArray)(uniCmds)(texCmds); })(); - var objStreamCmds = Partial_Unsafe.unsafePartial(function (dictPartial) { - return Data_Function.flip(Data_Functor.map(Data_Functor.functorArray))(Data_List.toUnfoldable(Data_Unfoldable.unfoldableArray)(Data_StrMap.values(prg.inputStreams)))(function (is) { - var s = Data_StrMap_Unsafe.unsafeIndex(obj.attributes)(is.slotAttribute); - if (s instanceof LambdaCube_WebGL_Type.Stream) { - var glType = LambdaCube_WebGL_Util.arrayTypeToGLType((s.value0.buffer.arrays[s.value0.arrIdx]).arrType); - var ptr = function (compCnt) { - return (s.value0.buffer.arrays[s.value0.arrIdx]).arrOffset + ((s.value0.start * compCnt | 0) * LambdaCube_WebGL_Type.sizeOfArrayType((s.value0.buffer.arrays[s.value0.arrIdx]).arrType) | 0) | 0; - }; - var setFloatAttrib = function (n) { - return new LambdaCube_WebGL_Type.GLSetVertexAttribArray(is.location, s.value0.buffer.glBuffer, n, glType, ptr(n)); + var objStreamCmds = Data_Function.flip(Data_Functor.map(Data_Functor.functorArray))(Data_StrMap.values(prg.inputStreams))(function (is) { + var x = Data_StrMap_Unsafe.unsafeIndex(obj.attributes)(is.slotAttribute); + if (x instanceof LambdaCube_WebGL_Type.Stream) { + var glType = LambdaCube_WebGL_Util.arrayTypeToGLType(x["value0"]["buffer"]["arrays"][x.value0.arrIdx].arrType); + var ptr = function (compCnt) { + return x["value0"]["buffer"]["arrays"][x.value0.arrIdx].arrOffset + ((x.value0.start * compCnt | 0) * LambdaCube_WebGL_Type.sizeOfArrayType(x["value0"]["buffer"]["arrays"][x.value0.arrIdx].arrType) | 0) | 0; + }; + var setFloatAttrib = function (n) { + return new LambdaCube_WebGL_Type.GLSetVertexAttribArray(is.location, x.value0.buffer.glBuffer, n, glType, ptr(n)); + }; + return setFloatAttrib((function () { + var __unused = function (dictPartial1) { + return function ($dollar41) { + return $dollar41; + }; }; - return setFloatAttrib((function () { - var __unused = function (dictPartial1) { - return function ($dollar39) { - return $dollar39; - }; + return __unused()((function () { + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_Float) { + return 1; }; - return __unused(dictPartial)((function () { - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_Float) { - return 1; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V2F) { - return 2; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V3F) { - return 3; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V4F) { - return 4; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M22F) { - return 4; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M33F) { - return 9; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M44F) { - return 16; - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 302, column 16 - line 310, column 13: " + [ s.value0.sType.constructor.name ]); - })()); + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V2F) { + return 2; + }; + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V3F) { + return 3; + }; + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V4F) { + return 4; + }; + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M22F) { + return 4; + }; + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M33F) { + return 9; + }; + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M44F) { + return 16; + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 295, column 33 - line 303, column 13: " + [ x.value0.sType.constructor.name ]); })()); - }; - return new LambdaCube_WebGL_Type.GLSetVertexAttrib(is.location, s); - }); + })()); + }; + return new LambdaCube_WebGL_Type.GLSetVertexAttrib(is.location, x); }); - var objDrawCmd = Partial_Unsafe.unsafePartial(function (dictPartial) { + var objDrawCmd = (function (dictPartial) { var streamLen = function (a) { if (a instanceof LambdaCube_WebGL_Type.Stream) { return [ a.value0.length ]; @@ -11965,17 +12017,17 @@ var PS = {}; return [ ]; }; var prim = LambdaCube_WebGL_Util.primitiveToGLType(obj.primitive); - var count = (Data_Array.concatMap(streamLen)(Data_List.toUnfoldable(Data_Unfoldable.unfoldableArray)(Data_StrMap.values(obj.attributes))))[0]; + var count = (Data_Array.concatMap(streamLen)(Data_StrMap.values(obj.attributes)))[0]; if (obj.indices instanceof Data_Maybe.Nothing) { return new LambdaCube_WebGL_Type.GLDrawArrays(prim, 0, count); }; if (obj.indices instanceof Data_Maybe.Just) { - var idxType = LambdaCube_WebGL_Util.arrayTypeToGLType((obj.indices.value0.buffer.arrays[obj.indices.value0.arrIdx]).arrType); - var ptr = (obj.indices.value0.buffer.arrays[obj.indices.value0.arrIdx]).arrOffset + (obj.indices.value0.start * LambdaCube_WebGL_Type.sizeOfArrayType((obj.indices.value0.buffer.arrays[obj.indices.value0.arrIdx]).arrType) | 0) | 0; + var idxType = LambdaCube_WebGL_Util.arrayTypeToGLType(obj["indices"]["value0"]["buffer"]["arrays"][obj.indices.value0.arrIdx].arrType); + var ptr = obj["indices"]["value0"]["buffer"]["arrays"][obj.indices.value0.arrIdx].arrOffset + (obj.indices.value0.start * LambdaCube_WebGL_Type.sizeOfArrayType(obj["indices"]["value0"]["buffer"]["arrays"][obj.indices.value0.arrIdx].arrType) | 0) | 0; return new LambdaCube_WebGL_Type.GLDrawElements(prim, obj.indices.value0.length, idxType, obj.indices.value0.buffer.glBuffer, ptr); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 267, column 10 - line 273, column 74: " + [ obj.indices.constructor.name ]); - }); + throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 260, column 10 - line 266, column 74: " + [ obj.indices.constructor.name ]); + })(); return Data_Array.concat([ objUniCmds, objStreamCmds, [ objDrawCmd ] ]); }; }; @@ -11987,114 +12039,112 @@ var PS = {}; return function (indices) { return function (attribs) { return function (uniformNames) { - return Partial_Unsafe.unsafePartial(function (dictPartial) { - return function __do() { - Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(uniformNames)(function (n) { - var $159 = Data_StrMap.lookup(n)(input.schema.value0.uniforms); - if ($159 instanceof Data_Maybe.Nothing) { - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("Unknown uniform: " + Data_Show.show(Data_Show.showString)(n))); - }; - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); - })(); - (function () { - var $160 = Data_StrMap.lookup(slotName)(input.schema.value0.objectArrays); - if ($160 instanceof Data_Maybe.Nothing) { - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("Unknown objectArray: " + slotName)); - }; - if ($160 instanceof Data_Maybe.Just) { - return function __do() { - Control_Applicative.when(Control_Monad_Eff.applicativeEff)(Data_Eq.notEq(LambdaCube_IR.eqFetchPrimitive)($160.value0.value0.primitive)(LambdaCube_WebGL_Util.primitiveToFetchPrimitive(prim)))(Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("Primitive mismatch for slot (" + (Data_Show.show(Data_Show.showString)(slotName) + (") expected " + (Data_Show.show(LambdaCube_IR.showFetchPrimitive)($160.value0.value0.primitive) + (" but got " + Data_Show.show(LambdaCube_WebGL_Type.showPrimitive)(prim))))))))(); - var sType = Data_Functor.map(Data_StrMap.functorStrMap)(LambdaCube_WebGL_Type.streamToStreamType)(attribs); - return Control_Applicative.when(Control_Monad_Eff.applicativeEff)(Data_Eq.notEq(Data_StrMap.eqStrMap(LambdaCube_PipelineSchema.eqStreamType))(sType)($160.value0.value0.attributes))(Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error(LambdaCube_WebGL_Util.unlines([ "Attribute stream mismatch for slot (" + (Data_Show.show(Data_Show.showString)(slotName) + ") expected "), Data_Show.show(Data_StrMap.showStrMap(LambdaCube_PipelineSchema.showStreamType))($160.value0.value0.attributes), " but got ", Data_Show.show(Data_StrMap.showStrMap(LambdaCube_PipelineSchema.showStreamType))(sType) ]))))(); - }; - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 77, column 5 - line 88, column 18: " + [ $160.constructor.name ]); - })()(); - var v1 = (function () { - var $163 = Data_StrMap.lookup(slotName)(input.slotMap); - if ($163 instanceof Data_Maybe.Nothing) { - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (slot index)")); - }; - if ($163 instanceof Data_Maybe.Just) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)($163.value0); - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 90, column 16 - line 92, column 24: " + [ $163.constructor.name ]); - })()(); - var v2 = Control_Monad_Eff_Ref.newRef(0)(); - var v3 = Control_Monad_Eff_Ref.newRef(true)(); - var v4 = Control_Monad_Eff_Ref.readRef(input.objSeed)(); - Control_Monad_Eff_Ref.modifyRef(input.objSeed)(function (x) { - return 1 + x | 0; - })(); - var v5 = Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(mkUniform)(Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)(uniformNames)(function (n) { - var $169 = Data_StrMap.lookup(n)(input.schema.value0.uniforms); - if ($169 instanceof Data_Maybe.Nothing) { - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (uniform setter not found)")); - }; - if ($169 instanceof Data_Maybe.Just) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(n, $169.value0)); - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 97, column 67 - line 99, column 33: " + [ $169.constructor.name ]); - }))(); - var v6 = Control_Monad_Eff_Ref.newRef([ [ ] ])(); - var obj = { - slot: v1, - primitive: prim, - indices: indices, - attributes: attribs, - uniSetter: v5.value0, - uniSetup: v5.value1, - order: v2, - enabled: v3, - id: v4, - commands: v6 + return function __do() { + Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(uniformNames)(function (n) { + var v1 = Data_StrMap.lookup(n)(input.schema.value0.uniforms); + if (v1 instanceof Data_Maybe.Nothing) { + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("Unknown uniform: " + Data_Show.show(Data_Show.showString)(n))); }; - Control_Monad_Eff_Ref.modifyRef(input.slotVector[v1])(function (s) { - return { - objectMap: Data_Map.insert(Data_Ord.ordInt)(v4)(obj)(s.objectMap), - sortedObjects: [ ], - orderJob: LambdaCube_WebGL_Type.Generate.value - }; - })(); - var v7 = Control_Monad_Eff_Ref.readRef(input.pipelines)(); - var v8 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)(v7)(function (mp) { - if (mp instanceof Data_Maybe.Nothing) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)([ ]); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); + })(); + (function () { + var v1 = Data_StrMap.lookup(slotName)(input.schema.value0.objectArrays); + if (v1 instanceof Data_Maybe.Nothing) { + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("Unknown objectArray: " + slotName)); + }; + if (v1 instanceof Data_Maybe.Just) { + return function __do() { + Control_Applicative.when(Control_Monad_Eff.applicativeEff)(Data_Eq.notEq(LambdaCube_IR.eqFetchPrimitive)(v1.value0.value0.primitive)(LambdaCube_WebGL_Util.primitiveToFetchPrimitive(prim)))(Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("Primitive mismatch for slot (" + (Data_Show.show(Data_Show.showString)(slotName) + (") expected " + (Data_Show.show(LambdaCube_IR.showFetchPrimitive)(v1.value0.value0.primitive) + (" but got " + Data_Show.show(LambdaCube_WebGL_Type.showPrimitive)(prim))))))))(); + var sType = Data_Functor.map(Data_StrMap.functorStrMap)(LambdaCube_WebGL_Type.streamToStreamType)(attribs); + return Control_Applicative.when(Control_Monad_Eff.applicativeEff)(Data_Eq.notEq(Data_StrMap.eqStrMap(LambdaCube_PipelineSchema.eqStreamType))(sType)(v1.value0.value0.attributes))(Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error(LambdaCube_WebGL_Util.unlines([ "Attribute stream mismatch for slot (" + (Data_Show.show(Data_Show.showString)(slotName) + ") expected "), Data_Show.show(Data_StrMap.showStrMap(LambdaCube_PipelineSchema.showStreamType))(v1.value0.value0.attributes), " but got ", Data_Show.show(Data_StrMap.showStrMap(LambdaCube_PipelineSchema.showStreamType))(sType) ]))))(); }; - if (mp instanceof Data_Maybe.Just) { - return function __do() { - var v8 = Control_Monad_Eff_Ref.readRef(mp.value0.input)(); - var __unused = function (dictPartial1) { - return function ($dollar45) { - return $dollar45; - }; + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 70, column 5 - line 81, column 18: " + [ v1.constructor.name ]); + })()(); + var v1 = (function () { + var v1 = Data_StrMap.lookup(slotName)(input.slotMap); + if (v1 instanceof Data_Maybe.Nothing) { + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (slot index)")); + }; + if (v1 instanceof Data_Maybe.Just) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(v1.value0); + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 83, column 16 - line 85, column 24: " + [ v1.constructor.name ]); + })()(); + var v2 = Control_Monad_Eff_Ref.newRef(0)(); + var v3 = Control_Monad_Eff_Ref.newRef(true)(); + var v4 = Control_Monad_Eff_Ref.readRef(input.objSeed)(); + Control_Monad_Eff_Ref.modifyRef(input.objSeed)(function (x) { + return 1 + x | 0; + })(); + var v5 = Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(mkUniform)(Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)(uniformNames)(function (n) { + var v5 = Data_StrMap.lookup(n)(input.schema.value0.uniforms); + if (v5 instanceof Data_Maybe.Nothing) { + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (uniform setter not found)")); + }; + if (v5 instanceof Data_Maybe.Just) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(n, v5.value0)); + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 90, column 67 - line 92, column 33: " + [ v5.constructor.name ]); + }))(); + var v6 = Control_Monad_Eff_Ref.newRef([ [ ] ])(); + var obj = { + slot: v1, + primitive: prim, + indices: indices, + attributes: attribs, + uniSetter: v5.value0, + uniSetup: v5.value1, + order: v2, + enabled: v3, + id: v4, + commands: v6 + }; + Control_Monad_Eff_Ref.modifyRef(input["slotVector"][v1])(function (s) { + return { + objectMap: Data_Map.insert(Data_Ord.ordInt)(v4)(obj)(s.objectMap), + sortedObjects: [ ], + orderJob: LambdaCube_WebGL_Type.Generate.value + }; + })(); + var v7 = Control_Monad_Eff_Ref.readRef(input.pipelines)(); + var v8 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)(v7)(function (mp) { + if (mp instanceof Data_Maybe.Nothing) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)([ ]); + }; + if (mp instanceof Data_Maybe.Just) { + return function __do() { + var v8 = Control_Monad_Eff_Ref.readRef(mp.value0.input)(); + var __unused = function (dictPartial1) { + return function ($dollar47) { + return $dollar47; }; - return __unused(dictPartial)((function () { - if (v8 instanceof Data_Maybe.Just) { - if (v8.value0.value0.slotMapInputToPipeline[v1] instanceof Data_Maybe.Nothing) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)([ ]); - }; - if (v8.value0.value0.slotMapInputToPipeline[v1] instanceof Data_Maybe.Just) { - var emptyV = Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(Data_Array.length(mp.value0.programs))([ ]); - var addCmds = function (v9) { - return function (prgIdx) { - return Data_Maybe.fromJust(dictPartial)(Data_Array.updateAt(prgIdx)(createObjectCommands(mp.value0.texUnitMapping)(input.uniformSetup)(obj)(mp.value0.programs[prgIdx]))(v9)); - }; + }; + return __unused()((function () { + if (v8 instanceof Data_Maybe.Just) { + if (v8["value0"]["value0"]["slotMapInputToPipeline"][v1] instanceof Data_Maybe.Nothing) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)([ ]); + }; + if (v8["value0"]["value0"]["slotMapInputToPipeline"][v1] instanceof Data_Maybe.Just) { + var emptyV = Data_Array.replicate(Data_Array.length(mp.value0.programs))([ ]); + var addCmds = function (v10) { + return function (prgIdx) { + return Data_Maybe.fromJust()(Data_Array.updateAt(prgIdx)(createObjectCommands(mp.value0.texUnitMapping)(input.uniformSetup)(obj)(mp["value0"]["programs"][prgIdx]))(v10)); }; - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldl(Data_Foldable.foldableArray)(addCmds)(emptyV)(mp.value0.slotPrograms[(v8.value0.value0.slotMapInputToPipeline[v1]).value0])); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 127, column 13 - line 133, column 88: " + [ (v8.value0.value0.slotMapInputToPipeline[v1]).constructor.name ]); + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldl(Data_Foldable.foldableArray)(addCmds)(emptyV)(mp["value0"]["slotPrograms"][v8["value0"]["value0"]["slotMapInputToPipeline"][v1].value0])); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 125, column 20 - line 133, column 88: " + [ v8.constructor.name ]); - })())(); - }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 120, column 13 - line 126, column 88: " + [ v8["value0"]["value0"]["slotMapInputToPipeline"][v1].constructor.name ]); + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 119, column 13 - line 119, column 57: " + [ v8.constructor.name ]); + })())(); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 123, column 31 - line 133, column 88: " + [ mp.constructor.name ]); - })(); - Control_Monad_Eff_Ref.writeRef(v6)(v8)(); - return obj; - }; - }); + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Input line 116, column 31 - line 126, column 88: " + [ mp.constructor.name ]); + })(); + Control_Monad_Eff_Ref.writeRef(v6)(v8)(); + return obj; + }; }; }; }; @@ -12108,165 +12158,53 @@ var PS = {}; exports["nullSetter"] = nullSetter; exports["setScreenSize"] = setScreenSize; exports["sortSlotObjects"] = sortSlotObjects; - exports["uniformFTexture2D"] = uniformFTexture2D; - exports["uniformFloat"] = uniformFloat; - exports["uniformV2F"] = uniformV2F; -})(PS["LambdaCube.WebGL.Input"] = PS["LambdaCube.WebGL.Input"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var Prelude = PS["Prelude"]; - var Control_Monad_Eff_Console = PS["Control.Monad.Eff.Console"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Monad_Eff = PS["Control.Monad.Eff"]; - var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; - var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; - var Graphics_WebGLTexture = PS["Graphics.WebGLTexture"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Array = PS["Data.Array"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Traversable = PS["Data.Traversable"]; - var LambdaCube_IR = PS["LambdaCube.IR"]; - var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; - var LambdaCube_WebGL_Type = PS["LambdaCube.WebGL.Type"]; - var LambdaCube_WebGL_Util = PS["LambdaCube.WebGL.Util"]; - var Control_Bind = PS["Control.Bind"]; - var Data_Function = PS["Data.Function"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Semiring = PS["Data.Semiring"]; - var uploadTexture2DToGPU = function (name) { - return function (action) { - return function __do() { - var v = Graphics_WebGLRaw.createTexture_(); - return LambdaCube_WebGL_Util.loadImage_(name)(function (image) { - return function __do() { - Graphics_WebGLRaw.bindTexture_(Graphics_WebGLRaw._TEXTURE_2D)(v)(); - Graphics_WebGLRaw.texParameteri_(Graphics_WebGLRaw._TEXTURE_2D)(Graphics_WebGLRaw._TEXTURE_MAG_FILTER)(Graphics_WebGLRaw._LINEAR)(); - Graphics_WebGLRaw.texParameteri_(Graphics_WebGLRaw._TEXTURE_2D)(Graphics_WebGLRaw._TEXTURE_MIN_FILTER)(Graphics_WebGLRaw._LINEAR)(); - Graphics_WebGLRaw.pixelStorei_(Graphics_WebGLRaw._UNPACK_FLIP_Y_WEBGL)(1)(); - Graphics_WebGLRaw.pixelStorei_(Graphics_WebGLRaw._UNPACK_PREMULTIPLY_ALPHA_WEBGL)(0)(); - LambdaCube_WebGL_Util.texImage2D__(Graphics_WebGLRaw._TEXTURE_2D)(0)(Graphics_WebGLRaw._RGBA)(Graphics_WebGLRaw._RGBA)(Graphics_WebGLRaw._UNSIGNED_BYTE)(image)(); - Graphics_WebGLTexture.unbindTexture(Graphics_WebGLTexture.TEXTURE_2D.value)(); - return action(new LambdaCube_WebGL_Type.TextureData(v))(); - }; - })(); - }; - }; - }; - var compileBuffer = function (arrs) { - var offsets = Data_Semigroup.append(Data_Semigroup.semigroupArray)([ 0 ])(Data_Traversable.scanl(Data_Traversable.traversableArray)(function (s) { - return function (v) { - return s + (LambdaCube_WebGL_Type.sizeOfArrayType(v.value0) * Data_Array.length(v.value1) | 0) | 0; - }; - })(0)(arrs)); - var size = (function () { - var $19 = Data_Array.last(offsets); - if ($19 instanceof Data_Maybe.Just) { - return $19.value0; - }; - if ($19 instanceof Data_Maybe.Nothing) { - return 0; - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Data line 25, column 16 - line 28, column 5: " + [ $19.constructor.name ]); - })(); - return function __do() { - var v = LambdaCube_WebGL_Util.newArrayBuffer(size)(); - var v1 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)(Data_Array.zip(arrs)(Data_Array.take(Data_Array.length(arrs))(offsets)))(function (v1) { - var newView = (function () { - if (v1.value0.value0 instanceof LambdaCube_WebGL_Type.ArrWord8) { - return LambdaCube_WebGL_Util.newWord8View; - }; - if (v1.value0.value0 instanceof LambdaCube_WebGL_Type.ArrWord16) { - return LambdaCube_WebGL_Util.newWord16View; - }; - if (v1.value0.value0 instanceof LambdaCube_WebGL_Type.ArrInt8) { - return LambdaCube_WebGL_Util.newInt8View; - }; - if (v1.value0.value0 instanceof LambdaCube_WebGL_Type.ArrInt16) { - return LambdaCube_WebGL_Util.newInt16View; - }; - if (v1.value0.value0 instanceof LambdaCube_WebGL_Type.ArrFloat) { - return LambdaCube_WebGL_Util.newFloatView; - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Data line 32, column 21 - line 37, column 38: " + [ v1.value0.value0.constructor.name ]); - })(); - var len = Data_Array.length(v1.value0.value1); - var bytes = len * LambdaCube_WebGL_Type.sizeOfArrayType(v1.value0.value0) | 0; - return function __do() { - var v2 = newView(v)(v1.value1)(len)(); - LambdaCube_WebGL_Util.setArrayView(v2)(v1.value0.value1)(); - return { - arrType: v1.value0.value0, - arrLength: len, - arrOffset: v1.value1, - arrSize: bytes, - arrView: v2 - }; - }; - })(); - var v2 = Graphics_WebGLRaw.createBuffer_(); - Graphics_WebGLRaw.bindBuffer_(Graphics_WebGLRaw._ARRAY_BUFFER)(v2)(); - LambdaCube_WebGL_Util.bufferDataAlloc(Graphics_WebGLRaw._ARRAY_BUFFER)(size)(Graphics_WebGLRaw._STATIC_DRAW)(); - LambdaCube_WebGL_Util.bufferSubDataArrayBuffer(Graphics_WebGLRaw._ARRAY_BUFFER)(0)(v)(); - Graphics_WebGLRaw.bindBuffer_(Graphics_WebGLRaw._ARRAY_BUFFER)(LambdaCube_WebGL_Util.nullWebGLBuffer)(); - return { - arrays: v1, - glBuffer: v2, - buffer: v - }; - }; - }; - exports["compileBuffer"] = compileBuffer; - exports["uploadTexture2DToGPU"] = uploadTexture2DToGPU; -})(PS["LambdaCube.WebGL.Data"] = PS["LambdaCube.WebGL.Data"] || {}); + exports["uniformFTexture2D"] = uniformFTexture2D; + exports["uniformFloat"] = uniformFloat; + exports["uniformV2F"] = uniformV2F; +})(PS["LambdaCube.WebGL.Input"] = PS["LambdaCube.WebGL.Input"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["LambdaCube.WebGL.Backend"]; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Console = PS["Control.Monad.Eff.Console"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_Int_Bits = PS["Data.Int.Bits"]; - var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; - var Control_Monad_Eff_WebGL = PS["Control.Monad.Eff.WebGL"]; var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; - var Control_Monad_Eff = PS["Control.Monad.Eff"]; - var Control_Monad = PS["Control.Monad"]; - var Control_Bind = PS["Control.Bind"]; + var Data_Array = PS["Data.Array"]; + var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; + var Data_Eq = PS["Data.Eq"]; + var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Foldable = PS["Data.Foldable"]; - var Data_Traversable = PS["Data.Traversable"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; + var Data_Int_Bits = PS["Data.Int.Bits"]; + var Data_List = PS["Data.List"]; + var Data_List_Types = PS["Data.List.Types"]; + var Data_Map = PS["Data.Map"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Ring = PS["Data.Ring"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Show = PS["Data.Show"]; var Data_StrMap = PS["Data.StrMap"]; var Data_StrMap_Unsafe = PS["Data.StrMap.Unsafe"]; - var Data_Map = PS["Data.Map"]; + var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; - var Data_Int = PS["Data.Int"]; - var Data_Array = PS["Data.Array"]; - var Data_List = PS["Data.List"]; var Data_Unfoldable = PS["Data.Unfoldable"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; + var Data_Unit = PS["Data.Unit"]; + var Graphics_WebGLRaw = PS["Graphics.WebGLRaw"]; var LambdaCube_IR = PS["LambdaCube.IR"]; var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; var LambdaCube_PipelineSchema = PS["LambdaCube.PipelineSchema"]; + var LambdaCube_WebGL_Data = PS["LambdaCube.WebGL.Data"]; + var LambdaCube_WebGL_Input = PS["LambdaCube.WebGL.Input"]; var LambdaCube_WebGL_Type = PS["LambdaCube.WebGL.Type"]; var LambdaCube_WebGL_Util = PS["LambdaCube.WebGL.Util"]; - var LambdaCube_WebGL_Input = PS["LambdaCube.WebGL.Input"]; - var LambdaCube_WebGL_Data = PS["LambdaCube.WebGL.Data"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Unit = PS["Data.Unit"]; - var Data_Function = PS["Data.Function"]; - var Data_List_Types = PS["Data.List.Types"]; - var Data_Semiring = PS["Data.Semiring"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Ring = PS["Data.Ring"]; - var Data_EuclideanRing = PS["Data.EuclideanRing"]; - var Data_Show = PS["Data.Show"]; + var Partial_Unsafe = PS["Partial.Unsafe"]; + var Prelude = PS["Prelude"]; var setupRasterContext = (function () { var setPointSize = function (ps) { if (ps instanceof LambdaCube_IR.ProgramPointSize) { @@ -12275,7 +12213,7 @@ var PS = {}; if (ps instanceof LambdaCube_IR.PointSize) { return Control_Monad_Eff_Console.error("PointSize is not supported!"); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 52, column 23 - line 56, column 5: " + [ ps.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 43, column 23 - line 47, column 5: " + [ ps.constructor.name ]); }; var cff = function (v) { if (v instanceof LambdaCube_IR.CCW) { @@ -12284,7 +12222,7 @@ var PS = {}; if (v instanceof LambdaCube_IR.CW) { return Graphics_WebGLRaw._CW; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 40, column 5 - line 40, column 22: " + [ v.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 31, column 5 - line 31, column 22: " + [ v.constructor.name ]); }; var cvt = function (v) { if (v instanceof LambdaCube_IR.PointCtx) { @@ -12313,7 +12251,7 @@ var PS = {}; return Graphics_WebGLRaw.frontFace_(cff(v.value0.value0))(); }; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 72, column 9 - line 81, column 38: " + [ v.value0.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 63, column 9 - line 72, column 38: " + [ v.value0.constructor.name ]); })()(); Graphics_WebGLRaw.disable_(Graphics_WebGLRaw._POLYGON_OFFSET_FILL)(); if (v.value2 instanceof LambdaCube_IR.NoOffset) { @@ -12323,10 +12261,10 @@ var PS = {}; Graphics_WebGLRaw.polygonOffset_(v.value2.value0)(v.value2.value1)(); return Graphics_WebGLRaw.enable_(Graphics_WebGLRaw._POLYGON_OFFSET_FILL)(); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 99, column 9 - line 103, column 51: " + [ v.value2.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 90, column 9 - line 94, column 51: " + [ v.value2.constructor.name ]); }; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 57, column 5 - line 58, column 24: " + [ v.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 48, column 5 - line 49, column 24: " + [ v.constructor.name ]); }; return cvt; })(); @@ -12353,7 +12291,7 @@ var PS = {}; return Graphics_WebGLRaw.blendFuncSeparate_(LambdaCube_WebGL_Util.blendingFactorToGLType(v2.value0.value0.value0.colorFSrc))(LambdaCube_WebGL_Util.blendingFactorToGLType(v2.value0.value0.value0.colorFDst))(LambdaCube_WebGL_Util.blendingFactorToGLType(v2.value0.value0.value0.alphaFSrc))(LambdaCube_WebGL_Util.blendingFactorToGLType(v2.value0.value0.value0.alphaFDst))(); }; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 137, column 9 - line 157, column 127: " + [ v2.value0.value0.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 128, column 9 - line 148, column 127: " + [ v2.value0.value0.constructor.name ]); })()(); (function () { if (v2.value0.value1 instanceof LambdaCube_IR.VBool) { @@ -12379,7 +12317,7 @@ var PS = {}; if (v2 instanceof Data_List_Types.Nil) { return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 135, column 5 - line 164, column 24: " + [ v1.constructor.name, v2.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 126, column 5 - line 155, column 24: " + [ v1.constructor.name, v2.constructor.name ]); }; }; var cvt = function (v1) { @@ -12394,18 +12332,18 @@ var PS = {}; Graphics_WebGLRaw.disable_(Graphics_WebGLRaw._STENCIL_TEST)(); var glDF = LambdaCube_WebGL_Util.comparisonFunctionToGLType(v1.value0.value0); (function () { - var $163 = glDF === LambdaCube_WebGL_Util.comparisonFunctionToGLType(LambdaCube_IR.Always.value) && v1.value0.value1 === false; - if ($163) { + var v2 = glDF === LambdaCube_WebGL_Util.comparisonFunctionToGLType(LambdaCube_IR.Always.value) && v1.value0.value1 === false; + if (v2) { return Graphics_WebGLRaw.disable_(Graphics_WebGLRaw._DEPTH_TEST); }; - if (!$163) { + if (!v2) { return function __do() { Graphics_WebGLRaw.enable_(Graphics_WebGLRaw._DEPTH_TEST)(); Graphics_WebGLRaw.depthFunc_(glDF)(); return Graphics_WebGLRaw.depthMask_(v1.value0.value1)(); }; }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 122, column 9 - line 127, column 33: " + [ $163.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 113, column 9 - line 118, column 33: " + [ v2.constructor.name ]); })()(); return cvtC(0)(v1.value1)(); }; @@ -12474,55 +12412,51 @@ var PS = {}; var texUnit = Data_StrMap_Unsafe.unsafeIndex(texUnitMap)(n); return new LambdaCube_WebGL_Type.GLBindTexture(Graphics_WebGLRaw._TEXTURE_2D, texUnit, u); }); - return Partial_Unsafe.unsafePartial(function (dictPartial) { - return Data_Semigroup.append(Data_Semigroup.semigroupArray)(uniCmds)(texCmds); - }); + return Data_Semigroup.append(Data_Semigroup.semigroupArray)(uniCmds)(texCmds); })(); - var streamCmds = Partial_Unsafe.unsafePartial(function (dictPartial) { - return Data_Function.flip(Data_Functor.map(Data_Functor.functorArray))(Data_List.toUnfoldable(Data_Unfoldable.unfoldableArray)(Data_StrMap.values(prg.inputStreams)))(function (is) { - var s = Data_StrMap_Unsafe.unsafeIndex(attrs)(is.slotAttribute); - if (s instanceof LambdaCube_WebGL_Type.Stream) { - var glType = LambdaCube_WebGL_Util.arrayTypeToGLType((s.value0.buffer.arrays[s.value0.arrIdx]).arrType); - var ptr = function (compCnt) { - return (s.value0.buffer.arrays[s.value0.arrIdx]).arrOffset + ((s.value0.start * compCnt | 0) * LambdaCube_WebGL_Type.sizeOfArrayType((s.value0.buffer.arrays[s.value0.arrIdx]).arrType) | 0) | 0; - }; - var setFloatAttrib = function (n) { - return new LambdaCube_WebGL_Type.GLSetVertexAttribArray(is.location, s.value0.buffer.glBuffer, n, glType, ptr(n)); + var streamCmds = Data_Function.flip(Data_Functor.map(Data_Functor.functorArray))(Data_StrMap.values(prg.inputStreams))(function (is) { + var x = Data_StrMap_Unsafe.unsafeIndex(attrs)(is.slotAttribute); + if (x instanceof LambdaCube_WebGL_Type.Stream) { + var glType = LambdaCube_WebGL_Util.arrayTypeToGLType(x["value0"]["buffer"]["arrays"][x.value0.arrIdx].arrType); + var ptr = function (compCnt) { + return x["value0"]["buffer"]["arrays"][x.value0.arrIdx].arrOffset + ((x.value0.start * compCnt | 0) * LambdaCube_WebGL_Type.sizeOfArrayType(x["value0"]["buffer"]["arrays"][x.value0.arrIdx].arrType) | 0) | 0; + }; + var setFloatAttrib = function (n) { + return new LambdaCube_WebGL_Type.GLSetVertexAttribArray(is.location, x.value0.buffer.glBuffer, n, glType, ptr(n)); + }; + return setFloatAttrib((function () { + var __unused = function (dictPartial1) { + return function ($dollar82) { + return $dollar82; + }; }; - return setFloatAttrib((function () { - var __unused = function (dictPartial1) { - return function ($dollar83) { - return $dollar83; - }; + return __unused()((function () { + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_Float) { + return 1; }; - return __unused(dictPartial)((function () { - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_Float) { - return 1; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V2F) { - return 2; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V3F) { - return 3; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V4F) { - return 4; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M22F) { - return 4; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M33F) { - return 9; - }; - if (s.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M44F) { - return 16; - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 381, column 16 - line 389, column 13: " + [ s.value0.sType.constructor.name ]); - })()); + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V2F) { + return 2; + }; + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V3F) { + return 3; + }; + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_V4F) { + return 4; + }; + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M22F) { + return 4; + }; + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M33F) { + return 9; + }; + if (x.value0.sType instanceof LambdaCube_PipelineSchema.Attribute_M44F) { + return 16; + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 371, column 33 - line 379, column 13: " + [ x.value0.sType.constructor.name ]); })()); - }; - return new LambdaCube_WebGL_Type.GLSetVertexAttrib(is.location, s); - }); + })()); + }; + return new LambdaCube_WebGL_Type.GLSetVertexAttrib(is.location, x); }); var drawCmd = (function () { var streamLen = function (a) { @@ -12532,9 +12466,7 @@ var PS = {}; return [ ]; }; var prim = LambdaCube_WebGL_Util.primitiveToGLType(primitive); - var count = Partial_Unsafe.unsafePartial(function (dictPartial) { - return (Data_Array.concatMap(streamLen)(Data_List.toUnfoldable(Data_Unfoldable.unfoldableArray)(Data_StrMap.values(attrs))))[0]; - }); + var count = (Data_Array.concatMap(streamLen)(Data_StrMap.values(attrs)))[0]; return new LambdaCube_WebGL_Type.GLDrawArrays(prim, 0, count); })(); return Data_Semigroup.append(Data_Semigroup.semigroupArray)(Data_Semigroup.append(Data_Semigroup.semigroupArray)(streamUniCmds)(streamCmds))([ drawCmd ]); @@ -12543,114 +12475,112 @@ var PS = {}; }; }; }; - var setPipelineInput = function (p) { + var setPipelineInput = function (pl) { return function (input$prime) { - return Partial_Unsafe.unsafePartial(function (dictPartial) { - return function __do() { - var v = Control_Monad_Eff_Ref.readRef(p.input)(); - (function () { - if (v instanceof Data_Maybe.Nothing) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); - }; - if (v instanceof Data_Maybe.Just) { - return function __do() { - Control_Monad_Eff_Ref.modifyRef(v.value0.value0.input.pipelines)(function (v1) { - return Data_Maybe.fromJust(dictPartial)(Data_Array.updateAt(v.value0.value0.id)(Data_Maybe.Nothing.value)(v1)); - })(); - return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(v.value0.value0.slotMapPipelineToInput)(function (slotIdx) { - return function __do() { - var v1 = Control_Monad_Eff_Ref.readRef(v.value0.value0.input.slotVector[slotIdx])(); - return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_List_Types.foldableList)(Data_Map.values(v1.objectMap))(function (obj) { - return Control_Monad_Eff_Ref.modifyRef(obj.commands)(function (v2) { - return Data_Maybe.fromJust(dictPartial)(Data_Array.updateAt(v.value0.value0.id)([ ])(v2)); - }); - })(); - }; - })(); - }; - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 530, column 5 - line 537, column 82: " + [ v.constructor.name ]); - })()(); - if (input$prime instanceof Data_Maybe.Nothing) { - return Control_Monad_Eff_Ref.writeRef(p.input)(Data_Maybe.Nothing.value)(); + return function __do() { + var v = Control_Monad_Eff_Ref.readRef(pl.input)(); + (function () { + if (v instanceof Data_Maybe.Nothing) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); }; - if (input$prime instanceof Data_Maybe.Just) { - var v1 = Control_Monad_Eff_Ref.readRef(input$prime.value0.pipelines)(); - var v2 = (function () { - var $211 = Data_Array.findIndex(Data_Maybe.isNothing)(v1); - if ($211 instanceof Data_Maybe.Nothing) { - var len = Data_Array.length(v1); - return function __do() { - Control_Monad_Eff_Ref.modifyRef(input$prime.value0.pipelines)(function (v2) { - return Data_Maybe.fromJust(dictPartial)(Data_Array.updateAt(len)(new Data_Maybe.Just(p))(Data_Array.concat([ v2, Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(len)(Data_Maybe.Nothing.value) ]))); - })(); - return new Data_Tuple.Tuple(len, new Data_Maybe.Just(len)); - }; - }; - if ($211 instanceof Data_Maybe.Just) { + if (v instanceof Data_Maybe.Just) { + return function __do() { + Control_Monad_Eff_Ref.modifyRef(v.value0.value0.input.pipelines)(function (v1) { + return Data_Maybe.fromJust()(Data_Array.updateAt(v.value0.value0.id)(Data_Maybe.Nothing.value)(v1)); + })(); + return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(v.value0.value0.slotMapPipelineToInput)(function (slotIdx) { return function __do() { - Control_Monad_Eff_Ref.modifyRef(input$prime.value0.pipelines)(function (v2) { - return Data_Maybe.fromJust(dictPartial)(Data_Array.updateAt($211.value0)(new Data_Maybe.Just(p))(v2)); + var v1 = Control_Monad_Eff_Ref.readRef(v["value0"]["value0"]["input"]["slotVector"][slotIdx])(); + return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_List_Types.foldableList)(Data_Map.values(v1.objectMap))(function (obj) { + return Control_Monad_Eff_Ref.modifyRef(obj.commands)(function (v2) { + return Data_Maybe.fromJust()(Data_Array.updateAt(v.value0.value0.id)([ ])(v2)); + }); })(); - return new Data_Tuple.Tuple($211.value0, Data_Maybe.Nothing.value); }; + })(); + }; + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 520, column 5 - line 527, column 82: " + [ v.constructor.name ]); + })()(); + if (input$prime instanceof Data_Maybe.Nothing) { + return Control_Monad_Eff_Ref.writeRef(pl.input)(Data_Maybe.Nothing.value)(); + }; + if (input$prime instanceof Data_Maybe.Just) { + var v1 = Control_Monad_Eff_Ref.readRef(input$prime.value0.pipelines)(); + var v2 = (function () { + var v2 = Data_Array.findIndex(Data_Maybe.isNothing)(v1); + if (v2 instanceof Data_Maybe.Nothing) { + var len = Data_Array.length(v1); + return function __do() { + Control_Monad_Eff_Ref.modifyRef(input$prime.value0.pipelines)(function (v3) { + return Data_Maybe.fromJust()(Data_Array.updateAt(len)(new Data_Maybe.Just(pl))(Data_Array.concat([ v3, Data_Array.replicate(len)(Data_Maybe.Nothing.value) ]))); + })(); + return new Data_Tuple.Tuple(len, new Data_Maybe.Just(len)); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 549, column 39 - line 557, column 43: " + [ $211.constructor.name ]); - })()(); - var v3 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)(p.slotNames)(function (n) { - var $214 = Data_StrMap.lookup(n)(input$prime.value0.slotMap); - if ($214 instanceof Data_Maybe.Nothing) { - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error: unknown slot name in input")); - }; - if ($214 instanceof Data_Maybe.Just) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)($214.value0); - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 559, column 45 - line 561, column 31: " + [ $214.constructor.name ]); - })(); - var iToP = Data_Foldable.foldr(Data_Foldable.foldableArray)(function (v4) { - return function (p1) { - return Data_Maybe.fromJust(dictPartial)(Data_Array.updateAt(v4.value1)(new Data_Maybe.Just(v4.value0))(p1)); - }; - })(Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(Data_Maybe.fromJust(dictPartial)(Data_Int.fromNumber(Data_StrMap.size(input$prime.value0.slotMap))))(Data_Maybe.Nothing.value))(Data_Array.zip(Data_Array.range(0)(Data_Array.length(v3)))(v3)); - Control_Monad_Eff_Ref.writeRef(p.input)(Data_Maybe.Just.create(new LambdaCube_WebGL_Type.InputConnection({ - id: v2.value0, - input: input$prime.value0, - slotMapPipelineToInput: v3, - slotMapInputToPipeline: iToP - })))(); - var extend = function (v4) { - if (v2.value1 instanceof Data_Maybe.Nothing) { - return v4; - }; - if (v2.value1 instanceof Data_Maybe.Just) { - return Data_Array.concat([ v4, Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(v2.value1.value0)([ ]) ]); - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 575, column 28 - line 577, column 57: " + [ v2.value1.constructor.name ]); }; - var emptyV = Data_Unfoldable.replicate(Data_Unfoldable.unfoldableArray)(Data_Array.length(p.programs))([ ]); - Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(Data_Array.zip(v3)(p.slotPrograms))(function (v4) { + if (v2 instanceof Data_Maybe.Just) { return function __do() { - var v5 = Control_Monad_Eff_Ref.readRef(input$prime.value0.slotVector[v4.value0])(); - return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_List_Types.foldableList)(Data_Map.values(v5.objectMap))(function (obj) { - var updateCmds = function (v6) { - return function (prgIdx) { - return Data_Maybe.fromJust(dictPartial)(Data_Array.updateAt(prgIdx)(LambdaCube_WebGL_Input.createObjectCommands(p.texUnitMapping)(input$prime.value0.uniformSetup)(obj)(p.programs[prgIdx]))(v6)); - }; - }; - var cmdV = Data_Foldable.foldl(Data_Foldable.foldableArray)(updateCmds)(emptyV)(v4.value1); - return Control_Monad_Eff_Ref.modifyRef(obj.commands)(function (v6) { - return Data_Maybe.fromJust(dictPartial)(Data_Array.updateAt(v2.value0)(cmdV)(extend(v6))); - }); + Control_Monad_Eff_Ref.modifyRef(input$prime.value0.pipelines)(function (v3) { + return Data_Maybe.fromJust()(Data_Array.updateAt(v2.value0)(new Data_Maybe.Just(pl))(v3)); })(); + return new Data_Tuple.Tuple(v2.value0, Data_Maybe.Nothing.value); }; - })(); - return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(p.streams)(function (s) { - return Control_Monad_Eff_Ref.writeRef(s.commands)(createStreamCommands(p.texUnitMapping)(input$prime.value0.uniformSetup)(s.attributes)(s.primitive)(p.programs[s.program])); - })(); + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 539, column 39 - line 547, column 43: " + [ v2.constructor.name ]); + })()(); + var v3 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)(pl.slotNames)(function (n) { + var v3 = Data_StrMap.lookup(n)(input$prime.value0.slotMap); + if (v3 instanceof Data_Maybe.Nothing) { + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error: unknown slot name in input")); + }; + if (v3 instanceof Data_Maybe.Just) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(v3.value0); + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 549, column 46 - line 551, column 31: " + [ v3.constructor.name ]); + })(); + var iToP = Data_Foldable.foldr(Data_Foldable.foldableArray)(function (v4) { + return function (p) { + return Data_Maybe.fromJust()(Data_Array.updateAt(v4.value1)(new Data_Maybe.Just(v4.value0))(p)); + }; + })(Data_Array.replicate(Data_StrMap.size(input$prime.value0.slotMap))(Data_Maybe.Nothing.value))(Data_Array.zip(Data_Array.range(0)(Data_Array.length(v3)))(v3)); + Control_Monad_Eff_Ref.writeRef(pl.input)(Data_Maybe.Just.create(new LambdaCube_WebGL_Type.InputConnection({ + id: v2.value0, + input: input$prime.value0, + slotMapPipelineToInput: v3, + slotMapInputToPipeline: iToP + })))(); + var extend = function (v4) { + if (v2.value1 instanceof Data_Maybe.Nothing) { + return v4; + }; + if (v2.value1 instanceof Data_Maybe.Just) { + return Data_Array.concat([ v4, Data_Array.replicate(v2.value1.value0)([ ]) ]); + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 565, column 28 - line 567, column 57: " + [ v2.value1.constructor.name ]); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 545, column 5 - line 587, column 143: " + [ input$prime.constructor.name ]); + var emptyV = Data_Array.replicate(Data_Array.length(pl.programs))([ ]); + Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(Data_Array.zip(v3)(pl.slotPrograms))(function (v4) { + return function __do() { + var v5 = Control_Monad_Eff_Ref.readRef(input$prime["value0"]["slotVector"][v4.value0])(); + return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_List_Types.foldableList)(Data_Map.values(v5.objectMap))(function (obj) { + var updateCmds = function (v6) { + return function (prgIdx) { + return Data_Maybe.fromJust()(Data_Array.updateAt(prgIdx)(LambdaCube_WebGL_Input.createObjectCommands(pl.texUnitMapping)(input$prime.value0.uniformSetup)(obj)(pl["programs"][prgIdx]))(v6)); + }; + }; + var cmdV = Data_Foldable.foldl(Data_Foldable.foldableArray)(updateCmds)(emptyV)(v4.value1); + return Control_Monad_Eff_Ref.modifyRef(obj.commands)(function (v6) { + return Data_Maybe.fromJust()(Data_Array.updateAt(v2.value0)(cmdV)(extend(v6))); + }); + })(); + }; + })(); + return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(pl.streams)(function (s) { + return Control_Monad_Eff_Ref.writeRef(s.commands)(createStreamCommands(pl.texUnitMapping)(input$prime.value0.uniformSetup)(s.attributes)(s.primitive)(pl["programs"][s.program])); + })(); }; - }); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 535, column 5 - line 577, column 145: " + [ input$prime.constructor.name ]); + }; }; }; var disposePipeline = function (p) { @@ -12665,225 +12595,218 @@ var PS = {}; }; }; var compileStreamData = function (v) { - return Partial_Unsafe.unsafePartial(function (dictPartial) { - var compileAttr = function (v1) { - var __unused = function (dictPartial1) { - return function ($dollar90) { - return $dollar90; - }; + var compileAttr = function (v1) { + var __unused = function (dictPartial1) { + return function ($dollar89) { + return $dollar89; }; - return __unused(dictPartial)((function () { - if (v1 instanceof LambdaCube_IR.VFloatArray) { - return new LambdaCube_WebGL_Type["Array"](LambdaCube_WebGL_Type.ArrFloat.value, v1.value0); - }; - if (v1 instanceof LambdaCube_IR.VIntArray) { - return (LambdaCube_WebGL_Type["Array"]).create(LambdaCube_WebGL_Type.ArrInt16.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.intStorable))(v1.value0)); - }; - if (v1 instanceof LambdaCube_IR.VWordArray) { - return (LambdaCube_WebGL_Type["Array"]).create(LambdaCube_WebGL_Type.ArrWord16.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.intStorable))(v1.value0)); - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 300, column 7 - line 300, column 53: " + [ v1.constructor.name ]); - })()); }; - return function __do() { - var v1 = Data_Array.unzip(Data_Functor.map(Data_Functor.functorArray)(function (v1) { - return new Data_Tuple.Tuple(new Data_Tuple.Tuple(v1.value1.value0, v1.value0), compileAttr(v1.value1.value1)); - })(Data_Array.zip(Data_Array.range(0)(Data_Maybe.fromJust(dictPartial)(Data_Int.fromNumber(Data_StrMap.size(v.value0.streamData) - 1.0))))(Data_StrMap.toUnfoldable(Data_Unfoldable.unfoldableArray)(v.value0.streamData)))); - var getLength = function (n) { - return function __do() { - var v2 = (function () { - var $240 = Data_StrMap.lookup(n)(v.value0.streamData); - if ($240 instanceof Data_Maybe.Just && $240.value0 instanceof LambdaCube_IR.VFloatArray) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Array.length($240.value0.value0)); - }; - if ($240 instanceof Data_Maybe.Just && $240.value0 instanceof LambdaCube_IR.VIntArray) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Array.length($240.value0.value0)); - }; - if ($240 instanceof Data_Maybe.Just && $240.value0 instanceof LambdaCube_IR.VWordArray) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Array.length($240.value0.value0)); - }; - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("compileStreamData - getLength")); - })()(); - var v3 = (function () { - var $248 = Data_StrMap.lookup(n)(v.value0.streamType); - if ($248 instanceof Data_Maybe.Just && $248.value0 instanceof LambdaCube_IR.Float) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(1); - }; - if ($248 instanceof Data_Maybe.Just && $248.value0 instanceof LambdaCube_IR.V2F) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(2); - }; - if ($248 instanceof Data_Maybe.Just && $248.value0 instanceof LambdaCube_IR.V3F) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(3); - }; - if ($248 instanceof Data_Maybe.Just && $248.value0 instanceof LambdaCube_IR.V4F) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(4); - }; - if ($248 instanceof Data_Maybe.Just && $248.value0 instanceof LambdaCube_IR.M22F) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(4); - }; - if ($248 instanceof Data_Maybe.Just && $248.value0 instanceof LambdaCube_IR.M33F) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(9); - }; - if ($248 instanceof Data_Maybe.Just && $248.value0 instanceof LambdaCube_IR.M44F) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(16); - }; - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("compileStreamData - getLength element count")); - })()(); - return v2 / v3 | 0; - }; + return __unused()((function () { + if (v1 instanceof LambdaCube_IR.VFloatArray) { + return new LambdaCube_WebGL_Type["Array"](LambdaCube_WebGL_Type.ArrFloat.value, v1.value0); }; - var v2 = LambdaCube_WebGL_Data.compileBuffer(v1.value1)(); - var v3 = Control_Monad_Eff_Ref.newRef([ ])(); - var toStream = function (v4) { - return function __do() { - var v5 = Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(LambdaCube_WebGL_Util.toStreamType)((function () { - var $260 = Data_StrMap.lookup(v4.value0)(v.value0.streamType); - if ($260 instanceof Data_Maybe.Just) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)($260.value0); - }; - if ($260 instanceof Data_Maybe.Nothing) { - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("compileStreamData - toStream")); - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 324, column 14 - line 327, column 9: " + [ $260.constructor.name ]); - })())(); - var v6 = getLength(v4.value0)(); - return new Data_Tuple.Tuple(v4.value0, new LambdaCube_WebGL_Type.Stream({ - sType: v5, - buffer: v2, - arrIdx: v4.value1, - start: 0, - length: v6 - })); - }; + if (v1 instanceof LambdaCube_IR.VIntArray) { + return LambdaCube_WebGL_Type["Array"].create(LambdaCube_WebGL_Type.ArrInt16.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.intStorable))(v1.value0)); }; - var v4 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(toStream)(v1.value0)(); - return { - commands: v3, - primitive: (function () { - var __unused = function (dictPartial1) { - return function ($dollar92) { - return $dollar92; - }; + if (v1 instanceof LambdaCube_IR.VWordArray) { + return LambdaCube_WebGL_Type["Array"].create(LambdaCube_WebGL_Type.ArrWord16.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.intStorable))(v1.value0)); + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 290, column 7 - line 290, column 53: " + [ v1.constructor.name ]); + })()); + }; + return function __do() { + var v1 = Data_Array.unzip(Data_Functor.map(Data_Functor.functorArray)(function (v1) { + return new Data_Tuple.Tuple(new Data_Tuple.Tuple(v1.value1.value0, v1.value0), compileAttr(v1.value1.value1)); + })(Data_Array.zip(Data_Array.range(0)(Data_StrMap.size(v.value0.streamData) - 1 | 0))(Data_StrMap.toUnfoldable(Data_Unfoldable.unfoldableArray)(v.value0.streamData)))); + var getLength = function (n) { + return function __do() { + var v2 = (function () { + var v2 = Data_StrMap.lookup(n)(v.value0.streamData); + if (v2 instanceof Data_Maybe.Just && v2.value0 instanceof LambdaCube_IR.VFloatArray) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Array.length(v2.value0.value0)); }; - return __unused(dictPartial)((function () { - if (v.value0.streamPrimitive instanceof LambdaCube_IR.Points) { - return LambdaCube_WebGL_Type.PointList.value; - }; - if (v.value0.streamPrimitive instanceof LambdaCube_IR.Lines) { - return LambdaCube_WebGL_Type.LineList.value; - }; - if (v.value0.streamPrimitive instanceof LambdaCube_IR.Triangles) { - return LambdaCube_WebGL_Type.TriangleList.value; - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 338, column 18 - line 341, column 34: " + [ v.value0.streamPrimitive.constructor.name ]); - })()); - })(), - attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)(v4), - program: Data_Maybe.fromJust(dictPartial)(Data_Array.head(v.value0.streamPrograms)) + if (v2 instanceof Data_Maybe.Just && v2.value0 instanceof LambdaCube_IR.VIntArray) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Array.length(v2.value0.value0)); + }; + if (v2 instanceof Data_Maybe.Just && v2.value0 instanceof LambdaCube_IR.VWordArray) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Array.length(v2.value0.value0)); + }; + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("compileStreamData - getLength")); + })()(); + var v3 = (function () { + var v3 = Data_StrMap.lookup(n)(v.value0.streamType); + if (v3 instanceof Data_Maybe.Just && v3.value0 instanceof LambdaCube_IR.Float) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(1); + }; + if (v3 instanceof Data_Maybe.Just && v3.value0 instanceof LambdaCube_IR.V2F) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(2); + }; + if (v3 instanceof Data_Maybe.Just && v3.value0 instanceof LambdaCube_IR.V3F) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(3); + }; + if (v3 instanceof Data_Maybe.Just && v3.value0 instanceof LambdaCube_IR.V4F) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(4); + }; + if (v3 instanceof Data_Maybe.Just && v3.value0 instanceof LambdaCube_IR.M22F) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(4); + }; + if (v3 instanceof Data_Maybe.Just && v3.value0 instanceof LambdaCube_IR.M33F) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(9); + }; + if (v3 instanceof Data_Maybe.Just && v3.value0 instanceof LambdaCube_IR.M44F) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(16); + }; + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("compileStreamData - getLength element count")); + })()(); + return v2 / v3 | 0; }; }; - }); + var v2 = LambdaCube_WebGL_Data.compileBuffer(v1.value1)(); + var v3 = Control_Monad_Eff_Ref.newRef([ ])(); + var toStream = function (v4) { + return function __do() { + var v5 = Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(LambdaCube_WebGL_Util.toStreamType)((function () { + var v5 = Data_StrMap.lookup(v4.value0)(v.value0.streamType); + if (v5 instanceof Data_Maybe.Just) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(v5.value0); + }; + if (v5 instanceof Data_Maybe.Nothing) { + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("compileStreamData - toStream")); + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 314, column 31 - line 317, column 9: " + [ v5.constructor.name ]); + })())(); + var v6 = getLength(v4.value0)(); + return new Data_Tuple.Tuple(v4.value0, new LambdaCube_WebGL_Type.Stream({ + sType: v5, + buffer: v2, + arrIdx: v4.value1, + start: 0, + length: v6 + })); + }; + }; + var v4 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(toStream)(v1.value0)(); + return { + commands: v3, + primitive: (function () { + var __unused = function (dictPartial1) { + return function ($dollar91) { + return $dollar91; + }; + }; + return __unused()((function () { + if (v.value0.streamPrimitive instanceof LambdaCube_IR.Points) { + return LambdaCube_WebGL_Type.PointList.value; + }; + if (v.value0.streamPrimitive instanceof LambdaCube_IR.Lines) { + return LambdaCube_WebGL_Type.LineList.value; + }; + if (v.value0.streamPrimitive instanceof LambdaCube_IR.Triangles) { + return LambdaCube_WebGL_Type.TriangleList.value; + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 328, column 18 - line 331, column 34: " + [ v.value0.streamPrimitive.constructor.name ]); + })()); + })(), + attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)(v4), + program: Data_Maybe.fromJust()(Data_Array.head(v.value0.streamPrograms)) + }; + }; }; var compileRenderTarget = function (texs) { return function (glTexs) { return function (v) { - return Partial_Unsafe.unsafePartial(function (dictPartial) { - var isFB = function (v1) { - if (v1 instanceof LambdaCube_IR.Framebuffer) { - return true; - }; - return false; + var isFB = function (v1) { + if (v1 instanceof LambdaCube_IR.Framebuffer) { + return true; }; - var images = Data_Functor.map(Data_Functor.functorArray)(function (v1) { - return Data_Maybe.fromJust(dictPartial)(v1.value0.targetRef); - })(Data_Array.filter(function (v1) { - return Data_Maybe.isJust(v1.value0.targetRef); - })(v.value0.renderTargets)); - var act1 = (function () { - var $280 = Data_Foldable.all(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(isFB)(images); - if ($280) { - var isColor = function (v1) { - if (v1 instanceof LambdaCube_IR.Color) { - return true; - }; - return false; + return false; + }; + var images = Data_Functor.map(Data_Functor.functorArray)(function (v1) { + return Data_Maybe.fromJust()(v1.value0.targetRef); + })(Data_Array.filter(function (v1) { + return Data_Maybe.isJust(v1.value0.targetRef); + })(v.value0.renderTargets)); + var act1 = (function () { + var v1 = Data_Foldable.all(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(isFB)(images); + if (v1) { + var isColor = function (v2) { + if (v2 instanceof LambdaCube_IR.Color) { + return true; }; - var cvt = function (v1) { - if (v1.value0.targetRef instanceof Data_Maybe.Nothing) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Graphics_WebGLRaw._NONE); - }; - if (v1.value0.targetRef instanceof Data_Maybe.Just && (v1.value0.targetRef.value0 instanceof LambdaCube_IR.Framebuffer && v1.value0.targetRef.value0.value0 instanceof LambdaCube_IR.Color)) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Graphics_WebGLRaw._BACK); - }; - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (compileRenderTarget)!")); + return false; + }; + var cvt = function (v2) { + if (v2.value0.targetRef instanceof Data_Maybe.Nothing) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Graphics_WebGLRaw._NONE); }; - return function __do() { - var v1 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(cvt)(Data_Array.filter(function (v1) { - return isColor(v1.value0.targetSemantic); - })(v.value0.renderTargets))(); - return { - framebufferObject: $foreign.nullWebGLFramebuffer, - framebufferDrawbuffers: new Data_Maybe.Just(v1) - }; + if (v2.value0.targetRef instanceof Data_Maybe.Just && (v2.value0.targetRef.value0 instanceof LambdaCube_IR.Framebuffer && v2.value0.targetRef.value0.value0 instanceof LambdaCube_IR.Color)) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Graphics_WebGLRaw._BACK); }; + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (compileRenderTarget)!")); }; - if (!$280) { - return function __do() { - Control_Applicative.when(Control_Monad_Eff.applicativeEff)(Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(isFB)(images))(Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (compileRenderTarget)!")))(); - var v1 = Graphics_WebGLRaw.createFramebuffer_(); - Graphics_WebGLRaw.bindFramebuffer_(Graphics_WebGLRaw._FRAMEBUFFER)(v1)(); - var attach = function (v2) { - return function (v3) { - if (v3 instanceof LambdaCube_IR.TextureImage && v3.value2 instanceof Data_Maybe.Nothing) { - var attach2D = Graphics_WebGLRaw.framebufferTexture2D_(Graphics_WebGLRaw._FRAMEBUFFER)(v2)((glTexs[v3.value0]).textureTarget)((glTexs[v3.value0]).textureObject)(v3.value1); - var act0 = (function () { - if ((texs[v3.value0]).value0.textureType instanceof LambdaCube_IR.Texture2D && (texs[v3.value0]).value0.textureType.value1 === 1) { - return attach2D; - }; - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("invalid texture format!")); - })(); - return act0; - }; - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("invalid texture format!")); + return function __do() { + var v2 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(cvt)(Data_Array.filter(function (v2) { + return isColor(v2.value0.targetSemantic); + })(v.value0.renderTargets))(); + return { + framebufferObject: $foreign.nullWebGLFramebuffer, + framebufferDrawbuffers: new Data_Maybe.Just(v2) + }; + }; + }; + if (!v1) { + return function __do() { + Control_Applicative.when(Control_Monad_Eff.applicativeEff)(Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(isFB)(images))(Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (compileRenderTarget)!")))(); + var v2 = Graphics_WebGLRaw.createFramebuffer_(); + Graphics_WebGLRaw.bindFramebuffer_(Graphics_WebGLRaw._FRAMEBUFFER)(v2)(); + var attach = function (v3) { + return function (v4) { + if (v4 instanceof LambdaCube_IR.TextureImage && v4.value2 instanceof Data_Maybe.Nothing) { + var attach2D = Graphics_WebGLRaw.framebufferTexture2D_(Graphics_WebGLRaw._FRAMEBUFFER)(v3)(glTexs[v4.value0].textureTarget)(glTexs[v4.value0].textureObject)(v4.value1); + var act0 = (function () { + if (texs[v4.value0].value0.textureType instanceof LambdaCube_IR.Texture2D && texs[v4.value0].value0.textureType.value1 === 1) { + return attach2D; + }; + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("invalid texture format!")); + })(); + return act0; }; + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("invalid texture format!")); }; - var go = function (v2) { - return function (v3) { - if (v3.value0.targetSemantic instanceof LambdaCube_IR.Stencil && v3.value0.targetRef instanceof Data_Maybe.Just) { - return function __do() { - Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("Stencil support is not implemented yet!"))(); - return v2; - }; - }; - if (v3.value0.targetSemantic instanceof LambdaCube_IR.Depth && v3.value0.targetRef instanceof Data_Maybe.Just) { - return function __do() { - attach(Graphics_WebGLRaw._DEPTH_ATTACHMENT)(v3.value0.targetRef.value0)(); - return v2; - }; - }; - if (v3.value0.targetSemantic instanceof LambdaCube_IR.Color && v3.value0.targetRef instanceof Data_Maybe.Just) { - return function __do() { - attach(Graphics_WebGLRaw._COLOR_ATTACHMENT0)(v3.value0.targetRef.value0)(); - return new Data_Tuple.Tuple(Data_Array.cons(Graphics_WebGLRaw._COLOR_ATTACHMENT0)(v2.value0), v2.value1 + 1 | 0); - }; + }; + var go = function (v3) { + return function (v4) { + if (v4.value0.targetSemantic instanceof LambdaCube_IR.Stencil && v4.value0.targetRef instanceof Data_Maybe.Just) { + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("Stencil support is not implemented yet!")); + }; + if (v4.value0.targetSemantic instanceof LambdaCube_IR.Depth && v4.value0.targetRef instanceof Data_Maybe.Just) { + return function __do() { + attach(Graphics_WebGLRaw._DEPTH_ATTACHMENT)(v4.value0.targetRef.value0)(); + return v3; }; - if (v3.value0.targetSemantic instanceof LambdaCube_IR.Color && v3.value0.targetRef instanceof Data_Maybe.Nothing) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(Data_Array.cons(Graphics_WebGLRaw._NONE)(v2.value0), v2.value1 + 1 | 0)); + }; + if (v4.value0.targetSemantic instanceof LambdaCube_IR.Color && v4.value0.targetRef instanceof Data_Maybe.Just) { + return function __do() { + attach(Graphics_WebGLRaw._COLOR_ATTACHMENT0)(v4.value0.targetRef.value0)(); + return new Data_Tuple.Tuple(Data_Array.cons(Graphics_WebGLRaw._COLOR_ATTACHMENT0)(v3.value0), v3.value1 + 1 | 0); }; - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(v2); }; - }; - var v2 = Data_Array.foldM(Control_Monad_Eff.monadEff)(go)(new Data_Tuple.Tuple([ ], 0))(v.value0.renderTargets)(); - return { - framebufferObject: v1, - framebufferDrawbuffers: Data_Maybe.Nothing.value + if (v4.value0.targetSemantic instanceof LambdaCube_IR.Color && v4.value0.targetRef instanceof Data_Maybe.Nothing) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(Data_Array.cons(Graphics_WebGLRaw._NONE)(v3.value0), v3.value1 + 1 | 0)); + }; + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(v3); }; }; - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 249, column 14 - line 295, column 20: " + [ $280.constructor.name ]); - })(); - return act1; - }); + var v3 = Data_Array.foldM(Control_Monad_Eff.monadEff)(go)(new Data_Tuple.Tuple([ ], 0))(v.value0.renderTargets)(); + return { + framebufferObject: v2, + framebufferDrawbuffers: Data_Maybe.Nothing.value + }; + }; + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 240, column 14 - line 285, column 20: " + [ v1.constructor.name ]); + })(); + return act1; }; }; }; @@ -12912,26 +12835,32 @@ var PS = {}; Control_Monad_Eff_Console.log(v4)(); var v5 = Graphics_WebGLRaw.getProgramParameter_(v1)(Graphics_WebGLRaw._LINK_STATUS)(); Control_Applicative.when(Control_Monad_Eff.applicativeEff)(v5 !== true)(Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("link program failed!")))(); - var v6 = Data_Functor.map(Control_Monad_Eff.functorEff)(Data_StrMap.fromFoldable(Data_List_Types.foldableList))(Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_List_Types.traversableList)(Data_StrMap.toList(v.value0.programUniforms))(function (v6) { - return function __do() { - var v7 = Graphics_WebGLRaw.getUniformLocation_(v1)(v6.value0)(); - return new Data_Tuple.Tuple(v6.value0, v7); + var v6 = Data_Traversable.sequence(Data_StrMap.traversableStrMap)(Control_Monad_Eff.applicativeEff)(Data_Function.flip(Data_StrMap.mapWithKey)(v.value0.programUniforms)(function (n) { + return function (t) { + return function __do() { + var v6 = Graphics_WebGLRaw.getUniformLocation_(v1)(n)(); + return v6; + }; }; }))(); - var v7 = Data_Functor.map(Control_Monad_Eff.functorEff)(Data_StrMap.fromFoldable(Data_List_Types.foldableList))(Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_List_Types.traversableList)(Data_StrMap.toList(v.value0.programInTextures))(function (v7) { - return function __do() { - var v8 = Graphics_WebGLRaw.getUniformLocation_(v1)(v7.value0)(); - return new Data_Tuple.Tuple(v7.value0, v8); + var v7 = Data_Traversable.sequence(Data_StrMap.traversableStrMap)(Control_Monad_Eff.applicativeEff)(Data_Function.flip(Data_StrMap.mapWithKey)(v.value0.programInTextures)(function (n) { + return function (t) { + return function __do() { + var v7 = Graphics_WebGLRaw.getUniformLocation_(v1)(n)(); + return v7; + }; }; }))(); - var v8 = Data_Functor.map(Control_Monad_Eff.functorEff)(Data_StrMap.fromFoldable(Data_List_Types.foldableList))(Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_List_Types.traversableList)(Data_StrMap.toList(v.value0.programStreams))(function (v8) { - return function __do() { - var v9 = Graphics_WebGLRaw.getAttribLocation_(v1)(v8.value0)(); - Control_Monad_Eff_Console.log("attrib location " + (v8.value0 + (" " + Data_Show.show(Data_Show.showInt)(v9))))(); - return new Data_Tuple.Tuple(v8.value0, { - location: v9, - slotAttribute: v8.value1.value0.name - }); + var v8 = Data_Traversable.sequence(Data_StrMap.traversableStrMap)(Control_Monad_Eff.applicativeEff)(Data_Function.flip(Data_StrMap.mapWithKey)(v.value0.programStreams)(function (streamName) { + return function (v8) { + return function __do() { + var v9 = Graphics_WebGLRaw.getAttribLocation_(v1)(streamName)(); + Control_Monad_Eff_Console.log("attrib location " + (streamName + (" " + Data_Show.show(Data_Show.showInt)(v9))))(); + return { + location: v9, + slotAttribute: v8.value0.name + }; + }; }; }))(); var texUnis = Data_Array.filter(function (n) { @@ -13005,141 +12934,139 @@ var PS = {}; }; }; var renderPipeline = function (p) { - return Partial_Unsafe.unsafePartial(function (dictPartial) { - return function __do() { - Control_Monad_Eff_Ref.writeRef(p.curProgram)(Data_Maybe.Nothing.value)(); - return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(p.commands)(function (cmd) { - if (cmd instanceof LambdaCube_IR.SetRenderTarget) { - return function __do() { - var v = Control_Monad_Eff_Ref.readRef(p.input)(); - (function () { - if (v instanceof Data_Maybe.Nothing) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); - }; - if (v instanceof Data_Maybe.Just) { - return function __do() { - var v1 = Control_Monad_Eff_Ref.readRef(v.value0.value0.input.screenSize)(); - return Graphics_WebGLRaw.viewport_(0)(0)(v1.value0)(v1.value1)(); - }; + return function __do() { + Control_Monad_Eff_Ref.writeRef(p.curProgram)(Data_Maybe.Nothing.value)(); + return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(p.commands)(function (cmd) { + if (cmd instanceof LambdaCube_IR.SetRenderTarget) { + return function __do() { + var v = Control_Monad_Eff_Ref.readRef(p.input)(); + (function () { + if (v instanceof Data_Maybe.Nothing) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); + }; + if (v instanceof Data_Maybe.Just) { + return function __do() { + var v1 = Control_Monad_Eff_Ref.readRef(v.value0.value0.input.screenSize)(); + return Graphics_WebGLRaw.viewport_(0)(0)(v1.value0)(v1.value1)(); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 423, column 9 - line 427, column 45: " + [ v.constructor.name ]); - })()(); - return Graphics_WebGLRaw.bindFramebuffer_(Graphics_WebGLRaw._FRAMEBUFFER)((p.targets[cmd.value0]).framebufferObject)(); - }; + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 413, column 9 - line 417, column 45: " + [ v.constructor.name ]); + })()(); + return Graphics_WebGLRaw.bindFramebuffer_(Graphics_WebGLRaw._FRAMEBUFFER)(p["targets"][cmd.value0].framebufferObject)(); }; - if (cmd instanceof LambdaCube_IR.SetSamplerUniform) { - return function __do() { - var cp = Control_Monad_Eff_Ref.readRef(p.curProgram)(); - if (cp instanceof Data_Maybe.Nothing) { - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("invalid pipeline, no active program"))(); + }; + if (cmd instanceof LambdaCube_IR.SetSamplerUniform) { + return function __do() { + var cp = Control_Monad_Eff_Ref.readRef(p.curProgram)(); + if (cp instanceof Data_Maybe.Nothing) { + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("invalid pipeline, no active program"))(); + }; + if (cp instanceof Data_Maybe.Just) { + var v = Data_StrMap.lookup(cmd.value0)(p["programs"][cp.value0].inputSamplers); + if (v instanceof Data_Maybe.Nothing) { + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (SetSamplerUniform)!"))(); }; - if (cp instanceof Data_Maybe.Just) { - var $391 = Data_StrMap.lookup(cmd.value0)((p.programs[cp.value0]).inputSamplers); - if ($391 instanceof Data_Maybe.Nothing) { + if (v instanceof Data_Maybe.Just) { + var v1 = Data_StrMap.lookup(cmd.value0)(p.texUnitMapping); + if (v1 instanceof Data_Maybe.Nothing) { return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (SetSamplerUniform)!"))(); }; - if ($391 instanceof Data_Maybe.Just) { - var $392 = Data_StrMap.lookup(cmd.value0)(p.texUnitMapping); - if ($392 instanceof Data_Maybe.Nothing) { - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("internal error (SetSamplerUniform)!"))(); - }; - if ($392 instanceof Data_Maybe.Just) { - Control_Monad_Eff_Ref.writeRef($392.value0)(cmd.value1)(); - return Graphics_WebGLRaw.uniform1i_($391.value0)(cmd.value1)(); - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 442, column 24 - line 446, column 35: " + [ $392.constructor.name ]); + if (v1 instanceof Data_Maybe.Just) { + Control_Monad_Eff_Ref.writeRef(v1.value0)(cmd.value1)(); + return Graphics_WebGLRaw.uniform1i_(v.value0)(cmd.value1)(); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 440, column 27 - line 446, column 35: " + [ $391.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 432, column 24 - line 436, column 35: " + [ v1.constructor.name ]); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 438, column 41 - line 446, column 35: " + [ cp.constructor.name ]); - }; - }; - if (cmd instanceof LambdaCube_IR.SetTexture) { - return function __do() { - Graphics_WebGLRaw.activeTexture_(Graphics_WebGLRaw._TEXTURE0 + cmd.value0 | 0)(); - return Graphics_WebGLRaw.bindTexture_((p.textures[cmd.value1]).textureTarget)((p.textures[cmd.value1]).textureObject)(); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 430, column 27 - line 436, column 35: " + [ v.constructor.name ]); }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 428, column 41 - line 436, column 35: " + [ cp.constructor.name ]); }; - if (cmd instanceof LambdaCube_IR.SetRasterContext) { - return setupRasterContext(cmd.value0); - }; - if (cmd instanceof LambdaCube_IR.SetAccumulationContext) { - return setupAccumulationContext(cmd.value0); + }; + if (cmd instanceof LambdaCube_IR.SetTexture) { + return function __do() { + Graphics_WebGLRaw.activeTexture_(Graphics_WebGLRaw._TEXTURE0 + cmd.value0 | 0)(); + return Graphics_WebGLRaw.bindTexture_(p["textures"][cmd.value1].textureTarget)(p["textures"][cmd.value1].textureObject)(); }; - if (cmd instanceof LambdaCube_IR.ClearRenderTarget) { - return clearRenderTarget(cmd.value0); + }; + if (cmd instanceof LambdaCube_IR.SetRasterContext) { + return setupRasterContext(cmd.value0); + }; + if (cmd instanceof LambdaCube_IR.SetAccumulationContext) { + return setupAccumulationContext(cmd.value0); + }; + if (cmd instanceof LambdaCube_IR.ClearRenderTarget) { + return clearRenderTarget(cmd.value0); + }; + if (cmd instanceof LambdaCube_IR.SetProgram) { + return function __do() { + Control_Monad_Eff_Ref.writeRef(p.curProgram)(new Data_Maybe.Just(cmd.value0))(); + return Graphics_WebGLRaw.useProgram_(p["programs"][cmd.value0].program)(); }; - if (cmd instanceof LambdaCube_IR.SetProgram) { - return function __do() { - Control_Monad_Eff_Ref.writeRef(p.curProgram)(new Data_Maybe.Just(cmd.value0))(); - return Graphics_WebGLRaw.useProgram_((p.programs[cmd.value0]).program)(); + }; + if (cmd instanceof LambdaCube_IR.RenderStream) { + return Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(renderSlot)(Control_Monad_Eff_Ref.readRef(p["streams"][cmd.value0].commands)); + }; + if (cmd instanceof LambdaCube_IR.RenderSlot) { + return function __do() { + var cp = Control_Monad_Eff_Ref.readRef(p.curProgram)(); + if (cp instanceof Data_Maybe.Nothing) { + return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("invalid pipeline, no active program"))(); }; - }; - if (cmd instanceof LambdaCube_IR.RenderStream) { - return Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(renderSlot)(Control_Monad_Eff_Ref.readRef((p.streams[cmd.value0]).commands)); - }; - if (cmd instanceof LambdaCube_IR.RenderSlot) { - return function __do() { - var cp = Control_Monad_Eff_Ref.readRef(p.curProgram)(); - if (cp instanceof Data_Maybe.Nothing) { - return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("invalid pipeline, no active program"))(); + if (cp instanceof Data_Maybe.Just) { + var input = Control_Monad_Eff_Ref.readRef(p.input)(); + if (input instanceof Data_Maybe.Nothing) { + return Data_Unit.unit; }; - if (cp instanceof Data_Maybe.Just) { - var input = Control_Monad_Eff_Ref.readRef(p.input)(); - if (input instanceof Data_Maybe.Nothing) { - return Data_Unit.unit; - }; - if (input instanceof Data_Maybe.Just) { - var v = Control_Monad_Eff_Ref.readRef(input.value0.value0.input.slotVector[input.value0.value0.slotMapPipelineToInput[cmd.value0]])(); - return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(v.sortedObjects)(function (v1) { - return function __do() { - var v2 = Control_Monad_Eff_Ref.readRef(v1.value1.enabled)(); - return Control_Applicative.when(Control_Monad_Eff.applicativeEff)(v2)(function __do() { - var v3 = Control_Monad_Eff_Ref.readRef(v1.value1.commands)(); - return renderSlot(v3[input.value0.value0.id][cp.value0])(); - })(); - }; - })(); - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 471, column 57 - line 480, column 81: " + [ input.constructor.name ]); + if (input instanceof Data_Maybe.Just) { + var v = Control_Monad_Eff_Ref.readRef(input["value0"]["value0"]["input"]["slotVector"][input["value0"]["value0"]["slotMapPipelineToInput"][cmd.value0]])(); + return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(v.sortedObjects)(function (v1) { + return function __do() { + var v2 = Control_Monad_Eff_Ref.readRef(v1.value1.enabled)(); + return Control_Applicative.when(Control_Monad_Eff.applicativeEff)(v2)(function __do() { + var v3 = Control_Monad_Eff_Ref.readRef(v1.value1.commands)(); + return renderSlot(v3[input.value0.value0.id][cp.value0])(); + })(); + }; + })(); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 469, column 41 - line 480, column 81: " + [ cp.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 461, column 57 - line 470, column 79: " + [ input.constructor.name ]); }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Backend line 459, column 41 - line 470, column 79: " + [ cp.constructor.name ]); }; - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); - })(); - }; - }); + }; + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); + })(); + }; }; var allocPipeline = function (v) { return function __do() { - Graphics_WebGLRaw.getExtension_("WEBGL_depth_texture")(); - var v1 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(LambdaCube_WebGL_Util.compileTexture)(v.value0.textures)(); - var v2 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(compileRenderTarget(v.value0.textures)(v1))(v.value0.targets)(); - var v3 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(compileProgram)(v.value0.programs)(); - var v4 = Data_Functor.map(Control_Monad_Eff.functorEff)(Data_StrMap.fromFoldable(Data_Foldable.foldableArray))(Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(function (k) { + var v1 = Graphics_WebGLRaw.getExtension_("WEBGL_depth_texture")(); + var v2 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(LambdaCube_WebGL_Util.compileTexture)(v.value0.textures)(); + var v3 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(compileRenderTarget(v.value0.textures)(v2))(v.value0.targets)(); + var v4 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(compileProgram)(v.value0.programs)(); + var v5 = Data_Functor.map(Control_Monad_Eff.functorEff)(Data_StrMap.fromFoldable(Data_Foldable.foldableArray))(Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(function (k) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Tuple.Tuple.create(k))(Control_Monad_Eff_Ref.newRef(0)); - })(Data_Array.nub(Data_Eq.eqString)(Data_Array.concatMap(function (v4) { - return Data_StrMap.keys(v4.value0.programInTextures); + })(Data_Array.nub(Data_Eq.eqString)(Data_Array.concatMap(function (v5) { + return Data_StrMap.keys(v5.value0.programInTextures); })(v.value0.programs))))(); - var v5 = Control_Monad_Eff_Ref.newRef(Data_Maybe.Nothing.value)(); var v6 = Control_Monad_Eff_Ref.newRef(Data_Maybe.Nothing.value)(); - var v7 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(compileStreamData)(v.value0.streams)(); + var v7 = Control_Monad_Eff_Ref.newRef(Data_Maybe.Nothing.value)(); + var v8 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Control_Monad_Eff.applicativeEff)(compileStreamData)(v.value0.streams)(); return { - targets: v2, - textures: v1, - programs: v3, + targets: v3, + textures: v2, + programs: v4, commands: v.value0.commands, - input: v5, - slotPrograms: Data_Functor.map(Data_Functor.functorArray)(function (v8) { - return v8.value0.slotPrograms; + input: v6, + slotPrograms: Data_Functor.map(Data_Functor.functorArray)(function (v9) { + return v9.value0.slotPrograms; })(v.value0.slots), - slotNames: Data_Functor.map(Data_Functor.functorArray)(function (v8) { - return v8.value0.slotName; + slotNames: Data_Functor.map(Data_Functor.functorArray)(function (v9) { + return v9.value0.slotName; })(v.value0.slots), - curProgram: v6, - texUnitMapping: v4, - streams: v7 + curProgram: v7, + texUnitMapping: v5, + streams: v8 }; }; }; @@ -13157,31 +13084,28 @@ var PS = {}; exports["setupRasterContext"] = setupRasterContext; })(PS["LambdaCube.WebGL.Backend"] = PS["LambdaCube.WebGL.Backend"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; - var Prelude = PS["Prelude"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; - var Data_StrMap = PS["Data.StrMap"]; - var Data_Maybe = PS["Data.Maybe"]; var Data_Array = PS["Data.Array"]; + var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; + var Data_Foldable = PS["Data.Foldable"]; + var Data_Function = PS["Data.Function"]; + var Data_Functor = PS["Data.Functor"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_StrMap = PS["Data.StrMap"]; var Data_Tuple = PS["Data.Tuple"]; - var Data_Int = PS["Data.Int"]; - var Data_List = PS["Data.List"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; + var Data_Unfoldable = PS["Data.Unfoldable"]; var LambdaCube_Mesh = PS["LambdaCube.Mesh"]; - var LambdaCube_IR = PS["LambdaCube.IR"]; - var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; var LambdaCube_PipelineSchema = PS["LambdaCube.PipelineSchema"]; - var LambdaCube_WebGL_Type = PS["LambdaCube.WebGL.Type"]; var LambdaCube_WebGL_Data = PS["LambdaCube.WebGL.Data"]; var LambdaCube_WebGL_Input = PS["LambdaCube.WebGL.Input"]; - var Data_Function = PS["Data.Function"]; - var Control_Bind = PS["Control.Bind"]; - var Control_Applicative = PS["Control.Applicative"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Unfoldable = PS["Data.Unfoldable"]; - var Data_List_Types = PS["Data.List.Types"]; + var LambdaCube_WebGL_Type = PS["LambdaCube.WebGL.Type"]; + var Partial_Unsafe = PS["Partial.Unsafe"]; + var Prelude = PS["Prelude"]; var GPUMesh = (function () { function GPUMesh(value0) { this.value0 = value0; @@ -13265,93 +13189,91 @@ var PS = {}; }; var meshAttrToArray = function (a) { if (a instanceof LambdaCube_Mesh.A_Float) { - return (LambdaCube_WebGL_Type["Array"]).create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.numStorable))(a.value0)); + return LambdaCube_WebGL_Type["Array"].create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.numStorable))(a.value0)); }; if (a instanceof LambdaCube_Mesh.A_V2F) { - return (LambdaCube_WebGL_Type["Array"]).create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.numStorable)))(a.value0)); + return LambdaCube_WebGL_Type["Array"].create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.numStorable)))(a.value0)); }; if (a instanceof LambdaCube_Mesh.A_V3F) { - return (LambdaCube_WebGL_Type["Array"]).create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.numStorable)))(a.value0)); + return LambdaCube_WebGL_Type["Array"].create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.numStorable)))(a.value0)); }; if (a instanceof LambdaCube_Mesh.A_V4F) { - return (LambdaCube_WebGL_Type["Array"]).create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.numStorable)))(a.value0)); + return LambdaCube_WebGL_Type["Array"].create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.numStorable)))(a.value0)); }; if (a instanceof LambdaCube_Mesh.A_M22F) { - return (LambdaCube_WebGL_Type["Array"]).create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.numStorable))))(a.value0)); + return LambdaCube_WebGL_Type["Array"].create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.v2Storable(LambdaCube_WebGL_Type.numStorable))))(a.value0)); }; if (a instanceof LambdaCube_Mesh.A_M33F) { - return (LambdaCube_WebGL_Type["Array"]).create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.numStorable))))(a.value0)); + return LambdaCube_WebGL_Type["Array"].create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.v3Storable(LambdaCube_WebGL_Type.numStorable))))(a.value0)); }; if (a instanceof LambdaCube_Mesh.A_M44F) { - return (LambdaCube_WebGL_Type["Array"]).create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.numStorable))))(a.value0)); + return LambdaCube_WebGL_Type["Array"].create(LambdaCube_WebGL_Type.ArrFloat.value)(LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.v4Storable(LambdaCube_WebGL_Type.numStorable))))(a.value0)); }; return Partial_Unsafe.unsafeCrashWith("meshAttrToArray - unsupported MeshAttribute"); }; var compileMesh = function (v) { - return Partial_Unsafe.unsafePartial(function (dictPartial) { - var mkIndexBuf = function (v1) { - return function __do() { - var v2 = LambdaCube_WebGL_Data.compileBuffer([ new LambdaCube_WebGL_Type["Array"](LambdaCube_WebGL_Type.ArrWord16.value, LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.intStorable))(v1)) ])(); - return new Data_Maybe.Just({ - buffer: v2, - arrIdx: 0, - start: 0, - length: Data_Array.length(v1) - }); - }; - }; + var mkIndexBuf = function (v1) { return function __do() { - var v1 = LambdaCube_WebGL_Data.compileBuffer(Data_Functor.map(Data_Functor.functorArray)(meshAttrToArray)(Data_List.toUnfoldable(Data_Unfoldable.unfoldableArray)(Data_StrMap.values(v.value0.mAttributes))))(); - var v2 = (function () { - if (v.value0.mPrimitive instanceof LambdaCube_Mesh.P_Points) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(LambdaCube_WebGL_Type.PointList.value, Data_Maybe.Nothing.value)); - }; - if (v.value0.mPrimitive instanceof LambdaCube_Mesh.P_TriangleStrip) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(LambdaCube_WebGL_Type.TriangleStrip.value, Data_Maybe.Nothing.value)); - }; - if (v.value0.mPrimitive instanceof LambdaCube_Mesh.P_Triangles) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(LambdaCube_WebGL_Type.TriangleList.value, Data_Maybe.Nothing.value)); - }; - if (v.value0.mPrimitive instanceof LambdaCube_Mesh.P_TriangleStripI) { - return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Tuple.Tuple.create(LambdaCube_WebGL_Type.TriangleStrip.value))(mkIndexBuf(v.value0.mPrimitive.value0)); - }; - if (v.value0.mPrimitive instanceof LambdaCube_Mesh.P_TrianglesI) { - return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Tuple.Tuple.create(LambdaCube_WebGL_Type.TriangleList.value))(mkIndexBuf(v.value0.mPrimitive.value0)); - }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Mesh line 51, column 27 - line 56, column 67: " + [ v.value0.mPrimitive.constructor.name ]); - })()(); - var streams = Data_StrMap.fromFoldable(Data_List_Types.foldableList)(Data_List.zipWith(function (i) { - return function (v3) { - return new Data_Tuple.Tuple(v3.value0, meshAttrToStream(v1)(i)(v3.value1)); - }; - })(Data_List.range(0)(Data_Maybe.fromJust(dictPartial)(Data_Int.fromNumber(Data_StrMap.size(v.value0.mAttributes)))))(Data_StrMap.toList(v.value0.mAttributes))); - var gpuData = { - primitive: v2.value0, - streams: streams, - indices: v2.value1 - }; - return new GPUMesh({ - meshData: new LambdaCube_Mesh.Mesh(v.value0), - gpuData: gpuData + var v2 = LambdaCube_WebGL_Data.compileBuffer([ new LambdaCube_WebGL_Type["Array"](LambdaCube_WebGL_Type.ArrWord16.value, LambdaCube_WebGL_Type.toArray(LambdaCube_WebGL_Type.arrStorable(LambdaCube_WebGL_Type.intStorable))(v1)) ])(); + return new Data_Maybe.Just({ + buffer: v2, + arrIdx: 0, + start: 0, + length: Data_Array.length(v1) }); }; - }); + }; + return function __do() { + var v1 = LambdaCube_WebGL_Data.compileBuffer(Data_Functor.map(Data_Functor.functorArray)(meshAttrToArray)(Data_StrMap.values(v.value0.mAttributes)))(); + var v2 = (function () { + if (v.value0.mPrimitive instanceof LambdaCube_Mesh.P_Points) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(LambdaCube_WebGL_Type.PointList.value, Data_Maybe.Nothing.value)); + }; + if (v.value0.mPrimitive instanceof LambdaCube_Mesh.P_TriangleStrip) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(LambdaCube_WebGL_Type.TriangleStrip.value, Data_Maybe.Nothing.value)); + }; + if (v.value0.mPrimitive instanceof LambdaCube_Mesh.P_Triangles) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Data_Tuple.Tuple(LambdaCube_WebGL_Type.TriangleList.value, Data_Maybe.Nothing.value)); + }; + if (v.value0.mPrimitive instanceof LambdaCube_Mesh.P_TriangleStripI) { + return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Tuple.Tuple.create(LambdaCube_WebGL_Type.TriangleStrip.value))(mkIndexBuf(v.value0.mPrimitive.value0)); + }; + if (v.value0.mPrimitive instanceof LambdaCube_Mesh.P_TrianglesI) { + return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Tuple.Tuple.create(LambdaCube_WebGL_Type.TriangleList.value))(mkIndexBuf(v.value0.mPrimitive.value0)); + }; + throw new Error("Failed pattern match at LambdaCube.WebGL.Mesh line 43, column 27 - line 48, column 67: " + [ v.value0.mPrimitive.constructor.name ]); + })()(); + var streams = Data_StrMap.fromFoldable(Data_Foldable.foldableArray)(Data_Array.zipWith(function (i) { + return function (v3) { + return new Data_Tuple.Tuple(v3.value0, meshAttrToStream(v1)(i)(v3.value1)); + }; + })(Data_Array.range(0)(Data_StrMap.size(v.value0.mAttributes)))(Data_StrMap.toUnfoldable(Data_Unfoldable.unfoldableArray)(v.value0.mAttributes))); + var gpuData = { + primitive: v2.value0, + streams: streams, + indices: v2.value1 + }; + return new GPUMesh({ + meshData: new LambdaCube_Mesh.Mesh(v.value0), + gpuData: gpuData + }); + }; }; var addMesh = function (input) { return function (slotName) { return function (v) { return function (objUniNames) { - var $42 = Data_StrMap.lookup(slotName)(input.schema.value0.objectArrays); - if ($42 instanceof Data_Maybe.Nothing) { + var v1 = Data_StrMap.lookup(slotName)(input.schema.value0.objectArrays); + if (v1 instanceof Data_Maybe.Nothing) { return Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("addMesh: slot not found")); }; - if ($42 instanceof Data_Maybe.Just) { - var filterStream = function (v1) { - return Data_StrMap.member(v1.value0)($42.value0.value0.attributes); + if (v1 instanceof Data_Maybe.Just) { + var filterStream = function (v2) { + return Data_StrMap.member(v2.value0)(v1.value0.value0.attributes); }; - return LambdaCube_WebGL_Input.addObject(input)(slotName)(v.value0.gpuData.primitive)(v.value0.gpuData.indices)(Data_StrMap.fromFoldable(Data_List_Types.foldableList)(Data_List.filter(filterStream)(Data_StrMap.toList(v.value0.gpuData.streams))))(objUniNames); + return LambdaCube_WebGL_Input.addObject(input)(slotName)(v.value0.gpuData.primitive)(v.value0.gpuData.indices)(Data_StrMap.fromFoldable(Data_Foldable.foldableArray)(Data_Array.filter(filterStream)(Data_StrMap.toUnfoldable(Data_Unfoldable.unfoldableArray)(v.value0.gpuData.streams))))(objUniNames); }; - throw new Error("Failed pattern match at LambdaCube.WebGL.Mesh line 38, column 28 - line 43, column 173: " + [ $42.constructor.name ]); + throw new Error("Failed pattern match at LambdaCube.WebGL.Mesh line 30, column 28 - line 35, column 174: " + [ v1.constructor.name ]); }; }; }; @@ -13452,6 +13374,40 @@ var PS = {}; }; }; })(PS["Main"] = PS["Main"] || {}); +(function(exports) { + // Generated by purs version 0.11.4 + "use strict"; + var Data_Foldable = PS["Data.Foldable"]; + var Data_Ring = PS["Data.Ring"]; + var Data_StrMap = PS["Data.StrMap"]; + var Data_Tuple = PS["Data.Tuple"]; + var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; + var LambdaCube_Mesh = PS["LambdaCube.Mesh"]; + var Prelude = PS["Prelude"]; + var myQuad = new LambdaCube_Mesh.Mesh({ + mAttributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", new LambdaCube_Mesh.A_V2F([ new LambdaCube_LinearBase.V2(-1.0, 1.0), new LambdaCube_LinearBase.V2(-1.0, -1.0), new LambdaCube_LinearBase.V2(1.0, -1.0), new LambdaCube_LinearBase.V2(1.0, -1.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(-1.0, 1.0) ])) ]), + mPrimitive: LambdaCube_Mesh.P_Triangles.value + }); + var lambdaCubeVertices = [ new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -6.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -6.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -6.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -6.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -6.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -8.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -8.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -8.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -6.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -8.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -8.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -8.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -8.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -8.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -6.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -6.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -6.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -8.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -8.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -8.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -6.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -8.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -6.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -6.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -6.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -6.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -6.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -6.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -6.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -8.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -8.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -8.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -6.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -8.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -8.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -8.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -8.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -8.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -6.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -6.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -6.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -8.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -8.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -8.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -6.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -8.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -6.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -6.0) ]; + var lambdaCubeNormals = [ new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0) ]; + var lambdaCube = new LambdaCube_Mesh.Mesh({ + mAttributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", new LambdaCube_Mesh.A_V3F(lambdaCubeVertices)), new Data_Tuple.Tuple("normal", new LambdaCube_Mesh.A_V3F(lambdaCubeNormals)) ]), + mPrimitive: LambdaCube_Mesh.P_Triangles.value + }); + var g_vertex_buffer_data = [ new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, -1.0, 1.0) ]; + var g_uv_buffer_data = [ new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0) ]; + var myCube = new LambdaCube_Mesh.Mesh({ + mAttributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position4", new LambdaCube_Mesh.A_V4F(g_vertex_buffer_data)), new Data_Tuple.Tuple("vertexUV", new LambdaCube_Mesh.A_V2F(g_uv_buffer_data)) ]), + mPrimitive: LambdaCube_Mesh.P_Triangles.value + }); + exports["g_uv_buffer_data"] = g_uv_buffer_data; + exports["g_vertex_buffer_data"] = g_vertex_buffer_data; + exports["lambdaCube"] = lambdaCube; + exports["lambdaCubeNormals"] = lambdaCubeNormals; + exports["lambdaCubeVertices"] = lambdaCubeVertices; + exports["myCube"] = myCube; + exports["myQuad"] = myQuad; +})(PS["Sample"] = PS["Sample"] || {}); (function(exports) { "use strict"; @@ -13476,11 +13432,11 @@ var PS = {}; }; })(PS["Timer"] = PS["Timer"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Timer"]; - var Prelude = PS["Prelude"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; + var Prelude = PS["Prelude"]; exports["clearTimeout"] = $foreign.clearTimeout; exports["nowEpochMilliseconds"] = $foreign.nowEpochMilliseconds; exports["timeout"] = $foreign.timeout; @@ -13537,12 +13493,12 @@ var PS = {}; }; })(PS["WebSocket"] = PS["WebSocket"] || {}); (function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["WebSocket"]; - var Prelude = PS["Prelude"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; - var Data_Either = PS["Data.Either"]; + var Data_Either = PS["Data.Either"]; + var Prelude = PS["Prelude"]; var webSocket = function (a) { return function (b) { return $foreign.webSocketImpl(a)(b)(Data_Either.Right.create)(Data_Either.Left.create); @@ -13552,105 +13508,70 @@ var PS = {}; exports["send"] = $foreign.send; })(PS["WebSocket"] = PS["WebSocket"] || {}); (function(exports) { - // Generated by psc version 0.10.2 - "use strict"; - var Prelude = PS["Prelude"]; - var Data_StrMap = PS["Data.StrMap"]; - var Data_Tuple = PS["Data.Tuple"]; - var LambdaCube_Mesh = PS["LambdaCube.Mesh"]; - var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Ring = PS["Data.Ring"]; - var myQuad = new LambdaCube_Mesh.Mesh({ - mAttributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", new LambdaCube_Mesh.A_V2F([ new LambdaCube_LinearBase.V2(-1.0, 1.0), new LambdaCube_LinearBase.V2(-1.0, -1.0), new LambdaCube_LinearBase.V2(1.0, -1.0), new LambdaCube_LinearBase.V2(1.0, -1.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(-1.0, 1.0) ])) ]), - mPrimitive: LambdaCube_Mesh.P_Triangles.value - }); - var lambdaCubeVertices = [ new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -4.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -4.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, -4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, -5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(-5.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-5.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, -5.0), new LambdaCube_LinearBase.V3(-4.0, 5.0, 5.0), new LambdaCube_LinearBase.V3(-4.0, 4.0, 5.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -4.0), new LambdaCube_LinearBase.V3(-3.889, 4.596, -5.0), new LambdaCube_LinearBase.V3(-4.596, 3.889, -5.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -5.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -5.0), new LambdaCube_LinearBase.V3(4.596, -3.889, -4.0), new LambdaCube_LinearBase.V3(3.889, -4.596, -4.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(-0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(-0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -7.0), new LambdaCube_LinearBase.V3(0.5, 0.5, -5.0), new LambdaCube_LinearBase.V3(0.5, -0.5, -5.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -6.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -6.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -6.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -6.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -6.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -8.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -8.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -8.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -6.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -8.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -8.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -8.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -8.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -8.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -6.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -6.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -6.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -6.0), new LambdaCube_LinearBase.V3(-3.134, 7.428, -8.0), new LambdaCube_LinearBase.V3(-4.866, 6.428, -8.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -8.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -8.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -6.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -8.0), new LambdaCube_LinearBase.V3(4.866, -6.428, -6.0), new LambdaCube_LinearBase.V3(3.134, -7.428, -6.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -6.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -6.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -6.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -6.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -6.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -8.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -8.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -8.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -6.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -8.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -8.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -8.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -8.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -8.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -6.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -6.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -6.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -6.0), new LambdaCube_LinearBase.V3(-4.366, -6.464, -8.0), new LambdaCube_LinearBase.V3(-2.634, -7.464, -8.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -8.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -8.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -6.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -8.0), new LambdaCube_LinearBase.V3(-0.366, 0.464, -6.0), new LambdaCube_LinearBase.V3(1.366, -0.536, -6.0) ]; - var lambdaCubeNormals = [ new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(-0.707, 0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.707, -0.707, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(0.0, -1.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(-1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(1.0, 0.0, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, 1.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(-0.866, 0.5, 0.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.0, 0.0, -1.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(0.866, -0.5, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(-0.5, -0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0), new LambdaCube_LinearBase.V3(0.5, 0.866, 0.0) ]; - var lambdaCube = new LambdaCube_Mesh.Mesh({ - mAttributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", new LambdaCube_Mesh.A_V3F(lambdaCubeVertices)), new Data_Tuple.Tuple("normal", new LambdaCube_Mesh.A_V3F(lambdaCubeNormals)) ]), - mPrimitive: LambdaCube_Mesh.P_Triangles.value - }); - var g_vertex_buffer_data = [ new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, 1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(1.0, -1.0, -1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, 1.0, 1.0), new LambdaCube_LinearBase.V4(-1.0, -1.0, -1.0, 1.0) ]; - var g_uv_buffer_data = [ new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(0.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(0.0, 1.0), new LambdaCube_LinearBase.V2(1.0, 0.0), new LambdaCube_LinearBase.V2(1.0, 1.0) ]; - var myCube = new LambdaCube_Mesh.Mesh({ - mAttributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position4", new LambdaCube_Mesh.A_V4F(g_vertex_buffer_data)), new Data_Tuple.Tuple("vertexUV", new LambdaCube_Mesh.A_V2F(g_uv_buffer_data)) ]), - mPrimitive: LambdaCube_Mesh.P_Triangles.value - }); - exports["g_uv_buffer_data"] = g_uv_buffer_data; - exports["g_vertex_buffer_data"] = g_vertex_buffer_data; - exports["lambdaCube"] = lambdaCube; - exports["lambdaCubeNormals"] = lambdaCubeNormals; - exports["lambdaCubeVertices"] = lambdaCubeVertices; - exports["myCube"] = myCube; - exports["myQuad"] = myQuad; -})(PS["Sample"] = PS["Sample"] || {}); -(function(exports) { - // Generated by psc version 0.10.2 + // Generated by purs version 0.11.4 "use strict"; var $foreign = PS["Main"]; - var Prelude = PS["Prelude"]; - var Extensions = PS["Extensions"]; - var Global = PS["Global"]; - var Control_Monad_Eff_Console = PS["Control.Monad.Eff.Console"]; - var Control_Bind = PS["Control.Bind"]; - var Timer = PS["Timer"]; - var Control_Monad_Except = PS["Control.Monad.Except"]; - var Control_Monad_Eff = PS["Control.Monad.Eff"]; - var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; - var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; - var Data_Foldable = PS["Data.Foldable"]; - var Data_Traversable = PS["Data.Traversable"]; - var Partial_Unsafe = PS["Partial.Unsafe"]; var Ace = PS["Ace"]; - var Ace_Types = PS["Ace.Types"]; - var Ace_Editor = PS["Ace.Editor"]; var Ace_EditSession = PS["Ace.EditSession"]; + var Ace_Editor = PS["Ace.Editor"]; var Ace_Range = PS["Ace.Range"]; - var Graphics_WebGL = PS["Graphics.WebGL"]; + var Ace_Types = PS["Ace.Types"]; + var Control_Applicative = PS["Control.Applicative"]; + var Control_Bind = PS["Control.Bind"]; + var Control_Monad_Eff = PS["Control.Monad.Eff"]; + var Control_Monad_Eff_Console = PS["Control.Monad.Eff.Console"]; + var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Monad_Eff_JQuery = PS["Control.Monad.Eff.JQuery"]; - var WebSocket = PS["WebSocket"]; + var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; + var Control_Monad_Except = PS["Control.Monad.Except"]; + var DOM = PS["DOM"]; + var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; + var Data_Argonaut_Decode = PS["Data.Argonaut.Decode"]; + var Data_Argonaut_Decode_Class = PS["Data.Argonaut.Decode.Class"]; + var Data_Argonaut_Parser = PS["Data.Argonaut.Parser"]; + var Data_Array = PS["Data.Array"]; + var Data_Boolean = PS["Data.Boolean"]; var Data_Either = PS["Data.Either"]; - var Sample = PS["Sample"]; + var Data_Eq = PS["Data.Eq"]; + var Data_EuclideanRing = PS["Data.EuclideanRing"]; + var Data_Foldable = PS["Data.Foldable"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function = PS["Data.Function"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; - var Data_Maybe = PS["Data.Maybe"]; - var Data_StrMap = PS["Data.StrMap"]; - var Data_Tuple = PS["Data.Tuple"]; - var Data_Array = PS["Data.Array"]; + var Data_Functor = PS["Data.Functor"]; + var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Int = PS["Data.Int"]; - var LambdaCube_WebGL = PS["LambdaCube.WebGL"]; - var LambdaCube_WebGL_Util = PS["LambdaCube.WebGL.Util"]; - var LambdaCube_WebGL_Mesh = PS["LambdaCube.WebGL.Mesh"]; - var LambdaCube_TypeInfo = PS["LambdaCube.TypeInfo"]; - var Data_Argonaut_Parser = PS["Data.Argonaut.Parser"]; - var Data_Argonaut_Decode = PS["Data.Argonaut.Decode"]; - var Data_Argonaut_Core = PS["Data.Argonaut.Core"]; var Data_Matrix = PS["Data.Matrix"]; var Data_Matrix4 = PS["Data.Matrix4"]; - var Data_Vector3 = PS["Data.Vector3"]; - var DOM = PS["DOM"]; - var LambdaCube_PipelineSchema = PS["LambdaCube.PipelineSchema"]; + var Data_Maybe = PS["Data.Maybe"]; + var Data_Ord = PS["Data.Ord"]; + var Data_Ring = PS["Data.Ring"]; + var Data_Semigroup = PS["Data.Semigroup"]; + var Data_Semiring = PS["Data.Semiring"]; + var Data_Show = PS["Data.Show"]; + var Data_StrMap = PS["Data.StrMap"]; + var Data_Traversable = PS["Data.Traversable"]; + var Data_Tuple = PS["Data.Tuple"]; + var Data_Unit = PS["Data.Unit"]; + var Extensions = PS["Extensions"]; + var Global = PS["Global"]; + var Graphics_WebGL = PS["Graphics.WebGL"]; var LambdaCube_IR = PS["LambdaCube.IR"]; - var LambdaCube_WebGL_Input = PS["LambdaCube.WebGL.Input"]; - var Control_Applicative = PS["Control.Applicative"]; var LambdaCube_LinearBase = PS["LambdaCube.LinearBase"]; - var Data_EuclideanRing = PS["Data.EuclideanRing"]; - var LambdaCube_WebGL_Data = PS["LambdaCube.WebGL.Data"]; - var Data_Argonaut_Decode_Class = PS["Data.Argonaut.Decode.Class"]; var LambdaCube_Mesh = PS["LambdaCube.Mesh"]; - var Data_Semigroup = PS["Data.Semigroup"]; - var Data_Unit = PS["Data.Unit"]; - var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; - var Data_Ord = PS["Data.Ord"]; - var Data_Eq = PS["Data.Eq"]; - var Data_Functor = PS["Data.Functor"]; - var Data_Boolean = PS["Data.Boolean"]; + var LambdaCube_PipelineSchema = PS["LambdaCube.PipelineSchema"]; + var LambdaCube_TypeInfo = PS["LambdaCube.TypeInfo"]; + var LambdaCube_WebGL = PS["LambdaCube.WebGL"]; var LambdaCube_WebGL_Backend = PS["LambdaCube.WebGL.Backend"]; - var Data_Show = PS["Data.Show"]; - var Data_Ring = PS["Data.Ring"]; - var Data_Semiring = PS["Data.Semiring"]; + var LambdaCube_WebGL_Data = PS["LambdaCube.WebGL.Data"]; + var LambdaCube_WebGL_Input = PS["LambdaCube.WebGL.Input"]; + var LambdaCube_WebGL_Mesh = PS["LambdaCube.WebGL.Mesh"]; + var LambdaCube_WebGL_Util = PS["LambdaCube.WebGL.Util"]; + var Partial_Unsafe = PS["Partial.Unsafe"]; + var Prelude = PS["Prelude"]; + var Sample = PS["Sample"]; + var Timer = PS["Timer"]; + var WebSocket = PS["WebSocket"]; var main = Control_Monad_Eff_Console.log("Start LambdaCube 3D Editor"); var defaultExampleName = "LambdaCube2.lc"; var addMarker = function (range) { @@ -13664,297 +13585,463 @@ var PS = {}; }; }; }; - var run = Partial_Unsafe.unsafePartial(function (dictPartial) { - return Graphics_WebGL.runWebGL("glcanvas")(function (s) { - return Control_Monad_Eff_Console.log(s); - })(function (context) { - var inputSchema = new LambdaCube_PipelineSchema.PipelineSchema({ - objectArrays: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ Data_Tuple.Tuple.create("stream")(new LambdaCube_PipelineSchema.ObjectArraySchema({ - primitive: LambdaCube_IR.Triangles.value, - attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value), new Data_Tuple.Tuple("normal", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) - })), Data_Tuple.Tuple.create("stream4")(new LambdaCube_PipelineSchema.ObjectArraySchema({ - primitive: LambdaCube_IR.Triangles.value, - attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position4", LambdaCube_PipelineSchema.Attribute_V4F.value), new Data_Tuple.Tuple("vertexUV", LambdaCube_PipelineSchema.Attribute_V2F.value) ]) - })), Data_Tuple.Tuple.create("line")(new LambdaCube_PipelineSchema.ObjectArraySchema({ - primitive: LambdaCube_IR.Triangles.value, - attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) - })), Data_Tuple.Tuple.create("grid")(new LambdaCube_PipelineSchema.ObjectArraySchema({ - primitive: LambdaCube_IR.Triangles.value, - attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) - })), Data_Tuple.Tuple.create("grid3d")(new LambdaCube_PipelineSchema.ObjectArraySchema({ - primitive: LambdaCube_IR.Points.value, - attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) - })), Data_Tuple.Tuple.create("quad")(new LambdaCube_PipelineSchema.ObjectArraySchema({ - primitive: LambdaCube_IR.Triangles.value, - attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V2F.value) ]) - })), Data_Tuple.Tuple.create("cube")(new LambdaCube_PipelineSchema.ObjectArraySchema({ - primitive: LambdaCube_IR.Triangles.value, - attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value), new Data_Tuple.Tuple("normal", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) - })), Data_Tuple.Tuple.create("lambdaCube")(new LambdaCube_PipelineSchema.ObjectArraySchema({ - primitive: LambdaCube_IR.Triangles.value, - attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value), new Data_Tuple.Tuple("normal", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) - })) ]), - uniforms: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("MVP", LambdaCube_IR.M44F.value), new Data_Tuple.Tuple("Time", LambdaCube_IR.Float.value), new Data_Tuple.Tuple("Mouse", LambdaCube_IR.V2F.value), new Data_Tuple.Tuple("Diffuse", LambdaCube_IR.FTexture2D.value), new Data_Tuple.Tuple("OcclusionFieldMin", LambdaCube_IR.FTexture2D.value), new Data_Tuple.Tuple("OcclusionFieldMax", LambdaCube_IR.FTexture2D.value) ]) - }); - return function __do() { - var v = LambdaCube_WebGL_Input.mkWebGLPipelineInput(inputSchema)(); - var v1 = Control_Monad_Eff_Ref.newRef(0.0)(); - var v2 = Control_Monad_Eff_JQuery.body(); - var v3 = Control_Monad_Eff_JQuery.find("#timeBox")(v2)(); - var v4 = Control_Monad_Eff_JQuery.find("#timeRange")(v2)(); - var getTime = function __do() { - var v5 = Control_Monad_Eff_JQuery.getValue(v3)(); - var $87 = Control_Monad_Except.runExcept(Data_Foreign.readNumber(v5)); - if ($87 instanceof Data_Either.Right) { - return $87.value0; + var run = Graphics_WebGL.runWebGL("glcanvas")(function (s) { + return Control_Monad_Eff_Console.log(s); + })(function (context) { + var inputSchema = new LambdaCube_PipelineSchema.PipelineSchema({ + objectArrays: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ Data_Tuple.Tuple.create("stream")(new LambdaCube_PipelineSchema.ObjectArraySchema({ + primitive: LambdaCube_IR.Triangles.value, + attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value), new Data_Tuple.Tuple("normal", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) + })), Data_Tuple.Tuple.create("stream4")(new LambdaCube_PipelineSchema.ObjectArraySchema({ + primitive: LambdaCube_IR.Triangles.value, + attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position4", LambdaCube_PipelineSchema.Attribute_V4F.value), new Data_Tuple.Tuple("vertexUV", LambdaCube_PipelineSchema.Attribute_V2F.value) ]) + })), Data_Tuple.Tuple.create("line")(new LambdaCube_PipelineSchema.ObjectArraySchema({ + primitive: LambdaCube_IR.Triangles.value, + attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) + })), Data_Tuple.Tuple.create("grid")(new LambdaCube_PipelineSchema.ObjectArraySchema({ + primitive: LambdaCube_IR.Triangles.value, + attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) + })), Data_Tuple.Tuple.create("grid3d")(new LambdaCube_PipelineSchema.ObjectArraySchema({ + primitive: LambdaCube_IR.Points.value, + attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) + })), Data_Tuple.Tuple.create("quad")(new LambdaCube_PipelineSchema.ObjectArraySchema({ + primitive: LambdaCube_IR.Triangles.value, + attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V2F.value) ]) + })), Data_Tuple.Tuple.create("cube")(new LambdaCube_PipelineSchema.ObjectArraySchema({ + primitive: LambdaCube_IR.Triangles.value, + attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value), new Data_Tuple.Tuple("normal", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) + })), Data_Tuple.Tuple.create("lambdaCube")(new LambdaCube_PipelineSchema.ObjectArraySchema({ + primitive: LambdaCube_IR.Triangles.value, + attributes: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("position", LambdaCube_PipelineSchema.Attribute_V3F.value), new Data_Tuple.Tuple("normal", LambdaCube_PipelineSchema.Attribute_V3F.value) ]) + })) ]), + uniforms: Data_StrMap.fromFoldable(Data_Foldable.foldableArray)([ new Data_Tuple.Tuple("MVP", LambdaCube_IR.M44F.value), new Data_Tuple.Tuple("Time", LambdaCube_IR.Float.value), new Data_Tuple.Tuple("Mouse", LambdaCube_IR.V2F.value), new Data_Tuple.Tuple("Diffuse", LambdaCube_IR.FTexture2D.value), new Data_Tuple.Tuple("OcclusionFieldMin", LambdaCube_IR.FTexture2D.value), new Data_Tuple.Tuple("OcclusionFieldMax", LambdaCube_IR.FTexture2D.value) ]) + }); + return function __do() { + var v = LambdaCube_WebGL_Input.mkWebGLPipelineInput(inputSchema)(); + var v1 = Control_Monad_Eff_Ref.newRef(0.0)(); + var v2 = Control_Monad_Eff_JQuery.body(); + var v3 = Control_Monad_Eff_JQuery.find("#timeBox")(v2)(); + var v4 = Control_Monad_Eff_JQuery.find("#timeRange")(v2)(); + var getTime = function __do() { + var v5 = Control_Monad_Eff_JQuery.getValue(v3)(); + var v6 = Control_Monad_Except.runExcept(Data_Foreign.readNumber(v5)); + if (v6 instanceof Data_Either.Right) { + return v6.value0; + }; + var v7 = Control_Monad_Except.runExcept(Data_Foreign.readString(v5)); + if (v7 instanceof Data_Either.Right) { + return Global.readFloat(v7.value0); + }; + return 0.0; + }; + Data_Function.flip(Control_Monad_Eff_JQuery.on("input"))(v3)(function (v5) { + return function (v6) { + return function __do() { + Control_Bind.bind(Control_Monad_Eff.bindEff)(Control_Monad_Eff_JQuery.getValue(v3))(Data_Function.flip(Control_Monad_Eff_JQuery.setValue)(v4))(); + return Control_Bind.bind(Control_Monad_Eff.bindEff)(getTime)(Control_Monad_Eff_Ref.writeRef(v1))(); }; - var $89 = Control_Monad_Except.runExcept(Data_Foreign.readString(v5)); - if ($89 instanceof Data_Either.Right) { - return Global.readFloat($89.value0); + }; + })(); + Data_Function.flip(Control_Monad_Eff_JQuery.on("input"))(v4)(function (v5) { + return function (v6) { + return function __do() { + Control_Bind.bind(Control_Monad_Eff.bindEff)(Control_Monad_Eff_JQuery.getValue(v4))(Data_Function.flip(Control_Monad_Eff_JQuery.setValue)(v3))(); + return Control_Bind.bind(Control_Monad_Eff.bindEff)(getTime)(Control_Monad_Eff_Ref.writeRef(v1))(); }; - return 0.0; }; - Data_Function.flip(Control_Monad_Eff_JQuery.on("input"))(v3)(function (v5) { - return function (v6) { - return function __do() { - Control_Bind.bind(Control_Monad_Eff.bindEff)(Control_Monad_Eff_JQuery.getValue(v3))(Data_Function.flip(Control_Monad_Eff_JQuery.setValue)(v4))(); - return Control_Bind.bind(Control_Monad_Eff.bindEff)(getTime)(Control_Monad_Eff_Ref.writeRef(v1))(); - }; + })(); + Data_Function.flip(Control_Monad_Eff_JQuery.on("change"))(v3)(function (v5) { + return function (v6) { + return function __do() { + Control_Bind.bind(Control_Monad_Eff.bindEff)(Control_Monad_Eff_JQuery.getValue(v3))(Data_Function.flip(Control_Monad_Eff_JQuery.setValue)(v4))(); + return Control_Bind.bind(Control_Monad_Eff.bindEff)(getTime)(Control_Monad_Eff_Ref.writeRef(v1))(); }; - })(); - Data_Function.flip(Control_Monad_Eff_JQuery.on("input"))(v4)(function (v5) { - return function (v6) { - return function __do() { - Control_Bind.bind(Control_Monad_Eff.bindEff)(Control_Monad_Eff_JQuery.getValue(v4))(Data_Function.flip(Control_Monad_Eff_JQuery.setValue)(v3))(); - return Control_Bind.bind(Control_Monad_Eff.bindEff)(getTime)(Control_Monad_Eff_Ref.writeRef(v1))(); - }; + }; + })(); + Data_Function.flip(Control_Monad_Eff_JQuery.on("change"))(v4)(function (v5) { + return function (v6) { + return function __do() { + Control_Bind.bind(Control_Monad_Eff.bindEff)(Control_Monad_Eff_JQuery.getValue(v4))(Data_Function.flip(Control_Monad_Eff_JQuery.setValue)(v3))(); + return Control_Bind.bind(Control_Monad_Eff.bindEff)(getTime)(Control_Monad_Eff_Ref.writeRef(v1))(); }; - })(); - Data_Function.flip(Control_Monad_Eff_JQuery.on("change"))(v3)(function (v5) { - return function (v6) { - return function __do() { - Control_Bind.bind(Control_Monad_Eff.bindEff)(Control_Monad_Eff_JQuery.getValue(v3))(Data_Function.flip(Control_Monad_Eff_JQuery.setValue)(v4))(); - return Control_Bind.bind(Control_Monad_Eff.bindEff)(getTime)(Control_Monad_Eff_Ref.writeRef(v1))(); + }; + })(); + var v5 = Control_Monad_Eff_JQuery.find("#pause")(v2)(); + var v6 = Control_Monad_Eff_JQuery.find("#pipeline")(v2)(); + var v7 = Control_Monad_Eff_JQuery.find("#desugared")(v2)(); + var v8 = Control_Monad_Eff_JQuery.find("#messagepanel")(v2)(); + var v9 = Control_Monad_Eff_JQuery.find("#statuspanel")(v2)(); + var v10 = Control_Monad_Eff_JQuery.find("#compilebutton")(v2)(); + var v11 = Control_Monad_Eff_JQuery.find("#exerciseselect")(v2)(); + var v12 = Control_Monad_Eff_JQuery.find("#glcanvas")(v2)(); + Data_Function.flip(Control_Monad_Eff_JQuery.on("mousemove"))(v12)(function (e) { + return function (v13) { + return function __do() { + var v14 = Graphics_WebGL.getCanvasWidth(context)(); + var v15 = Graphics_WebGL.getCanvasHeight(context)(); + var v16 = $foreign.getMousePos(e)(); + var __unused = function (dictPartial1) { + return function ($dollar83) { + return $dollar83; + }; }; + return __unused()((function () { + if (v16.length === 2) { + return LambdaCube_WebGL_Input.uniformV2F("Mouse")(v.uniformSetter)(new LambdaCube_LinearBase.V2(v16[0] / Data_Int.toNumber(v14), v16[1] / Data_Int.toNumber(v15))); + }; + throw new Error("Failed pattern match at Main line 150, column 5 - line 150, column 27: " + [ v16.constructor.name ]); + })())(); }; - })(); - Data_Function.flip(Control_Monad_Eff_JQuery.on("change"))(v4)(function (v5) { - return function (v6) { - return function __do() { - Control_Bind.bind(Control_Monad_Eff.bindEff)(Control_Monad_Eff_JQuery.getValue(v4))(Data_Function.flip(Control_Monad_Eff_JQuery.setValue)(v3))(); - return Control_Bind.bind(Control_Monad_Eff.bindEff)(getTime)(Control_Monad_Eff_Ref.writeRef(v1))(); + }; + })(); + var updateInput = function (t) { + return function __do() { + var v13 = Graphics_WebGL.getCanvasWidth(context)(); + var v14 = Graphics_WebGL.getCanvasHeight(context)(); + LambdaCube_WebGL_Input.setScreenSize(v)(new LambdaCube_LinearBase.V2(v13, v14))(); + return LambdaCube_WebGL_Input.uniformFloat("Time")(v.uniformSetter)(t)(); + }; + }; + var toLCMat4 = function (v13) { + if (v13.length === 16) { + var v41 = new LambdaCube_LinearBase.V4(v13[12], v13[13], v13[14], v13[15]); + var v31 = new LambdaCube_LinearBase.V4(v13[8], v13[9], v13[10], v13[11]); + var v21 = new LambdaCube_LinearBase.V4(v13[4], v13[5], v13[6], v13[7]); + var v14 = new LambdaCube_LinearBase.V4(v13[0], v13[1], v13[2], v13[3]); + return new LambdaCube_LinearBase.V4(v14, v21, v31, v41); + }; + return Extensions.fail("invalid Mat4"); + }; + var v13 = LambdaCube_WebGL_Mesh.compileMesh(Sample.myCube)(); + var v14 = LambdaCube_WebGL_Mesh.addMesh(v)("stream4")(v13)([ ])(); + var v15 = LambdaCube_WebGL_Mesh.compileMesh(Sample.myQuad)(); + var v16 = LambdaCube_WebGL_Mesh.addMesh(v)("quad")(v15)([ ])(); + var v17 = LambdaCube_WebGL_Mesh.compileMesh(Sample.lambdaCube)(); + var v18 = LambdaCube_WebGL_Mesh.addMesh(v)("lambdaCube")(v17)([ ])(); + LambdaCube_WebGL_Data.uploadTexture2DToGPU("logo.png")(LambdaCube_WebGL_Input.uniformFTexture2D("Diffuse")(v.uniformSetter))(); + LambdaCube_WebGL_Data.uploadTexture2DToGPU("OcclusionFieldMin.png")(LambdaCube_WebGL_Input.uniformFTexture2D("OcclusionFieldMin")(v.uniformSetter))(); + LambdaCube_WebGL_Data.uploadTexture2DToGPU("OcclusionFieldMax.png")(LambdaCube_WebGL_Input.uniformFTexture2D("OcclusionFieldMax")(v.uniformSetter))(); + var addRemoteModel = function (sname) { + return function (uri) { + return $foreign.getJSON(uri)(function (m) { + var v19 = Data_Argonaut_Decode_Class.decodeJson(LambdaCube_Mesh.decodeJsonMesh)(m); + if (v19 instanceof Data_Either.Left) { + return Control_Monad_Eff_Console.log("decode error: " + v19.value0); }; - }; - })(); - var v5 = Control_Monad_Eff_JQuery.find("#pause")(v2)(); - var v6 = Control_Monad_Eff_JQuery.find("#pipeline")(v2)(); - var v7 = Control_Monad_Eff_JQuery.find("#desugared")(v2)(); - var v8 = Control_Monad_Eff_JQuery.find("#messagepanel")(v2)(); - var v9 = Control_Monad_Eff_JQuery.find("#statuspanel")(v2)(); - var v10 = Control_Monad_Eff_JQuery.find("#compilebutton")(v2)(); - var v11 = Control_Monad_Eff_JQuery.find("#exerciseselect")(v2)(); - var v12 = Control_Monad_Eff_JQuery.find("#glcanvas")(v2)(); - Data_Function.flip(Control_Monad_Eff_JQuery.on("mousemove"))(v12)(function (e) { - return function (v13) { - return function __do() { - var v14 = Graphics_WebGL.getCanvasWidth(context)(); - var v15 = Graphics_WebGL.getCanvasHeight(context)(); - var v16 = $foreign.getMousePos(e)(); - var __unused = function (dictPartial1) { - return function ($dollar78) { - return $dollar78; - }; + if (v19 instanceof Data_Either.Right) { + return function __do() { + var v20 = LambdaCube_WebGL_Mesh.compileMesh(v19.value0)(); + var v21 = LambdaCube_WebGL_Mesh.addMesh(v)(sname)(v20)([ ])(); + LambdaCube_WebGL_Input.sortSlotObjects(v)(); + return Data_Unit.unit; }; - return __unused(dictPartial)((function () { - if (v16.length === 2) { - return LambdaCube_WebGL_Input.uniformV2F("Mouse")(v.uniformSetter)(new LambdaCube_LinearBase.V2(v16[0] / Data_Int.toNumber(v14), v16[1] / Data_Int.toNumber(v15))); - }; - throw new Error("Failed pattern match at Main line 161, column 46 - line 165, column 85: " + [ v16.constructor.name ]); - })())(); }; - }; - })(); - var updateInput = function (t) { - return function __do() { - var v13 = Graphics_WebGL.getCanvasWidth(context)(); - var v14 = Graphics_WebGL.getCanvasHeight(context)(); - LambdaCube_WebGL_Input.setScreenSize(v)(new LambdaCube_LinearBase.V2(v13, v14))(); - return LambdaCube_WebGL_Input.uniformFloat("Time")(v.uniformSetter)(t)(); + throw new Error("Failed pattern match at Main line 185, column 9 - line 191, column 22: " + [ v19.constructor.name ]); + }); + }; + }; + var v19 = Ace.edit("editor")(Ace.ace)(); + var v20 = Ace_Editor.getSession(v19)(); + Ace_Editor.setTheme("ace/theme/terminal")(v19)(); + Ace_EditSession.setMode("ace/mode/haskell")(v20)(); + var v21 = Control_Monad_Eff_Ref.newRef([ ])(); + var v22 = Control_Monad_Eff_Ref.newRef([ ])(); + var lessEqPos = function (l) { + return function (c) { + return function (l$prime) { + return function (c$prime) { + return l < l$prime || l === l$prime && c <= c$prime; + }; }; }; - var toLCMat4 = function (v13) { - if (v13.length === 16) { - var v41 = new LambdaCube_LinearBase.V4(v13[12], v13[13], v13[14], v13[15]); - var v31 = new LambdaCube_LinearBase.V4(v13[8], v13[9], v13[10], v13[11]); - var v21 = new LambdaCube_LinearBase.V4(v13[4], v13[5], v13[6], v13[7]); - var v14 = new LambdaCube_LinearBase.V4(v13[0], v13[1], v13[2], v13[3]); - return new LambdaCube_LinearBase.V4(v14, v21, v31, v41); + }; + var lessPos = function (l) { + return function (c) { + return function (l$prime) { + return function (c$prime) { + return l < l$prime || l === l$prime && c < c$prime; + }; }; - return Extensions.fail("invalid Mat4"); - }; - var v13 = LambdaCube_WebGL_Mesh.compileMesh(Sample.myCube)(); - LambdaCube_WebGL_Mesh.addMesh(v)("stream4")(v13)([ ])(); - var v14 = LambdaCube_WebGL_Mesh.compileMesh(Sample.myQuad)(); - LambdaCube_WebGL_Mesh.addMesh(v)("quad")(v14)([ ])(); - var v15 = LambdaCube_WebGL_Mesh.compileMesh(Sample.lambdaCube)(); - LambdaCube_WebGL_Mesh.addMesh(v)("lambdaCube")(v15)([ ])(); - LambdaCube_WebGL_Data.uploadTexture2DToGPU("logo.png")(LambdaCube_WebGL_Input.uniformFTexture2D("Diffuse")(v.uniformSetter))(); - LambdaCube_WebGL_Data.uploadTexture2DToGPU("OcclusionFieldMin.png")(LambdaCube_WebGL_Input.uniformFTexture2D("OcclusionFieldMin")(v.uniformSetter))(); - LambdaCube_WebGL_Data.uploadTexture2DToGPU("OcclusionFieldMax.png")(LambdaCube_WebGL_Input.uniformFTexture2D("OcclusionFieldMax")(v.uniformSetter))(); - var addRemoteModel = function (sname) { - return function (uri) { - return $foreign.getJSON(uri)(function (m) { - var $135 = Data_Argonaut_Decode_Class.decodeJson(LambdaCube_Mesh.decodeJsonMesh)(m); - if ($135 instanceof Data_Either.Left) { - return Control_Monad_Eff_Console.log("decode error: " + $135.value0); + }; + }; + var getTypeInfo = function (l) { + return function (c) { + return function __do() { + var v23 = Control_Monad_Eff_Ref.readRef(v21)(); + var flattenTypeInfo = function (v24) { + return { + startLine: v24.value0.range.value0.startLine, + startColumn: v24.value0.range.value0.startColumn, + endLine: v24.value0.range.value0.endLine, + endColumn: v24.value0.range.value0.endColumn, + text: v24.value0.text }; - if ($135 instanceof Data_Either.Right) { - return function __do() { - var v16 = LambdaCube_WebGL_Mesh.compileMesh($135.value0)(); - LambdaCube_WebGL_Mesh.addMesh(v)(sname)(v16)([ ])(); - LambdaCube_WebGL_Input.sortSlotObjects(v)(); - return Data_Unit.unit; + }; + var ps = Data_Function.flip(Data_Array.filter)(Data_Functor.map(Data_Functor.functorArray)(flattenTypeInfo)(v23))(function (ti) { + return lessEqPos(ti.startLine)(ti.startColumn)(l)(c) && lessPos(l)(c)(ti.endLine)(ti.endColumn); + }); + var f = function (v24) { + return function (i) { + if (v24 instanceof Data_Maybe.Nothing) { + return new Data_Maybe.Just(i); }; + if (v24 instanceof Data_Maybe.Just) { + if (lessPos(v24.value0.startLine)(v24.value0.startColumn)(i.startLine)(i.startColumn)) { + return new Data_Maybe.Just(i); + }; + if (Data_Boolean.otherwise) { + return new Data_Maybe.Just(v24.value0); + }; + }; + throw new Error("Failed pattern match at Main line 213, column 9 - line 225, column 37: " + [ v24.constructor.name, i.constructor.name ]); }; - throw new Error("Failed pattern match at Main line 199, column 9 - line 205, column 22: " + [ $135.constructor.name ]); - }); + }; + var v24 = Data_Foldable.foldl(Data_Foldable.foldableArray)(f)(Data_Maybe.Nothing.value)(ps); + if (v24 instanceof Data_Maybe.Nothing) { + return { + startLine: 0, + startColumn: 0, + endLine: 0, + endColumn: 0, + text: "" + }; + }; + if (v24 instanceof Data_Maybe.Just) { + return v24.value0; + }; + throw new Error("Failed pattern match at Main line 226, column 16 - line 234, column 22: " + [ v24.constructor.name ]); }; }; - var v16 = Ace.edit("editor")(Ace.ace)(); - var v17 = Ace_Editor.getSession(v16)(); - Ace_Editor.setTheme("ace/theme/terminal")(v16)(); - Ace_EditSession.setMode("ace/mode/haskell")(v17)(); - var v18 = Control_Monad_Eff_Ref.newRef([ ])(); - var v19 = Control_Monad_Eff_Ref.newRef([ ])(); - var lessEqPos = function (l) { - return function (c) { - return function (l$prime) { - return function (c$prime) { - return l < l$prime || l === l$prime && c <= c$prime; + }; + $foreign.tokenTooltip(v19)(getTypeInfo)(); + var v23 = Control_Monad_Eff_Ref.newRef(Data_Maybe.Nothing.value)(); + var render = function (ir) { + return function __do() { + var v24 = Control_Monad_Eff_Ref.readRef(v23)(); + Control_Monad_Eff_Ref.writeRef(v23)(Data_Maybe.Nothing.value)(); + (function () { + if (v24 instanceof Data_Maybe.Nothing) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); + }; + if (v24 instanceof Data_Maybe.Just) { + return function __do() { + Control_Monad_Eff_Console.log("dispose old pipeline")(); + return LambdaCube_WebGL_Backend.disposePipeline(v24.value0)(); }; }; - }; + throw new Error("Failed pattern match at Main line 255, column 9 - line 259, column 30: " + [ v24.constructor.name ]); + })()(); + Control_Monad_Eff_Console.log("allocate new pipeline")(); + var v25 = LambdaCube_WebGL_Backend.allocPipeline(ir)(); + Control_Monad_Eff_Console.log("attach pipeline input")(); + LambdaCube_WebGL_Backend.setPipelineInput(v25)(new Data_Maybe.Just(v))(); + Control_Monad_Eff_Console.log("generate object commands")(); + LambdaCube_WebGL_Input.sortSlotObjects(v)(); + return Control_Monad_Eff_Ref.writeRef(v23)(new Data_Maybe.Just(v25))(); + }; + }; + var compile = function (s) { + return function __do() { + Control_Monad_Eff_Console.log("compile")(); + Control_Monad_Eff_JQuery.setText("Compiling...")(v9)(); + var v24 = Ace_EditSession.getValue(v20)(); + return WebSocket.send(s)(v24)(); }; - var lessPos = function (l) { - return function (c) { - return function (l$prime) { - return function (c$prime) { - return l < l$prime || l === l$prime && c < c$prime; + }; + var v24 = WebSocket.webSocket("ws://localhost:8000/exerciselist")({ + onOpen: function (s) { + return function __do() { + WebSocket.send(s)("query")(); + Control_Monad_Eff_Console.log("socket1 is ready")(); + return Data_Unit.unit; + }; + }, + onMessage: function (s) { + return function (m) { + var v24 = Control_Bind.bind(Data_Either.bindEither)(Data_Argonaut_Parser.jsonParser(m))(Data_Argonaut_Decode_Class.decodeJson(Data_Argonaut_Decode_Class.decodeArray(Data_Argonaut_Decode_Class.decodeJsonString))); + if (v24 instanceof Data_Either.Left) { + return Control_Monad_Eff_Console.log("decode error: " + v24.value0); + }; + if (v24 instanceof Data_Either.Right) { + return function __do() { + Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(v24.value0)(function (e) { + return function __do() { + var v25 = Control_Monad_Eff_JQuery.create("")(); + Control_Monad_Eff_JQuery.setText(e)(v25)(); + return Control_Monad_Eff_JQuery.append(v25)(v11)(); + }; + })(); + return Data_Unit.unit; }; }; + throw new Error("Failed pattern match at Main line 273, column 27 - line 280, column 22: " + [ v24.constructor.name ]); }; - }; - var getTypeInfo = function (l) { - return function (c) { - return function __do() { - var v20 = Control_Monad_Eff_Ref.readRef(v18)(); - var flattenTypeInfo = function (v21) { - return { - startLine: v21.value0.range.value0.startLine, - startColumn: v21.value0.range.value0.startColumn, - endLine: v21.value0.range.value0.endLine, - endColumn: v21.value0.range.value0.endColumn, - text: v21.value0.text + }, + onError: function (s) { + return function (m) { + return Control_Monad_Eff_Console.log(m); + }; + }, + onClose: Control_Monad_Eff_Console.log("socket1 is closed") + })(); + var v25 = WebSocket.webSocket("ws://localhost:8000/compile")({ + onOpen: function (s) { + return function __do() { + Control_Monad_Eff_Console.log("socket is ready")(); + var v25 = Control_Monad_Eff_Ref.newRef(Data_Maybe.Nothing.value)(); + return Ace_EditSession.onChange(v20)(function __do() { + var v26 = Control_Monad_Eff_Ref.readRef(v25)(); + (function () { + if (v26 instanceof Data_Maybe.Nothing) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); }; - }; - var ps = Data_Function.flip(Data_Array.filter)(Data_Functor.map(Data_Functor.functorArray)(flattenTypeInfo)(v20))(function (ti) { - return lessEqPos(ti.startLine)(ti.startColumn)(l)(c) && lessPos(l)(c)(ti.endLine)(ti.endColumn); - }); - var f = function (v21) { - return function (i) { - if (v21 instanceof Data_Maybe.Nothing) { - return new Data_Maybe.Just(i); - }; - if (v21 instanceof Data_Maybe.Just) { - if (lessPos(v21.value0.startLine)(v21.value0.startColumn)(i.startLine)(i.startColumn)) { - return new Data_Maybe.Just(i); - }; - if (Data_Boolean.otherwise) { - return new Data_Maybe.Just(v21.value0); - }; + if (v26 instanceof Data_Maybe.Just) { + return Timer.clearTimeout(v26.value0); + }; + throw new Error("Failed pattern match at Main line 291, column 11 - line 293, column 37: " + [ v26.constructor.name ]); + })()(); + return Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(Control_Monad_Eff_Ref.writeRef(v25))(Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Maybe.Just.create)(Timer.timeout(1000)(compile(s))))(); + })(); + }; + }, + onClose: Control_Monad_Eff_Console.log("socket is closed"), + onMessage: function (s) { + return function (m) { + return function __do() { + Control_Monad_Eff_Console.log("got response")(); + var unlinesWithCaption = function (title) { + return function (a) { + var $172 = Data_Array["null"](a); + if ($172) { + return ""; }; - throw new Error("Failed pattern match at Main line 225, column 25 - line 248, column 22: " + [ v21.constructor.name, i.constructor.name ]); + return Data_Show.show(Data_Show.showInt)(Data_Array.length(a)) + (" " + (title + LambdaCube_WebGL_Util.unlines(a))); }; }; - var $151 = Data_Foldable.foldl(Data_Foldable.foldableArray)(f)(Data_Maybe.Nothing.value)(ps); - if ($151 instanceof Data_Maybe.Nothing) { - return { - startLine: 0, - startColumn: 0, - endLine: 0, - endColumn: 0, - text: "" + var addRangeMarker = function (cssClass) { + return function (e) { + return function __do() { + var v25 = Ace_Range.create(e.startLine - 1 | 0)(e.startColumn - 1 | 0)(e.endLine - 1 | 0)(e.endColumn - 1 | 0)(); + return addMarker(v25)(cssClass)("text")(false)(v20)(); + }; }; }; - if ($151 instanceof Data_Maybe.Just) { - return $151.value0; + var v25 = Control_Bind.bind(Data_Either.bindEither)(Data_Argonaut_Parser.jsonParser(m))(Data_Argonaut_Decode_Class.decodeJson(LambdaCube_TypeInfo.decodeJsonCompileResult)); + if (v25 instanceof Data_Either.Left) { + return Control_Monad_Eff_Console.log("decode error: " + v25.value0)(); }; - throw new Error("Failed pattern match at Main line 240, column 9 - line 248, column 22: " + [ $151.constructor.name ]); - }; - }; - }; - $foreign.tokenTooltip(v16)(getTypeInfo)(); - var v20 = Control_Monad_Eff_Ref.newRef(Data_Maybe.Nothing.value)(); - var render = function (ir) { - return function __do() { - var v21 = Control_Monad_Eff_Ref.readRef(v20)(); - Control_Monad_Eff_Ref.writeRef(v20)(Data_Maybe.Nothing.value)(); - (function () { - if (v21 instanceof Data_Maybe.Nothing) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); + if (v25 instanceof Data_Either.Right && v25.value0 instanceof LambdaCube_TypeInfo.CompileError) { + Control_Monad_Eff_JQuery.setText(Data_Show.show(Data_Show.showInt)(Data_Ord.max(Data_Ord.ordInt)(1)(Data_Array.length(v25.value0.value3))) + (" Errors" + (function () { + var $176 = Data_Array["null"](v25.value0.value2); + if ($176) { + return ""; + }; + return ", " + (Data_Show.show(Data_Show.showInt)(Data_Array.length(v25.value0.value2)) + " Warnings"); + })()))(v9)(); + var warningsTxt = Data_Functor.map(Data_Functor.functorArray)(function (v26) { + return v26.value0.wText; + })(v25.value0.value2); + var errorsTxt = Data_Functor.map(Data_Functor.functorArray)(function (v26) { + return v26.value0.eText; + })(v25.value0.value3); + Control_Monad_Eff_JQuery.setText(LambdaCube_WebGL_Util.unlines([ v25.value0.value0, unlinesWithCaption("Errors:\x0a")(errorsTxt), unlinesWithCaption("Warnings:\x0a")(warningsTxt) ]))(v8)(); + var v26 = Control_Monad_Eff_Ref.readRef(v22)(); + Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(v26)(function (mkr) { + return Ace_EditSession.removeMarker(mkr)(v20); + })(); + var v27 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)(v25.value0.value2)(function (v27) { + return addRangeMarker("lc_warning")(v27.value0.wRange.value0); + })(); + var v28 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)(v25.value0.value3)(function (v28) { + return addRangeMarker("lc_error")(v28.value0.eRange.value0); + })(); + Control_Monad_Eff_Ref.writeRef(v22)(Data_Array.concat([ v27, v28 ]))(); + Control_Monad_Eff_Ref.writeRef(v21)(v25.value0.value1)(); + return Data_Unit.unit; }; - if (v21 instanceof Data_Maybe.Just) { - return function __do() { - Control_Monad_Eff_Console.log("dispose old pipeline")(); - return LambdaCube_WebGL_Backend.disposePipeline(v21.value0)(); - }; + if (v25 instanceof Data_Either.Right && v25.value0 instanceof LambdaCube_TypeInfo.Compiled) { + Control_Monad_Eff_JQuery.setText(v25.value0.value0)(v7)(); + Control_Monad_Eff_JQuery.setText(v25.value0.value1)(v6)(); + Control_Monad_Eff_JQuery.setText("Compiled" + (function () { + var $197 = Data_Array["null"](v25.value0.value4); + if ($197) { + return ""; + }; + return ", " + (Data_Show.show(Data_Show.showInt)(Data_Array.length(v25.value0.value4)) + " Warnings"); + })())(v9)(); + var warningsTxt = Data_Functor.map(Data_Functor.functorArray)(function (v26) { + return v26.value0.wText; + })(v25.value0.value4); + Control_Monad_Eff_JQuery.setText((function () { + var $200 = Data_Array["null"](v25.value0.value4); + if ($200) { + return "No errors.\x0a"; + }; + return unlinesWithCaption("Warnings:\x0a")(warningsTxt); + })())(v8)(); + Control_Monad_Eff_Ref.writeRef(v21)(v25.value0.value3)(); + var v26 = Control_Monad_Eff_Ref.readRef(v22)(); + Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(v26)(function (mkr) { + return Ace_EditSession.removeMarker(mkr)(v20); + })(); + var v27 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)(v25.value0.value4)(function (v27) { + return addRangeMarker("lc_warning")(v27.value0.wRange.value0); + })(); + Control_Monad_Eff_Ref.writeRef(v22)(v27)(); + return render(v25.value0.value2)(); }; - throw new Error("Failed pattern match at Main line 269, column 9 - line 273, column 30: " + [ v21.constructor.name ]); - })()(); - Control_Monad_Eff_Console.log("allocate new pipeline")(); - var v22 = LambdaCube_WebGL_Backend.allocPipeline(ir)(); - Control_Monad_Eff_Console.log("attach pipeline input")(); - LambdaCube_WebGL_Backend.setPipelineInput(v22)(new Data_Maybe.Just(v))(); - Control_Monad_Eff_Console.log("generate object commands")(); - LambdaCube_WebGL_Input.sortSlotObjects(v)(); - return Control_Monad_Eff_Ref.writeRef(v20)(new Data_Maybe.Just(v22))(); + throw new Error("Failed pattern match at Main line 303, column 9 - line 328, column 21: " + [ v25.constructor.name ]); + }; }; - }; - var compile = function (s) { - return function __do() { - Control_Monad_Eff_Console.log("compile")(); - Control_Monad_Eff_JQuery.setText("Compiling...")(v9)(); - var v21 = Ace_EditSession.getValue(v17)(); - return WebSocket.send(s)(v21)(); + }, + onError: function (s) { + return function (m) { + return Control_Monad_Eff_Console.log("error: " + m); }; - }; - var v21 = WebSocket.webSocket("ws://localhost:8000/exerciselist")({ + } + })(); + if (v25 instanceof Data_Either.Left) { + return Control_Monad_Eff_Console.log("error: " + v25.value0)(); + }; + if (v25 instanceof Data_Either.Right) { + var v26 = WebSocket.webSocket("ws://localhost:8000/getexercise")({ onOpen: function (s) { return function __do() { - WebSocket.send(s)("query")(); - Control_Monad_Eff_Console.log("socket1 is ready")(); + Control_Monad_Eff_Console.log("socket2 is ready")(); + Data_Function.flip(Control_Monad_Eff_JQuery.on("change"))(v11)(function (v26) { + return function (v27) { + return function __do() { + var v28 = Control_Monad_Eff_JQuery.find(":selected")(v11)(); + var v29 = Control_Monad_Eff_JQuery.getText(v28)(); + return WebSocket.send(s)(v29)(); + }; + }; + })(); + var v26 = $foreign.getUrlParameter("example")(); + WebSocket.send(s)((function () { + var $219 = v26 === ""; + if ($219) { + return defaultExampleName; + }; + return v26; + })())(); return Data_Unit.unit; }; }, onMessage: function (s) { return function (m) { - var $159 = Control_Bind.bind(Data_Either.bindEither)(Data_Argonaut_Parser.jsonParser(m))(Data_Argonaut_Decode_Class.decodeJson(Data_Argonaut_Decode_Class.decodeArray(Data_Argonaut_Decode_Class.decodeJsonString))); - if ($159 instanceof Data_Either.Left) { - return Control_Monad_Eff_Console.log("decode error: " + $159.value0); + var v26 = Control_Bind.bind(Data_Either.bindEither)(Data_Argonaut_Parser.jsonParser(m))(Data_Argonaut_Decode_Class.decodeJson(Data_Argonaut_Decode_Class.decodeJsonString)); + if (v26 instanceof Data_Either.Left) { + return Control_Monad_Eff_Console.log("decode error: " + v26.value0); }; - if ($159 instanceof Data_Either.Right) { + if (v26 instanceof Data_Either.Right) { return function __do() { - Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)($159.value0)(function (e) { - return function __do() { - var v21 = Control_Monad_Eff_JQuery.create("")(); - Control_Monad_Eff_JQuery.setText(e)(v21)(); - return Control_Monad_Eff_JQuery.append(v21)(v11)(); - }; - })(); + Ace_EditSession.setValue(v26.value0)(v20)(); + compile(v25.value0)(); return Data_Unit.unit; }; }; - throw new Error("Failed pattern match at Main line 287, column 27 - line 294, column 22: " + [ $159.constructor.name ]); + throw new Error("Failed pattern match at Main line 346, column 31 - line 351, column 26: " + [ v26.constructor.name ]); }; }, onError: function (s) { @@ -13962,246 +14049,63 @@ var PS = {}; return Control_Monad_Eff_Console.log(m); }; }, - onClose: Control_Monad_Eff_Console.log("socket1 is closed") + onClose: Control_Monad_Eff_Console.log("socket2 is closed") })(); - var v22 = WebSocket.webSocket("ws://localhost:8000/compile")({ - onOpen: function (s) { + Data_Function.flip(Control_Monad_Eff_JQuery.on("click"))(v10)(function (v27) { + return function (v28) { return function __do() { - Control_Monad_Eff_Console.log("socket is ready")(); - var v22 = Control_Monad_Eff_Ref.newRef(Data_Maybe.Nothing.value)(); - return Ace_EditSession.onChange(v17)(function __do() { - var v23 = Control_Monad_Eff_Ref.readRef(v22)(); - (function () { - if (v23 instanceof Data_Maybe.Nothing) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); - }; - if (v23 instanceof Data_Maybe.Just) { - return Timer.clearTimeout(v23.value0); - }; - throw new Error("Failed pattern match at Main line 305, column 11 - line 307, column 37: " + [ v23.constructor.name ]); - })()(); - return Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(Control_Monad_Eff_Ref.writeRef(v22))(Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Maybe.Just.create)(Timer.timeout(1000)(compile(s))))(); - })(); - }; - }, - onClose: Control_Monad_Eff_Console.log("socket is closed"), - onMessage: function (s) { - return function (m) { - return function __do() { - Control_Monad_Eff_Console.log("got response")(); - var unlinesWithCaption = function (title) { - return function (a) { - var $168 = Data_Array["null"](a); - if ($168) { - return ""; - }; - if (!$168) { - return Data_Show.show(Data_Show.showInt)(Data_Array.length(a)) + (" " + (title + LambdaCube_WebGL_Util.unlines(a))); - }; - throw new Error("Failed pattern match at Main line 316, column 42 - line 316, column 109: " + [ $168.constructor.name ]); - }; - }; - var addRangeMarker = function (cssClass) { - return function (e) { - return function __do() { - var v22 = Ace_Range.create(e.startLine - 1)(e.startColumn - 1)(e.endLine - 1)(e.endColumn - 1)(); - return addMarker(v22)(cssClass)("text")(false)(v17)(); - }; - }; - }; - var $170 = Control_Bind.bind(Data_Either.bindEither)(Data_Argonaut_Parser.jsonParser(m))(Data_Argonaut_Decode_Class.decodeJson(LambdaCube_TypeInfo.decodeJsonCompileResult)); - if ($170 instanceof Data_Either.Left) { - return Control_Monad_Eff_Console.log("decode error: " + $170.value0)(); - }; - if ($170 instanceof Data_Either.Right && $170.value0 instanceof LambdaCube_TypeInfo.CompileError) { - Control_Monad_Eff_JQuery.setText(Data_Show.show(Data_Show.showInt)(Data_Ord.max(Data_Ord.ordInt)(1)(Data_Array.length($170.value0.value3))) + (" Errors" + (function () { - var $172 = Data_Array["null"]($170.value0.value2); - if ($172) { - return ""; - }; - if (!$172) { - return ", " + (Data_Show.show(Data_Show.showInt)(Data_Array.length($170.value0.value2)) + " Warnings"); - }; - throw new Error("Failed pattern match at Main line 320, column 24 - line 320, column 144: " + [ $172.constructor.name ]); - })()))(v9)(); - var warningsTxt = Data_Functor.map(Data_Functor.functorArray)(function (v22) { - return v22.value0.wText; - })($170.value0.value2); - var errorsTxt = Data_Functor.map(Data_Functor.functorArray)(function (v22) { - return v22.value0.eText; - })($170.value0.value3); - Control_Monad_Eff_JQuery.setText(LambdaCube_WebGL_Util.unlines([ $170.value0.value0, unlinesWithCaption("Errors:\n")(errorsTxt), unlinesWithCaption("Warnings:\n")(warningsTxt) ]))(v8)(); - var v22 = Control_Monad_Eff_Ref.readRef(v19)(); - Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(v22)(function (mkr) { - return Ace_EditSession.removeMarker(mkr)(v17); - })(); - var v23 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)($170.value0.value2)(function (v23) { - return addRangeMarker("lc_warning")(v23.value0.wRange.value0); - })(); - var v24 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)($170.value0.value3)(function (v24) { - return addRangeMarker("lc_error")(v24.value0.eRange.value0); - })(); - Control_Monad_Eff_Ref.writeRef(v19)(Data_Array.concat([ v23, v24 ]))(); - Control_Monad_Eff_Ref.writeRef(v18)($170.value0.value1)(); - return Data_Unit.unit; - }; - if ($170 instanceof Data_Either.Right && $170.value0 instanceof LambdaCube_TypeInfo.Compiled) { - Control_Monad_Eff_JQuery.setText($170.value0.value0)(v7)(); - Control_Monad_Eff_JQuery.setText($170.value0.value1)(v6)(); - Control_Monad_Eff_JQuery.setText("Compiled" + (function () { - var $193 = Data_Array["null"]($170.value0.value4); - if ($193) { - return ""; - }; - if (!$193) { - return ", " + (Data_Show.show(Data_Show.showInt)(Data_Array.length($170.value0.value4)) + " Warnings"); - }; - throw new Error("Failed pattern match at Main line 334, column 24 - line 334, column 113: " + [ $193.constructor.name ]); - })())(v9)(); - var warningsTxt = Data_Functor.map(Data_Functor.functorArray)(function (v22) { - return v22.value0.wText; - })($170.value0.value4); - Control_Monad_Eff_JQuery.setText((function () { - var $196 = Data_Array["null"]($170.value0.value4); - if ($196) { - return "No errors.\n"; - }; - if (!$196) { - return unlinesWithCaption("Warnings:\n")(warningsTxt); - }; - throw new Error("Failed pattern match at Main line 336, column 24 - line 336, column 110: " + [ $196.constructor.name ]); - })())(v8)(); - Control_Monad_Eff_Ref.writeRef(v18)($170.value0.value3)(); - var v22 = Control_Monad_Eff_Ref.readRef(v19)(); - Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableArray)(v22)(function (mkr) { - return Ace_EditSession.removeMarker(mkr)(v17); - })(); - var v23 = Data_Traversable["for"](Control_Monad_Eff.applicativeEff)(Data_Traversable.traversableArray)($170.value0.value4)(function (v23) { - return addRangeMarker("lc_warning")(v23.value0.wRange.value0); - })(); - Control_Monad_Eff_Ref.writeRef(v19)(v23)(); - return render($170.value0.value2)(); - }; - throw new Error("Failed pattern match at Main line 317, column 9 - line 342, column 21: " + [ $170.constructor.name ]); - }; - }; - }, - onError: function (s) { - return function (m) { - return Control_Monad_Eff_Console.log("error: " + m); + compile(v25.value0)(); + return Control_Monad_Eff_Console.log("clicked compile")(); }; - } + }; })(); - if (v22 instanceof Data_Either.Left) { - return Control_Monad_Eff_Console.log("error: " + v22.value0)(); - }; - if (v22 instanceof Data_Either.Right) { - var v23 = WebSocket.webSocket("ws://localhost:8000/getexercise")({ - onOpen: function (s) { + $foreign.addCommand(v19)("Compile")("Ctrl-B")("Command-B")(function (v27) { + return compile(v25.value0); + })(); + var v27 = Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(Control_Monad_Eff_Ref.newRef)(Timer.nowEpochMilliseconds)(); + var renderLoop = function __do() { + var v28 = Timer.nowEpochMilliseconds(); + var v29 = Control_Monad_Eff_Ref.readRef(v27)(); + var deltaTime = (v28 - v29) / 1000.0; + Control_Monad_Eff_Ref.writeRef(v27)(v28)(); + var v30 = Control_Monad_Eff_JQuery.getProp("checked")(v5)(); + (function () { + var v31 = Control_Monad_Except.runExcept(Data_Foreign.readBoolean(v30)); + if (v31 instanceof Data_Either.Right && !v31.value0) { return function __do() { - Control_Monad_Eff_Console.log("socket2 is ready")(); - Data_Function.flip(Control_Monad_Eff_JQuery.on("change"))(v11)(function (v23) { - return function (v24) { - return function __do() { - var v25 = Control_Monad_Eff_JQuery.find(":selected")(v11)(); - var v26 = Control_Monad_Eff_JQuery.getText(v25)(); - return WebSocket.send(s)(v26)(); - }; - }; + Control_Monad_Eff_Ref.modifyRef(v1)(function (x) { + return deltaTime + x; })(); - var v23 = $foreign.getUrlParameter("example")(); - WebSocket.send(s)((function () { - var $217 = v23 === ""; - if ($217) { - return defaultExampleName; - }; - if (!$217) { - return v23; - }; - throw new Error("Failed pattern match at Main line 358, column 13 - line 358, column 85: " + [ $217.constructor.name ]); - })())(); - return Data_Unit.unit; - }; - }, - onMessage: function (s) { - return function (m) { - var $218 = Control_Bind.bind(Data_Either.bindEither)(Data_Argonaut_Parser.jsonParser(m))(Data_Argonaut_Decode_Class.decodeJson(Data_Argonaut_Decode_Class.decodeJsonString)); - if ($218 instanceof Data_Either.Left) { - return Control_Monad_Eff_Console.log("decode error: " + $218.value0); - }; - if ($218 instanceof Data_Either.Right) { - return function __do() { - Ace_EditSession.setValue($218.value0)(v17)(); - compile(v22.value0)(); - return Data_Unit.unit; - }; - }; - throw new Error("Failed pattern match at Main line 360, column 31 - line 365, column 26: " + [ $218.constructor.name ]); - }; - }, - onError: function (s) { - return function (m) { - return Control_Monad_Eff_Console.log(m); - }; - }, - onClose: Control_Monad_Eff_Console.log("socket2 is closed") - })(); - Data_Function.flip(Control_Monad_Eff_JQuery.on("click"))(v10)(function (v24) { - return function (v25) { - return function __do() { - compile(v22.value0)(); - return Control_Monad_Eff_Console.log("clicked compile")(); + var v32 = Control_Monad_Eff_Ref.readRef(v1)(); + var time$prime = Data_Int.toNumber(Data_Int.floor(v32 * 1000.0)) / 1000.0; + Control_Monad_Eff_JQuery.setValue(time$prime)(v3)(); + Control_Monad_Eff_JQuery.setValue(time$prime)(v4)(); + return updateInput(v32)(); }; }; - })(); - $foreign.addCommand(v16)("Compile")("Ctrl-B")("Command-B")(function (v24) { - return compile(v22.value0); - })(); - var v24 = Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(Control_Monad_Eff_Ref.newRef)(Timer.nowEpochMilliseconds)(); - var renderLoop = function __do() { - var v25 = Timer.nowEpochMilliseconds(); - var v26 = Control_Monad_Eff_Ref.readRef(v24)(); - var deltaTime = (v25 - v26) / 1000.0; - Control_Monad_Eff_Ref.writeRef(v24)(v25)(); - var v27 = Control_Monad_Eff_JQuery.getProp("checked")(v5)(); - (function () { - var $229 = Control_Monad_Except.runExcept(Data_Foreign.readBoolean(v27)); - if ($229 instanceof Data_Either.Right && !$229.value0) { - return function __do() { - Control_Monad_Eff_Ref.modifyRef(v1)(function (x) { - return deltaTime + x; - })(); - var v28 = Control_Monad_Eff_Ref.readRef(v1)(); - var time$prime = Data_Int.toNumber(Data_Int.floor(v28 * 1000.0)) / 1000.0; - Control_Monad_Eff_JQuery.setValue(time$prime)(v3)(); - Control_Monad_Eff_JQuery.setValue(time$prime)(v4)(); - return updateInput(v28)(); - }; - }; - return function __do() { - var v28 = getTime(); - Control_Monad_Eff_Ref.writeRef(v1)(v28)(); - return updateInput(v28)(); - }; - })()(); - var v28 = Control_Monad_Eff_Ref.readRef(v20)(); - (function () { - if (v28 instanceof Data_Maybe.Nothing) { - return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); - }; - if (v28 instanceof Data_Maybe.Just) { - return LambdaCube_WebGL_Backend.renderPipeline(v28.value0); - }; - throw new Error("Failed pattern match at Main line 395, column 13 - line 397, column 45: " + [ v28.constructor.name ]); - })()(); - return Timer.timeout(1000 / 25 | 0)(renderLoop)(); - }; - renderLoop(); - return Data_Unit.unit; + return function __do() { + var v32 = getTime(); + Control_Monad_Eff_Ref.writeRef(v1)(v32)(); + return updateInput(v32)(); + }; + })()(); + var v31 = Control_Monad_Eff_Ref.readRef(v23)(); + (function () { + if (v31 instanceof Data_Maybe.Nothing) { + return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); + }; + if (v31 instanceof Data_Maybe.Just) { + return LambdaCube_WebGL_Backend.renderPipeline(v31.value0); + }; + throw new Error("Failed pattern match at Main line 381, column 13 - line 383, column 45: " + [ v31.constructor.name ]); + })()(); + return Timer.timeout(1000 / 25 | 0)(renderLoop)(); }; - throw new Error("Failed pattern match at Main line 345, column 3 - line 402, column 12: " + [ v22.constructor.name ]); + var v28 = renderLoop(); + return Data_Unit.unit; }; - }); + throw new Error("Failed pattern match at Main line 331, column 3 - line 388, column 12: " + [ v25.constructor.name ]); + }; }); exports["main"] = main; exports["run"] = run; diff --git a/src/LambdaCube/TypeInfo.purs b/src/LambdaCube/TypeInfo.purs index defd96c..2a1fad1 100644 --- a/src/LambdaCube/TypeInfo.purs +++ b/src/LambdaCube/TypeInfo.purs @@ -14,7 +14,6 @@ import LambdaCube.LinearBase import Data.Argonaut.Encode.Combinators ((~>), (:=)) import Data.Argonaut.Decode.Combinators ((.?)) import Data.Argonaut.Core (jsonEmptyObject) -import Data.Argonaut.Printer (printJson) import Data.Argonaut.Encode (class EncodeJson, encodeJson) import Data.Argonaut.Decode (class DecodeJson, decodeJson) diff --git a/src/Main.purs b/src/Main.purs index e7774c4..c997ef7 100644 --- a/src/Main.purs +++ b/src/Main.purs @@ -1,61 +1,47 @@ module Main (main,run) where import Prelude -import Extensions (fail) -import Global - -import Control.Monad.Eff.Console as C - -import Control.Bind -import Timer -import Control.Monad.Except -import Control.Monad.Eff -import Control.Monad.Eff.Exception -import Control.Monad.Eff.Ref -import Data.Foldable (for_, foldl) -import Data.Traversable (for) -import Partial.Unsafe (unsafePartial) - -import Ace -import Ace as Ace -import Ace.Types as Ace -import Ace.Editor as Editor import Ace.EditSession as Session +import Ace.Editor as Editor import Ace.Range as Range - -import Graphics.WebGL as GL +import Control.Monad.Eff.Console as C import Control.Monad.Eff.JQuery as J - -import WebSocket -import Data.Either -import Sample - -import Data.Foreign -import Data.Function -import Data.Function.Uncurried -import Data.Maybe -import Data.StrMap(fromFoldable,StrMap(..)) -import Data.Tuple -import Data.Array -import Data.Int -import Data.StrMap as StrMap - -import LambdaCube.WebGL -import LambdaCube.WebGL.Util (unlines) -import LambdaCube.WebGL.Mesh - -import LambdaCube.TypeInfo - -import Data.Argonaut.Parser (jsonParser) -import Data.Argonaut.Decode (class DecodeJson, decodeJson) +import DOM as DOM import Data.Argonaut.Core as AC - +import Graphics.WebGL as GL +import Ace (ACE, EditSession, Editor, ace) +import Ace (edit) as Ace +import Ace.Types (Range) as Ace +import Control.Monad.Eff (Eff) +import Control.Monad.Eff.Exception (EXCEPTION) +import Control.Monad.Eff.Ref (REF, modifyRef, newRef, readRef, writeRef) +import Control.Monad.Except (runExcept) +import Data.Argonaut.Decode (decodeJson) +import Data.Argonaut.Parser (jsonParser) +import Data.Array (concat, filter, length, null) +import Data.Either (Either(..)) +import Data.Foldable (for_, foldl) +import Data.Foreign (readBoolean, readNumber, readString) +import Data.Function.Uncurried (Fn5, runFn5) +import Data.Int (floor, toNumber) import Data.Matrix (Mat(..)) -import Data.Matrix4 -import Data.Vector3 - -import DOM as DOM +import Data.Matrix4 (Mat4) +import Data.Maybe (Maybe(..)) +import Data.StrMap (fromFoldable) +import Data.Traversable (for) +import Data.Tuple (Tuple(..)) +import Extensions (fail) +import Global (readFloat) +import LambdaCube.TypeInfo (CompileResult(..), ErrorInfo(..), Range(..), TypeInfo(..), WarningInfo(..)) +import LambdaCube.WebGL (FetchPrimitive(..), InputType(..), M44F, ObjectArraySchema(..), PipelineSchema(..), StreamType(..), V2(..), V4(..), allocPipeline, disposePipeline, mkWebGLPipelineInput, renderPipeline, setPipelineInput, setScreenSize, sortSlotObjects, uniformFTexture2D, uniformFloat, uniformV2F, uploadTexture2DToGPU) +import LambdaCube.WebGL.Mesh (addMesh, compileMesh) +import LambdaCube.WebGL.Util (unlines) +import Partial.Unsafe (unsafePartial) +import Sample (lambdaCube, myCube, myQuad) +import Timer (NOW, TIMEOUT, clearTimeout, nowEpochMilliseconds, timeout) +import WebSocket (WS, send, webSocket) +defaultExampleName :: String defaultExampleName = "LambdaCube2.lc" main :: forall e. Eff (console :: C.CONSOLE | e) Unit @@ -66,8 +52,8 @@ main = do --run :: forall m. (Applicative m) => m Unit --run = pure unit -foreign import getUrlParameter :: forall eff a. String -> Eff (dom :: DOM.DOM | eff) String -foreign import getMousePos :: forall eff a. J.JQueryEvent -> Eff (dom :: DOM.DOM | eff) (Array Number) +foreign import getUrlParameter :: forall eff. String -> Eff (dom :: DOM.DOM | eff) String +foreign import getMousePos :: forall eff. J.JQueryEvent -> Eff (dom :: DOM.DOM | eff) (Array Number) foreign import getJSON :: forall eff a. String -> (AC.Json -> Eff (dom :: DOM.DOM | eff) a) -> Eff (dom :: DOM.DOM | eff) Unit -- control-b - compile/build @@ -90,7 +76,7 @@ addMarker range clazz _type inFront self = runFn5 addMarkerImpl range clazz _typ run :: forall e. Eff ( console :: C.CONSOLE - , err :: EXCEPTION + , exception :: EXCEPTION , ref :: REF , dom :: DOM.DOM , timeout :: TIMEOUT @@ -182,13 +168,13 @@ run = unsafePartial $ do -- todo uniformFloat "Aspect" pplInput.uniformSetter (toNumber w / toNumber h) gpuCube <- compileMesh myCube - addMesh pplInput "stream4" gpuCube [] + _ <- addMesh pplInput "stream4" gpuCube [] gpuQuad <- compileMesh myQuad - addMesh pplInput "quad" gpuQuad [] + _ <- addMesh pplInput "quad" gpuQuad [] gpuLambdaCube <- compileMesh lambdaCube - addMesh pplInput "lambdaCube" gpuLambdaCube [] + _ <- addMesh pplInput "lambdaCube" gpuLambdaCube [] -- upload textures uploadTexture2DToGPU "logo.png" (uniformFTexture2D "Diffuse" pplInput.uniformSetter) @@ -200,7 +186,7 @@ run = unsafePartial $ do Left e -> C.log $ "decode error: " <> e Right (mesh) -> do gpuMesh <- compileMesh mesh - addMesh pplInput sname gpuMesh [] + _ <- addMesh pplInput sname gpuMesh [] sortSlotObjects pplInput pure unit @@ -397,6 +383,6 @@ run = unsafePartial $ do Just ppl -> renderPipeline ppl timeout (1000/25) renderLoop -- render loop - renderLoop + _ <- renderLoop pure unit diff --git a/src/Timer.purs b/src/Timer.purs index 2057df4..a4b9d80 100644 --- a/src/Timer.purs +++ b/src/Timer.purs @@ -3,8 +3,8 @@ module Timer where import Prelude import Control.Monad.Eff -foreign import data TIMEOUT :: ! -foreign import data Timer :: * +foreign import data TIMEOUT :: Effect +foreign import data Timer :: Type foreign import timeout :: forall eff a. Int -> @@ -15,6 +15,6 @@ foreign import clearTimeout :: forall eff. Timer -> Eff (timeout :: TIMEOUT | eff) Unit -foreign import data NOW :: ! +foreign import data NOW :: Effect foreign import nowEpochMilliseconds :: forall e. Eff (now :: NOW | e) Number diff --git a/src/WebSocket.purs b/src/WebSocket.purs index 6af54ac..ee1c049 100644 --- a/src/WebSocket.purs +++ b/src/WebSocket.purs @@ -4,8 +4,8 @@ import Prelude import Control.Monad.Eff import Data.Either -foreign import data WS :: ! -foreign import data Socket :: * +foreign import data WS :: Effect +foreign import data Socket :: Type type WSAction eff a = Eff (ws :: WS | eff) a