Module

Rito.Core

Package
purescript-rito
Repository
mikesol/purescript-rito

#plain Source

plain :: forall logic obj. obj -> Entity logic obj

#cameraToGroup Source

cameraToGroup :: forall payload. Camera payload -> Entity Void (Groupful payload)

#Ctor Source

type Ctor payload = { parent :: Maybe String, raiseId :: String -> ST Global Unit, scope :: Scope } -> SimpleCtor payload

#SimpleCtor Source

type SimpleCtor payload = ThreeInterpret payload -> Event payload

#WebGLRenderer Source

newtype WebGLRenderer payload

Constructors

#webGLRendererToRenderer Source

webGLRendererToRenderer :: forall payload. WebGLRenderer payload -> Renderer payload

#EffectComposer Source

newtype EffectComposer payload

Constructors

#effectComposerToRenderer Source

effectComposerToRenderer :: forall payload. EffectComposer payload -> Renderer payload

#Renderer Source

newtype Renderer payload

Constructors

#ARenderer Source

type ARenderer payload = Entity Void (Renderer payload)

#Pass Source

newtype Pass payload

Constructors

#APass Source

type APass payload = Entity Void (Pass payload)

#Light Source

newtype Light payload

Constructors

Instances

#ALight Source

type ALight payload = Entity Void (Light payload)

#CSS2DObject Source

newtype CSS2DObject payload

Constructors

Instances

#ACSS2DObject Source

type ACSS2DObject payload = Entity Void (CSS2DObject payload)

#CSS3DObject Source

newtype CSS3DObject payload

Constructors

Instances

#ACSS3DObject Source

type ACSS3DObject payload = Entity Void (CSS3DObject payload)

#Geometry Source

newtype Geometry payload

Constructors

#Material Source

newtype Material payload

Constructors

#Mesh Source

newtype Mesh payload

Constructors

Instances

#Instance Source

newtype Instance payload

Constructors

#AMesh Source

type AMesh payload = Entity Void (Mesh payload)

#Points Source

newtype Points payload

Constructors

Instances

#APoints Source

type APoints payload = Entity Void (Points payload)

#Group Source

newtype Group payload

Constructors

Instances

#AGroup Source

type AGroup payload = Entity Void (Group payload)

#Scene Source

newtype Scene payload

Constructors

#Sceneful Source

newtype Sceneful payload

Constructors

Instances

#ASceneful Source

type ASceneful payload = Entity Void (Sceneful payload)

#Groupful Source

newtype Groupful payload

Constructors

Instances

#AGroupful Source

type AGroupful payload = Entity Void (Groupful payload)

#Camera Source

newtype Camera payload

Constructors

Instances

#WebGLRender Source

type WebGLRender = { camera :: String, id :: String, scene :: String }

#MakeRaycaster Source

type MakeRaycaster = { camera :: String, canvas :: HTMLCanvasElement, id :: String, raycaster :: TRaycaster }

#MakeEffectComposer Source

type MakeEffectComposer = { effectComposer :: TEffectComposer, id :: String, webGLRenderer :: String }

#MakeRenderPass Source

type MakeRenderPass :: (Type -> Type) -> Typetype MakeRenderPass f = { camera :: String, id :: String, parent :: f String, renderPass :: TRenderPass, scene :: String }

#MakeGlitchPass Source

type MakeGlitchPass :: (Type -> Type) -> Typetype MakeGlitchPass f = { id :: String, parent :: f String | InitializeGlitchPass' }

#InitializeGlitchPass' Source

type InitializeGlitchPass' :: Row Typetype InitializeGlitchPass' = (dtSize :: Int, glitchPass :: TGlitchPass)

#MakeEffectComposerPass Source

type MakeEffectComposerPass :: (Type -> Type) -> Typetype MakeEffectComposerPass f = { effectComposer :: String, id :: String, parent :: f String | InitializeEffectComposerPass' }

#InitializeEffectComposerPass' Source

#MakeBloomPass Source

type MakeBloomPass :: (Type -> Type) -> Typetype MakeBloomPass f = { id :: String, parent :: f String | InitializeBloomPass' }

#InitializeBloomPass' Source

type InitializeBloomPass' :: Row Typetype InitializeBloomPass' = (bloomPass :: TBloomPass, kernelSize :: Int, resolution :: Int, sigma :: Number, strength :: Number)

#MakeUnrealBloomPass Source

#InitializeUnrealBloomPass' Source

type InitializeUnrealBloomPass' :: Row Typetype InitializeUnrealBloomPass' = (radius :: Number, resolution :: Vector2, strength :: Number, threshold :: Number, unrealBloomPass :: TUnrealBloomPass)

#MakeWebGLRenderer' Source

#InitializeWebGLRenderer' Source

type InitializeWebGLRenderer' :: Type -> Type -> Row Typetype InitializeWebGLRenderer' precision powerPreference = (alpha :: Boolean, antialias :: Boolean, canvas :: HTMLCanvasElement, depth :: Boolean, failIfMajorPerformanceCaveat :: Boolean, logarithmicDepthBuffer :: Boolean, powerPreference :: powerPreference, precision :: precision, premultipliedAlpha :: Boolean, preserveDrawingBuffer :: Boolean, stencil :: Boolean, webGLRenderer :: TWebGLRenderer)

#CSS2DRender Source

type CSS2DRender = { camera :: String, id :: String, scene :: String }

#EffectComposerRender Source

type EffectComposerRender = { id :: String }

#MakeCSS2DRenderer Source

type MakeCSS2DRenderer = { camera :: String, canvas :: HTMLCanvasElement, css2DRenderer :: TCSS2DRenderer, element :: Element, id :: String }

#CSS3DRender Source

type CSS3DRender = { camera :: String, id :: String, scene :: String }

#MakeCSS3DRenderer Source

type MakeCSS3DRenderer = { camera :: String, canvas :: HTMLCanvasElement, css3DRenderer :: TCSS3DRenderer, element :: Element, id :: String }

#MakeScene Source

type MakeScene :: (Type -> Type) -> Type -> Typetype MakeScene f s = { fog :: f { color :: Color, ctor :: TFogExp2, density :: Number }, id :: String, parent :: f String, scene :: TScene, scope :: s }

#FogInfo Source

data FogInfo

Constructors

#InitializeScene Source

newtype InitializeScene

Constructors

#MakeGroup Source

type MakeGroup :: (Type -> Type) -> Type -> Typetype MakeGroup f s = { group :: TGroup, id :: String, parent :: f String, scope :: s }

#RawGroup Source

#MakeGLTFGroup Source

type MakeGLTFGroup :: (Type -> Type) -> Type -> Typetype MakeGLTFGroup f s = { group :: RawGroup, id :: String, parent :: f String, scope :: s }

#RawCamera Source

#MakeGLTFCamera Source

type MakeGLTFCamera :: (Type -> Type) -> Type -> Typetype MakeGLTFCamera f s = { camera :: RawCamera, id :: String, parent :: f String, scope :: s }

#MakeMesh Source

type MakeMesh :: (Type -> Type) -> Type -> Typetype MakeMesh f s = { id :: String, mesh :: TMesh, parent :: f String, scope :: s }

#MakePoints Source

type MakePoints :: (Type -> Type) -> Type -> Typetype MakePoints f s = { id :: String, parent :: f String, points :: TPoints, scope :: s }

#MakeInstancedMesh Source

type MakeInstancedMesh :: (Type -> Type) -> Type -> Typetype MakeInstancedMesh f s = { count :: Int, geometry :: String, id :: String, instancedMesh :: TInstancedMesh, material :: String, matrix4 :: TMatrix4, mesh :: TMesh, parent :: f String, scope :: s }

#MakeSphere Source

type MakeSphere :: (Type -> Type) -> Type -> Typetype MakeSphere f s = { id :: String, parent :: f String, scope :: s | InitializeSphere' }

#InitializeSphere' Source

type InitializeSphere' :: Row Typetype InitializeSphere' = (heightSegments :: Int, phiLength :: Number, phiStart :: Number, radius :: Number, sphere :: TSphereGeometry, thetaLength :: Number, thetaStart :: Number, widthSegments :: Int | Buffy)

#MakeCSS2DObject Source

type MakeCSS2DObject :: (Type -> Type) -> Type -> Typetype MakeCSS2DObject f s = { id :: String, parent :: f String, scope :: s | InitializeCSS2DObject' Element }

#InitializeCSS2DObject' Source

type InitializeCSS2DObject' :: Type -> Row Typetype InitializeCSS2DObject' (nut :: Type) = (css2DObject :: TCSS2DObject, nut :: nut)

#MakeCSS3DObject Source

type MakeCSS3DObject :: (Type -> Type) -> Type -> Typetype MakeCSS3DObject f s = { id :: String, parent :: f String, scope :: s | InitializeCSS3DObject' Element }

#InitializeCSS3DObject' Source

type InitializeCSS3DObject' :: Type -> Row Typetype InitializeCSS3DObject' (nut :: Type) = (css3DObject :: TCSS3DObject, nut :: nut)

#MakePointLight Source

type MakePointLight :: (Type -> Type) -> Type -> Typetype MakePointLight f s = { id :: String, parent :: f String, scope :: s | InitializePointLight' }

#InitializePointLight' Source

type InitializePointLight' :: Row Typetype InitializePointLight' = (color :: Color, decay :: Number, distance :: Number, intensity :: Number, pointLight :: TPointLight)

#MakeAmbientLight Source

type MakeAmbientLight :: (Type -> Type) -> Type -> Typetype MakeAmbientLight f s = { id :: String, parent :: f String, scope :: s | InitializeAmbientLight' }

#InitializeAmbientLight' Source

type InitializeAmbientLight' :: Row Typetype InitializeAmbientLight' = (ambientLight :: TAmbientLight, color :: Color, intensity :: Number)

#MakeDirectionalLight Source

type MakeDirectionalLight :: (Type -> Type) -> Type -> Typetype MakeDirectionalLight f s = { id :: String, parent :: f String, scope :: s | InitializeDirectionalLight' }

#InitializeDirectionalLight' Source

type InitializeDirectionalLight' :: Row Typetype InitializeDirectionalLight' = (color :: Color, directionalLight :: TDirectionalLight, intensity :: Number)

#MakeRawShaderMaterial Source

type MakeRawShaderMaterial :: (Type -> Type) -> Type -> Typetype MakeRawShaderMaterial f s = { id :: String, materialParameters :: Record (AllMaterials Maybe BlendDst BlendEquation Blending BlendSrc DepthMode Precision Side), parameters :: Record (InitializeRawShaderMaterial' Foreign ()), parent :: f String, scope :: s }

#MakeRawShaderMaterial' Source

type MakeRawShaderMaterial' :: (Type -> Type) -> Type -> Typetype MakeRawShaderMaterial' f s = { id :: String, materialParameters :: Record (AllMaterials Undefinable Int Int Int Int Int String Int), parameters :: Record (InitializeRawShaderMaterial' Foreign ()), parent :: f String, scope :: s }

#InitializeRawShaderMaterial' Source

type InitializeRawShaderMaterial' :: Type -> Row Type -> Row Typetype InitializeRawShaderMaterial' u r = (fragmentShader :: String, rawShaderMaterial :: TRawShaderMaterial, uniforms :: u, vertexShader :: String | r)

#MakeShaderMaterial Source

type MakeShaderMaterial :: (Type -> Type) -> Type -> Typetype MakeShaderMaterial f s = { id :: String, materialParameters :: Record (AllMaterials Maybe BlendDst BlendEquation Blending BlendSrc DepthMode Precision Side), parameters :: Record (InitializeShaderMaterial' Foreign ()), parent :: f String, scope :: s }

#MakeShaderMaterial' Source

type MakeShaderMaterial' :: (Type -> Type) -> Type -> Typetype MakeShaderMaterial' f s = { id :: String, materialParameters :: Record (AllMaterials Undefinable Int Int Int Int Int String Int), parameters :: Record (InitializeShaderMaterial' Foreign ()), parent :: f String, scope :: s }

#InitializeShaderMaterial' Source

type InitializeShaderMaterial' :: Type -> Row Type -> Row Typetype InitializeShaderMaterial' u r = (fragmentShader :: String, shaderMaterial :: TShaderMaterial, uniforms :: u, vertexShader :: String | r)

#MakeMeshStandardMaterial Source

#MakeMeshStandardMaterial' Source

type MakeMeshStandardMaterial' :: (Type -> Type) -> Type -> Typetype MakeMeshStandardMaterial' f s = { id :: String, materialParameters :: Record (AllMaterials Undefinable Int Int Int Int Int String Int), parameters :: Record (InitializeMeshStandardMaterial' Undefinable Int ()), parent :: f String, scope :: s }

#InitializeMeshStandardMaterial' Source

type InitializeMeshStandardMaterial' :: (Type -> Type) -> Type -> Row Type -> Row Typetype InitializeMeshStandardMaterial' (opt :: Type -> Type) normalMapType r = (alphaMap :: opt Texture, aoMap :: opt Texture, aoMapIntensity :: opt Number, bumpMap :: opt Texture, bumpScale :: opt Number, color :: opt Color, displacementBias :: opt Number, displacementMap :: opt Texture, displacementScale :: opt Number, emissive :: opt Color, emissiveIntensity :: opt Number, emissiveMap :: opt Texture, envMap :: opt Texture, envMapIntensity :: opt Number, flatShading :: opt Boolean, lightMap :: opt Texture, lightMapIntensity :: opt Number, map :: opt Texture, meshStandardMaterial :: TMeshStandardMaterial, metalness :: opt Number, metalnessMap :: opt Texture, normalMap :: opt Texture, normalMapType :: opt normalMapType, normalScale :: opt Vector2, roughness :: opt Number, roughnessMap :: opt Texture, wireframe :: opt Boolean, wireframeLinewidth :: opt Number | r)

#MakeMeshLambertMaterial Source

#MakeMeshLambertMaterial' Source

type MakeMeshLambertMaterial' :: (Type -> Type) -> Type -> Typetype MakeMeshLambertMaterial' f s = { id :: String, materialParameters :: Record (AllMaterials Undefinable Int Int Int Int Int String Int), parameters :: Record (InitializeMeshLambertMaterial' Undefinable Int ()), parent :: f String, scope :: s }

#InitializeMeshLambertMaterial' Source

type InitializeMeshLambertMaterial' :: (Type -> Type) -> Type -> Row Type -> Row Typetype InitializeMeshLambertMaterial' (opt :: Type -> Type) normalMapType r = (alphaMap :: opt Texture, aoMap :: opt Texture, aoMapIntensity :: opt Number, bumpMap :: opt Texture, bumpScale :: opt Number, color :: opt Color, displacementBias :: opt Number, displacementMap :: opt Texture, displacementScale :: opt Number, emissive :: opt Color, emissiveIntensity :: opt Number, emissiveMap :: opt Texture, envMap :: opt Texture, envMapIntensity :: opt Number, flatShading :: opt Boolean, lightMap :: opt Texture, lightMapIntensity :: opt Number, map :: opt Texture, meshLambertMaterial :: TMeshLambertMaterial, metalness :: opt Number, metalnessMap :: opt Texture, normalMap :: opt Texture, normalMapType :: opt normalMapType, normalScale :: opt Vector2, roughness :: opt Number, roughnessMap :: opt Texture, wireframe :: opt Boolean, wireframeLinewidth :: opt Number | r)

#MakeMeshPhongMaterial' Source

type MakeMeshPhongMaterial' :: (Type -> Type) -> Type -> Typetype MakeMeshPhongMaterial' f s = { id :: String, materialParameters :: Record (AllMaterials Undefinable Int Int Int Int Int String Int), parameters :: Record (InitializeMeshPhongMaterial' Undefinable Int Int String String ()), parent :: f String, scope :: s }

#InitializeMeshPhongMaterial' Source

type InitializeMeshPhongMaterial' :: (Type -> Type) -> Type -> Type -> Type -> Type -> Row Type -> Row Typetype InitializeMeshPhongMaterial' (opt :: Type -> Type) combineOperation normalMapType wireframeLinecap wireframeLinejoin r = (alphaMap :: opt Texture, aoMap :: opt Texture, aoMapIntensity :: opt Number, bumpMap :: opt Texture, bumpScale :: opt Number, color :: opt Color, combine :: opt combineOperation, displacementBias :: opt Number, displacementMap :: opt Texture, displacementScale :: opt Number, emissive :: opt Color, emissiveIntensity :: opt Number, emissiveMap :: opt Texture, envMap :: opt Texture, flatShading :: opt Boolean, fog :: opt Boolean, lightMap :: opt Texture, lightMapIntensity :: opt Number, map :: opt Texture, meshPhongMaterial :: TMeshPhongMaterial, normalMap :: opt Texture, normalMapType :: opt normalMapType, normalScale :: opt Vector2, reflectivity :: opt Number, refractionRatio :: opt Number, shininess :: opt Number, specular :: opt Color, specularMap :: opt Texture, wireframe :: opt Boolean, wireframeLinecap :: opt wireframeLinecap, wireframeLinejoin :: opt wireframeLinejoin, wireframeLinewidth :: opt Number | r)

#AllMaterials' Source

type AllMaterials' :: (Type -> Type) -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Row Type -> Row Typetype AllMaterials' (a :: Type -> Type) blendDst blendEquation blending blendSrc depthMode precision side r = (alphaTest :: a Number, alphaToCoverage :: a Number, blendDst :: a blendDst, blendDstAlpha :: a blendDst, blendEquation :: a blendEquation, blendEquationAlpha :: a blendEquation, blendSrc :: a blendSrc, blendSrcAlpha :: a blendSrc, blending :: a blending, clipIntersection :: a Boolean, clipShadows :: a Boolean, colorWrite :: a Boolean, depthFunc :: a depthMode, depthTest :: a Boolean, depthWrite :: a Boolean, dithering :: a Boolean, opacity :: a Number, polygonOffset :: a Boolean, polygonOffsetFactor :: a Int, polygonOffsetUnits :: a Int, precision :: a precision, premultipliedAlpha :: a Boolean, shadowSide :: a side, side :: a side, toneMapped :: a Boolean, transparent :: a Boolean, vertexColors :: a Boolean, visible :: a Boolean | r)

#AllMaterials Source

type AllMaterials :: (Type -> Type) -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Row Typetype AllMaterials (a :: Type -> Type) blendDst blendEquation blending blendSrc depthMode precision side = AllMaterials' a blendDst blendEquation blending blendSrc depthMode precision side ()

#defaultMaterials Source

defaultMaterials :: forall blendDst blendEquation blending blendSrc depthMode precision side. Record (AllMaterials Maybe blendDst blendEquation blending blendSrc depthMode precision side)

#initializeDefaultMaterials Source

initializeDefaultMaterials :: forall opt blendDst blendEquation blending blendSrc depthMode precision side r. Record (AllMaterials' opt blendDst blendEquation blending blendSrc depthMode precision side r) -> Record (AllMaterials opt blendDst blendEquation blending blendSrc depthMode precision side)

#MakeMeshBasicMaterial Source

type MakeMeshBasicMaterial :: (Type -> Type) -> Type -> Typetype MakeMeshBasicMaterial f s = { id :: String, materialParameters :: Record (AllMaterials Maybe BlendDst BlendEquation Blending BlendSrc DepthMode Precision Side), parameters :: Record (InitializeMeshBasicMaterial' Maybe ()), parent :: f String, scope :: s }

#MakeMeshBasicMaterial' Source

type MakeMeshBasicMaterial' :: (Type -> Type) -> Type -> Typetype MakeMeshBasicMaterial' f s = { id :: String, materialParameters :: Record (AllMaterials Undefinable Int Int Int Int Int String Int), parameters :: Record (InitializeMeshBasicMaterial' Undefinable ()), parent :: f String, scope :: s }

#InitializeMeshBasicMaterial' Source

type InitializeMeshBasicMaterial' :: (Type -> Type) -> Row Type -> Row Typetype InitializeMeshBasicMaterial' (opt :: Type -> Type) r = (alphaMap :: opt Texture, aoMap :: opt Texture, aoMapIntensity :: opt Number, color :: opt Color, envMap :: opt Texture, lightMap :: opt Texture, lightMapIntensity :: opt Number, map :: opt Texture, meshBasicMaterial :: TMeshBasicMaterial, wireframe :: opt Boolean, wireframeLinewidth :: opt Number | r)

#MakeBox Source

type MakeBox :: (Type -> Type) -> Type -> Typetype MakeBox f s = { id :: String, parent :: f String, scope :: s | InitializeBox' }

#Buffy Source

type Buffy :: Row Typetype Buffy = (bufferAttributes :: Object BufferAttribute, instancedBufferAttributes :: Object InstancedBufferAttribute)

#InitializeBox' Source

type InitializeBox' :: Row Typetype InitializeBox' = (box :: TBoxGeometry, depth :: Number, depthSegments :: Int, height :: Number, heightSegments :: Int, width :: Number, widthSegments :: Int | Buffy)

#InitializeBox Source

#MakeCapsule Source

type MakeCapsule :: (Type -> Type) -> Type -> Typetype MakeCapsule f s = { id :: String, parent :: f String, scope :: s | InitializeCapsule' }

#InitializeCapsule' Source

type InitializeCapsule' :: Row Typetype InitializeCapsule' = (capSegments :: Int, capsule :: TCapsuleGeometry, length :: Number, radialSegments :: Int, radius :: Number | Buffy)

#MakeCylinder Source

type MakeCylinder :: (Type -> Type) -> Type -> Typetype MakeCylinder f s = { id :: String, parent :: f String, scope :: s | InitializeCylinder' }

#InitializeCylinder' Source

type InitializeCylinder' :: Row Typetype InitializeCylinder' = (cylinder :: TCylinderGeometry, height :: Number, heightSegments :: Int, openEnded :: Boolean, radialSegments :: Int, radiusBottom :: Number, radiusTop :: Number, thetaLength :: Number, thetaStart :: Number | Buffy)

#MakePlane Source

type MakePlane :: (Type -> Type) -> Type -> Typetype MakePlane f s = { id :: String, parent :: f String, scope :: s | InitializePlane' }

#InitializePlane' Source

type InitializePlane' :: Row Typetype InitializePlane' = (height :: Number, heightSegments :: Int, plane :: TPlaneGeometry, width :: Number, widthSegments :: Int | Buffy)

#InitializePlane Source

#MakeBufferGeometry Source

type MakeBufferGeometry :: (Type -> Type) -> Type -> Typetype MakeBufferGeometry f s = { id :: String, parent :: f String, scope :: s | InitializeBufferGeometry' }

#InitializeBufferGeometry' Source

#MakePerspectiveCamera Source

type MakePerspectiveCamera :: (Type -> Type) -> Type -> Typetype MakePerspectiveCamera f s = { id :: String, parent :: f String, scope :: s | InitializePerspectiveCamera' }

#InitializePerspectiveCamera' Source

type InitializePerspectiveCamera' :: Row Typetype InitializePerspectiveCamera' = (aspect :: Number, far :: Number, fov :: Number, near :: Number, perspectiveCamera :: TPerspectiveCamera)

#SetUniform Source

type SetUniform = { id :: String, key :: String, value :: Foreign }

#SetAlphaTest Source

type SetAlphaTest = { alphaTest :: Number, id :: String }

#SetAlphaToCoverage Source

type SetAlphaToCoverage = { alphaToCoverage :: Number, id :: String }

#SetBlendDst Source

type SetBlendDst = { blendDst :: BlendDst, id :: String }

#SetBlendDstAlpha Source

type SetBlendDstAlpha = { blendDstAlpha :: BlendDst, id :: String }

#SetBlendEquation Source

type SetBlendEquation = { blendEquation :: BlendEquation, id :: String }

#SetBlendEquationAlpha Source

type SetBlendEquationAlpha = { blendEquationAlpha :: BlendEquation, id :: String }

#SetBlending Source

type SetBlending = { blending :: Blending, id :: String }

#SetBlendSrc Source

type SetBlendSrc = { blendSrc :: BlendSrc, id :: String }

#SetBlendSrcAlpha Source

type SetBlendSrcAlpha = { blendSrcAlpha :: BlendSrc, id :: String }

#SetClipIntersection Source

type SetClipIntersection = { clipIntersection :: Boolean, id :: String }

#SetClipShadows Source

type SetClipShadows = { clipShadows :: Boolean, id :: String }

#SetColorWrite Source

type SetColorWrite = { colorWrite :: Boolean, id :: String }

#SetDepthFunc Source

type SetDepthFunc = { depthFunc :: DepthMode, id :: String }

#SetDepthTest Source

type SetDepthTest = { depthTest :: Boolean, id :: String }

#SetDepthWrite Source

type SetDepthWrite = { depthWrite :: Boolean, id :: String }

#SetOpacity Source

type SetOpacity = { id :: String, opacity :: Number }

#SetPolygonOffset Source

type SetPolygonOffset = { id :: String, polygonOffset :: Boolean }

#SetPolygonOffsetFactor Source

type SetPolygonOffsetFactor = { id :: String, polygonOffsetFactor :: Int }

#SetPolygonOffsetUnits Source

type SetPolygonOffsetUnits = { id :: String, polygonOffsetUnits :: Int }

#SetPrecision Source

type SetPrecision = { id :: String, precision :: Precision }

#SetPremultipliedAlpha Source

type SetPremultipliedAlpha = { id :: String, premultipliedAlpha :: Boolean }

#SetDithering Source

type SetDithering = { dithering :: Boolean, id :: String }

#SetShadowSide Source

type SetShadowSide = { id :: String, shadowSide :: Side }

#SetSide Source

type SetSide = { id :: String, side :: Side }

#SetToneMapped Source

type SetToneMapped = { id :: String, toneMapped :: Boolean }

#SetTransparent Source

type SetTransparent = { id :: String, transparent :: Boolean }

#SetVertexColors Source

type SetVertexColors = { id :: String, vertexColors :: Boolean }

#SetVisible Source

type SetVisible = { id :: String, visible :: Boolean }

#SetResolution Source

type SetResolution = { id :: String, resolution :: Vector2 }

#SetStrength Source

type SetStrength = { id :: String, strength :: Number }

#SetThreshold Source

type SetThreshold = { id :: String, threshold :: Number }

#SetWidth Source

type SetWidth = { id :: String, width :: Number }

#SetHeight Source

type SetHeight = { height :: Number, id :: String }

#SetDepth Source

type SetDepth = { depth :: Number, id :: String }

#SetRadius Source

type SetRadius = { id :: String, radius :: Number }

#SetLength Source

type SetLength = { id :: String, length :: Number }

#SetWidthSegments Source

type SetWidthSegments = { id :: String, widthSegments :: Int }

#SetHeightSegments Source

type SetHeightSegments = { heightSegments :: Int, id :: String }

#SetDepthSegments Source

type SetDepthSegments = { depthSegments :: Int, id :: String }

#SetCapSegments Source

type SetCapSegments = { capSegments :: Int, id :: String }

#SetRadialSegments Source

type SetRadialSegments = { id :: String, radialSegments :: Int }

#SetPhiStart Source

type SetPhiStart = { id :: String, phiStart :: Number }

#SetPhiLength Source

type SetPhiLength = { id :: String, phiLength :: Number }

#SetThetaStart Source

type SetThetaStart = { id :: String, thetaStart :: Number }

#SetThetaLength Source

type SetThetaLength = { id :: String, thetaLength :: Number }

#SetMatrix4 Source

type SetMatrix4 = { id :: String, matrix4 :: Matrix4 }

#SetQuaternion Source

type SetQuaternion = { id :: String, quaternion :: Quaternion }

#SetRotateX Source

type SetRotateX = { id :: String, rotateX :: Number }

#SetRotateY Source

type SetRotateY = { id :: String, rotateY :: Number }

#SetRotateZ Source

type SetRotateZ = { id :: String, rotateZ :: Number }

#SetTranslate Source

type SetTranslate = { id :: String, x :: Number, y :: Number, z :: Number }

#SetScale Source

type SetScale = { id :: String, x :: Number, y :: Number, z :: Number }

#SetLookAt Source

type SetLookAt = { id :: String, v :: Vector3 }

#SetCenter Source

type SetCenter = { id :: String }

#GetBoundingBox Source

type GetBoundingBox = { box :: Box3 -> Effect Unit, id :: String }

#GetBoundingSphere Source

type GetBoundingSphere = { id :: String, sphere :: Sphere -> Effect Unit }

#SetInstancedMeshMatrix4 Source

#SetInstancedMeshColor Source

#SetSingleInstancedMeshMatrix4 Source

type SetSingleInstancedMeshMatrix4 = { id :: String, instanceId :: Int, matrix4 :: Matrix4 }

#SetSingleInstancedMeshColor Source

type SetSingleInstancedMeshColor = { color :: Color, id :: String, instanceId :: Int }

#SetColor Source

type SetColor = { color :: Color, id :: String }

#SetRoughness Source

type SetRoughness = { id :: String, roughness :: Number }

#SetMetalness Source

type SetMetalness = { id :: String, metalness :: Number }

#SetMap Source

type SetMap = { id :: String, map :: Texture }

#SetLightMap Source

type SetLightMap = { id :: String, lightMap :: Texture }

#SetLightMapIntensity Source

type SetLightMapIntensity = { id :: String, lightMapIntensity :: Number }

#SetAoMap Source

type SetAoMap = { aoMap :: Texture, id :: String }

#SetAoMapIntensity Source

type SetAoMapIntensity = { aoMapIntensity :: Number, id :: String }

#SetEmissive Source

type SetEmissive = { emissive :: Color, id :: String }

#SetEmissiveIntensity Source

type SetEmissiveIntensity = { emissiveIntensity :: Number, id :: String }

#SetEmissiveMap Source

type SetEmissiveMap = { emissiveMap :: Texture, id :: String }

#SetBumpMap Source

type SetBumpMap = { bumpMap :: Texture, id :: String }

#SetBumpScale Source

type SetBumpScale = { bumpScale :: Number, id :: String }

#SetNormalMap Source

type SetNormalMap = { id :: String, normalMap :: Texture }

#SetNormalMapType Source

type SetNormalMapType = { id :: String, normalMapType :: NormalMapType }

#SetNormalMapType' Source

type SetNormalMapType' = { id :: String, normalMapType :: Int }

#SetNormalScale Source

type SetNormalScale = { id :: String, normalScale :: Vector2 }

#SetDisplacementMap Source

type SetDisplacementMap = { displacementMap :: Texture, id :: String }

#SetDisplacementScale Source

type SetDisplacementScale = { displacementScale :: Number, id :: String }

#SetDisplacementBias Source

type SetDisplacementBias = { displacementBias :: Number, id :: String }

#SetRoughnessMap Source

type SetRoughnessMap = { id :: String, roughnessMap :: Texture }

#SetMetalnessMap Source

type SetMetalnessMap = { id :: String, metalnessMap :: Texture }

#SetAlphaMap Source

type SetAlphaMap = { alphaMap :: Texture, id :: String }

#SetEnvMap Source

type SetEnvMap = { envMap :: Texture, id :: String }

#SetEnvMapIntensity Source

type SetEnvMapIntensity = { envMapIntensity :: Number, id :: String }

#SetWireframe Source

type SetWireframe = { id :: String, wireframe :: Boolean }

#SetWireframeLinewidth Source

type SetWireframeLinewidth = { id :: String, wireframeLinewidth :: Number }

#SetFlatShading Source

type SetFlatShading = { flatShading :: Boolean, id :: String }

#SetCombine Source

type SetCombine = { combine :: CombineOperation, id :: String }

#SetCombine' Source

type SetCombine' = { combine :: Int, id :: String }

#SetFog Source

type SetFog = { fog :: Boolean, id :: String }

#SetReflectivity Source

type SetReflectivity = { id :: String, reflectivity :: Number }

#SetRefractionRatio Source

type SetRefractionRatio = { id :: String, refractionRatio :: Number }

#SetShininess Source

type SetShininess = { id :: String, shininess :: Number }

#SetSpecular Source

type SetSpecular = { id :: String, specular :: Color }

#SetSpecularMap Source

type SetSpecularMap = { id :: String, specularMap :: Texture }

#SetWireframeLinecap Source

type SetWireframeLinecap = { id :: String, wireframeLinecap :: WireframeLinecap }

#SetWireframeLinecap' Source

type SetWireframeLinecap' = { id :: String, wireframeLinecap :: String }

#SetWireframeLinejoin Source

type SetWireframeLinejoin = { id :: String, wireframeLinejoin :: WireframeLinejoin }

#SetWireframeLinejoin' Source

type SetWireframeLinejoin' = { id :: String, wireframeLinejoin :: String }

#SetBackgroundCubeTexture Source

type SetBackgroundCubeTexture = { cubeTexture :: CubeTexture, id :: String }

#SetBackgroundTexture Source

type SetBackgroundTexture = { id :: String, texture :: Texture }

#SetBackgroundColor Source

type SetBackgroundColor = { color :: Color, id :: String }

#SetOnClick Source

type SetOnClick = { id :: String, onClick :: MouseEvent -> Effect Unit }

#SetOnMouseDown Source

type SetOnMouseDown = { id :: String, onMouseDown :: MouseEvent -> Effect (MouseEvent -> Effect Unit) }

#SetOnMouseUp Source

type SetOnMouseUp = { id :: String, onMouseUp :: MouseEvent -> Effect Unit }

#SetOnMouseMove Source

type SetOnMouseMove = { id :: String, onMouseMove :: MouseEvent -> Effect Unit }

#SetOnTouchStart Source

type SetOnTouchStart = { id :: String, onTouchStart :: Touch -> Effect { cancel :: TouchEvent -> Effect Unit, end :: TouchEvent -> Effect Unit } }

#SetOnTouchEnd Source

type SetOnTouchEnd = { id :: String, onTouchEnd :: Touch -> Effect Unit }

#SetOnTouchMove Source

type SetOnTouchMove = { id :: String, onTouchMove :: Touch -> Effect Unit }

#SetOnTouchCancel Source

type SetOnTouchCancel = { id :: String, onTouchCancel :: Touch -> Effect Unit }

#RemoveOnClick Source

type RemoveOnClick = { id :: String, onClick :: MouseEvent -> Effect Unit }

#RemoveOnMouseDown Source

type RemoveOnMouseDown = { id :: String, onMouseDown :: MouseEvent -> Effect (MouseEvent -> Effect Unit) }

#RemoveOnMouseUp Source

type RemoveOnMouseUp = { id :: String, onMouseUp :: MouseEvent -> Effect Unit }

#RemoveOnMouseMove Source

type RemoveOnMouseMove = { id :: String, onMouseMove :: MouseEvent -> Effect Unit }

#RemoveOnTouchStart Source

type RemoveOnTouchStart = { id :: String, onTouchStart :: Touch -> Effect { cancel :: TouchEvent -> Effect Unit, end :: TouchEvent -> Effect Unit } }

#RemoveOnTouchEnd Source

type RemoveOnTouchEnd = { id :: String, onTouchEnd :: Touch -> Effect Unit }

#RemoveOnTouchMove Source

type RemoveOnTouchMove = { id :: String, onTouchMove :: Touch -> Effect Unit }

#RemoveOnTouchCancel Source

type RemoveOnTouchCancel = { id :: String, onTouchCancel :: Touch -> Effect Unit }

#SetIMOnClick Source

type SetIMOnClick = { id :: String, instanceId :: Int, onClick :: MouseEvent -> Effect Unit }

#SetIMOnMouseDown Source

type SetIMOnMouseDown = { id :: String, instanceId :: Int, onMouseDown :: MouseEvent -> Effect (MouseEvent -> Effect Unit) }

#SetIMOnMouseUp Source

type SetIMOnMouseUp = { id :: String, instanceId :: Int, onMouseUp :: MouseEvent -> Effect Unit }

#SetIMOnMouseMove Source

type SetIMOnMouseMove = { id :: String, instanceId :: Int, onMouseMove :: MouseEvent -> Effect Unit }

#SetIMOnTouchStart Source

type SetIMOnTouchStart = { id :: String, instanceId :: Int, onTouchStart :: Touch -> Effect { cancel :: TouchEvent -> Effect Unit, end :: TouchEvent -> Effect Unit } }

#SetIMOnTouchEnd Source

type SetIMOnTouchEnd = { id :: String, instanceId :: Int, onTouchEnd :: Touch -> Effect Unit }

#SetIMOnTouchMove Source

type SetIMOnTouchMove = { id :: String, instanceId :: Int, onTouchMove :: Touch -> Effect Unit }

#SetIMOnTouchCancel Source

type SetIMOnTouchCancel = { id :: String, instanceId :: Int, onTouchCancel :: Touch -> Effect Unit }

#RemoveIMOnClick Source

type RemoveIMOnClick = { id :: String, instanceId :: Int, onClick :: MouseEvent -> Effect Unit }

#RemoveIMOnMouseDown Source

type RemoveIMOnMouseDown = { id :: String, instanceId :: Int, onMouseDown :: MouseEvent -> Effect (MouseEvent -> Effect Unit) }

#RemoveIMOnMouseUp Source

type RemoveIMOnMouseUp = { id :: String, instanceId :: Int, onMouseUp :: MouseEvent -> Effect Unit }

#RemoveIMOnMouseMove Source

type RemoveIMOnMouseMove = { id :: String, instanceId :: Int, onMouseMove :: MouseEvent -> Effect Unit }

#RemoveIMOnTouchStart Source

type RemoveIMOnTouchStart = { id :: String, instanceId :: Int, onTouchStart :: Touch -> Effect { cancel :: TouchEvent -> Effect Unit, end :: TouchEvent -> Effect Unit } }

#RemoveIMOnTouchEnd Source

type RemoveIMOnTouchEnd = { id :: String, instanceId :: Int, onTouchEnd :: Touch -> Effect Unit }

#RemoveIMOnTouchMove Source

type RemoveIMOnTouchMove = { id :: String, instanceId :: Int, onTouchMove :: Touch -> Effect Unit }

#RemoveIMOnTouchCancel Source

type RemoveIMOnTouchCancel = { id :: String, instanceId :: Int, onTouchCancel :: Touch -> Effect Unit }

#SetRotationFromAxisAngle Source

type SetRotationFromAxisAngle = { angle :: Number, axis :: Vector3, id :: String }

#SetRotationFromEuler Source

type SetRotationFromEuler = { euler :: Euler, id :: String }

#SetRotationFromMatrix Source

type SetRotationFromMatrix = { id :: String, matrix4 :: Matrix4 }

#SetRotationFromQuaternion Source

type SetRotationFromQuaternion = { id :: String, quaternion :: Quaternion }

#SetRotateOnAxis Source

type SetRotateOnAxis = { angle :: Number, axis :: Vector3, id :: String }

#SetRotateOnWorldAxis Source

type SetRotateOnWorldAxis = { angle :: Number, axis :: Vector3, id :: String }

#SetTranslateOnAxis Source

type SetTranslateOnAxis = { axis :: Vector3, distance :: Number, id :: String }

#SetPositionX Source

type SetPositionX = { id :: String, positionX :: Number }

#SetPositionY Source

type SetPositionY = { id :: String, positionY :: Number }

#SetPositionZ Source

type SetPositionZ = { id :: String, positionZ :: Number }

#SetScaleX Source

type SetScaleX = { id :: String, scaleX :: Number }

#SetScaleY Source

type SetScaleY = { id :: String, scaleY :: Number }

#SetScaleZ Source

type SetScaleZ = { id :: String, scaleZ :: Number }

#SetTranslateX Source

type SetTranslateX = { id :: String, translateX :: Number }

#SetTranslateY Source

type SetTranslateY = { id :: String, translateY :: Number }

#SetTranslateZ Source

type SetTranslateZ = { id :: String, translateZ :: Number }

#SetAspect Source

type SetAspect = { aspect :: Number, id :: String }

#SetFar Source

type SetFar = { far :: Number, id :: String }

#SetFilmGauge Source

type SetFilmGauge = { filmGauge :: Number, id :: String }

#SetFilmOffset Source

type SetFilmOffset = { filmOffset :: Number, id :: String }

#SetFocus Source

type SetFocus = { focus :: Number, id :: String }

#SetFov Source

type SetFov = { fov :: Number, id :: String }

#SetNear Source

type SetNear = { id :: String, near :: Number }

#SetZoom Source

type SetZoom = { id :: String, zoom :: Number }

#SetFocalLength Source

type SetFocalLength = { focalLength :: Number, id :: String }

#SetViewOffset Source

type SetViewOffset = { fullHeight :: Number, fullWidth :: Number, height :: Number, id :: String, width :: Number, x :: Number, y :: Number }

#SetIntensity Source

type SetIntensity = { id :: String, intensity :: Number }

#SetDistance Source

type SetDistance = { distance :: Number, id :: String }

#SetDecay Source

type SetDecay = { decay :: Number, id :: String }

#SetSize Source

type SetSize = { height :: Number, id :: String, width :: Number }

#SetSizeThroughEffectComposer Source

type SetSizeThroughEffectComposer = { height :: Number, id :: String, width :: Number }

#ConnectMesh Source

type ConnectMesh = { id :: String, parent :: String, scope :: Scope }

#ConnectToScene Source

type ConnectToScene = { id :: String, parent :: String, scope :: Scope }

#Disconnect Source

type Disconnect = { id :: String, parent :: String, scope :: Scope }

#DisconnectPass Source

type DisconnectPass = { id :: String, parent :: String, scope :: Scope }

#ConnectGeometry Source

type ConnectGeometry = { id :: String, parent :: String, raiseId :: String -> ST Global Unit, scope :: Scope }

#ConnectScene Source

type ConnectScene = { id :: String, parent :: String, raiseId :: String -> ST Global Unit, scope :: Scope }

#ConnectCamera Source

type ConnectCamera = { id :: String, parent :: String, raiseId :: String -> ST Global Unit, scope :: Scope }

#ConnectMaterial Source

type ConnectMaterial = { id :: String, parent :: String, raiseId :: String -> ST Global Unit, scope :: Scope }

#DeleteFromCache Source

type DeleteFromCache = { id :: String }

#BufferGeometry Source

type BufferGeometry :: Row Typetype BufferGeometry = (boundingBox :: Box3 -> Effect Unit, boundingSphere :: Sphere -> Effect Unit, center :: Unit, lookAt :: Vector3, matrix4 :: Matrix4, quaternion :: Quaternion, rotateX :: Number, rotateY :: Number, rotateZ :: Number, scale :: { x :: Number, y :: Number, z :: Number }, translate :: { x :: Number, y :: Number, z :: Number })

#Object3D Source

type Object3D :: Row Typetype Object3D = (lookAt :: Vector3, matrix4 :: Matrix4, positionX :: Number, positionY :: Number, positionZ :: Number, quaternion :: Quaternion, rotateOnAxis :: { angle :: Number, axis :: Vector3 }, rotateOnWorldAxis :: { angle :: Number, axis :: Vector3 }, rotateX :: Number, rotateY :: Number, rotateZ :: Number, rotationFromAxisAngle :: { angle :: Number, axis :: Vector3 }, rotationFromEuler :: Euler, rotationFromMatrix :: Matrix4, rotationFromQuaternion :: Quaternion, scaleX :: Number, scaleY :: Number, scaleZ :: Number, translateOnAxis :: { axis :: Vector3, distance :: Number }, translateX :: Number, translateY :: Number, translateZ :: Number)

#bufferGeometry Source

bufferGeometry :: forall payload. String -> ThreeInterpret payload -> { boundingBox :: (Box3 -> Effect Unit) -> payload, boundingSphere :: (Sphere -> Effect Unit) -> payload, center :: Unit -> payload, lookAt :: Vector3 -> payload, matrix4 :: Matrix4 -> payload, quaternion :: Quaternion -> payload, rotateX :: Number -> payload, rotateY :: Number -> payload, rotateZ :: Number -> payload, scale :: { x :: Number, y :: Number, z :: Number } -> payload, translate :: { x :: Number, y :: Number, z :: Number } -> payload }

#object3D Source

object3D :: forall payload. String -> ThreeInterpret payload -> { lookAt :: Vector3 -> payload, matrix4 :: Matrix4 -> payload, positionX :: Number -> payload, positionY :: Number -> payload, positionZ :: Number -> payload, quaternion :: Quaternion -> payload, rotateOnAxis :: { angle :: Number, axis :: Vector3 } -> payload, rotateOnWorldAxis :: { angle :: Number, axis :: Vector3 } -> payload, rotateX :: Number -> payload, rotateY :: Number -> payload, rotateZ :: Number -> payload, rotationFromAxisAngle :: { angle :: Number, axis :: Vector3 } -> payload, rotationFromEuler :: Euler -> payload, rotationFromMatrix :: Matrix4 -> payload, rotationFromQuaternion :: Quaternion -> payload, scaleX :: Number -> payload, scaleY :: Number -> payload, scaleZ :: Number -> payload, translateOnAxis :: { axis :: Vector3, distance :: Number } -> payload, translateX :: Number -> payload, translateY :: Number -> payload, translateZ :: Number -> payload }

#pureObject3D Source

pureObject3D :: forall m payload. Applicative m => String -> ThreeInterpret payload -> { lookAt :: Vector3 -> m payload, matrix4 :: Matrix4 -> m payload, positionX :: Number -> m payload, positionY :: Number -> m payload, positionZ :: Number -> m payload, quaternion :: Quaternion -> m payload, rotateOnAxis :: { angle :: Number, axis :: Vector3 } -> m payload, rotateOnWorldAxis :: { angle :: Number, axis :: Vector3 } -> m payload, rotateX :: Number -> m payload, rotateY :: Number -> m payload, rotateZ :: Number -> m payload, rotationFromAxisAngle :: { angle :: Number, axis :: Vector3 } -> m payload, rotationFromEuler :: Euler -> m payload, rotationFromMatrix :: Matrix4 -> m payload, rotationFromQuaternion :: Quaternion -> m payload, scaleX :: Number -> m payload, scaleY :: Number -> m payload, scaleZ :: Number -> m payload, translateOnAxis :: { axis :: Vector3, distance :: Number } -> m payload, translateX :: Number -> m payload, translateY :: Number -> m payload, translateZ :: Number -> m payload }

#ThreeInterpret Source

newtype ThreeInterpret payload

Constructors

Instances