When an engine fetches a page in real time to answer a question, it reads the visible HTML. ChatGPT, Claude and Perplexity don't execute JavaScript at that moment — searchVIU's crawler analysis classifies GPTBot, ClaudeBot and PerplexityBot as unable to render it — so content that only exists after client-side rendering may as well not be there.
This explains a lot of failed AEO tooling. When Ahrefs tracked 1,885 pages that added JSON-LD, against 4,000 matched controls, AI citations moved +2.4% on Google AI Mode and +2.2% on ChatGPT — both statistically indistinguishable from zero. Schema on its own didn't move the answer. Hidden AI-only content is structurally useless for the same reason: the engine isn't reading the hidden layer at answer time. It's why the Geoffy widget renders in the DOM, visibly, on the canonical page.