Pulsar

Route Optimization

CSS

A scatter of waypoints connects through an initial sequence before resolving into a streamlined transit vector.

Tier
CSS
Dependencies
None
Duration
4 s, loops
Categories
Loaders and spinners
Use cases
Loading and waiting, Navigation and wayfinding
Industries
Logistics and supply chain, Cross-industry
Style
Minimal line · light stroke
Set
lastmile
Tags
linedotsminimalloop

Companion assets

The same artwork, not animated. Derived from the entry’s own resting state, so it matches exactly.

Animated
CSS tier
Static vector
Route Optimization, not animated
Download SVG

Code

animation.svg

<svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" class="pulsar pulsar-lastmile-route-optimize" data-pulsar="lastmile-route-optimize" viewBox="0 0 160 96"><polyline stroke="currentColor" stroke-dasharray="2 2" points="28,60 56,28 88,68 116,32 136,54" class="scatter-line" opacity=".3"></polyline><line x1="28" x2="136" y1="60" y2="54" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="1.5" class="direct-line"></line><circle cx="28" cy="60" r="3" stroke="currentColor" stroke-width="1.2" class="pt p1"></circle><circle cx="56" cy="28" r="2.5" stroke="currentColor" stroke-width="1.2" class="pt p2"></circle><circle cx="88" cy="68" r="2.5" stroke="currentColor" stroke-width="1.2" class="pt p3"></circle><circle cx="116" cy="32" r="2.5" stroke="currentColor" stroke-width="1.2" class="pt p4"></circle><circle cx="136" cy="54" r="3" stroke="var(--pulsar-accent, currentColor)" stroke-width="1.2" class="pt p5"></circle></svg>

animation.css

.pulsar-lastmile-route-optimize {
  display: block;
  width: 100%;
  height: 100%;
}
.pulsar-lastmile-route-optimize .scatter-line {
  animation: lastmile-route-optimize-scatter 4s ease-in-out infinite;
}
.pulsar-lastmile-route-optimize .direct-line {
  stroke-dasharray: 110;
  animation: lastmile-route-optimize-direct 4s ease-in-out infinite;
}
.pulsar-lastmile-route-optimize .pt.p1 {
  animation: lastmile-route-optimize-pt 4s ease-in-out infinite;
}
.pulsar-lastmile-route-optimize .pt.p2 {
  animation: lastmile-route-optimize-pt 4s ease-in-out infinite -3s;
}
.pulsar-lastmile-route-optimize .pt.p3 {
  animation: lastmile-route-optimize-pt 4s ease-in-out infinite -2s;
}
.pulsar-lastmile-route-optimize .pt.p4 {
  animation: lastmile-route-optimize-pt 4s ease-in-out infinite -1s;
}
.pulsar-lastmile-route-optimize .pt.p5 {
  animation: lastmile-route-optimize-pt 4s ease-in-out infinite;
}
@keyframes lastmile-route-optimize-scatter {
  0%,
  100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.08;
  }
}
@keyframes lastmile-route-optimize-direct {
  0% {
    stroke-dashoffset: 110;
    opacity: 0.1;
  }
  30% {
    stroke-dashoffset: 110;
    opacity: 0.2;
  }
  70% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0.4;
  }
}
@keyframes lastmile-route-optimize-pt {
  0%,
  100% {
    transform: scale(0.9);
    transform-origin: center;
    opacity: 0.4;
  }
  50% {
    transform: scale(1.2);
    transform-origin: center;
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pulsar-lastmile-route-optimize .scatter-line,
  .pulsar-lastmile-route-optimize .direct-line,
  .pulsar-lastmile-route-optimize .pt.p1,
  .pulsar-lastmile-route-optimize .pt.p2,
  .pulsar-lastmile-route-optimize .pt.p3,
  .pulsar-lastmile-route-optimize .pt.p4,
  .pulsar-lastmile-route-optimize .pt.p5 {
    animation: none;
    transform: none;
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

From this family15 in Lastmile

See the family