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:
76
memento-note/lib/simulators/carnot-cycle-anim.ts
Normal file
76
memento-note/lib/simulators/carnot-cycle-anim.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
import type { AnimPlugin } from './types'
|
||||
|
||||
/**
|
||||
* Carnot cycle — animated piston + live P-V diagram, 5 beats.
|
||||
* Scene rendered by components/simulators/carnot-cycle-anim-view.tsx.
|
||||
*/
|
||||
export const carnotCycleAnim: AnimPlugin = {
|
||||
family: 'anim',
|
||||
id: 'carnot-cycle-anim',
|
||||
title: {
|
||||
fr: 'Le cycle de Carnot en mouvement',
|
||||
en: 'The Carnot cycle in motion',
|
||||
},
|
||||
summary: {
|
||||
fr: 'Animation du cycle de Carnot : piston, détentes/compressions isothermes et adiabatiques, diagramme P-V tracé en direct, échanges Q et W. 2ᵉ principe, machine thermique, réfrigérateur.',
|
||||
en: 'Animated Carnot cycle: piston, isothermal and adiabatic expansion/compression, live P-V diagram, Q and W exchanges. Second law, heat engine, refrigerator.',
|
||||
},
|
||||
keywords: [
|
||||
'carnot',
|
||||
'thermodynamique',
|
||||
'thermodynamics',
|
||||
'cycle',
|
||||
'piston',
|
||||
'isotherme',
|
||||
'adiabatique',
|
||||
'isothermal',
|
||||
'adiabatic',
|
||||
'entropie',
|
||||
'entropy',
|
||||
'machine thermique',
|
||||
'heat engine',
|
||||
'deuxième principe',
|
||||
'second law',
|
||||
],
|
||||
disclaimer: {
|
||||
fr: 'Schéma pédagogique — grandeurs illustratives, gaz parfait.',
|
||||
en: 'Teaching schematic — illustrative values, ideal gas.',
|
||||
},
|
||||
beats: [
|
||||
{
|
||||
id: 'b1',
|
||||
speak: {
|
||||
fr: '**Détente isotherme** à $T_h$ : le gaz pousse le piston, la chaleur $Q_h$ entre depuis la source chaude.',
|
||||
en: '**Isothermal expansion** at $T_h$: the gas pushes the piston, heat $Q_h$ flows in from the hot reservoir.',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'b2',
|
||||
speak: {
|
||||
fr: '**Détente adiabatique** : isolé, le gaz continue de se détendre et se refroidit de $T_h$ à $T_c$.',
|
||||
en: '**Adiabatic expansion**: insulated, the gas keeps expanding and cools from $T_h$ down to $T_c$.',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'b3',
|
||||
speak: {
|
||||
fr: '**Compression isotherme** à $T_c$ : on travaille sur le gaz, la chaleur $Q_c$ sort vers la source froide.',
|
||||
en: '**Isothermal compression** at $T_c$: work is done on the gas, heat $Q_c$ flows out to the cold reservoir.',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'b4',
|
||||
speak: {
|
||||
fr: '**Compression adiabatique** : le gaz remonte de $T_c$ à $T_h$ — le cycle se referme.',
|
||||
en: '**Adiabatic compression**: the gas warms back from $T_c$ to $T_h$ — the cycle closes.',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'b5',
|
||||
speak: {
|
||||
fr: "Le **travail net** $W = Q_h - Q_c$ est l'aire du cycle sur le diagramme $P$–$V$. Le rendement $\eta = 1 - T_c/T_h$ est le maximum permis par le 2ᵉ principe.",
|
||||
en: '**Net work** $W = Q_h - Q_c$ is the cycle area on the $P$–$V$ diagram. Efficiency $\eta = 1 - T_c/T_h$ is the second-law maximum.',
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
Reference in New Issue
Block a user