anaglyphRenderer = (processedScene) => {
var t0 = performance.now();
const leftLayer = [];
const rightLayer = [];
const behindProjectionPlane = (item) => {
return item.map((points) => {
points.map((d) => d[0][2]).find((d) => d <= 0) === undefined &&
points.map((d) => d[1][2]).find((d) => d <= 0) === undefined;
});
return true;
};
let allLeftPath = "";
let allRightPath = "";
const svgStuff = processedscene_layer.map((m) => {
leftLayer.push(
svg`<g id=${m.key}>${m.values
.filter(behindProjectionPlane)
.map((item) => {
const leftPath =
"M " +
item.map((p) => `${p[0][0]} ${p[0][1]}`).join(" L ") +
(item.closed ? " Z" : "");
const rightPath =
"M " +
item.map((p) => `${p[1][0]} ${p[1][1]}`).join(" L ") +
(item.closed ? " Z" : "");
return svg`<path d="${leftPath}" fill="${
item.fillColor ? item.fillColor : "none"
}" stroke="black" stroke-width="${
item.strokeWidth ? item.strokeWidth : 1
}"/>`;
})}</g>`
);
});
var t1 = performance.now();
console.log(`renderer: ${t1 - t0}`);
return svg`<g>
<g transform="translate(${tileSize / 2},${
tileSize / 2
})" style="mix-blend-mode: multiply;">
${rightLayer}
</g>
<g transform="translate(${tileSize / 2},${
tileSize / 2
})" style="mix-blend-mode: multiply;">
${leftLayer}
</g>
</g>`;
}