[package]
edition = "2024"
name = "mittens-engine"
version = "0.7.0"
authors = ["Rei Evans <ultr7a@gmail.com>"]
build = false
exclude = [
"assets/models/*.glb",
"docs/.debug/**",
"docs/analysis/**",
"docs/bugs/**",
"docs/draft/**",
"docs/review/**",
"docs/task/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Vulkan and OpenXR scene engine with ECS, reactive signals, and Meow Meow scripting"
readme = "README.md"
license = "MIT"
repository = "https://github.com/rei-kurzweil/mittens"
[lib]
name = "mittens_engine"
path = "src/lib.rs"
[[bin]]
name = "mittens-engine"
path = "src/main.rs"
[[example]]
name = "animation-example"
path = "examples/animation-example.rs"
[[example]]
name = "animation-for-topology"
path = "examples/animation-for-topology.rs"
[[example]]
name = "audio-clip-instance-demo"
path = "examples/audio-clip-instance-demo.rs"
[[example]]
name = "audio-graph-example"
path = "examples/audio-graph-example.rs"
[[example]]
name = "audio-music-demo"
path = "examples/audio-music-demo.rs"
[[example]]
name = "background-example"
path = "examples/background-example.rs"
[[example]]
name = "background-occlusion-example"
path = "examples/background-occlusion-example.rs"
[[example]]
name = "bisket-bones-and-ik"
path = "examples/bisket-bones-and-ik.rs"
[[example]]
name = "bisket-desktop-demo"
path = "examples/bisket-desktop-demo.rs"
[[example]]
name = "bisket-vr-debug"
path = "examples/bisket-vr-debug.rs"
[[example]]
name = "bisket-vr-demo"
path = "examples/bisket-vr-demo.rs"
[[example]]
name = "bisket-vr-only-example"
path = "examples/bisket-vr-only-example.rs"
[[example]]
name = "bloom"
path = "examples/bloom.rs"
[[example]]
name = "button-press"
path = "examples/button-press.rs"
[[example]]
name = "camera-constraint"
path = "examples/camera-constraint.rs"
[[example]]
name = "camera-toggle"
path = "examples/camera-toggle.rs"
[[example]]
name = "clip-shape"
path = "examples/clip-shape.rs"
[[example]]
name = "collision-perimeter"
path = "examples/collision-perimeter.rs"
[[example]]
name = "component-method-call"
path = "examples/component-method-call.rs"
[[example]]
name = "diy-panel"
path = "examples/diy-panel.rs"
[[example]]
name = "example_util"
path = "examples/example_util.rs"
[[example]]
name = "folder-text"
path = "examples/folder-text.rs"
[[example]]
name = "font-example"
path = "examples/font-example.rs"
[[example]]
name = "font-size"
path = "examples/font-size.rs"
[[example]]
name = "gestures-and-gizmos"
path = "examples/gestures-and-gizmos.rs"
[[example]]
name = "gltf-pose-animation"
path = "examples/gltf-pose-animation.rs"
[[example]]
name = "gravity-fields"
path = "examples/gravity-fields.rs"
[[example]]
name = "http-server-example"
path = "examples/http-server-example.rs"
[[example]]
name = "inline-block-layout"
path = "examples/inline-block-layout.rs"
[[example]]
name = "input-xr-gamepad"
path = "examples/input-xr-gamepad.rs"
[[example]]
name = "lights"
path = "examples/lights.rs"
[[example]]
name = "mesh-factory-example"
path = "examples/mesh-factory-example.rs"
[[example]]
name = "mms-functions"
path = "examples/mms-functions.rs"
[[example]]
name = "mms-loops"
path = "examples/mms-loops.rs"
[[example]]
name = "mms-module-example"
path = "examples/mms-module-example.rs"
[[example]]
name = "mms-tables"
path = "examples/mms-tables.rs"
[[example]]
name = "neon-kawaii"
path = "examples/neon-kawaii.rs"
[[example]]
name = "observer-router"
path = "examples/observer-router.rs"
[[example]]
name = "opacity-example"
path = "examples/opacity-example.rs"
[[example]]
name = "openxr"
path = "examples/openxr.rs"
[[example]]
name = "padding-demo"
path = "examples/padding-demo.rs"
[[example]]
name = "panel-pierce"
path = "examples/triage/panel-pierce.rs"
[[example]]
name = "pc-rei-mirror-example"
path = "examples/pc-rei-mirror-example.rs"
[[example]]
name = "percentage-layout"
path = "examples/percentage-layout.rs"
[[example]]
name = "pipe-demo"
path = "examples/pipe-demo.rs"
[[example]]
name = "pointer-events"
path = "examples/pointer-events.rs"
[[example]]
name = "pride"
path = "examples/pride.rs"
[[example]]
name = "qdebug"
path = "examples/qdebug.rs"
[[example]]
name = "query-demo"
path = "examples/query-demo.rs"
[[example]]
name = "raycast-topology-animation"
path = "examples/raycast-topology-animation.rs"
[[example]]
name = "render-graph-diagram"
path = "examples/render-graph-diagram.rs"
[[example]]
name = "rotate-look-at-example"
path = "examples/rotate-look-at-example.rs"
[[example]]
name = "router"
path = "examples/router.rs"
[[example]]
name = "scrolling"
path = "examples/scrolling.rs"
[[example]]
name = "secondary-motion-desktop"
path = "examples/secondary-motion-desktop.rs"
[[example]]
name = "signal-handler"
path = "examples/signal-handler.rs"
[[example]]
name = "simple-demo"
path = "examples/simple-demo.rs"
[[example]]
name = "table-field-reassign"
path = "examples/table-field-reassign.rs"
[[example]]
name = "text-animation"
path = "examples/text-animation.rs"
[[example]]
name = "text-editor"
path = "examples/text-editor.rs"
[[example]]
name = "text-example"
path = "examples/text-example.rs"
[[example]]
name = "text-input"
path = "examples/text-input.rs"
[[example]]
name = "transition"
path = "examples/transition.rs"
[[example]]
name = "transparent-cutout-example"
path = "examples/transparent-cutout-example.rs"
[[example]]
name = "ui-layout"
path = "examples/ui-layout.rs"
[[example]]
name = "vr-input"
path = "examples/vr-input.rs"
[[example]]
name = "vr-input-mms"
path = "examples/vr-input-mms.rs"
[[example]]
name = "vtuber-desktop"
path = "examples/vtuber-desktop.rs"
[[example]]
name = "vtuber-desktop-first-person"
path = "examples/vtuber-desktop-first-person.rs"
[[example]]
name = "vtuber-editor-example"
path = "examples/vtuber-editor-example.rs"
[[example]]
name = "vtuber-example"
path = "examples/vtuber-example.rs"
[[example]]
name = "vtuber-joints-example"
path = "examples/vtuber-joints-example.rs"
[[example]]
name = "vtuber-mirror-example"
path = "examples/vtuber-mirror-example.rs"
[[example]]
name = "vtuber-secondary-motion"
path = "examples/vtuber-secondary-motion.rs"
[[example]]
name = "vulkano-frame-future-regression"
path = "examples/vulkano-frame-future-regression.rs"
[[example]]
name = "world-panel"
path = "examples/world-panel.rs"
[[example]]
name = "xr-grab-demo"
path = "examples/xr-grab-demo.rs"
[[test]]
name = "editor_visualization_transform_regressions"
path = "tests/editor_visualization_transform_regressions.rs"
[[test]]
name = "renderer_optimization_profile"
path = "tests/renderer_optimization_profile.rs"
[dependencies.ash]
version = "0.38"
[dependencies.bvh]
version = "0.7"
[dependencies.cpal]
version = "0.15"
[dependencies.ddsfile]
version = "0.5"
[dependencies.fundsp]
version = "0.20"
[dependencies.gltf]
version = "1"
features = ["import"]
[dependencies.heapless]
version = "0.8"
[dependencies.image]
version = "0.25"
features = [
"png",
"jpeg",
]
default-features = false
[dependencies.meow-meow-script]
version = "0.6.0"
[dependencies.mittens-query]
version = "0.6.0"
[dependencies.openxr]
version = "0.19"
[dependencies.reqwest]
version = "0.12"
features = [
"rustls-tls",
"http2",
"json",
"blocking",
]
default-features = false
[dependencies.rspirv]
version = "0.12"
[dependencies.rtrb]
version = "0.3"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.slotmap]
version = "1.0.7"
[dependencies.smallvec]
version = "1"
[dependencies.symphonia]
version = "0.5"
features = [
"wav",
"pcm",
"vorbis",
"ogg",
"flac",
"mp3",
]
default-features = false
[dependencies.tiny_http]
version = "0.12"
[dependencies.uuid]
version = "1.11"
features = [
"v4",
"serde",
]
[dependencies.vulkano]
version = "0.35"
[dependencies.vulkano-shaders]
version = "0.35"
[dependencies.vulkano-util]
version = "0.35"
[dependencies.winit]
version = "0.30"