Nano_Banana_Editor / app /editor.css
Reubencf's picture
Upload 42 files
dbc2c2a verified
/* Node editor custom styles and animations */
/* ========================================
CONNECTION LINE ANIMATIONS
======================================== */
/* Animation for regular connection lines when dragging - now truly continuous */
@keyframes flow {
from {
stroke-dashoffset: 10; /* Start offset equal to one complete dash cycle */
}
to {
stroke-dashoffset: 0; /* Move to next cycle, creating seamless continuous flow */
}
}
/* Applied to connection lines when user is actively dragging to connect nodes */
.connection-animated {
animation: flow 0.8s linear infinite; /* Smooth continuous animation, slightly faster */
stroke-dasharray: 5, 5; /* Create dashed line: 5px dash, 5px gap pattern */
}
/* Animation for processing connections - shows data flowing through active connections - now truly continuous */
@keyframes processingFlow {
from {
stroke-dashoffset: 12; /* Start offset equal to one complete dash cycle (8+4=12) */
}
to {
stroke-dashoffset: 0; /* Move to next cycle, creating seamless continuous flow */
}
}
/* Applied to connection lines when nodes are actively processing data */
.connection-processing {
animation: processingFlow 1.0s linear infinite; /* Smooth continuous animation, optimized timing */
stroke: #22c55e; /* Green color to indicate active processing */
stroke-width: 3; /* Thicker line to make it more prominent */
stroke-dasharray: 8, 4; /* Longer dashes (8px) with smaller gaps (4px) for better visibility */
}
/* ========================================
PARTICLE FLOW EFFECT (EXPERIMENTAL)
======================================== */
/* Animation for particles flowing along paths - uses CSS motion path */
@keyframes flowParticle {
0% {
offset-distance: 0%; /* Start at beginning of path */
opacity: 0; /* Fade in from transparent */
}
10% {
opacity: 1; /* Fully visible after 10% of animation */
}
90% {
opacity: 1; /* Stay visible until 90% of animation */
}
100% {
offset-distance: 100%; /* End at end of path */
opacity: 0; /* Fade out to transparent */
}
}
/* Class for individual particles flowing along connection paths */
.flow-particle {
animation: flowParticle 2s linear infinite; /* 2 second cycle for particle to travel full path */
}
/* ========================================
NODE PROCESSING STATES
======================================== */
/* Animation for nodes themselves when they're processing */
.nb-node.processing {
animation: processingPulse 1.5s ease-in-out infinite; /* Gentle pulsing effect */
}
/* Special styling for processing node headers */
.nb-node.processing .nb-header {
/* Subtle green gradient background to indicate processing state */
background: linear-gradient(90deg, rgba(34, 197, 94, 0.2), rgba(34, 197, 94, 0.1));
}