Skip to content

⬅️ Back to Table of Contents

📄 DebugNode.js

📊 Analysis Summary

Metric Count
🔧 Functions 5
🧱 Classes 1
📦 Imports 3
📊 Variables & Constants 3

📚 Table of Contents

🛠️ File Location:

📂 src/nodes/utils/DebugNode.js

📦 Imports

Name Source
TempNode ../core/TempNode.js
addMethodChaining ../tsl/TSLCore.js
nodeObject ../tsl/TSLCore.js

Variables & Constants

Name Type Kind Value Exported
callback any let/var this.callback
title string let/var '--- TSL debug - ' + builder.shaderStage + ' shader ---'
code string let/var ''

Functions

DebugNode.getNodeType(builder: any): any

Parameters:

  • builder any

Returns: any

Calls:

  • this.node.getNodeType
Code
getNodeType( builder ) {

        return this.node.getNodeType( builder );

    }

DebugNode.setup(builder: any): any

Parameters:

  • builder any

Returns: any

Calls:

  • this.node.build
Code
setup( builder ) {

        return this.node.build( builder );

    }

DebugNode.analyze(builder: any): any

Parameters:

  • builder any

Returns: any

Calls:

  • this.node.build
Code
analyze( builder ) {

        return this.node.build( builder );

    }

DebugNode.generate(builder: any): any

Parameters:

  • builder any

Returns: any

Calls:

  • this.node.build
  • '-'.repeat
  • builder.flow.code.replace
  • callback
  • console.log
Code
generate( builder ) {

        const callback = this.callback;
        const snippet = this.node.build( builder );

        const title = '--- TSL debug - ' + builder.shaderStage + ' shader ---';
        const border = '-'.repeat( title.length );

        let code = '';
        code += '// #' + title + '#\n';
        code += builder.flow.code.replace( /^\t/mg, '' ) + '\n';
        code += '/* ... */ ' + snippet + ' /* ... */\n';
        code += '// #' + border + '#\n';

        if ( callback !== null ) {

            callback( builder, code );

        } else {

            console.log( code );

        }

        return snippet;

    }

debug(node: Node, callback: Function): DebugNode

Parameters:

  • node Node
  • callback Function

Returns: DebugNode

Calls:

  • nodeObject( new DebugNode( nodeObject( node ), callback ) ).toStack
Code
( node, callback = null ) => nodeObject( new DebugNode( nodeObject( node ), callback ) ).toStack()

Classes

DebugNode

Class Code
class DebugNode extends TempNode {

    static get type() {

        return 'DebugNode';

    }

    constructor( node, callback = null ) {

        super();

        this.node = node;
        this.callback = callback;

    }

    getNodeType( builder ) {

        return this.node.getNodeType( builder );

    }

    setup( builder ) {

        return this.node.build( builder );

    }

    analyze( builder ) {

        return this.node.build( builder );

    }

    generate( builder ) {

        const callback = this.callback;
        const snippet = this.node.build( builder );

        const title = '--- TSL debug - ' + builder.shaderStage + ' shader ---';
        const border = '-'.repeat( title.length );

        let code = '';
        code += '// #' + title + '#\n';
        code += builder.flow.code.replace( /^\t/mg, '' ) + '\n';
        code += '/* ... */ ' + snippet + ' /* ... */\n';
        code += '// #' + border + '#\n';

        if ( callback !== null ) {

            callback( builder, code );

        } else {

            console.log( code );

        }

        return snippet;

    }

}

Methods

getNodeType(builder: any): any
Code
getNodeType( builder ) {

        return this.node.getNodeType( builder );

    }
setup(builder: any): any
Code
setup( builder ) {

        return this.node.build( builder );

    }
analyze(builder: any): any
Code
analyze( builder ) {

        return this.node.build( builder );

    }
generate(builder: any): any
Code
generate( builder ) {

        const callback = this.callback;
        const snippet = this.node.build( builder );

        const title = '--- TSL debug - ' + builder.shaderStage + ' shader ---';
        const border = '-'.repeat( title.length );

        let code = '';
        code += '// #' + title + '#\n';
        code += builder.flow.code.replace( /^\t/mg, '' ) + '\n';
        code += '/* ... */ ' + snippet + ' /* ... */\n';
        code += '// #' + border + '#\n';

        if ( callback !== null ) {

            callback( builder, code );

        } else {

            console.log( code );

        }

        return snippet;

    }