2. Replace luastra.json
luastra/motion · stable UI identity · about 15 minutesluastra/motion + luastra/ui
Declarative UI motion needs no host capability beyond rendering.
When to use it
Replace the generated manifest before importing Motion. Do not add timer.control because animation frames are host-owned presentation work.
Focused example
{
"schemaVersion": 2,
"project": { "id": "dev.luastra.motion-recipe", "entry": "app/main" },
"sdk": { "contract": 1 },
"capabilities": ["ui.render"],
"modules": [
{
"id": "app/main",
"source": "src/main.luau",
"dependencies": ["luastra/app", "luastra/motion", "luastra/ui"]
},
{
"id": "app/tests/motion",
"source": "tests/smoke.luau",
"dependencies": ["app/main"]
}
],
"tests": ["app/tests/motion"]
}