Spaces:
Running
Running
Update components/CustomNode.tsx
Browse files- 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:
|
|
|
|
| 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:
|
|
|
|
| 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:
|
|
|
|
| 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);
|