extends SceneTree ## Actual UI smoke check and fresh workshop screenshot. Requires a display. func _initialize() -> void: call_deferred("_run") func _run() -> void: var gallery: Control = load("res://tools/model_gallery.tscn").instantiate() root.add_child(gallery) await process_frame assert(gallery._asset_select.item_count == 59) assert(gallery._icon.texture != null) for index: int in range(gallery._faction_select.item_count): if gallery._faction_select.get_item_metadata(index) == "nebelchor": gallery._faction_select.select(index) gallery._faction_select.item_selected.emit(index) assert(gallery._asset_select.item_count == 10) gallery._asset_select.select(7) gallery._asset_select.item_selected.emit(7) assert(gallery._title.text == "Hohlgeläut") assert(gallery._icon.texture != null) var turntable: Node3D = gallery._view["turntable"] assert(turntable.get_child_count() == 1) gallery._auto_rotate.button_pressed = true await create_timer(0.25).timeout assert(turntable.rotation.y > 0.0) gallery._auto_rotate.button_pressed = false gallery._reset_view() assert(turntable.rotation == Vector3.ZERO) await process_frame await RenderingServer.frame_post_draw var result: Error = root.get_texture().get_image().save_png("res://docs/screenshots/phase4/models-workshop.png") assert(result == OK) print("GALLERY_PASS: 59 entries, faction filter, N08 reference, rotation, reset and screenshot") quit(0)