What's wrong
InteractiveDemo.CreateInstructionsPanel() (TUI.App/InteractiveDemo.cs) tells the user "↑/↓ - Increment/Decrement Counter", "SPACE - Add +10", "R - Reset", "T - Toggle Theme". But the real input path is UIApplication.ProcessInputAsync (TUI.Core/Services/UIApplication.cs:232) → IUIElement.HandleInput → OnHandleInput, and none of the shipped element types (TextElement, BorderElement, StackPanel, UIElementBase) override OnHandleInput — it defaults to return false (UIElementBase.cs:113). InteractiveDemo.HandleInput(string key) (lines 156-194) — the only code that actually updates _counter/_statusText/theme — is a standalone public static method with exactly one reference in the whole assembly: its own definition. Nothing in Program.cs or InteractiveDemo.RunAsync() calls it.
Failure scenario
Running dotnet run --project TUI.App -- --interactive and pressing any of the keys advertised in the on-screen instructions panel visibly does nothing.
Suggested fix
Either wire real key input into InteractiveDemo.HandleInput (e.g. have UIApplication expose a hook, or give the root element a custom OnHandleInput override that dispatches to it), or remove the unused method and the false claims in the instructions panel.
Acceptance criteria
Pressing an advertised key while running the interactive demo visibly updates the counter/status/theme as documented, or the misleading instructions panel is removed.
What's wrong
InteractiveDemo.CreateInstructionsPanel()(TUI.App/InteractiveDemo.cs) tells the user "↑/↓ - Increment/Decrement Counter", "SPACE - Add +10", "R - Reset", "T - Toggle Theme". But the real input path isUIApplication.ProcessInputAsync(TUI.Core/Services/UIApplication.cs:232) →IUIElement.HandleInput→OnHandleInput, and none of the shipped element types (TextElement,BorderElement,StackPanel,UIElementBase) overrideOnHandleInput— it defaults toreturn false(UIElementBase.cs:113).InteractiveDemo.HandleInput(string key)(lines 156-194) — the only code that actually updates_counter/_statusText/theme — is a standalonepublic staticmethod with exactly one reference in the whole assembly: its own definition. Nothing inProgram.csorInteractiveDemo.RunAsync()calls it.Failure scenario
Running
dotnet run --project TUI.App -- --interactiveand pressing any of the keys advertised in the on-screen instructions panel visibly does nothing.Suggested fix
Either wire real key input into
InteractiveDemo.HandleInput(e.g. haveUIApplicationexpose a hook, or give the root element a customOnHandleInputoverride that dispatches to it), or remove the unused method and the false claims in the instructions panel.Acceptance criteria
Pressing an advertised key while running the interactive demo visibly updates the counter/status/theme as documented, or the misleading instructions panel is removed.