wuhp commited on
Commit
337becc
·
verified ·
1 Parent(s): e22ea79

Update components/CustomNode.tsx

Browse files
Files changed (1) hide show
  1. components/CustomNode.tsx +75 -5
components/CustomNode.tsx CHANGED
@@ -10,7 +10,8 @@ import {
10
  Mic, Speaker, Radio, Cuboid, Target, Scan,
11
  AudioLines, FileAudio, Hexagon, Component,
12
  ScanText, Mountain, Move, Radar, Map, Orbit, Wind,
13
- Film, Video, FastForward, Timer, Clapperboard, Merge
 
14
  } from 'lucide-react';
15
  import { NodeData, LayerType } from '../types';
16
 
@@ -65,6 +66,7 @@ const getIcon = (type: LayerType) => {
65
  case LayerType.WAV2VEC2_ENC: return <FileAudio className="w-4 h-4" />;
66
  case LayerType.VOCODER: return <Speaker className="w-4 h-4" />;
67
  case LayerType.AUDIO_EMBEDDING: return <Mic className="w-4 h-4" />;
 
68
 
69
  // Detection / YOLO
70
  case LayerType.C2F_BLOCK:
@@ -79,7 +81,8 @@ const getIcon = (type: LayerType) => {
79
  case LayerType.GAUSSIAN_SPLAT:
80
  case LayerType.TRIPLANE_ENC: return <Cuboid className="w-4 h-4" />;
81
  case LayerType.POINTNET_BLOCK:
82
- case LayerType.POINT_TRANSFORMER: return <Scan className="w-4 h-4" />;
 
83
 
84
  // OCR
85
  case LayerType.TPS_TRANSFORM:
@@ -104,6 +107,39 @@ const getIcon = (type: LayerType) => {
104
  case LayerType.NON_LOCAL_BLOCK: return <Clapperboard className="w-4 h-4" />;
105
  case LayerType.MULTIMODAL_FUSION: return <Merge className="w-4 h-4" />;
106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  case LayerType.LSTM:
108
  case LayerType.GRU: return <GitBranch className="w-4 h-4" />;
109
  case LayerType.EMBEDDING: return <Database className="w-4 h-4" />;
@@ -188,14 +224,16 @@ const getColor = (type: LayerType) => {
188
  case LayerType.VOCODER:
189
  case LayerType.RVC_ENCODER:
190
  case LayerType.WAV2VEC2_ENC:
191
- case LayerType.AUDIO_EMBEDDING: return 'border-indigo-500 shadow-indigo-500/20';
 
192
 
193
  // 3D - Teal theme
194
  case LayerType.NERF_BLOCK:
195
  case LayerType.POINTNET_BLOCK:
196
  case LayerType.POINT_TRANSFORMER:
197
  case LayerType.TRIPLANE_ENC:
198
- case LayerType.GAUSSIAN_SPLAT: return 'border-teal-500 shadow-teal-500/20';
 
199
 
200
  // OCR - Yellow/Lime
201
  case LayerType.TPS_TRANSFORM:
@@ -220,6 +258,38 @@ const getColor = (type: LayerType) => {
220
  case LayerType.NON_LOCAL_BLOCK:
221
  case LayerType.MULTIMODAL_FUSION: return 'border-fuchsia-500 shadow-fuchsia-500/20';
222
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
223
  case LayerType.CONCAT:
224
  case LayerType.ADD: return 'border-pink-500 shadow-pink-500/20';
225
 
@@ -307,4 +377,4 @@ const CustomNode = ({ data, selected }: NodeProps<NodeData>) => {
307
  );
308
  };
309
 
310
- export default memo(CustomNode);
 
10
  Mic, Speaker, Radio, Cuboid, Target, Scan,
11
  AudioLines, FileAudio, Hexagon, Component,
12
  ScanText, Mountain, Move, Radar, Map, Orbit, Wind,
13
+ Film, Video, FastForward, Timer, Clapperboard, Merge,
14
+ Share2, Atom, Dna, Gamepad2, Sparkles
15
  } from 'lucide-react';
16
  import { NodeData, LayerType } from '../types';
17
 
 
66
  case LayerType.WAV2VEC2_ENC: return <FileAudio className="w-4 h-4" />;
67
  case LayerType.VOCODER: return <Speaker className="w-4 h-4" />;
68
  case LayerType.AUDIO_EMBEDDING: return <Mic className="w-4 h-4" />;
69
+ case LayerType.SINC_CONV: return <Activity className="w-4 h-4" />;
70
 
71
  // Detection / YOLO
72
  case LayerType.C2F_BLOCK:
 
81
  case LayerType.GAUSSIAN_SPLAT:
82
  case LayerType.TRIPLANE_ENC: return <Cuboid className="w-4 h-4" />;
83
  case LayerType.POINTNET_BLOCK:
84
+ case LayerType.POINT_TRANSFORMER:
85
+ case LayerType.MESH_CONV: return <Scan className="w-4 h-4" />;
86
 
87
  // OCR
88
  case LayerType.TPS_TRANSFORM:
 
107
  case LayerType.NON_LOCAL_BLOCK: return <Clapperboard className="w-4 h-4" />;
108
  case LayerType.MULTIMODAL_FUSION: return <Merge className="w-4 h-4" />;
109
 
110
+ // Graph
111
+ case LayerType.GCN_CONV:
112
+ case LayerType.GRAPH_SAGE:
113
+ case LayerType.GAT_CONV:
114
+ case LayerType.GIN_CONV: return <Share2 className="w-4 h-4" />;
115
+
116
+ // Physics
117
+ case LayerType.NEURAL_ODE:
118
+ case LayerType.HAMILTONIAN_NN:
119
+ case LayerType.PINN_LINEAR: return <Atom className="w-4 h-4" />;
120
+ case LayerType.PROTEIN_FOLDING: return <Dna className="w-4 h-4" />;
121
+
122
+ // RL
123
+ case LayerType.DUELING_HEAD:
124
+ case LayerType.PPO_HEAD:
125
+ case LayerType.SAC_HEAD: return <Gamepad2 className="w-4 h-4" />;
126
+
127
+ // Spiking
128
+ case LayerType.LIF_NEURON:
129
+ case LayerType.SPIKING_LAYER: return <Zap className="w-4 h-4" />;
130
+
131
+ // Advanced / Niche
132
+ case LayerType.CAPSULE:
133
+ case LayerType.HYPER_NET:
134
+ case LayerType.MAMBA_BLOCK:
135
+ case LayerType.RWKV_BLOCK:
136
+ case LayerType.HOPFIELD:
137
+ case LayerType.NORMALIZING_FLOW:
138
+ case LayerType.DNC_MEMORY:
139
+ case LayerType.ARCFACE:
140
+ case LayerType.ECHO_STATE: return <Sparkles className="w-4 h-4" />;
141
+
142
+
143
  case LayerType.LSTM:
144
  case LayerType.GRU: return <GitBranch className="w-4 h-4" />;
145
  case LayerType.EMBEDDING: return <Database className="w-4 h-4" />;
 
224
  case LayerType.VOCODER:
225
  case LayerType.RVC_ENCODER:
226
  case LayerType.WAV2VEC2_ENC:
227
+ case LayerType.AUDIO_EMBEDDING:
228
+ case LayerType.SINC_CONV: return 'border-indigo-500 shadow-indigo-500/20';
229
 
230
  // 3D - Teal theme
231
  case LayerType.NERF_BLOCK:
232
  case LayerType.POINTNET_BLOCK:
233
  case LayerType.POINT_TRANSFORMER:
234
  case LayerType.TRIPLANE_ENC:
235
+ case LayerType.GAUSSIAN_SPLAT:
236
+ case LayerType.MESH_CONV: return 'border-teal-500 shadow-teal-500/20';
237
 
238
  // OCR - Yellow/Lime
239
  case LayerType.TPS_TRANSFORM:
 
258
  case LayerType.NON_LOCAL_BLOCK:
259
  case LayerType.MULTIMODAL_FUSION: return 'border-fuchsia-500 shadow-fuchsia-500/20';
260
 
261
+ // Graph - Green
262
+ case LayerType.GCN_CONV:
263
+ case LayerType.GRAPH_SAGE:
264
+ case LayerType.GAT_CONV:
265
+ case LayerType.GIN_CONV: return 'border-green-500 shadow-green-500/20';
266
+
267
+ // Physics - Blue/Gray
268
+ case LayerType.NEURAL_ODE:
269
+ case LayerType.PINN_LINEAR:
270
+ case LayerType.HAMILTONIAN_NN:
271
+ case LayerType.PROTEIN_FOLDING: return 'border-blue-400 shadow-blue-400/20';
272
+
273
+ // Spiking - Electric Yellow
274
+ case LayerType.LIF_NEURON:
275
+ case LayerType.SPIKING_LAYER: return 'border-yellow-400 shadow-yellow-400/20';
276
+
277
+ // RL - Purple/Red
278
+ case LayerType.DUELING_HEAD:
279
+ case LayerType.PPO_HEAD:
280
+ case LayerType.SAC_HEAD: return 'border-purple-600 shadow-purple-600/20';
281
+
282
+ // Advanced - Multi/Rainbow feel (White glow)
283
+ case LayerType.CAPSULE:
284
+ case LayerType.HYPER_NET:
285
+ case LayerType.MAMBA_BLOCK:
286
+ case LayerType.RWKV_BLOCK:
287
+ case LayerType.HOPFIELD:
288
+ case LayerType.NORMALIZING_FLOW:
289
+ case LayerType.DNC_MEMORY:
290
+ case LayerType.ARCFACE:
291
+ case LayerType.ECHO_STATE: return 'border-white shadow-white/30';
292
+
293
  case LayerType.CONCAT:
294
  case LayerType.ADD: return 'border-pink-500 shadow-pink-500/20';
295
 
 
377
  );
378
  };
379
 
380
+ export default memo(CustomNode);