h$      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs t u v w x y z { | } ~                                                                                                              Safe-Inferred&+None&+   Safe-Inferred&+$%&'($&'%( Safe-Inferred/geomancy?Distribute annotations down the tree without changing the type.0geomancyDistribute accumulator down the tree using the accumulator function.1geomancyTransform a tree by combining branch-independent accumulator with node contents.5geomancy/Annotate nodes with bottom-up monoidal summary.6geomancy*Annotate the nodes with bottom-up summary. /0123456 /0123456 Safe-Inferred&+789:;79:8;None&+( BCDEFGHIJ EGHFIBCDJ Safe-Inferred&+dWXYZ[WYZX[ Safe-Inferred&+ bcdefghijk bdecfghijk None&+?stuvwxyz{|}~vxywz{|}~stu None+ Dgeomancy,Quaternion construction from axis and angle.geomancyRotation between vectors.1(in other words: the quaternion needed to rotate v1 so that it matches v2)geomancyOrient towards a point.Use "rotationBetween" if you don't need to keep the object upright. None &+?  None &+? geomancy Construct  from row notation.geomancyReduce  with a function with row notation of arguments.geomancyBuild a Mat4 from a list-of-lists kind of container with row-major ordering of elements.  fromRowMajor2d (Linear.mkTransformation dir pos) :: Transform geomancy Construct a  from column notation.geomancyReduce  with a function with column notation for arguments.geomancyI, the identity matrix..Neutral element of its monoid, so you can use .geomancy"Compute an inverse matrix, slowly.geomancy%Matrix - column vector multiplication None+< geomancyApply transformation to a vector, then normalize with perspective divisiongeomancy?Matrix - column vector multiplication with perspective divisionNone9/234/234None+$%&'789:EFGHWXYZbcdevwxy+bdecvxyw$&'%79:8EGHFWYZXNoneNone+G Safe-Inferredv !"#$$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR$$%STUV*WXY./0123Z[\]^_`abcdefghijklmnopqrstuv $ $ % w x y z {  k l m | n o * } ~   . / 0 1 2 3        k l     n o                  {    k l m n o                                   A                  'geomancy-0.2.3.0-8uMYzJJaqUdG9AX0cMSTYn Geomancy.TreeGeomancy.IVec2Geomancy.IVec3Geomancy.IVec4Geomancy.UVec2Geomancy.UVec3Geomancy.UVec4 Geomancy.Vec2 Geomancy.Vec3Geomancy.Quaternion Geomancy.Vec4 Geomancy.Mat4Geomancy.TransformGeomancy.Transform.TreeGeomancy.Vulkan.ProjectionGeomancy.Vulkan.ViewGeomancyPaths_geomancycontainers-0.6.2.1 Data.Tree subForest rootLabelNodeTreeIVec2 WithIVec2ivec2 withIVec2 fromTuple$fStorableIVec2 $fNumIVec2 $fNFDataIVec2 $fEqIVec2 $fOrdIVec2 $fShowIVec2PackedunPackedIVec3 WithIVec3ivec3 withIVec3packed$fStorableIVec3 $fNumIVec3 $fNFDataIVec3$fStorablePacked $fEqPacked $fOrdPacked $fShowPacked$fNFDataPacked $fNumPacked $fEqIVec3 $fOrdIVec3 $fShowIVec3IVec4 WithIVec4ivec4 withIVec4$fStorableIVec4 $fNumIVec4 $fNFDataIVec4 $fEqIVec4 $fOrdIVec4 $fShowIVec4apply applyWithmapAccumnode_leaf_collect_ annotateMap annotateWithUVec2 WithUVec2uvec2 withUVec2$fStorableUVec2 $fNumUVec2 $fNFDataUVec2 $fEqUVec2 $fOrdUVec2 $fShowUVec2UVec3 WithUVec3uvec3 withUVec3$fStorableUVec3 $fNumUVec3 $fNFDataUVec3 $fEqUVec3 $fOrdUVec3 $fShowUVec3UVec4 WithUVec4uvec4 withUVec4$fStorableUVec4 $fNumUVec4 $fNFDataUVec4 $fEqUVec4 $fOrdUVec4 $fShowUVec4Vec2WithVec2vec2withVec2^*^/lerpdot normalize$fStorableVec2$fFractionalVec2 $fNumVec2 $fNFDataVec2$fEqVec2 $fOrdVec2 $fShowVec2Vec3WithVec3vec3withVec3fromVec2cross$fStorableVec3$fFractionalVec3 $fNumVec3 $fNFDataVec3$fFractionalPacked$fEqVec3 $fOrdVec3 $fShowVec3 Quaternion quaternionwithQuaternionslerp conjugatenorm quadranceqNaN axisAnglerotate rotatePointrotationBetweenlookAtUp$fStorableQuaternion$fNumQuaternion$fNFDataQuaternion$fEqQuaternion$fOrdQuaternion$fShowQuaternionVec4WithVec4vec4withVec4 fromVec22fromVec3 unsafeNewVec4$fStorableVec4$fFractionalVec4 $fNumVec4 $fNFDataVec4 $fShowVec4 $fOrdVec4$fEqVec4Mat4rowMajor withRowMajortoListRowMajortoListRowMajor2dfromRowMajor2dcolMajor withColMajortoListColMajortoListColMajor2didentity transposeinverse pointwisezipWith matrixProductscalarMultiply!*$fStorableMat4 $fShowMat4 $fMonoidMat4$fSemigroupMat4 $fNFDataMat4 Transform unTransform!. translate translateVscale3scalescaleXscaleYscaleZscaleXYrotateXrotateYrotateZrotateQdirPos$fShowTransform$fSemigroupTransform$fMonoidTransform$fStorableTransform Transformed translate_ translateV_rotateX_rotateY_rotateZ_rotateQ_scale_scaleX_scaleY_scaleZ_scaleXY_scale3_ perspectiveinfinitePerspectiveorthoOffCenterlookAtorthoFitScreenbaseGHC.Basememptyversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName