Spaces:
Sleeping
Sleeping
File size: 1,512 Bytes
0e24aff | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | interface HeroStep {
index: string;
title: string;
body: string;
accent: string;
}
const STEPS: HeroStep[] = [
{
index: "01",
title: "Observe",
body: "We sample a noisy time series from a known physical system (free fall, pendulum, damped spring, …). The agent never sees the true equation.",
accent: "text-accentBlue",
},
{
index: "02",
title: "Hypothesise",
body: "Each turn the agent proposes an ODE in a small SymPy grammar (e.g. d2y/dt2 = -9.81 + 0.05 * vy**2).",
accent: "text-primary",
},
{
index: "03",
title: "Verify",
body: "We integrate the proposal forward and score it against the observation by per-step R². No LLM-as-judge in the reward loop.",
accent: "text-accentGreen",
},
];
export function HeroIntro(): JSX.Element {
return (
<section
aria-label="How PhysiX-Live works"
className="grid grid-cols-1 gap-3 md:grid-cols-3"
>
{STEPS.map((step) => (
<article
key={step.index}
className="panel flex flex-col gap-2"
>
<div className="flex items-baseline gap-3">
<span className={`font-mono text-sm font-semibold ${step.accent}`}>
{step.index}
</span>
<h3 className="text-base font-semibold text-textPrimary">
{step.title}
</h3>
</div>
<p className="text-sm leading-relaxed text-textMuted">{step.body}</p>
</article>
))}
</section>
);
}
|