Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// AppKitColorConversions.swift
// OpenSwiftUI
//
// Audited for 6.5.4
// Status: Complete
// ID: 7137BB7EE57FAC34F81DC437C151F7AB (SwiftUI)

Expand All @@ -11,7 +12,7 @@ public import OpenSwiftUICore
public import AppKit
import COpenSwiftUI

// MARK: - NSColor Conversions [6.5.4]
// MARK: - NSColor Conversions

@available(iOS, unavailable)
@available(macOS, introduced: 10.15, deprecated: 100000.0, message: "Use Color(nsColor:) when converting a NSColor, or create a standard Color directly")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ final class NSViewPlatformViewDefinition: PlatformViewDefinition, @unchecked Sen
override static func makeDrawingView(options: PlatformDrawableOptions) -> any PlatformDrawable {
let view: NSView & PlatformDrawable
if options.isAccelerated && ORBDevice.isSupported() {
view = RBDrawingView(options: options)
view = ORBDrawingView(options: options)
} else {
view = CGDrawingView(options: options)
}
Expand All @@ -90,8 +90,8 @@ final class NSViewPlatformViewDefinition: PlatformViewDefinition, @unchecked Sen
}

override static func getRBLayer(drawingView: AnyObject) -> AnyObject? {
guard let rbView = drawingView as? RBDrawingView else { return nil }
return rbView.layer
guard let orbView = drawingView as? ORBDrawingView else { return nil }
return orbView.layer
}

override static func setIgnoresEvents(_ state: Bool, of view: AnyObject) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// OpenSwiftUI
//
// Audited for 6.5.4
// Status: Blocked by RBDrawingView
// Status: Blocked by ORBDrawingView
// ID: 65A81BD07F0108B0485D2E15DE104A75 (SwiftUI)

#if canImport(Darwin)
Expand Down Expand Up @@ -137,9 +137,9 @@ private final class CGDrawingLayer: CALayer {
}
}

// MARK: - RBDrawingView [WIP]
// MARK: - ORBDrawingView [WIP]

final class RBDrawingView: RenderBoxView, PlatformDrawable {
final class ORBDrawingView: OpenRenderBoxView, PlatformDrawable {
var options: PlatformDrawableOptions {
didSet {
guard oldValue != options else {
Expand All @@ -152,9 +152,9 @@ final class RBDrawingView: RenderBoxView, PlatformDrawable {
private func updateOptions() {
isOpaque = options.isOpaque
#if os(iOS) || os(visionOS)
options.update(rbLayer: layer)
options.update(orbLayer: layer)
#elseif os(macOS)
options.update(rbLayer: layer!)
options.update(orbLayer: layer!)
#endif
rendersFirstFrameAsynchronously = options.rendersFirstFrameAsynchronously
}
Expand All @@ -165,7 +165,7 @@ final class RBDrawingView: RenderBoxView, PlatformDrawable {
}

@AtomicBox
private var state: RBDrawingView.State = .init()
private var state: ORBDrawingView.State = .init()

init(options: PlatformDrawableOptions) {
self.options = options
Expand Down
24 changes: 12 additions & 12 deletions Sources/OpenSwiftUI/Render/DisplayList/RenderBoxView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,26 +13,26 @@ import QuartzCore
import QuartzCore_Private
import OpenRenderBoxShims

// MARK: - RenderBoxView
// MARK: - OpenRenderBoxView

@objc
class RenderBoxView: PlatformGraphicsView {
class OpenRenderBoxView: PlatformGraphicsView {
var rendersFirstFrameAsynchronously: Bool

#if os(iOS) || os(visionOS)
override class var layerClass: AnyClass {
RenderBoxLayer.self
OpenRenderBoxLayer.self
}
#endif

private func rbInit() {
private func orbInit() {
#if os(iOS) || os(visionOS)
let layer = layer
layer.delegate = self
layer.isOpaque = isOpaque
#elseif os(macOS)
wantsLayer = true
layer = RenderBoxLayer()
layer = OpenRenderBoxLayer()
layerContentsRedrawPolicy = .duringViewResize
let layer = layer!
layer.delegate = self
Expand All @@ -43,17 +43,17 @@ class RenderBoxView: PlatformGraphicsView {
override init(frame: CGRect) {
rendersFirstFrameAsynchronously = false
super.init(frame: frame)
rbInit()
orbInit()
}

required init?(coder: NSCoder) {
rendersFirstFrameAsynchronously = false
super.init(coder: coder)
rbInit()
orbInit()
}

deinit {
(layer as! RenderBoxLayer).waitUntilAsyncRenderingCompleted()
(layer as! OpenRenderBoxLayer).waitUntilAsyncRenderingCompleted()
}

#if os(iOS) || os(visionOS)
Expand Down Expand Up @@ -87,7 +87,7 @@ class RenderBoxView: PlatformGraphicsView {
}
}

extension RenderBoxView: ORBLayerDelegate {
extension OpenRenderBoxView: ORBLayerDelegate {
func rbLayer(_ layer: ORBLayer, draw inDisplayList: ORBDisplayList) {
draw(inDisplayList: inDisplayList)
}
Expand All @@ -103,15 +103,15 @@ extension RenderBoxView: ORBLayerDelegate {
#endif
}

// MARK: - RenderBoxLayer
// MARK: - OpenRenderBoxLayer

private class RenderBoxLayer: ORBLayer {
private class OpenRenderBoxLayer: ORBLayer {
override var needsSynchronousUpdate: Bool {
get {
guard super.needsSynchronousUpdate else {
return false
}
guard let delegate = delegate as? RenderBoxView,
guard let delegate = delegate as? OpenRenderBoxView,
delegate.rendersFirstFrameAsynchronously
else {
return true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ final class UIViewPlatformViewDefinition: PlatformViewDefinition, @unchecked Sen
override static func makeDrawingView(options: PlatformDrawableOptions) -> any PlatformDrawable {
let view: UIView & PlatformDrawable
if options.isAccelerated && ORBDevice.isSupported() {
view = RBDrawingView(options: options)
view = ORBDrawingView(options: options)
} else {
view = CGDrawingView(options: options)
}
Expand All @@ -75,8 +75,8 @@ final class UIViewPlatformViewDefinition: PlatformViewDefinition, @unchecked Sen
}

override static func getRBLayer(drawingView: AnyObject) -> AnyObject? {
guard let rbView = drawingView as? RBDrawingView else { return nil }
return rbView.layer
guard let orbView = drawingView as? ORBDrawingView else { return nil }
return orbView.layer
}

override static func setIgnoresEvents(_ state: Bool, of view: AnyObject) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ final class CAHostingLayerPlatformDefinition: PlatformViewDefinition, @unchecked
override static func makeDrawingView(options: PlatformDrawableOptions) -> any PlatformDrawable {
let layer: CALayer & PlatformDrawable
if options.isAccelerated && ORBDevice.isSupported() {
layer = RBDrawingLayer(options: options)
layer = ORBDrawingLayer(options: options)
} else {
layer = CGDrawingLayer(options: options)
}
Expand Down Expand Up @@ -160,9 +160,9 @@ private final class CGDrawingLayer: CALayer, PlatformDrawable {
}
}

// MARK: - RBDrawingLayer
// MARK: - ORBDrawingLayer

private final class RBDrawingLayer: ORBLayer, PlatformDrawable {
private final class ORBDrawingLayer: ORBLayer, PlatformDrawable {
var options: PlatformDrawableOptions {
didSet {
guard oldValue != options else { return }
Expand All @@ -176,7 +176,7 @@ private final class RBDrawingLayer: ORBLayer, PlatformDrawable {
}

@AtomicBox
private var state: RBDrawingLayer.State = .init()
private var state: ORBDrawingLayer.State = .init()

init(options: PlatformDrawableOptions) {
self.options = options
Expand All @@ -191,7 +191,7 @@ private final class RBDrawingLayer: ORBLayer, PlatformDrawable {

private func updateOptions() {
isOpaque = options.isOpaque
options.update(rbLayer: self)
options.update(orbLayer: self)
}

static var allowsContentsMultiplyColor: Bool { false }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ extension DisplayList {
}

private struct Cache {
var callbacks: [CallbackKey: Void /* RBDisplayListContents */]
var callbacks: [CallbackKey: Void /* ORBDisplayListContents */]
var animators: [AnimatorKey: Void /* _DisplayList_AnyEffectAnimator */ ]

struct CallbackKey: Hashable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ extension DisplayList {
indirect case platformLayer(any PlatformLayerFactory)
indirect case text(StyledTextContentView, CGSize)
indirect case flattened(DisplayList, CGPoint, RasterizationOptions)
indirect case drawing(any RBDisplayListContents, CGPoint, RasterizationOptions)
indirect case drawing(any ORBDisplayListContents, CGPoint, RasterizationOptions)
indirect case view(any _DisplayList_ViewFactory)
case placeholder(id: Identity)
}
Expand Down Expand Up @@ -497,7 +497,7 @@ extension DisplayList {
private struct Contents {
var list: DisplayList
var origin: CGPoint
var rbList: ORBDisplayListContents
var orbList: ORBDisplayListContents
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ORBDisplayListContents is a protocol (see RenderBoxShims.swift), so storing it as var orbList: ORBDisplayListContents may run into Swift 6 existential rules (and is inconsistent with drawing(any ORBDisplayListContents, ...)). Consider making the existential explicit here to avoid build breaks/warnings under Swift 6 language mode.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

var nextTime: Time
var numericValue: Float?
}
Expand Down Expand Up @@ -559,6 +559,4 @@ extension DisplayList.Item {
}
}

package class ORBDisplayListContents {}
package class ORBDisplayListInterpolator {}
package struct ORBTransition {}
8 changes: 4 additions & 4 deletions Sources/OpenSwiftUICore/Render/PlatformDrawable.swift
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ public struct PlatformDrawableContent: @unchecked Sendable {
case graphicsCallback((inout GraphicsContext, CGSize) -> ())
case platformCallback((CGSize) -> ())
case displayList(DisplayList, CGPoint, Time)
case rbDisplayList(any RBDisplayListContents, CGPoint)
case rbInterpolator(RBDisplayListInterpolator, Float, CGPoint)
case orbDisplayList(any ORBDisplayListContents, CGPoint)
case orbInterpolator(ORBDisplayListInterpolator, Float, CGPoint)
case empty
}

Expand Down Expand Up @@ -141,9 +141,9 @@ public struct PlatformDrawableOptions: Equatable, Sendable {
}
#endif

public func update(rbLayer: AnyObject) {
public func update(orbLayer: AnyObject) {
#if canImport(Darwin)
let layer = rbLayer as! ORBLayer
let layer = orbLayer as! ORBLayer
layer.colorMode = base.resolvedColorMode
layer.rendersAsynchronously = rendersAsynchronously
layer.maxDrawableCount = Int(base.maxDrawableCount)
Expand Down
14 changes: 7 additions & 7 deletions Sources/OpenSwiftUICore/Render/RasterizationOptions.swift
Original file line number Diff line number Diff line change
Expand Up @@ -88,20 +88,20 @@ package struct RasterizationOptions: Equatable {

package var colorMode: ColorRenderingMode

package var rbColorMode: Int32?
package var orbColorMode: Int32?

package var flags: RasterizationOptions.Flags

package var maxDrawableCount: Int8

package init(
colorMode: ColorRenderingMode = .nonLinear,
rbColorMode: Int32? = nil,
orbColorMode: Int32? = nil,
flags: RasterizationOptions.Flags = .defaultFlags,
maxDrawableCount: Int8 = 3
) {
self.colorMode = colorMode
self.rbColorMode = rbColorMode
self.orbColorMode = orbColorMode
self.flags = flags
self.maxDrawableCount = maxDrawableCount
}
Expand Down Expand Up @@ -138,7 +138,7 @@ package struct RasterizationOptions: Equatable {

#if !OPENSWIFTUI_ANY_ATTRIBUTE_FIX
package var resolvedColorMode: ORBColor.Mode {
if let mode = rbColorMode {
if let mode = orbColorMode {
return ORBColor.Mode(rawValue: mode)
} else {
let alphaOnly = alphaOnly
Expand Down Expand Up @@ -176,8 +176,8 @@ package struct RasterizationOptions: Equatable {
extension RasterizationOptions: ProtobufMessage {
package func encode(to encoder: inout ProtobufEncoder) {
encoder.enumField(1, colorMode, defaultValue: .nonLinear)
if let rbColorMode {
encoder.intField(2, Int(rbColorMode))
if let orbColorMode {
encoder.intField(2, Int(orbColorMode))
}
encoder.intField(3, Int(flags.rawValue))
encoder.intField(4, Int(maxDrawableCount))
Expand All @@ -188,7 +188,7 @@ extension RasterizationOptions: ProtobufMessage {
while let field = try decoder.nextField() {
switch field.tag {
case 1: options.colorMode = try decoder.enumField(field) ?? .nonLinear
case 2: options.rbColorMode = Int32(try decoder.intField(field))
case 2: options.orbColorMode = Int32(try decoder.intField(field))
case 3: options.flags = Flags(rawValue: UInt32(try decoder.intField(field)))
case 4: options.maxDrawableCount = Int8(try decoder.intField(field))
default: try decoder.skipField(field)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public struct _RendererConfiguration {

/// When non-nil overrides colorMode with a member of the
/// `RBColorMode` enum, specified as its raw integer value.
public var rbColorMode: Int32?
public var orbColorMode: Int32?
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The doc comment above orbColorMode still refers to RBColorMode, which seems outdated after the RB→ORB rename. Consider updating the documentation to the current ORB naming so callers know which enum/raw values are expected.

Severity: low

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.


/// When true the view will build and submit its command buffer
/// asynchronously.
Expand Down
Loading
Loading