feat: even more matrix stream examples

This commit is contained in:
2025-10-02 22:08:40 +02:00
parent d1fb5fc96e
commit 1383f6d32f
8 changed files with 694 additions and 2 deletions

View File

@@ -74,6 +74,33 @@ function fadeFrame(frame, factor) {
}
}
function addRgbToFrame(frame, index, rgb) {
if (index < 0 || index >= frame.length) {
return;
}
const current = hexToRgb(frame[index]);
const updated = {
r: clamp(current.r + rgb.r, 0, 255),
g: clamp(current.g + rgb.g, 0, 255),
b: clamp(current.b + rgb.b, 0, 255),
};
frame[index] = rgbToHex(updated);
}
function addHexColor(frame, index, hexColor, intensity = 1) {
if (intensity <= 0) {
return;
}
const base = hexToRgb(hexColor);
addRgbToFrame(frame, index, {
r: base.r * intensity,
g: base.g * intensity,
b: base.b * intensity,
});
}
module.exports = {
SERPENTINE_WIRING,
clamp,
@@ -85,5 +112,7 @@ module.exports = {
createFrame,
frameToPayload,
fadeFrame,
addRgbToFrame,
addHexColor,
};