init commit

This commit is contained in:
Carlos
2026-02-21 10:33:18 +01:00
parent c863a943ed
commit 9d955bf338
9512 changed files with 2015317 additions and 1305 deletions

View File

@@ -0,0 +1,25 @@
"use strict";
/**
* Since audio or video can be base64-encoded, those can be really long strings.
* Since we track the `src` property for every frame, Node.JS can run out of memory easily. Instead of duplicating the src for every frame, we save memory by replacing the full base 64 encoded data with a string `same-as-[asset-id]-[frame]` referencing a previous asset with the same src.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.isAssetCompressed = exports.compressAsset = void 0;
const compressAsset = (previousRenderAssets, newRenderAsset) => {
if (newRenderAsset.src.length < 400) {
return newRenderAsset;
}
const assetWithSameSrc = previousRenderAssets.find((a) => a.src === newRenderAsset.src);
if (!assetWithSameSrc) {
return newRenderAsset;
}
return {
...newRenderAsset,
src: `same-as-${assetWithSameSrc.id}-${assetWithSameSrc.frame}`,
};
};
exports.compressAsset = compressAsset;
const isAssetCompressed = (src) => {
return src.startsWith('same-as');
};
exports.isAssetCompressed = isAssetCompressed;