41 lines
1.1 KiB
Swift
41 lines
1.1 KiB
Swift
// StatusBar.swift
|
|
// Bottom info bar showing live stats from the SceneGraph.
|
|
|
|
import SwiftUI
|
|
|
|
struct StatusBar: View {
|
|
let mode: EditMode
|
|
let sceneGraph: SceneGraph
|
|
|
|
var body: some View {
|
|
HStack(spacing: 16) {
|
|
Label(mode.rawValue, systemImage: mode.icon)
|
|
.font(.caption2)
|
|
|
|
Divider().frame(height: 12)
|
|
|
|
Text("Objects: \(sceneGraph.allObjects.count)")
|
|
.font(.caption2.monospacedDigit())
|
|
Text("Verts: \(sceneGraph.totalVertexCount)")
|
|
.font(.caption2.monospacedDigit())
|
|
Text("Faces: \(sceneGraph.totalFaceCount)")
|
|
.font(.caption2.monospacedDigit())
|
|
|
|
Spacer()
|
|
|
|
if let sel = sceneGraph.selectedObject {
|
|
Text(sel.name)
|
|
.font(.caption2)
|
|
.foregroundStyle(.orange)
|
|
}
|
|
|
|
Text("Collection | Scene")
|
|
.font(.caption2)
|
|
.foregroundStyle(.secondary)
|
|
}
|
|
.padding(.horizontal, 16)
|
|
.padding(.vertical, 6)
|
|
.background(.ultraThinMaterial)
|
|
.foregroundStyle(.secondary)
|
|
}
|
|
}
|