pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
1 lines • 4.99 kB
Source Map (JSON)
{"version":3,"file":"logScene.mjs","sources":["../../../src/utils/logging/logScene.ts"],"sourcesContent":["/* eslint-disable no-console */\n\nimport { Sprite } from '../../scene/sprite/Sprite';\n\nimport type { Container } from '../../scene/container/Container';\nimport type { RenderGroup } from '../../scene/container/RenderGroup';\n\nconst colors = [\n '#000080', // Navy Blue\n '#228B22', // Forest Green\n '#8B0000', // Dark Red\n '#4169E1', // Royal Blue\n '#008080', // Teal\n '#800000', // Maroon\n '#9400D3', // Dark Violet\n '#FF8C00', // Dark Orange\n '#556B2F', // Olive Green\n '#8B008B' // Dark Magenta\n];\n\nlet colorTick = 0;\n\n/**\n * @param container\n * @param depth\n * @param data\n * @param data.color\n * @internal\n */\nexport function logScene(container: Container, depth = 0, data: {color?: string} = { color: '#000000' })\n{\n if (container.renderGroup)\n {\n data.color = colors[colorTick++];\n }\n\n // turn depth into number of spaces:\n let spaces = '';\n\n for (let i = 0; i < depth; i++)\n {\n spaces += ' ';\n }\n\n let label = container.label;\n\n if (!label && container instanceof Sprite)\n {\n label = `sprite:${container.texture.label}`;\n }\n\n // eslint-disable-next-line max-len\n let output = `%c ${spaces}|- ${label} (worldX:${container.worldTransform.tx}, relativeRenderX:${container.relativeGroupTransform.tx}, renderX:${container.groupTransform.tx}, localX:${container.x})`;\n\n if (container.renderGroup)\n {\n output += ' (RenderGroup)';\n }\n\n if (container.filters)\n {\n output += '(*filters)';\n }\n\n console.log(output, `color:${data.color}; font-weight:bold;`);\n\n depth++;\n\n for (let i = 0; i < container.children.length; i++)\n {\n const child = container.children[i];\n\n logScene(child, depth, { ...data });\n }\n}\n\n/**\n * @param renderGroup\n * @param depth\n * @param data\n * @param data.index\n * @param data.color\n * @internal\n */\nexport function logRenderGroupScene(\n renderGroup: RenderGroup, depth = 0,\n data: {index: number, color?: string} = { index: 0, color: '#000000' }\n)\n{\n // turn depth into number of spaces:\n let spaces = '';\n\n for (let i = 0; i < depth; i++)\n {\n spaces += ' ';\n }\n\n const output = `%c ${spaces}- ${data.index}: ${renderGroup.root.label} worldX:${renderGroup.worldTransform.tx}`;\n\n console.log(output, `color:${data.color}; font-weight:bold;`);\n\n depth++;\n\n for (let i = 0; i < renderGroup.renderGroupChildren.length; i++)\n {\n const child = renderGroup.renderGroupChildren[i];\n\n logRenderGroupScene(child, depth, { ...data, index: i });\n }\n}\n"],"names":[],"mappings":"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"}