appeared

Reports that a screen named name appeared: pushes a screen frame onto the stack and emits a Screen Viewed carrying the screen it replaced as previous_screen. Keep the returned AutographScreenView and call AutographScreenView.disappeared when the screen leaves.

A tracker failure is never allowed to escape into the SwiftUI onAppear caller — a Kotlin exception unwinding into Swift with no @Throws crashes the app. The pushed frame stays regardless of whether the emit succeeded (a screen's taps carry it even if its Screen Viewed emit threw), exactly as the UIKit swizzle keeps its frame independent of emit success; it is removed by AutographScreenView.disappeared. Screen history is not rolled back on failure — record already ran, and whether the tracker actually delivered the event is unobservable, so "un-recording" would only trade one inconsistency for another. This mirrors the swizzle.