Revision control

++ // Copyright (C) 2026 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
++
++ // A pass referenced by SubRenderPass commands from TWO containers is a
++ // sub-pass as long as at least one reference remains: the classification
++ // counts references, so dropping one of two references must not flip the
++ // role back to top-level.
++
++ import QtQuick
++ import QtQuick3D
++
++ Item {
++ id: root
++ width: 200
++ height: 200
++
++ property bool refA: true
++ property bool refB: true
++
++ View3D {
++ anchors.fill: parent
++
++ environment: SceneEnvironment {
++ backgroundMode: SceneEnvironment.Color
++ clearColor: "black"
++ }
++
++ PerspectiveCamera { position: Qt.vector3d(0, 0, 300) }
++ DirectionalLight {}
++
++ RenderPass {
++ id: sharedLeaf
++ objectName: "sharedLeaf"
++ commands: [
++ RenderablesFilter { renderableTypes: RenderablesFilter.None }
++ ]
++ }
++
++ RenderPass {
++ id: containerA
++ objectName: "containerA"
++ commands: [
++ RenderablesFilter { renderableTypes: RenderablesFilter.None },
++ SubRenderPass { renderPass: root.refA ? sharedLeaf : null }
++ ]
++ }
++
++ RenderPass {
++ id: containerB
++ objectName: "containerB"
++ commands: [
++ RenderablesFilter { renderableTypes: RenderablesFilter.None },
++ SubRenderPass { renderPass: root.refB ? sharedLeaf : null }
++ ]
++ }
++
++ Model {
++ source: "#Cube"
++ materials: PrincipledMaterial {
++ baseColor: "red"
++ lighting: PrincipledMaterial.NoLighting
++ }
++ }
++ }
++ }