Package-level declarations

Types

Link copied to clipboard
@Serializable
data class BehaviorComponentData(val behaviorClassName: String, val propertyValues: Map<String, PropertyValue> = mapOf()) : ComponentData
Link copied to clipboard
@Serializable
data class BehaviorRef(val entityId: EntityId, val behaviorClassName: String)
Link copied to clipboard
@Serializable
data class BlinnPhongShaderData(val baseColor: MaterialAttribute = ConstColorAttribute(ColorData(MdColor.GREY toneLin 500)), val specularColor: MaterialAttribute = ConstColorAttribute(ColorData(Color.WHITE.toLinear())), val shininess: MaterialAttribute = ConstValueAttribute(16f), val specularStrength: MaterialAttribute = ConstValueAttribute(1f), val genericSettings: GenericMaterialSettings = GenericMaterialSettings()) : MaterialShaderData
Link copied to clipboard
@Serializable
data class CameraComponentData(val camera: CameraTypeData) : ComponentData
Link copied to clipboard
@Serializable
sealed class CameraTypeData
Link copied to clipboard
@Serializable
data class CharacterControllerComponentData(val shape: ShapeData.Capsule = ShapeData.Capsule(0.4, 1.0), val crouchSpeed: Float = 1.0f, val walkSpeed: Float = 2.0f, val runSpeed: Float = 7.0f, val jumpSpeed: Float = 6.0f, val maxFallSpeed: Float = 30.0f, val slopeLimit: Float = 45.0f, val nonWalkableMode: NonWalkableMode = NonWalkableMode.PREVENT_CLIMBING, val pushForce: Float = 10.0f, val downForce: Float = 1.0f, val enableDefaultControls: Boolean = true, val runByDefault: Boolean = true) : ComponentData
Link copied to clipboard
@Serializable
data class ColorData(val r: Float, val g: Float, val b: Float, val a: Float, val isLinear: Boolean = true)
Link copied to clipboard
@Serializable
sealed interface ComponentData
Link copied to clipboard
@Serializable
data class ComponentInfo<T : ComponentData>(var data: T, var displayOrder: Int = -1)
Link copied to clipboard
@Serializable
data class ComponentRef(val entityId: EntityId, val componentClassName: String)
Link copied to clipboard
@Serializable
data class ConstColorAttribute(val color: ColorData) : MaterialAttribute
Link copied to clipboard
@Serializable
data class ConstValueAttribute(val value: Float) : MaterialAttribute
Link copied to clipboard
@Serializable
data class D6DriveData(val targetVelocity: Float = 1.0f, val forceLimit: Float = 1000.0f, val stiffness: Float = 0.0f, val damping: Float = 10.0f, val isAcceleration: Boolean = true)
Link copied to clipboard
@Serializable
data class DiscreteLightComponentData(val light: LightTypeData) : ComponentData
Link copied to clipboard
@Serializable
value class EntityId(val value: Long)
Link copied to clipboard
@Serializable
data class GameEntityData(val id: EntityId, var parentId: EntityId, var settings: GameEntitySettings, var order: Int = 0)
Link copied to clipboard
@Serializable
data class GameEntitySettings(val name: String, val isVisible: Boolean = true, val drawGroupId: Int = 0)
Link copied to clipboard
@Serializable
data class GenericMaterialSettings(val isTwoSided: Boolean = false, val isCastingShadow: Boolean = true)
Link copied to clipboard
@Serializable
data class JointComponentData(val bodyA: EntityId = EntityId.NULL, val bodyB: EntityId = EntityId.NULL, val isCollisionEnabled: Boolean = false, val isBreakable: Boolean = false, val breakForce: Float = 0.0f, val breakTorque: Float = 0.0f, val jointData: JointData = JointData.Fixed) : ComponentData
Link copied to clipboard
@Serializable
sealed interface JointData
Link copied to clipboard
@Serializable
sealed class LightTypeData
Link copied to clipboard
@Serializable
data class LimitData(val limit1: Float, val limit2: Float, val stiffness: Float = 0.0f, val damping: Float = 0.0f, val restitution: Float = 0.0f, val bounceThreshold: Float = 0.0f)
Link copied to clipboard
@Serializable
data class MapAttribute(val mapPath: String, val channels: String? = null, val format: TexFormat? = null) : MaterialAttribute
Link copied to clipboard
@Serializable
sealed interface MaterialAttribute
Link copied to clipboard
@Serializable
data class MaterialComponentData(val name: String, val shaderData: MaterialShaderData) : ComponentData
Link copied to clipboard
@Serializable
data class MaterialReferenceComponentData(val materialId: EntityId) : ComponentData
Link copied to clipboard
@Serializable
sealed interface MaterialShaderData
Link copied to clipboard
@Serializable
data class MeshComponentData(val shapes: List<ShapeData>) : ComponentData
Link copied to clipboard
@Serializable
data class ModelComponentData(val modelPath: String, val sceneIndex: Int = 0, val animationIndex: Int = -1) : ComponentData
Link copied to clipboard
@Serializable
data class PbrShaderData(val baseColor: MaterialAttribute = ConstColorAttribute(ColorData(MdColor.GREY toneLin 500)), val roughness: MaterialAttribute = ConstValueAttribute(0.5f), val metallic: MaterialAttribute = ConstValueAttribute(0f), val emission: MaterialAttribute = ConstColorAttribute(ColorData(Color.BLACK.toLinear())), val normalMap: MapAttribute? = null, val aoMap: MapAttribute? = null, val displacementMap: MapAttribute? = null, val parallaxStrength: Float = 1.0f, val parallaxOffset: Float = 0.0f, val parallaxSteps: Int = 16, val genericSettings: GenericMaterialSettings = GenericMaterialSettings()) : MaterialShaderData
Link copied to clipboard
@Serializable
data class PbrSplatShaderData(val splatMap: MapAttribute? = null, val debugMode: Int = 0, val materialMaps: List<SplatMapData> = listOf(SplatMapData(), SplatMapData()), val genericSettings: GenericMaterialSettings = GenericMaterialSettings()) : MaterialShaderData
Link copied to clipboard
@Serializable
data class PhysicsMaterialData(val id: EntityId, val name: String, val staticFriction: Float = 0.5f, val dynamicFriction: Float = 0.5f, val restitution: Float = 0.2f)
Link copied to clipboard
@Serializable
data class PhysicsWorldComponentData(val gravity: Vec3Data = Vec3Data(0.0, -9.81, 0.0), val isContinuousCollisionDetection: Boolean = true, val physicsRange: Vec3Data = Vec3Data(0.0, 0.0, 0.0), val materials: List<PhysicsMaterialData> = emptyList()) : ComponentData
Link copied to clipboard
@Serializable
data class PoseData(val position: Vec3Data, val rotation: Vec4Data)
Link copied to clipboard
@Serializable
class ProjectData(var meta: ProjectMeta, val scenes: MutableList<SceneData> = mutableListOf(), val materials: MutableList<GameEntityData> = mutableListOf())
Link copied to clipboard
@Serializable
data class ProjectMeta(val modelVersion: String, val name: String = "kool-editor-project")
Link copied to clipboard
@Serializable
data class PropertyValue(val d1: Double? = null, val d2: Vec2Data? = null, val d3: Vec3Data? = null, val d4: Vec4Data? = null, val f1: Float? = null, val f2: Vec2Data? = null, val f3: Vec3Data? = null, val f4: Vec4Data? = null, val i1: Int? = null, val i2: Vec2Data? = null, val i3: Vec3Data? = null, val i4: Vec4Data? = null, val bool: Boolean? = null, val color: ColorData? = null, val transform: TransformData? = null, val str: String? = null, val gameEntityRef: EntityId? = null, val componentRef: ComponentRef? = null, val behaviorRef: BehaviorRef? = null)
Link copied to clipboard
@Serializable
data class RigidActorComponentData(val actorType: RigidActorType = RigidActorType.STATIC, val shapes: List<ShapeData> = emptyList(), val mass: Double = 1.0, val isTrigger: Boolean = false, val characterControllerHitBehavior: HitActorBehavior = HitActorBehavior.SLIDE, val materialId: EntityId = EntityId.NULL) : ComponentData
Link copied to clipboard
Link copied to clipboard
@Serializable
data class SceneBackgroundComponentData(val sceneBackground: SceneBackgroundData) : ComponentData
Link copied to clipboard
@Serializable
sealed interface SceneBackgroundData
Link copied to clipboard
@Serializable
data class SceneComponentData(val cameraEntityId: EntityId = EntityId.NULL, val maxNumLights: Int = 4, val toneMapping: ToneMapping = ToneMapping.AcesApproximated, val upAxis: SceneUpAxis = SceneUpAxis.Y_AXIS, val isFloatingOrigin: Boolean = false) : ComponentData
Link copied to clipboard
@Serializable
class SceneData(var meta: SceneMeta, val entities: MutableList<GameEntityData> = mutableListOf())
Link copied to clipboard
@Serializable
data class SceneMeta(val rootId: EntityId, val name: String = "New Scene")
Link copied to clipboard
Link copied to clipboard
@Serializable
data class ShadowMapComponentData(val shadowMap: ShadowMapTypeData, val clipNear: Float = 0.5f, val clipFar: Float = 200.0f) : ComponentData
Link copied to clipboard
@Serializable
data class ShadowMapInfo(val mapSize: Int = 2048, val rangeNear: Float = 0.0f, val rangeFar: Float = 1.0f)
Link copied to clipboard
@Serializable
sealed class ShadowMapTypeData
Link copied to clipboard
@Serializable
sealed interface ShapeData
Link copied to clipboard
@Serializable
data class SplatMapData(val baseColor: MaterialAttribute = ConstColorAttribute(ColorData(MdColor.GREY toneLin 500)), val roughness: MaterialAttribute = ConstValueAttribute(0.5f), val metallic: MaterialAttribute = ConstValueAttribute(0f), val emission: MaterialAttribute = ConstColorAttribute(ColorData(Color.BLACK.toLinear())), val normalMap: MapAttribute? = null, val aoMap: MapAttribute? = null, val displacementMap: MapAttribute? = null, val textureScale: Float = 10.0f, val textureRotation: Float = 0.0f, val stochasticTileSize: Float = 0.5f, val stochasticRotation: Float = 360.0f)
Link copied to clipboard
@Serializable
data class SsaoComponentData(val samples: Int = 16, val mapSize: Float = 0.7f, val radius: Float = 0.05f, val isRelativeRadius: Boolean = true, val strength: Float = 1.25f, val power: Float = 4.0f) : ComponentData
Link copied to clipboard
@Serializable
data class TransformComponentData(val transform: TransformData = TransformData.IDENTITY, val isFixedScaleRatio: Boolean = true) : ComponentData
Link copied to clipboard
@Serializable
data class TransformData(val position: Vec3Data, val rotation: Vec4Data, val scale: Vec3Data)
Link copied to clipboard
@Serializable
data class UnlitShaderData(val baseColor: MaterialAttribute = ConstColorAttribute(ColorData(MdColor.GREY toneLin 500)), val genericSettings: GenericMaterialSettings = GenericMaterialSettings()) : MaterialShaderData
Link copied to clipboard
@Serializable
data class Vec2Data(val x: Double, val y: Double)
Link copied to clipboard
@Serializable
data class Vec3Data(val x: Double, val y: Double, val z: Double)
Link copied to clipboard
@Serializable
data class Vec4Data(val x: Double, val y: Double, val z: Double, val w: Double)
Link copied to clipboard
@Serializable
data class VertexAttribute(val attribName: String) : MaterialAttribute

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun TransformData(matrix: Mat4d): TransformData
fun TransformData(transform: Transform): TransformData