import time from spriteforge.studio.jobs import GenerationQueue from spriteforge.studio.models import Asset, GenerationRecipe, GenerationRequest from spriteforge.studio.store import ProjectStore def test_generation_queue_persists_status_and_candidates(tmp_path): store=ProjectStore.create(tmp_path/"studio","ops","Ops") store.add_asset(Asset(id="agent",name="Agent",kind="character",target_width=60,target_height=60)) _,shot=store.add_shot("agent","idle",0,0) request=GenerationRequest(project_id="ops",asset_id="agent",shot_id=shot.id,count=2, recipe=GenerationRecipe(provider="diagnostic",model="test",seed=1,prompt="x",width=64,height=64)) queue=GenerationQueue(store);job=queue.submit(request);deadline=time.monotonic()+3 while time.monotonic()