File size: 863 Bytes
ce35403
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import type { MilestoneId } from "../../data/milestones";
import { TransformerAnimation } from "../TransformerAnimation";
import { AttentionLoop } from "./AttentionLoop";
import { LlmLoop } from "./LlmLoop";
import { MlpLoop } from "./MlpLoop";
import { RnnLoop } from "./RnnLoop";
import { VlmLoop } from "./VlmLoop";

export function ArchitectureLoop({
  id,
  onSelect,
}: {
  id: MilestoneId;
  onSelect: (id: string) => void;
}) {
  switch (id) {
    case "mlp":
      return <MlpLoop onSelect={onSelect} />;
    case "rnn":
      return <RnnLoop onSelect={onSelect} />;
    case "attention":
      return <AttentionLoop onSelect={onSelect} />;
    case "transformer":
      return <TransformerAnimation onSelect={onSelect} />;
    case "llm":
      return <LlmLoop onSelect={onSelect} />;
    case "vlm":
      return <VlmLoop onSelect={onSelect} />;
  }
}