from spriteforge.studio.models import Asset from spriteforge.studio.store import ProjectStore from spriteforge.studio.validation import validate_project,validation_text def test_validation_reports_incomplete_grid_and_missing_approval(tmp_path): store=ProjectStore.create(tmp_path/"s","ops","Ops");store.add_asset(Asset(id="agent",name="Agent",kind="character",target_width=60,target_height=60,directions=8));store.add_shot("agent","idle",0,0) issues=validate_project(store) assert any("missing 7 shot" in x.message for x in issues) assert any("no approved" in x.message for x in issues) assert "validation:" in validation_text(store)