Rain: spawn column per observation for denser rain

Each observation of a packet spawns its own rain column,
staggered 150ms apart. More observers = more rain.
This commit is contained in:
you
2026-03-22 08:13:22 +00:00
parent ca46cc6959
commit 54d453d034
2 changed files with 8 additions and 2 deletions
+1 -1
View File
@@ -90,7 +90,7 @@
<script src="nodes.js?v=1774126708" onerror="console.error('Failed to load:', this.src)"></script>
<script src="traces.js?v=1774135052" onerror="console.error('Failed to load:', this.src)"></script>
<script src="analytics.js?v=1774126708" onerror="console.error('Failed to load:', this.src)"></script>
<script src="live.js?v=1774167134" onerror="console.error('Failed to load:', this.src)"></script>
<script src="live.js?v=1774167202" onerror="console.error('Failed to load:', this.src)"></script>
<script src="observers.js?v=1774290000" onerror="console.error('Failed to load:', this.src)"></script>
<script src="observer-detail.js?v=1774028201" onerror="console.error('Failed to load:', this.src)"></script>
<script src="node-analytics.js?v=1774126708" onerror="console.error('Failed to load:', this.src)"></script>
+7 -1
View File
@@ -1396,6 +1396,11 @@
playSound(typeName);
addFeedItem(icon, typeName, payload, hops, color, pkt);
addRainDrop(pkt);
// Spawn extra rain columns for multiple observations
const obsCount = pkt.observation_count || (pkt.packet && pkt.packet.observation_count) || 1;
for (let i = 1; i < obsCount; i++) {
setTimeout(() => addRainDrop(pkt), i * 150); // stagger slightly
}
// Favorites filter: skip animation if packet doesn't involve a favorited node
if (showOnlyFavorites && !packetInvolvesFavorite(pkt)) return;
@@ -1435,7 +1440,8 @@
if (showOnlyFavorites && !packets.some(p => packetInvolvesFavorite(p))) return;
playSound(typeName);
addRainDrop(first);
// Rain drop per observation in the group
packets.forEach((p, i) => setTimeout(() => addRainDrop(p), i * 150));
// Ensure ADVERT nodes appear
for (const pkt of packets) {