Repository: pixijs/pixijs
File: src/culling/Culler.ts (TypeScript)

Code before:
     * @remarks
     * - Recursively processes all cullable children
     * - Uses cullArea if defined, otherwise calculates bounds
     * - Performance depends on scene complexity
     * @see {@link CullingMixinConstructor.cullable} For enabling culling on objects
     * @see {@link CullingMixinConstructor.cullArea} For custom culling boundaries
     */
    public cull(container: Container, view: RectangleLike, skipUpdateTransform = true)
    {
        this._cullRecursive(container, view, skipUpdateTransform);
    }

    private _cullRecursive(container: Container, view: RectangleLike, skipUpdateTransform = true)
    {
        if (container.cullable && container.measurable && container.includeInBuild)
        {
            if (container.cullArea)
            {
                tempRectangle.x = view.x;
                tempRectangle.y = view.y;
                tempRectangle.width = view.width;
                tempRectangle.height = view.height;

                container.culled = !tempRectangle.intersects(
                    container.cullArea,
                    container.getGlobalTransform(Matrix.shared, skipUpdateTransform)
                );
            }
            else
            {
                const bounds = getGlobalBounds(container, skipUpdateTransform, tempBounds);

                // check view intersection..
                container.culled = bounds.x >= view.x + view.width
                    || bounds.y >= view.y + view.height
                    || bounds.x + bounds.width <= view.x
                    || bounds.y + bounds.height <= view.y;
            }
        }
        else
        {
            container.culled = false;
        }

        // dont process children if not needed
        if (
            !container.cullableChildren
            || container.culled
            || !container.renderable
            || !container.measurable
            || !container.includeInBuild

Review comment (suggestion):
hello! we should be able to grab the transform and avoid getGlobalTransform  via 

`container.worldTransform` <- this should be a ready to go global matrix 👍 

Code after:
     * ```
     * @remarks
     * - Recursively processes all cullable children
     * - Uses cullArea if defined, otherwise calculates bounds
     * - Performance depends on scene complexity
     * @see {@link CullingMixinConstructor.cullable} For enabling culling on objects
     * @see {@link CullingMixinConstructor.cullArea} For custom culling boundaries
     */
    public cull(container: Container, view: RectangleLike, skipUpdateTransform = true)
    {
        this._cullRecursive(container, view, skipUpdateTransform);
    }

    private _cullRecursive(container: Container, view: RectangleLike, skipUpdateTransform = true)
    {
        if (container.cullable && container.measurable && container.includeInBuild)
        {
            if (container.cullArea)
            {
                tempRectangle.x = view.x;
                tempRectangle.y = view.y;
                tempRectangle.width = view.width;
                tempRectangle.height = view.height;

                const transform = skipUpdateTransform
                    ? container.worldTransform
                    : container.getGlobalTransform(tempMatrix, skipUpdateTransform);

                container.culled = !tempRectangle.intersects(
                    container.cullArea,
                    transform
                );
            }
            else
            {
                const bounds = getGlobalBounds(container, skipUpdateTransform, tempBounds);

                // check view intersection..
                container.culled = bounds.x >= view.x + view.width
                    || bounds.y >= view.y + view.height
                    || bounds.x + bounds.width <= view.x
                    || bounds.y + bounds.height <= view.y;
            }
        }
        else
        {
            container.culled = false;
        }

        // dont process children if not needed
        if (