import Foundation
import simd
import JolkEngine


struct JolkCube: Actor
{
	private var _pos: Vec3f
	private var theta: Float = 0.0

	init(position: Vec3f)
	{
		_pos = position
	}

	var position: Vec3f { _pos }

	mutating func update(deltaTime: Float, world: Collision)
	{
		theta += 15 * deltaTime
		_pos.y = 1 + sin(theta * 0.25) * 0.25
	}

	var transform: Mat4f
	{
		.translate(_pos) *
		.rotate(x: theta * 0.25) *
		.rotate(y: Float.rad(fromDeg: theta)) *
		// .rotate(axis: .X, angle: theta * 0.25) *
		// .rotate(axis: .Y, angle: Float.rad(fromDeg: theta)) *
		.scale(scalar: 0.25)
	}
}
