feat: page interactive, démos Play/Step et simulateur Carnot

Ajoute le pipeline PageSpec (validation, rendu, publication /p/{slug}),
les démos TipTap /demo, et le simulateur Carnot (modes frigo/PAC/moteur,
énergie kJ vs puissance W, unités K/°C/°F) avec correctifs d’équations KaTeX.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Antigravity
2026-07-24 17:51:43 +00:00
parent f385d43d5d
commit 69c99e4f4f
67 changed files with 12005 additions and 33 deletions

View File

@@ -1,4 +1,4 @@
export const PUBLISH_TEMPLATES = ['magazine', 'brief', 'essay'] as const
export const PUBLISH_TEMPLATES = ['magazine', 'brief', 'essay', 'interactive-page'] as const
export type PublishTemplateId = (typeof PUBLISH_TEMPLATES)[number]
/** Métadonnées éditoriales IA — corps = HTML source original. */
@@ -19,3 +19,9 @@ export interface PublishRewriteSpec {
export function isPublishTemplateId(value: string): value is PublishTemplateId {
return (PUBLISH_TEMPLATES as readonly string[]).includes(value)
}
export function isInteractivePageTemplate(
value: string | null | undefined
): boolean {
return value === 'interactive-page'
}