Skip to content

Neural Network ​

The neural network effect renders a network of neurons with branching dendrite arms. Neurons fire spontaneously on a rhythmic cycle: when a cell fires, it lights up and sends synaptic pulses along its connections to neighboring cells, which in turn fire after the pulse arrives.

Examples ​

Basic

Default neural network with blue neurons.

<template>
    <EffectDemo>
        <canvas ref="canvasRef"></canvas>
    </EffectDemo>
</template>

<script
    setup
    lang="ts">
    import { onMounted, onUnmounted, ref } from 'vue';
    import { createNeuralNetwork } from '@basmilius/sparkle';

    const canvasRef = ref<HTMLCanvasElement>();
    let sim: ReturnType<typeof createNeuralNetwork> | null = null;

    onMounted(() => {
        if (canvasRef.value) {
            sim = createNeuralNetwork();
            sim.mount(canvasRef.value).start();
        }
    });

    onUnmounted(() => {
        sim?.destroy();
        sim = null;
    });
</script>

Configuration ​

typescript
import { createNeuralNetwork } from '@basmilius/sparkle';

const network = createNeuralNetwork({
    speed: 1,
    neurons: 16,
    color: '#4488ff',
    pulseColor: '#88ccff',
    scale: 1
});
network.mount(canvas).start();

Neuron Count ​

typescript
// Sparse network, few connections
createNeuralNetwork({ neurons: 8 });

// Dense network, many interconnections
createNeuralNetwork({ neurons: 32 });

Colors ​

color controls the dendrite arms and axon threads; pulseColor controls the glowing synaptic pulses:

typescript
// Warm bioluminescent style
createNeuralNetwork({
    color: '#ff8833',
    pulseColor: '#ffcc88'
});

// Green circuit style
createNeuralNetwork({
    color: '#33ff88',
    pulseColor: '#aaffcc'
});

Speed ​

typescript
// Slow firing rhythm
createNeuralNetwork({ speed: 0.5 });

// Fast, active network
createNeuralNetwork({ speed: 2 });