Build Information
Successful build of Metron, reference master (14b0c4
), with Swift 6.0 for macOS (SPM) on 30 Oct 2024 22:24:53 UTC.
Swift 6 data race errors: 1
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:166:5: warning: 'public' modifier is redundant for property declared in a public extension
164 | /// and perpendicular to the opposite side.
165 | /// `altitudeB` goes perpendicular from `sideB` to `vertexB`.
166 | public var altitudeB: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
167 | let line = sideB.line.perpendicular(through: vertexB)
168 | return line.segment(between: line.intersection(with: sideB)!, and: vertexB)!
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:174:5: warning: 'public' modifier is redundant for property declared in a public extension
172 | /// and perpendicular to the opposite side.
173 | /// `altitudeC` goes perpendicular from `sideC` to `vertexC`.
174 | public var altitudeC: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
175 | let line = sideC.line.perpendicular(through: vertexC)
176 | return line.segment(between: line.intersection(with: sideC)!, and: vertexC)!
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:180:5: warning: 'public' modifier is redundant for property declared in a public extension
178 |
179 | /// All altitudes as `Triplet`.
180 | public var altitudes: Triplet<LineSegment> {
| `- warning: 'public' modifier is redundant for property declared in a public extension
181 | return Triplet(a: altitudeA, b: altitudeB, c: altitudeC)
182 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:192:5: warning: 'public' modifier is redundant for property declared in a public extension
190 |
191 | /// True if all sides are equal.
192 | public var isEquilateral: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
193 | let sides = self.sides
194 | let (a, b, c) = (sides.a.length, sides.b.length, sides.c.length)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:200:5: warning: 'public' modifier is redundant for property declared in a public extension
198 |
199 | /// True iff two sides are equal.
200 | public var isIsosceles: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
201 | let sides = self.sides
202 | let (a, b, c) = (sides.a.length, sides.b.length, sides.c.length)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:209:5: warning: 'public' modifier is redundant for property declared in a public extension
207 |
208 | /// True if all sides are different.
209 | public var isScalene: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
210 | let sides = self.sides
211 | let (a, b, c) = (sides.a.length, sides.b.length, sides.c.length)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:218:5: warning: 'public' modifier is redundant for property declared in a public extension
216 |
217 | /// True if one angle is exactly 90°.
218 | public var isRight: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
219 | return angles.asArray.first { round($0.degrees) == 90.0 } != nil
220 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:222:5: warning: 'public' modifier is redundant for property declared in a public extension
220 | }
221 | /// True of no angle is 90°.
222 | public var isOblique: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
223 | return !isRight
224 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:227:5: warning: 'public' modifier is redundant for property declared in a public extension
225 |
226 | /// True if all angles are less than 90°.
227 | public var isAcute: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
228 | return angles.asArray.reduce(true, { return $0 && $1.degrees < 90.0 })
229 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:231:5: warning: 'public' modifier is redundant for property declared in a public extension
229 | }
230 | /// True if one angle is more than 90°.
231 | public var isObtuse: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
232 | return !isAcute
233 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:240:5: warning: 'public' modifier is redundant for property declared in a public extension
238 | /// The intersection of the lines drawn from each
239 | /// vertex to the midpoint of the other side.
240 | public var centroid: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
241 | return CGPoint(x: (vertexA.x + vertexB.x + vertexC.x) / 3.0,
242 | y: (vertexA.y + vertexB.y + vertexC.y) / 3.0)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:247:5: warning: 'public' modifier is redundant for property declared in a public extension
245 | /// The interscetion of each side's perpendicular bisector
246 | /// (a perpendicular line drawn from the midpoint of a side).
247 | public var circumcenter: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
248 | let perpendicularBisectorA = sideA.line.perpendicular(through: sideA.midpoint)
249 | let perpendicularBisectorB = sideB.line.perpendicular(through: sideB.midpoint)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:255:5: warning: 'public' modifier is redundant for property declared in a public extension
253 | /// The intersection of each angle's bisector
254 | /// (An angle bisector divides the angle into two angles with equal measures).
255 | public var incenter: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
256 | return angleBisectorA.intersection(with: angleBisectorB)!
257 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:261:5: warning: 'public' modifier is redundant for property declared in a public extension
259 | /// The intersection of each side's altitude
260 | /// (a line drawn at right angle to a side and going through the opposite vertex).
261 | public var orthocenter: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
262 | return altitudeA.intersection(with: altitudeB)!
263 | }
[4/27] Compiling Metron Rotatable.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Rotatable.swift:21:5: warning: 'public' modifier is redundant for instance method declared in a public extension
19 |
20 | /// - returns: The next element rotated in the provided direction.
21 | public func next(rotating: RotationDirection) -> Self {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
22 | let allInDirection = (rotating == .clockwise) ? Self.all : Self.all.reversed()
23 | let nextIndex = (allInDirection.index(of: self)! + 1) % allInDirection.count
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Rotatable.swift:28:5: warning: 'public' modifier is redundant for instance method declared in a public extension
26 |
27 | /// - returns: The previous element rotated in the provided direction.
28 | public func previous(rotating: RotationDirection) -> Self {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
29 | return next(rotating: rotating).opposite
30 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Rotatable.swift:33:5: warning: 'public' modifier is redundant for static method declared in a public extension
31 |
32 | /// - returns: All elements starting and in rotating order as provided.
33 | public static func all(startingAt start: Self,
| `- warning: 'public' modifier is redundant for static method declared in a public extension
34 | rotating: RotationDirection = .clockwise) -> [Self] {
35 | var arrangedAll: [Self] = Self.all
[5/27] Compiling Metron Side.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Rotatable.swift:21:5: warning: 'public' modifier is redundant for instance method declared in a public extension
19 |
20 | /// - returns: The next element rotated in the provided direction.
21 | public func next(rotating: RotationDirection) -> Self {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
22 | let allInDirection = (rotating == .clockwise) ? Self.all : Self.all.reversed()
23 | let nextIndex = (allInDirection.index(of: self)! + 1) % allInDirection.count
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Rotatable.swift:28:5: warning: 'public' modifier is redundant for instance method declared in a public extension
26 |
27 | /// - returns: The previous element rotated in the provided direction.
28 | public func previous(rotating: RotationDirection) -> Self {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
29 | return next(rotating: rotating).opposite
30 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Rotatable.swift:33:5: warning: 'public' modifier is redundant for static method declared in a public extension
31 |
32 | /// - returns: All elements starting and in rotating order as provided.
33 | public static func all(startingAt start: Self,
| `- warning: 'public' modifier is redundant for static method declared in a public extension
34 | rotating: RotationDirection = .clockwise) -> [Self] {
35 | var arrangedAll: [Self] = Self.all
[6/27] Compiling Metron General.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Opposable.swift:27:5: warning: 'public' modifier is redundant for static property declared in a public extension
25 | public extension Opposable where Self: Equatable {
26 |
27 | public static var all: [Self] {
| `- warning: 'public' modifier is redundant for static property declared in a public extension
28 | return allOpposites.map { $0.0 } + allOpposites.map { $0.1 }
29 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Opposable.swift:31:5: warning: 'public' modifier is redundant for property declared in a public extension
29 | }
30 |
31 | public var opposite: Self {
| `- warning: 'public' modifier is redundant for property declared in a public extension
32 | let allOpposites = Self.allOpposites
33 | for (lhs, rhs) in allOpposites {
[7/27] Compiling Metron Opposable.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Opposable.swift:27:5: warning: 'public' modifier is redundant for static property declared in a public extension
25 | public extension Opposable where Self: Equatable {
26 |
27 | public static var all: [Self] {
| `- warning: 'public' modifier is redundant for static property declared in a public extension
28 | return allOpposites.map { $0.0 } + allOpposites.map { $0.1 }
29 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Opposable.swift:31:5: warning: 'public' modifier is redundant for property declared in a public extension
29 | }
30 |
31 | public var opposite: Self {
| `- warning: 'public' modifier is redundant for property declared in a public extension
32 | let allOpposites = Self.allOpposites
33 | for (lhs, rhs) in allOpposites {
[8/27] Compiling Metron Corner.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:24:5: warning: 'public' modifier is redundant for initializer declared in a public extension
22 | public extension Corner {
23 |
24 | public init(x xEdge: CGRectEdge, y yEdge: CGRectEdge) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
25 | switch (xEdge, yEdge) {
26 | case (.minXEdge, .minYEdge): self = .minXminY
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:36:5: warning: 'public' modifier is redundant for instance method declared in a public extension
34 | /// - returns: The edge of this `Corner` for the provided axis.
35 | /// For example, the `minXminY` corner's `xAxis` edge is the `minXEdge`.
36 | public func edge(on axis: Axis) -> CGRectEdge {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
37 | switch axis {
38 | case .xAxis: return xEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:45:5: warning: 'public' modifier is redundant for property declared in a public extension
43 | /// - returns: The `xAxis` edge component of this corner
44 | /// (either `minXEdge` or `maxXEdge`).
45 | public var xEdge: CGRectEdge {
| `- warning: 'public' modifier is redundant for property declared in a public extension
46 | switch self {
47 | case .minXminY, .minXmaxY: return .minXEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:54:5: warning: 'public' modifier is redundant for property declared in a public extension
52 | /// - returns: The `yAxis` edge component of this corner
53 | /// (either `minYEdge` or `maxYEdge`).
54 | public var yEdge: CGRectEdge {
| `- warning: 'public' modifier is redundant for property declared in a public extension
55 | switch self {
56 | case .minXminY, .maxXminY: return .minYEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:64:5: warning: 'public' modifier is redundant for instance method declared in a public extension
62 | /// For example, the `minXminY` corner's opposite along
63 | /// the `xAxis` is `maxXminY`.
64 | public func opposite(on axis: Axis) -> Corner {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
65 | switch axis {
66 | case .xAxis: return Corner(x: xEdge.opposite, y: yEdge)
[9/27] Compiling Metron CornerPosition.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:24:5: warning: 'public' modifier is redundant for initializer declared in a public extension
22 | public extension Corner {
23 |
24 | public init(x xEdge: CGRectEdge, y yEdge: CGRectEdge) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
25 | switch (xEdge, yEdge) {
26 | case (.minXEdge, .minYEdge): self = .minXminY
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:36:5: warning: 'public' modifier is redundant for instance method declared in a public extension
34 | /// - returns: The edge of this `Corner` for the provided axis.
35 | /// For example, the `minXminY` corner's `xAxis` edge is the `minXEdge`.
36 | public func edge(on axis: Axis) -> CGRectEdge {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
37 | switch axis {
38 | case .xAxis: return xEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:45:5: warning: 'public' modifier is redundant for property declared in a public extension
43 | /// - returns: The `xAxis` edge component of this corner
44 | /// (either `minXEdge` or `maxXEdge`).
45 | public var xEdge: CGRectEdge {
| `- warning: 'public' modifier is redundant for property declared in a public extension
46 | switch self {
47 | case .minXminY, .minXmaxY: return .minXEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:54:5: warning: 'public' modifier is redundant for property declared in a public extension
52 | /// - returns: The `yAxis` edge component of this corner
53 | /// (either `minYEdge` or `maxYEdge`).
54 | public var yEdge: CGRectEdge {
| `- warning: 'public' modifier is redundant for property declared in a public extension
55 | switch self {
56 | case .minXminY, .maxXminY: return .minYEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:64:5: warning: 'public' modifier is redundant for instance method declared in a public extension
62 | /// For example, the `minXminY` corner's opposite along
63 | /// the `xAxis` is `maxXminY`.
64 | public func opposite(on axis: Axis) -> Corner {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
65 | switch axis {
66 | case .xAxis: return Corner(x: xEdge.opposite, y: yEdge)
[10/27] Compiling Metron Edge.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:24:5: warning: 'public' modifier is redundant for initializer declared in a public extension
22 | public extension Corner {
23 |
24 | public init(x xEdge: CGRectEdge, y yEdge: CGRectEdge) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
25 | switch (xEdge, yEdge) {
26 | case (.minXEdge, .minYEdge): self = .minXminY
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:36:5: warning: 'public' modifier is redundant for instance method declared in a public extension
34 | /// - returns: The edge of this `Corner` for the provided axis.
35 | /// For example, the `minXminY` corner's `xAxis` edge is the `minXEdge`.
36 | public func edge(on axis: Axis) -> CGRectEdge {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
37 | switch axis {
38 | case .xAxis: return xEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:45:5: warning: 'public' modifier is redundant for property declared in a public extension
43 | /// - returns: The `xAxis` edge component of this corner
44 | /// (either `minXEdge` or `maxXEdge`).
45 | public var xEdge: CGRectEdge {
| `- warning: 'public' modifier is redundant for property declared in a public extension
46 | switch self {
47 | case .minXminY, .minXmaxY: return .minXEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:54:5: warning: 'public' modifier is redundant for property declared in a public extension
52 | /// - returns: The `yAxis` edge component of this corner
53 | /// (either `minYEdge` or `maxYEdge`).
54 | public var yEdge: CGRectEdge {
| `- warning: 'public' modifier is redundant for property declared in a public extension
55 | switch self {
56 | case .minXminY, .maxXminY: return .minYEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Corner.swift:64:5: warning: 'public' modifier is redundant for instance method declared in a public extension
62 | /// For example, the `minXminY` corner's opposite along
63 | /// the `xAxis` is `maxXminY`.
64 | public func opposite(on axis: Axis) -> Corner {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
65 | switch axis {
66 | case .xAxis: return Corner(x: xEdge.opposite, y: yEdge)
[11/27] Compiling Metron CGRectEdge.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRectEdge.swift:30:1: warning: extension declares a conformance of imported type 'CGRectEdge' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
28 | }
29 |
30 | extension CGRectEdge: CustomDebugStringConvertible {
| |- warning: extension declares a conformance of imported type 'CGRectEdge' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
31 | public var debugDescription: String {
32 | switch self {
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:5:5: warning: 'public' modifier is redundant for initializer declared in a public extension
3 | public extension CGSize {
4 |
5 | public init(edges length: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
6 | self.init(width: length, height: length)
7 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:9:5: warning: 'public' modifier is redundant for property declared in a public extension
7 | }
8 |
9 | public var area: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
10 | return width * height
11 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:14:5: warning: 'public' modifier is redundant for property declared in a public extension
12 |
13 | /// - returns: A `CGSize` with width and height swapped.
14 | public var swapped: CGSize {
| `- warning: 'public' modifier is redundant for property declared in a public extension
15 | return CGSize(width: height, height: width)
16 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |
18 | /// Limits the size to the given size.
19 | public func clipped(to size: CGSize) -> CGSize {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 | return CGSize(width: min(width, size.width),
21 | height: min(height, size.height))
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:6:5: warning: 'public' modifier is redundant for property declared in a public extension
4 |
5 | /// - returns: A `CGPoint` with x: dx and y: dy.
6 | public var point: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
7 | return CGPoint(x: dx, y: dy)
8 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:10:5: warning: 'public' modifier is redundant for property declared in a public extension
8 | }
9 |
10 | public var magnitude: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
11 | return sqrt(dx * dx + dy * dy)
12 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:13:5: warning: 'public' modifier is redundant for property declared in a public extension
11 | return sqrt(dx * dx + dy * dy)
12 | }
13 | public var angle: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
14 | return atan2(dy, dx)
15 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:17:5: warning: 'public' modifier is redundant for initializer declared in a public extension
15 | }
16 |
17 | public init(angle: Angle, magnitude: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
18 | self.init(dx: magnitude * cos(angle), dy: magnitude * sin(angle))
19 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:21:5: warning: 'public' modifier is redundant for property declared in a public extension
19 | }
20 |
21 | public var inversed: CGVector {
| `- warning: 'public' modifier is redundant for property declared in a public extension
22 | return CGVector(dx: -dx, dy: -dy)
23 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:26:5: warning: 'public' modifier is redundant for property declared in a public extension
24 |
25 | /// - returns: The `CGRectEdge` towards which this vector tends the most.
26 | public var dominantEdge: CGRectEdge {
| `- warning: 'public' modifier is redundant for property declared in a public extension
27 | return abs(dx) > abs(dy) ? (dx > 0.0 ? .maxXEdge : .minXEdge) : (dy > 0.0 ? .maxYEdge : .minYEdge)
28 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:31:5: warning: 'public' modifier is redundant for property declared in a public extension
29 |
30 | /// - returns: The `Corner` towards which this vector tends the most.
31 | public var dominantCorner: Corner {
| `- warning: 'public' modifier is redundant for property declared in a public extension
32 | let xEdge: CGRectEdge = dx > 0 ? .maxXEdge : .minXEdge
33 | let yEdge: CGRectEdge = dy > 0 ? .maxYEdge : .minYEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:39:5: warning: 'public' modifier is redundant for instance method declared in a public extension
37 | /// - returns: A `Line` drawn through the given point,
38 | /// following this vector.
39 | public func line(through point: CGPoint) -> Line {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
40 | return Line(a: point, b: point + self)
41 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:46:5: warning: 'public' modifier is redundant for instance method declared in a public extension
44 | /// following this vector. The `LineSegment` length
45 | /// equals the vector magnitude.
46 | public func lineSegment(from point: CGPoint) -> LineSegment {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
47 | return LineSegment(a: point, b: point + self)
48 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:83:5: warning: 'public' modifier is redundant for initializer declared in a public extension
81 |
82 | public extension CGAffineTransform {
83 | public init(translation: CGVector) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
84 | self.init(translationX: translation.dx, y: translation.dy)
85 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:87:5: warning: 'public' modifier is redundant for instance method declared in a public extension
85 | }
86 |
87 | public func translatedBy(vector: CGVector) -> CGAffineTransform {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
88 | return translatedBy(x: vector.dx, y: vector.dy)
89 | }
[12/27] Compiling Metron CGSize.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRectEdge.swift:30:1: warning: extension declares a conformance of imported type 'CGRectEdge' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
28 | }
29 |
30 | extension CGRectEdge: CustomDebugStringConvertible {
| |- warning: extension declares a conformance of imported type 'CGRectEdge' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
31 | public var debugDescription: String {
32 | switch self {
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:5:5: warning: 'public' modifier is redundant for initializer declared in a public extension
3 | public extension CGSize {
4 |
5 | public init(edges length: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
6 | self.init(width: length, height: length)
7 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:9:5: warning: 'public' modifier is redundant for property declared in a public extension
7 | }
8 |
9 | public var area: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
10 | return width * height
11 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:14:5: warning: 'public' modifier is redundant for property declared in a public extension
12 |
13 | /// - returns: A `CGSize` with width and height swapped.
14 | public var swapped: CGSize {
| `- warning: 'public' modifier is redundant for property declared in a public extension
15 | return CGSize(width: height, height: width)
16 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |
18 | /// Limits the size to the given size.
19 | public func clipped(to size: CGSize) -> CGSize {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 | return CGSize(width: min(width, size.width),
21 | height: min(height, size.height))
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:6:5: warning: 'public' modifier is redundant for property declared in a public extension
4 |
5 | /// - returns: A `CGPoint` with x: dx and y: dy.
6 | public var point: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
7 | return CGPoint(x: dx, y: dy)
8 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:10:5: warning: 'public' modifier is redundant for property declared in a public extension
8 | }
9 |
10 | public var magnitude: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
11 | return sqrt(dx * dx + dy * dy)
12 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:13:5: warning: 'public' modifier is redundant for property declared in a public extension
11 | return sqrt(dx * dx + dy * dy)
12 | }
13 | public var angle: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
14 | return atan2(dy, dx)
15 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:17:5: warning: 'public' modifier is redundant for initializer declared in a public extension
15 | }
16 |
17 | public init(angle: Angle, magnitude: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
18 | self.init(dx: magnitude * cos(angle), dy: magnitude * sin(angle))
19 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:21:5: warning: 'public' modifier is redundant for property declared in a public extension
19 | }
20 |
21 | public var inversed: CGVector {
| `- warning: 'public' modifier is redundant for property declared in a public extension
22 | return CGVector(dx: -dx, dy: -dy)
23 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:26:5: warning: 'public' modifier is redundant for property declared in a public extension
24 |
25 | /// - returns: The `CGRectEdge` towards which this vector tends the most.
26 | public var dominantEdge: CGRectEdge {
| `- warning: 'public' modifier is redundant for property declared in a public extension
27 | return abs(dx) > abs(dy) ? (dx > 0.0 ? .maxXEdge : .minXEdge) : (dy > 0.0 ? .maxYEdge : .minYEdge)
28 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:31:5: warning: 'public' modifier is redundant for property declared in a public extension
29 |
30 | /// - returns: The `Corner` towards which this vector tends the most.
31 | public var dominantCorner: Corner {
| `- warning: 'public' modifier is redundant for property declared in a public extension
32 | let xEdge: CGRectEdge = dx > 0 ? .maxXEdge : .minXEdge
33 | let yEdge: CGRectEdge = dy > 0 ? .maxYEdge : .minYEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:39:5: warning: 'public' modifier is redundant for instance method declared in a public extension
37 | /// - returns: A `Line` drawn through the given point,
38 | /// following this vector.
39 | public func line(through point: CGPoint) -> Line {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
40 | return Line(a: point, b: point + self)
41 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:46:5: warning: 'public' modifier is redundant for instance method declared in a public extension
44 | /// following this vector. The `LineSegment` length
45 | /// equals the vector magnitude.
46 | public func lineSegment(from point: CGPoint) -> LineSegment {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
47 | return LineSegment(a: point, b: point + self)
48 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:83:5: warning: 'public' modifier is redundant for initializer declared in a public extension
81 |
82 | public extension CGAffineTransform {
83 | public init(translation: CGVector) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
84 | self.init(translationX: translation.dx, y: translation.dy)
85 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:87:5: warning: 'public' modifier is redundant for instance method declared in a public extension
85 | }
86 |
87 | public func translatedBy(vector: CGVector) -> CGAffineTransform {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
88 | return translatedBy(x: vector.dx, y: vector.dy)
89 | }
[13/27] Compiling Metron CGVector.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRectEdge.swift:30:1: warning: extension declares a conformance of imported type 'CGRectEdge' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
28 | }
29 |
30 | extension CGRectEdge: CustomDebugStringConvertible {
| |- warning: extension declares a conformance of imported type 'CGRectEdge' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
31 | public var debugDescription: String {
32 | switch self {
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:5:5: warning: 'public' modifier is redundant for initializer declared in a public extension
3 | public extension CGSize {
4 |
5 | public init(edges length: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
6 | self.init(width: length, height: length)
7 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:9:5: warning: 'public' modifier is redundant for property declared in a public extension
7 | }
8 |
9 | public var area: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
10 | return width * height
11 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:14:5: warning: 'public' modifier is redundant for property declared in a public extension
12 |
13 | /// - returns: A `CGSize` with width and height swapped.
14 | public var swapped: CGSize {
| `- warning: 'public' modifier is redundant for property declared in a public extension
15 | return CGSize(width: height, height: width)
16 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGSize.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 |
18 | /// Limits the size to the given size.
19 | public func clipped(to size: CGSize) -> CGSize {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 | return CGSize(width: min(width, size.width),
21 | height: min(height, size.height))
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:6:5: warning: 'public' modifier is redundant for property declared in a public extension
4 |
5 | /// - returns: A `CGPoint` with x: dx and y: dy.
6 | public var point: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
7 | return CGPoint(x: dx, y: dy)
8 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:10:5: warning: 'public' modifier is redundant for property declared in a public extension
8 | }
9 |
10 | public var magnitude: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
11 | return sqrt(dx * dx + dy * dy)
12 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:13:5: warning: 'public' modifier is redundant for property declared in a public extension
11 | return sqrt(dx * dx + dy * dy)
12 | }
13 | public var angle: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
14 | return atan2(dy, dx)
15 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:17:5: warning: 'public' modifier is redundant for initializer declared in a public extension
15 | }
16 |
17 | public init(angle: Angle, magnitude: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
18 | self.init(dx: magnitude * cos(angle), dy: magnitude * sin(angle))
19 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:21:5: warning: 'public' modifier is redundant for property declared in a public extension
19 | }
20 |
21 | public var inversed: CGVector {
| `- warning: 'public' modifier is redundant for property declared in a public extension
22 | return CGVector(dx: -dx, dy: -dy)
23 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:26:5: warning: 'public' modifier is redundant for property declared in a public extension
24 |
25 | /// - returns: The `CGRectEdge` towards which this vector tends the most.
26 | public var dominantEdge: CGRectEdge {
| `- warning: 'public' modifier is redundant for property declared in a public extension
27 | return abs(dx) > abs(dy) ? (dx > 0.0 ? .maxXEdge : .minXEdge) : (dy > 0.0 ? .maxYEdge : .minYEdge)
28 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:31:5: warning: 'public' modifier is redundant for property declared in a public extension
29 |
30 | /// - returns: The `Corner` towards which this vector tends the most.
31 | public var dominantCorner: Corner {
| `- warning: 'public' modifier is redundant for property declared in a public extension
32 | let xEdge: CGRectEdge = dx > 0 ? .maxXEdge : .minXEdge
33 | let yEdge: CGRectEdge = dy > 0 ? .maxYEdge : .minYEdge
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:39:5: warning: 'public' modifier is redundant for instance method declared in a public extension
37 | /// - returns: A `Line` drawn through the given point,
38 | /// following this vector.
39 | public func line(through point: CGPoint) -> Line {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
40 | return Line(a: point, b: point + self)
41 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:46:5: warning: 'public' modifier is redundant for instance method declared in a public extension
44 | /// following this vector. The `LineSegment` length
45 | /// equals the vector magnitude.
46 | public func lineSegment(from point: CGPoint) -> LineSegment {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
47 | return LineSegment(a: point, b: point + self)
48 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:83:5: warning: 'public' modifier is redundant for initializer declared in a public extension
81 |
82 | public extension CGAffineTransform {
83 | public init(translation: CGVector) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
84 | self.init(translationX: translation.dx, y: translation.dy)
85 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGVector.swift:87:5: warning: 'public' modifier is redundant for instance method declared in a public extension
85 | }
86 |
87 | public func translatedBy(vector: CGVector) -> CGAffineTransform {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
88 | return translatedBy(x: vector.dx, y: vector.dy)
89 | }
[14/27] Compiling Metron Line.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:30:5: warning: 'public' modifier is redundant for initializer declared in a public extension
28 |
29 | /// Initializes a `Line` through the provided two points.
30 | public init(a: CGPoint, b: CGPoint) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
31 | let dx = a.x - b.x
32 | if dx == 0.0 {
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:42:5: warning: 'public' modifier is redundant for initializer declared in a public extension
40 | /// Initializes a line that goes through the start and end points
41 | /// of the provided `LineSegment`.
42 | public init(lineSegment: LineSegment) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
43 | self.init(a: lineSegment.a, b: lineSegment.b)
44 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:48:5: warning: 'public' modifier is redundant for initializer declared in a public extension
46 | /// Initializes a line that runs at the provided `Angle`
47 | /// through the provided `CGPoint`.
48 | public init(angle: Angle, through point: CGPoint) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
49 | self.init(a: point, b: point + CGVector(angle: angle, magnitude: 1.0))
50 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:53:5: warning: 'public' modifier is redundant for property declared in a public extension
51 |
52 | /// - returns: If the definition of this line is non-vertical, the slope of the line.
53 | public var slope: CGFloat? {
| `- warning: 'public' modifier is redundant for property declared in a public extension
54 | guard case let .sloped(s, _) = definition else { return nil }
55 | return s
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:59:5: warning: 'public' modifier is redundant for property declared in a public extension
57 |
58 | /// - returns: If the definition of this line is non-vertical, the y-intercept of the line.
59 | public var yIntercept: CGFloat? {
| `- warning: 'public' modifier is redundant for property declared in a public extension
60 | guard case let .sloped(_, y) = definition else { return nil }
61 | return y
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:65:5: warning: 'public' modifier is redundant for property declared in a public extension
63 |
64 | /// - returns: If the definition of this line is vertical, the x-position of the line.
65 | public var xPosition: CGFloat? {
| `- warning: 'public' modifier is redundant for property declared in a public extension
66 | guard case let .vertical(x) = definition else { return nil }
67 | return x
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:71:5: warning: 'public' modifier is redundant for property declared in a public extension
69 |
70 | /// - returns: True if this line is vertical.
71 | public var isVertical: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
72 | if case .vertical(_) = definition { return true }
73 | return false
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:77:5: warning: 'public' modifier is redundant for property declared in a public extension
75 |
76 | /// - returns: True if this line is horizontal (slope equals zero).
77 | public var isHorizontal: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
78 | if case let .sloped(slope, _) = definition { return abs(slope) == 0.0 }
79 | return false
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:85:5: warning: 'public' modifier is redundant for instance method declared in a public extension
83 | /// Will be nil for vertical lines.
84 | /// y = mx+b
85 | public func point(atX x: CGFloat) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
86 | guard case let .sloped(slope, yIntercept) = definition else { return nil }
87 | return CGPoint(x: x, y: slope * x + yIntercept)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:93:5: warning: 'public' modifier is redundant for instance method declared in a public extension
91 | /// Will be nil for horizontal lines.
92 | /// x = (y-b)/m
93 | public func point(atY y: CGFloat) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
94 | switch definition {
95 | case let .sloped(slope, yIntercept): return slope == 0 ? nil : CGPoint(x: (y - yIntercept) / slope, y: y)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:101:5: warning: 'public' modifier is redundant for property declared in a public extension
99 |
100 | /// - returns: The value for x on this line where y is 0.
101 | public var xIntercept: CGFloat? {
| `- warning: 'public' modifier is redundant for property declared in a public extension
102 | switch definition {
103 | case let .sloped(slope, yIntercept): return slope == 0 ? nil : -yIntercept / slope
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:109:5: warning: 'public' modifier is redundant for instance method declared in a public extension
107 |
108 | /// - returns: The segment of this line that is between the provided points.
109 | public func segment(between p1: CGPoint, and p2: CGPoint) -> LineSegment? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
110 | if let a = point(atX: p1.x) ?? point(atY: p1.y), let b = point(atX: p2.x) ?? point(atY: p2.y) { return LineSegment(a: a, b: b) }
111 | return nil
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:116:5: warning: 'public' modifier is redundant for instance method declared in a public extension
114 | /// - returns: True when the provided point is on this `Line`.
115 | /// - note: An error margin of 1e-12 is allowed.
116 | public func contains(_ point: CGPoint) -> Bool {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
117 | switch definition {
118 | case .sloped:
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:129:5: warning: 'public' modifier is redundant for instance method declared in a public extension
127 | /// - returns: The intersection of this `Line` with the provided `Line`.
128 | /// Will be nil for parallel lines.
129 | public func intersection(with line: Line) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
130 | switch (self.definition, line.definition) {
131 | case let (.sloped(slope1, yIntercept1), .sloped(slope2, yIntercept2)):
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:143:5: warning: 'public' modifier is redundant for instance method declared in a public extension
141 | /// Similar to intersection(with line:…), but this also checks if a
142 | /// found intersection is also between the line segment's start and end points.
143 | public func intersection(with lineSegment: LineSegment) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
144 | if let intersection: CGPoint = self.intersection(with: lineSegment.line) {
145 | return lineSegment.contains(intersection) ? intersection : nil
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:156:5: warning: 'public' modifier is redundant for instance method declared in a public extension
154 | /// Always true for two vertical lines. True for sloped lines with
155 | /// equal slopes.
156 | public func isParallel(to line: Line) -> Bool {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
157 | switch (definition, line.definition) {
158 | case let (.sloped(slope1, _), .sloped(slope2, _)):
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:169:5: warning: 'public' modifier is redundant for instance method declared in a public extension
167 | /// - returns: A `Line` that runs at a 90° angle through self,
168 | /// through the provided point.
169 | public func perpendicular(through point: CGPoint) -> Line {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
170 | switch definition {
171 | case let .sloped(slope, _):
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:18:5: warning: 'public' modifier is redundant for initializer declared in a public extension
16 | public extension LineSegment {
17 |
18 | public init(origin: CGPoint, vector: CGVector) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
19 | self.a = origin
20 | self.b = origin + vector
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:24:5: warning: 'public' modifier is redundant for property declared in a public extension
22 |
23 | /// - returns: A `Line` that runs through this line segment's points.
24 | public var line: Line {
| `- warning: 'public' modifier is redundant for property declared in a public extension
25 | return Line(a: a, b: b)
26 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:28:5: warning: 'public' modifier is redundant for property declared in a public extension
26 | }
27 |
28 | public var minX: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
29 | return min(a.x, b.x)
30 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:32:5: warning: 'public' modifier is redundant for property declared in a public extension
30 | }
31 |
32 | public var maxX: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
33 | return max(a.x, b.x)
34 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:36:5: warning: 'public' modifier is redundant for property declared in a public extension
34 | }
35 |
36 | public var minY: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
37 | return min(a.y, b.y)
38 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:40:5: warning: 'public' modifier is redundant for property declared in a public extension
38 | }
39 |
40 | public var maxY: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
41 | return max(a.y, b.y)
42 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:45:5: warning: 'public' modifier is redundant for property declared in a public extension
43 |
44 | /// - returns: The vector of this `LineSegment`, originating from point a.
45 | public var vector: CGVector {
| `- warning: 'public' modifier is redundant for property declared in a public extension
46 | return CGVector(dx: b.x - a.x, dy: b.y - a.y)
47 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:50:5: warning: 'public' modifier is redundant for property declared in a public extension
48 |
49 | /// If vertical, there's no slope so no Line can be derived from this segment.
50 | public var isVertical: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
51 | return minX == maxX
52 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:56:5: warning: 'public' modifier is redundant for instance method declared in a public extension
54 | /// - returns: true when the provided point is on this lineSegment's line and between its points.
55 | /// - note: An error margin of 1e-12 is allowed.
56 | public func contains(_ point: CGPoint) -> Bool {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
57 | if isVertical { return point.x == minX && point.y.between(lower: a.y, upper: b.y) }
58 | return line.contains(point) && point.x.between(lower: a.x, upper: b.x) && point.y.between(lower: a.y, upper: b.y)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:64:5: warning: 'public' modifier is redundant for instance method declared in a public extension
62 | /// - returns: true if the line segment is connected with the other line segment, that is if one of the points
63 | /// of the segment matches one of the points of other segment.
64 | public func connects(with lineSegment: LineSegment) -> Bool {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
65 | return self.a == lineSegment.b || self.b == lineSegment.a || self.a == lineSegment.a || self.b == lineSegment.b
66 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:69:5: warning: 'public' modifier is redundant for property declared in a public extension
67 |
68 | /// - returns: The start and end points of this `LineSegment` as an array.
69 | public var points: [CGPoint] {
| `- warning: 'public' modifier is redundant for property declared in a public extension
70 | return [a, b]
71 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:74:5: warning: 'public' modifier is redundant for property declared in a public extension
72 |
73 | /// - returns: The point halfway A->B.
74 | public var midpoint: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
75 | return CGPoint(x: (a.x + b.x) / 2.0, y: (a.y + b.y) / 2.0)
76 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:79:5: warning: 'public' modifier is redundant for property declared in a public extension
77 |
78 | /// - returns: The length of this `LineSegment`, i.e. the distance from A to B.
79 | public var length: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
80 | return a.distance(to: b)
81 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:84:5: warning: 'public' modifier is redundant for instance method declared in a public extension
82 |
83 | /// - returns: The intersection of this `LineSegment` with the provided `Line`.
84 | public func intersection(with line: Line) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
85 | return line.intersection(with: self)
86 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:89:5: warning: 'public' modifier is redundant for instance method declared in a public extension
87 |
88 | /// - returns: The intersection of this `LineSegment` with the provided `LineSegment`.
89 | public func intersection(with lineSegment: LineSegment) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
90 | if let intersection = line.intersection(with: lineSegment) { return contains(intersection) ? intersection : nil }
91 | return nil
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:96:5: warning: 'public' modifier is redundant for instance method declared in a public extension
94 | /// - returns: A new `LineSegment` that is rotated by the provided angle,
95 | /// around point A.
96 | public func rotatedAroundA(_ angle: Angle) -> LineSegment {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
97 | return self.applying(CGAffineTransform(rotationAngle: angle), anchorPoint: a)
98 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:102:5: warning: 'public' modifier is redundant for instance method declared in a public extension
100 | /// - returns: A new `LineSegment` that is rotated by the provided angle,
101 | /// around point B.
102 | public func rotatedAroundB(_ angle: Angle) -> LineSegment {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
103 | let t = CGAffineTransform(rotationAngle: angle)
104 | return self.applying(t, anchorPoint: b)
[15/27] Compiling Metron LineSegment.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:30:5: warning: 'public' modifier is redundant for initializer declared in a public extension
28 |
29 | /// Initializes a `Line` through the provided two points.
30 | public init(a: CGPoint, b: CGPoint) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
31 | let dx = a.x - b.x
32 | if dx == 0.0 {
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:42:5: warning: 'public' modifier is redundant for initializer declared in a public extension
40 | /// Initializes a line that goes through the start and end points
41 | /// of the provided `LineSegment`.
42 | public init(lineSegment: LineSegment) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
43 | self.init(a: lineSegment.a, b: lineSegment.b)
44 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:48:5: warning: 'public' modifier is redundant for initializer declared in a public extension
46 | /// Initializes a line that runs at the provided `Angle`
47 | /// through the provided `CGPoint`.
48 | public init(angle: Angle, through point: CGPoint) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
49 | self.init(a: point, b: point + CGVector(angle: angle, magnitude: 1.0))
50 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:53:5: warning: 'public' modifier is redundant for property declared in a public extension
51 |
52 | /// - returns: If the definition of this line is non-vertical, the slope of the line.
53 | public var slope: CGFloat? {
| `- warning: 'public' modifier is redundant for property declared in a public extension
54 | guard case let .sloped(s, _) = definition else { return nil }
55 | return s
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:59:5: warning: 'public' modifier is redundant for property declared in a public extension
57 |
58 | /// - returns: If the definition of this line is non-vertical, the y-intercept of the line.
59 | public var yIntercept: CGFloat? {
| `- warning: 'public' modifier is redundant for property declared in a public extension
60 | guard case let .sloped(_, y) = definition else { return nil }
61 | return y
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:65:5: warning: 'public' modifier is redundant for property declared in a public extension
63 |
64 | /// - returns: If the definition of this line is vertical, the x-position of the line.
65 | public var xPosition: CGFloat? {
| `- warning: 'public' modifier is redundant for property declared in a public extension
66 | guard case let .vertical(x) = definition else { return nil }
67 | return x
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:71:5: warning: 'public' modifier is redundant for property declared in a public extension
69 |
70 | /// - returns: True if this line is vertical.
71 | public var isVertical: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
72 | if case .vertical(_) = definition { return true }
73 | return false
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:77:5: warning: 'public' modifier is redundant for property declared in a public extension
75 |
76 | /// - returns: True if this line is horizontal (slope equals zero).
77 | public var isHorizontal: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
78 | if case let .sloped(slope, _) = definition { return abs(slope) == 0.0 }
79 | return false
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:85:5: warning: 'public' modifier is redundant for instance method declared in a public extension
83 | /// Will be nil for vertical lines.
84 | /// y = mx+b
85 | public func point(atX x: CGFloat) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
86 | guard case let .sloped(slope, yIntercept) = definition else { return nil }
87 | return CGPoint(x: x, y: slope * x + yIntercept)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:93:5: warning: 'public' modifier is redundant for instance method declared in a public extension
91 | /// Will be nil for horizontal lines.
92 | /// x = (y-b)/m
93 | public func point(atY y: CGFloat) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
94 | switch definition {
95 | case let .sloped(slope, yIntercept): return slope == 0 ? nil : CGPoint(x: (y - yIntercept) / slope, y: y)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:101:5: warning: 'public' modifier is redundant for property declared in a public extension
99 |
100 | /// - returns: The value for x on this line where y is 0.
101 | public var xIntercept: CGFloat? {
| `- warning: 'public' modifier is redundant for property declared in a public extension
102 | switch definition {
103 | case let .sloped(slope, yIntercept): return slope == 0 ? nil : -yIntercept / slope
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:109:5: warning: 'public' modifier is redundant for instance method declared in a public extension
107 |
108 | /// - returns: The segment of this line that is between the provided points.
109 | public func segment(between p1: CGPoint, and p2: CGPoint) -> LineSegment? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
110 | if let a = point(atX: p1.x) ?? point(atY: p1.y), let b = point(atX: p2.x) ?? point(atY: p2.y) { return LineSegment(a: a, b: b) }
111 | return nil
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:116:5: warning: 'public' modifier is redundant for instance method declared in a public extension
114 | /// - returns: True when the provided point is on this `Line`.
115 | /// - note: An error margin of 1e-12 is allowed.
116 | public func contains(_ point: CGPoint) -> Bool {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
117 | switch definition {
118 | case .sloped:
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:129:5: warning: 'public' modifier is redundant for instance method declared in a public extension
127 | /// - returns: The intersection of this `Line` with the provided `Line`.
128 | /// Will be nil for parallel lines.
129 | public func intersection(with line: Line) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
130 | switch (self.definition, line.definition) {
131 | case let (.sloped(slope1, yIntercept1), .sloped(slope2, yIntercept2)):
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:143:5: warning: 'public' modifier is redundant for instance method declared in a public extension
141 | /// Similar to intersection(with line:…), but this also checks if a
142 | /// found intersection is also between the line segment's start and end points.
143 | public func intersection(with lineSegment: LineSegment) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
144 | if let intersection: CGPoint = self.intersection(with: lineSegment.line) {
145 | return lineSegment.contains(intersection) ? intersection : nil
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:156:5: warning: 'public' modifier is redundant for instance method declared in a public extension
154 | /// Always true for two vertical lines. True for sloped lines with
155 | /// equal slopes.
156 | public func isParallel(to line: Line) -> Bool {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
157 | switch (definition, line.definition) {
158 | case let (.sloped(slope1, _), .sloped(slope2, _)):
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Line.swift:169:5: warning: 'public' modifier is redundant for instance method declared in a public extension
167 | /// - returns: A `Line` that runs at a 90° angle through self,
168 | /// through the provided point.
169 | public func perpendicular(through point: CGPoint) -> Line {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
170 | switch definition {
171 | case let .sloped(slope, _):
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:18:5: warning: 'public' modifier is redundant for initializer declared in a public extension
16 | public extension LineSegment {
17 |
18 | public init(origin: CGPoint, vector: CGVector) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
19 | self.a = origin
20 | self.b = origin + vector
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:24:5: warning: 'public' modifier is redundant for property declared in a public extension
22 |
23 | /// - returns: A `Line` that runs through this line segment's points.
24 | public var line: Line {
| `- warning: 'public' modifier is redundant for property declared in a public extension
25 | return Line(a: a, b: b)
26 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:28:5: warning: 'public' modifier is redundant for property declared in a public extension
26 | }
27 |
28 | public var minX: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
29 | return min(a.x, b.x)
30 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:32:5: warning: 'public' modifier is redundant for property declared in a public extension
30 | }
31 |
32 | public var maxX: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
33 | return max(a.x, b.x)
34 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:36:5: warning: 'public' modifier is redundant for property declared in a public extension
34 | }
35 |
36 | public var minY: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
37 | return min(a.y, b.y)
38 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:40:5: warning: 'public' modifier is redundant for property declared in a public extension
38 | }
39 |
40 | public var maxY: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
41 | return max(a.y, b.y)
42 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:45:5: warning: 'public' modifier is redundant for property declared in a public extension
43 |
44 | /// - returns: The vector of this `LineSegment`, originating from point a.
45 | public var vector: CGVector {
| `- warning: 'public' modifier is redundant for property declared in a public extension
46 | return CGVector(dx: b.x - a.x, dy: b.y - a.y)
47 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:50:5: warning: 'public' modifier is redundant for property declared in a public extension
48 |
49 | /// If vertical, there's no slope so no Line can be derived from this segment.
50 | public var isVertical: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
51 | return minX == maxX
52 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:56:5: warning: 'public' modifier is redundant for instance method declared in a public extension
54 | /// - returns: true when the provided point is on this lineSegment's line and between its points.
55 | /// - note: An error margin of 1e-12 is allowed.
56 | public func contains(_ point: CGPoint) -> Bool {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
57 | if isVertical { return point.x == minX && point.y.between(lower: a.y, upper: b.y) }
58 | return line.contains(point) && point.x.between(lower: a.x, upper: b.x) && point.y.between(lower: a.y, upper: b.y)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:64:5: warning: 'public' modifier is redundant for instance method declared in a public extension
62 | /// - returns: true if the line segment is connected with the other line segment, that is if one of the points
63 | /// of the segment matches one of the points of other segment.
64 | public func connects(with lineSegment: LineSegment) -> Bool {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
65 | return self.a == lineSegment.b || self.b == lineSegment.a || self.a == lineSegment.a || self.b == lineSegment.b
66 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:69:5: warning: 'public' modifier is redundant for property declared in a public extension
67 |
68 | /// - returns: The start and end points of this `LineSegment` as an array.
69 | public var points: [CGPoint] {
| `- warning: 'public' modifier is redundant for property declared in a public extension
70 | return [a, b]
71 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:74:5: warning: 'public' modifier is redundant for property declared in a public extension
72 |
73 | /// - returns: The point halfway A->B.
74 | public var midpoint: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
75 | return CGPoint(x: (a.x + b.x) / 2.0, y: (a.y + b.y) / 2.0)
76 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:79:5: warning: 'public' modifier is redundant for property declared in a public extension
77 |
78 | /// - returns: The length of this `LineSegment`, i.e. the distance from A to B.
79 | public var length: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
80 | return a.distance(to: b)
81 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:84:5: warning: 'public' modifier is redundant for instance method declared in a public extension
82 |
83 | /// - returns: The intersection of this `LineSegment` with the provided `Line`.
84 | public func intersection(with line: Line) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
85 | return line.intersection(with: self)
86 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:89:5: warning: 'public' modifier is redundant for instance method declared in a public extension
87 |
88 | /// - returns: The intersection of this `LineSegment` with the provided `LineSegment`.
89 | public func intersection(with lineSegment: LineSegment) -> CGPoint? {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
90 | if let intersection = line.intersection(with: lineSegment) { return contains(intersection) ? intersection : nil }
91 | return nil
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:96:5: warning: 'public' modifier is redundant for instance method declared in a public extension
94 | /// - returns: A new `LineSegment` that is rotated by the provided angle,
95 | /// around point A.
96 | public func rotatedAroundA(_ angle: Angle) -> LineSegment {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
97 | return self.applying(CGAffineTransform(rotationAngle: angle), anchorPoint: a)
98 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/LineSegment.swift:102:5: warning: 'public' modifier is redundant for instance method declared in a public extension
100 | /// - returns: A new `LineSegment` that is rotated by the provided angle,
101 | /// around point B.
102 | public func rotatedAroundB(_ angle: Angle) -> LineSegment {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
103 | let t = CGAffineTransform(rotationAngle: angle)
104 | return self.applying(t, anchorPoint: b)
[16/27] Compiling Metron Angle.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:29:5: warning: 'public' modifier is redundant for property declared in a public extension
27 |
28 | /// - returns: The angle expressed in radians.
29 | public var radians: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
30 | return asUnit(.radians)
31 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:33:5: warning: 'public' modifier is redundant for property declared in a public extension
31 | }
32 | /// - returns: The angle expressed in degrees.
33 | public var degrees: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
34 | return asUnit(.degrees)
35 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:42:5: warning: 'public' modifier is redundant for instance method declared in a public extension
40 |
41 | /// - returns: The angle expressed in the provided unit.
42 | public func asUnit(_ unit: Unit) -> CGFloat {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
43 | if self.unit == unit {
44 | return value
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:56:5: warning: 'public' modifier is redundant for static method declared in a public extension
54 | /// - returns: The floating point value representing a full rotation
55 | /// in the given unit (i.e. 2pi radians / 360 degrees)
56 | public static func fullRotation(unit: Unit) -> CGFloat {
| `- warning: 'public' modifier is redundant for static method declared in a public extension
57 | return unit == .radians ? (2.0 * .pi) : 360.0
58 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:62:5: warning: 'public' modifier is redundant for property declared in a public extension
60 | /// - returns: The floating point value representing a full rotation
61 | /// expressed in the current unit of this angle.
62 | public var fullRotation: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
63 | return Angle.fullRotation(unit: unit)
64 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:68:5: warning: 'public' modifier is redundant for property declared in a public extension
66 | /// - returns: The angle expressed in a value normalized between
67 | /// 0 and `fullRotation`.
68 | public var normalized: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
69 | let max = fullRotation
70 | let moduloValue = fmod(value, max)
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:77:5: warning: 'public' modifier is redundant for property declared in a public extension
75 | /// - returns: `fullRotation` minus the `normalized` angle.
76 | ///
77 | public var inversed: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
78 | let max = fullRotation
79 | return Angle(max - normalized.value, unit: unit)
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:162:5: warning: 'public' modifier is redundant for instance method declared in a public extension
160 | /// - returns: The `Angle` between horizontal line through `self`,
161 | /// and line from `self` to `reference.
162 | public func polarAngle(reference: CGPoint) -> Angle {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
163 | return (self - reference).angle
164 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:169:5: warning: 'public' modifier is redundant for instance method declared in a public extension
167 | /// and `self` to `next`, i.e. the angle at vertex `self`
168 | /// of triangle (`previous`,`self`,`next`).
169 | public func angle(previous: CGPoint, next: CGPoint) -> Angle {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
170 | let v1 = previous - self
171 | let v2 = next - self
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:181:5: warning: 'public' modifier is redundant for initializer declared in a public extension
179 |
180 | /// Convenience initializer for rotation transform.
181 | public init(rotationAngle angle: Angle) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
182 | self.init(rotationAngle: angle.asUnit(.radians))
183 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:186:5: warning: 'public' modifier is redundant for instance method declared in a public extension
184 |
185 | /// Convenienc function for rotating a transform.
186 | public func rotated(by angle: Angle) -> CGAffineTransform {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
187 | return rotated(by: angle.asUnit(.radians))
188 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:14:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
9 | * (top, right, bottom, left) to coordinate positions (minY, maxX, maxY, minX).
10 | */
11 | public struct CoordinateSystem {
| `- note: consider making struct 'CoordinateSystem' conform to the 'Sendable' protocol
12 |
13 | #if os(macOS)
14 | public static let `default` = CoordinateSystem(origin: .bottomLeft)
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | #elseif os(iOS) || os(watchOS) || os(tvOS)
16 | public static let `default` = CoordinateSystem(origin: .topLeft)
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:34:5: warning: 'public' modifier is redundant for property declared in a public extension
32 | * coordinate system, running clockwise starting at topLeft.
33 | */
34 | public var corners: [Corner] {
| `- warning: 'public' modifier is redundant for property declared in a public extension
35 | return CornerPosition.all.map { corner(for: $0) }
36 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:43:5: warning: 'public' modifier is redundant for instance method declared in a public extension
41 | * provided.
42 | */
43 | public func corners(startingAt start: Corner,
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
44 | rotating: RotationDirection = .clockwise) -> [Corner] {
45 | var arrangedCorners: [Corner] = corners
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:54:5: warning: 'public' modifier is redundant for instance method declared in a public extension
52 |
53 | /// - returns: The `CornerPosition` of the `Corner` in this CoordinateSystem.
54 | public func position(for corner: Corner) -> CornerPosition {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
55 | let tlsCorner: CornerPosition // topLeft system corner
56 | switch corner {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:71:5: warning: 'public' modifier is redundant for instance method declared in a public extension
69 |
70 | /// - returns: The `Corner` at the `CornerPosition` in this CoordinateSystem.
71 | public func corner(for position: CornerPosition) -> Corner {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
72 | let tlsPosition: Corner // topLeft system position
73 | switch position {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:93:5: warning: 'public' modifier is redundant for property declared in a public extension
91 | * coordinate system, running clockwise starting at top.
92 | */
93 | public var edges: [CGRectEdge] {
| `- warning: 'public' modifier is redundant for property declared in a public extension
94 | return Side.all.map { edge(for: $0) }
95 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:102:5: warning: 'public' modifier is redundant for instance method declared in a public extension
100 | * provided.
101 | */
102 | public func edges(startingAt start: CGRectEdge,
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
103 | rotating: RotationDirection = .clockwise) -> [CGRectEdge] {
104 | var arrangedEdges: [CGRectEdge] = edges
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:113:5: warning: 'public' modifier is redundant for instance method declared in a public extension
111 |
112 | /// - returns: The `Side` of the `CGRectEdge` in this CoordinateSystem
113 | public func side(for edge: CGRectEdge) -> Side {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
114 | let tlsSide: Side // topLeft system side
115 | switch edge {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:130:5: warning: 'public' modifier is redundant for instance method declared in a public extension
128 |
129 | /// - returns: The `CGRectEdge` at the `Side` in this CoordinateSystem
130 | public func edge(for side: Side) -> CGRectEdge {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
131 | let tlsEdge: CGRectEdge // topLeft system edge
132 | switch side {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:147:5: warning: 'public' modifier is redundant for property declared in a public extension
145 |
146 | /// - returns: True if a circle, traced by incrementing an angle, runs clockwise
147 | public var circleRunsClockwise: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
148 | switch origin {
149 | case .topLeft, .bottomRight: return true
[17/27] Compiling Metron Axis.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:29:5: warning: 'public' modifier is redundant for property declared in a public extension
27 |
28 | /// - returns: The angle expressed in radians.
29 | public var radians: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
30 | return asUnit(.radians)
31 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:33:5: warning: 'public' modifier is redundant for property declared in a public extension
31 | }
32 | /// - returns: The angle expressed in degrees.
33 | public var degrees: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
34 | return asUnit(.degrees)
35 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:42:5: warning: 'public' modifier is redundant for instance method declared in a public extension
40 |
41 | /// - returns: The angle expressed in the provided unit.
42 | public func asUnit(_ unit: Unit) -> CGFloat {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
43 | if self.unit == unit {
44 | return value
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:56:5: warning: 'public' modifier is redundant for static method declared in a public extension
54 | /// - returns: The floating point value representing a full rotation
55 | /// in the given unit (i.e. 2pi radians / 360 degrees)
56 | public static func fullRotation(unit: Unit) -> CGFloat {
| `- warning: 'public' modifier is redundant for static method declared in a public extension
57 | return unit == .radians ? (2.0 * .pi) : 360.0
58 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:62:5: warning: 'public' modifier is redundant for property declared in a public extension
60 | /// - returns: The floating point value representing a full rotation
61 | /// expressed in the current unit of this angle.
62 | public var fullRotation: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
63 | return Angle.fullRotation(unit: unit)
64 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:68:5: warning: 'public' modifier is redundant for property declared in a public extension
66 | /// - returns: The angle expressed in a value normalized between
67 | /// 0 and `fullRotation`.
68 | public var normalized: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
69 | let max = fullRotation
70 | let moduloValue = fmod(value, max)
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:77:5: warning: 'public' modifier is redundant for property declared in a public extension
75 | /// - returns: `fullRotation` minus the `normalized` angle.
76 | ///
77 | public var inversed: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
78 | let max = fullRotation
79 | return Angle(max - normalized.value, unit: unit)
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:162:5: warning: 'public' modifier is redundant for instance method declared in a public extension
160 | /// - returns: The `Angle` between horizontal line through `self`,
161 | /// and line from `self` to `reference.
162 | public func polarAngle(reference: CGPoint) -> Angle {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
163 | return (self - reference).angle
164 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:169:5: warning: 'public' modifier is redundant for instance method declared in a public extension
167 | /// and `self` to `next`, i.e. the angle at vertex `self`
168 | /// of triangle (`previous`,`self`,`next`).
169 | public func angle(previous: CGPoint, next: CGPoint) -> Angle {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
170 | let v1 = previous - self
171 | let v2 = next - self
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:181:5: warning: 'public' modifier is redundant for initializer declared in a public extension
179 |
180 | /// Convenience initializer for rotation transform.
181 | public init(rotationAngle angle: Angle) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
182 | self.init(rotationAngle: angle.asUnit(.radians))
183 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:186:5: warning: 'public' modifier is redundant for instance method declared in a public extension
184 |
185 | /// Convenienc function for rotating a transform.
186 | public func rotated(by angle: Angle) -> CGAffineTransform {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
187 | return rotated(by: angle.asUnit(.radians))
188 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:14:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
9 | * (top, right, bottom, left) to coordinate positions (minY, maxX, maxY, minX).
10 | */
11 | public struct CoordinateSystem {
| `- note: consider making struct 'CoordinateSystem' conform to the 'Sendable' protocol
12 |
13 | #if os(macOS)
14 | public static let `default` = CoordinateSystem(origin: .bottomLeft)
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | #elseif os(iOS) || os(watchOS) || os(tvOS)
16 | public static let `default` = CoordinateSystem(origin: .topLeft)
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:34:5: warning: 'public' modifier is redundant for property declared in a public extension
32 | * coordinate system, running clockwise starting at topLeft.
33 | */
34 | public var corners: [Corner] {
| `- warning: 'public' modifier is redundant for property declared in a public extension
35 | return CornerPosition.all.map { corner(for: $0) }
36 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:43:5: warning: 'public' modifier is redundant for instance method declared in a public extension
41 | * provided.
42 | */
43 | public func corners(startingAt start: Corner,
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
44 | rotating: RotationDirection = .clockwise) -> [Corner] {
45 | var arrangedCorners: [Corner] = corners
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:54:5: warning: 'public' modifier is redundant for instance method declared in a public extension
52 |
53 | /// - returns: The `CornerPosition` of the `Corner` in this CoordinateSystem.
54 | public func position(for corner: Corner) -> CornerPosition {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
55 | let tlsCorner: CornerPosition // topLeft system corner
56 | switch corner {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:71:5: warning: 'public' modifier is redundant for instance method declared in a public extension
69 |
70 | /// - returns: The `Corner` at the `CornerPosition` in this CoordinateSystem.
71 | public func corner(for position: CornerPosition) -> Corner {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
72 | let tlsPosition: Corner // topLeft system position
73 | switch position {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:93:5: warning: 'public' modifier is redundant for property declared in a public extension
91 | * coordinate system, running clockwise starting at top.
92 | */
93 | public var edges: [CGRectEdge] {
| `- warning: 'public' modifier is redundant for property declared in a public extension
94 | return Side.all.map { edge(for: $0) }
95 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:102:5: warning: 'public' modifier is redundant for instance method declared in a public extension
100 | * provided.
101 | */
102 | public func edges(startingAt start: CGRectEdge,
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
103 | rotating: RotationDirection = .clockwise) -> [CGRectEdge] {
104 | var arrangedEdges: [CGRectEdge] = edges
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:113:5: warning: 'public' modifier is redundant for instance method declared in a public extension
111 |
112 | /// - returns: The `Side` of the `CGRectEdge` in this CoordinateSystem
113 | public func side(for edge: CGRectEdge) -> Side {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
114 | let tlsSide: Side // topLeft system side
115 | switch edge {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:130:5: warning: 'public' modifier is redundant for instance method declared in a public extension
128 |
129 | /// - returns: The `CGRectEdge` at the `Side` in this CoordinateSystem
130 | public func edge(for side: Side) -> CGRectEdge {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
131 | let tlsEdge: CGRectEdge // topLeft system edge
132 | switch side {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:147:5: warning: 'public' modifier is redundant for property declared in a public extension
145 |
146 | /// - returns: True if a circle, traced by incrementing an angle, runs clockwise
147 | public var circleRunsClockwise: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
148 | switch origin {
149 | case .topLeft, .bottomRight: return true
[18/27] Compiling Metron CoordinateSystem.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:29:5: warning: 'public' modifier is redundant for property declared in a public extension
27 |
28 | /// - returns: The angle expressed in radians.
29 | public var radians: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
30 | return asUnit(.radians)
31 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:33:5: warning: 'public' modifier is redundant for property declared in a public extension
31 | }
32 | /// - returns: The angle expressed in degrees.
33 | public var degrees: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
34 | return asUnit(.degrees)
35 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:42:5: warning: 'public' modifier is redundant for instance method declared in a public extension
40 |
41 | /// - returns: The angle expressed in the provided unit.
42 | public func asUnit(_ unit: Unit) -> CGFloat {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
43 | if self.unit == unit {
44 | return value
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:56:5: warning: 'public' modifier is redundant for static method declared in a public extension
54 | /// - returns: The floating point value representing a full rotation
55 | /// in the given unit (i.e. 2pi radians / 360 degrees)
56 | public static func fullRotation(unit: Unit) -> CGFloat {
| `- warning: 'public' modifier is redundant for static method declared in a public extension
57 | return unit == .radians ? (2.0 * .pi) : 360.0
58 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:62:5: warning: 'public' modifier is redundant for property declared in a public extension
60 | /// - returns: The floating point value representing a full rotation
61 | /// expressed in the current unit of this angle.
62 | public var fullRotation: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
63 | return Angle.fullRotation(unit: unit)
64 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:68:5: warning: 'public' modifier is redundant for property declared in a public extension
66 | /// - returns: The angle expressed in a value normalized between
67 | /// 0 and `fullRotation`.
68 | public var normalized: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
69 | let max = fullRotation
70 | let moduloValue = fmod(value, max)
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:77:5: warning: 'public' modifier is redundant for property declared in a public extension
75 | /// - returns: `fullRotation` minus the `normalized` angle.
76 | ///
77 | public var inversed: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
78 | let max = fullRotation
79 | return Angle(max - normalized.value, unit: unit)
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:162:5: warning: 'public' modifier is redundant for instance method declared in a public extension
160 | /// - returns: The `Angle` between horizontal line through `self`,
161 | /// and line from `self` to `reference.
162 | public func polarAngle(reference: CGPoint) -> Angle {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
163 | return (self - reference).angle
164 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:169:5: warning: 'public' modifier is redundant for instance method declared in a public extension
167 | /// and `self` to `next`, i.e. the angle at vertex `self`
168 | /// of triangle (`previous`,`self`,`next`).
169 | public func angle(previous: CGPoint, next: CGPoint) -> Angle {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
170 | let v1 = previous - self
171 | let v2 = next - self
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:181:5: warning: 'public' modifier is redundant for initializer declared in a public extension
179 |
180 | /// Convenience initializer for rotation transform.
181 | public init(rotationAngle angle: Angle) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
182 | self.init(rotationAngle: angle.asUnit(.radians))
183 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/Angle.swift:186:5: warning: 'public' modifier is redundant for instance method declared in a public extension
184 |
185 | /// Convenienc function for rotating a transform.
186 | public func rotated(by angle: Angle) -> CGAffineTransform {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
187 | return rotated(by: angle.asUnit(.radians))
188 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:14:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
9 | * (top, right, bottom, left) to coordinate positions (minY, maxX, maxY, minX).
10 | */
11 | public struct CoordinateSystem {
| `- note: consider making struct 'CoordinateSystem' conform to the 'Sendable' protocol
12 |
13 | #if os(macOS)
14 | public static let `default` = CoordinateSystem(origin: .bottomLeft)
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | #elseif os(iOS) || os(watchOS) || os(tvOS)
16 | public static let `default` = CoordinateSystem(origin: .topLeft)
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:34:5: warning: 'public' modifier is redundant for property declared in a public extension
32 | * coordinate system, running clockwise starting at topLeft.
33 | */
34 | public var corners: [Corner] {
| `- warning: 'public' modifier is redundant for property declared in a public extension
35 | return CornerPosition.all.map { corner(for: $0) }
36 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:43:5: warning: 'public' modifier is redundant for instance method declared in a public extension
41 | * provided.
42 | */
43 | public func corners(startingAt start: Corner,
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
44 | rotating: RotationDirection = .clockwise) -> [Corner] {
45 | var arrangedCorners: [Corner] = corners
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:54:5: warning: 'public' modifier is redundant for instance method declared in a public extension
52 |
53 | /// - returns: The `CornerPosition` of the `Corner` in this CoordinateSystem.
54 | public func position(for corner: Corner) -> CornerPosition {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
55 | let tlsCorner: CornerPosition // topLeft system corner
56 | switch corner {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:71:5: warning: 'public' modifier is redundant for instance method declared in a public extension
69 |
70 | /// - returns: The `Corner` at the `CornerPosition` in this CoordinateSystem.
71 | public func corner(for position: CornerPosition) -> Corner {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
72 | let tlsPosition: Corner // topLeft system position
73 | switch position {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:93:5: warning: 'public' modifier is redundant for property declared in a public extension
91 | * coordinate system, running clockwise starting at top.
92 | */
93 | public var edges: [CGRectEdge] {
| `- warning: 'public' modifier is redundant for property declared in a public extension
94 | return Side.all.map { edge(for: $0) }
95 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:102:5: warning: 'public' modifier is redundant for instance method declared in a public extension
100 | * provided.
101 | */
102 | public func edges(startingAt start: CGRectEdge,
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
103 | rotating: RotationDirection = .clockwise) -> [CGRectEdge] {
104 | var arrangedEdges: [CGRectEdge] = edges
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:113:5: warning: 'public' modifier is redundant for instance method declared in a public extension
111 |
112 | /// - returns: The `Side` of the `CGRectEdge` in this CoordinateSystem
113 | public func side(for edge: CGRectEdge) -> Side {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
114 | let tlsSide: Side // topLeft system side
115 | switch edge {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:130:5: warning: 'public' modifier is redundant for instance method declared in a public extension
128 |
129 | /// - returns: The `CGRectEdge` at the `Side` in this CoordinateSystem
130 | public func edge(for side: Side) -> CGRectEdge {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
131 | let tlsEdge: CGRectEdge // topLeft system edge
132 | switch side {
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:147:5: warning: 'public' modifier is redundant for property declared in a public extension
145 |
146 | /// - returns: True if a circle, traced by incrementing an angle, runs clockwise
147 | public var circleRunsClockwise: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
148 | switch origin {
149 | case .topLeft, .bottomRight: return true
[19/27] Compiling Metron Square.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Square.swift:20:5: warning: 'public' modifier is redundant for initializer declared in a public extension
18 | /// Initializes a `Square` that is aspect-fitted in
19 | /// the center of the provided rect.
20 | public init(in rect: CGRect) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
21 | let square = CGRect(aspectFitSize: CGSize(edges: min(rect.width, rect.height)), inRect: rect)
22 | self.init(origin: square.origin, edges: square.width)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Square.swift:26:5: warning: 'public' modifier is redundant for property declared in a public extension
24 |
25 | /// - returns: The `CGRect` representing this square.
26 | public var rect: CGRect {
| `- warning: 'public' modifier is redundant for property declared in a public extension
27 | return CGRect(origin: origin, edges: edges)
28 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:14:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
9 | * (top, right, bottom, left) to coordinate positions (minY, maxX, maxY, minX).
10 | */
11 | public struct CoordinateSystem {
| `- note: consider making struct 'CoordinateSystem' conform to the 'Sendable' protocol
12 |
13 | #if os(macOS)
14 | public static let `default` = CoordinateSystem(origin: .bottomLeft)
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | #elseif os(iOS) || os(watchOS) || os(tvOS)
16 | public static let `default` = CoordinateSystem(origin: .topLeft)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:34:5: warning: 'public' modifier is redundant for property declared in a public extension
32 |
33 | public extension Triplet where T: Summable {
34 | public var sum: T {
| `- warning: 'public' modifier is redundant for property declared in a public extension
35 | return a + b + c
36 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:61:5: warning: 'public' modifier is redundant for property declared in a public extension
59 | public extension Triangle {
60 |
61 | public var vertexA: Vertex {
| `- warning: 'public' modifier is redundant for property declared in a public extension
62 | return vertices.a
63 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:64:5: warning: 'public' modifier is redundant for property declared in a public extension
62 | return vertices.a
63 | }
64 | public var vertexB: Vertex {
| `- warning: 'public' modifier is redundant for property declared in a public extension
65 | return vertices.b
66 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:67:5: warning: 'public' modifier is redundant for property declared in a public extension
65 | return vertices.b
66 | }
67 | public var vertexC: Vertex {
| `- warning: 'public' modifier is redundant for property declared in a public extension
68 | return vertices.c
69 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:75:5: warning: 'public' modifier is redundant for property declared in a public extension
73 |
74 | /// Side A is opposite `vertexA`.
75 | public var sideA: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
76 | return LineSegment(a: vertices.b, b: vertices.c)
77 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:79:5: warning: 'public' modifier is redundant for property declared in a public extension
77 | }
78 | /// Side B is opposite `vertexB`.
79 | public var sideB: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
80 | return LineSegment(a: vertices.c, b: vertices.a)
81 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:83:5: warning: 'public' modifier is redundant for property declared in a public extension
81 | }
82 | /// Side C is opposite `vertexC`.
83 | public var sideC: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
84 | return LineSegment(a: vertices.a, b: vertices.b)
85 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:88:5: warning: 'public' modifier is redundant for property declared in a public extension
86 |
87 | /// All sides as `Triplet`.
88 | public var sides: Triplet<LineSegment> {
| `- warning: 'public' modifier is redundant for property declared in a public extension
89 | return Triplet(a: sideA, b: sideB, c: sideC)
90 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:97:5: warning: 'public' modifier is redundant for property declared in a public extension
95 | /// Angle A is the angle at vertex A,
96 | /// from side C to side B.
97 | public var angleA: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
98 | return angles.a
99 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:103:5: warning: 'public' modifier is redundant for property declared in a public extension
101 | /// Angle B is the angle at vertex B,
102 | /// from side A to side C.
103 | public var angleB: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
104 | return angles.b
105 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:109:5: warning: 'public' modifier is redundant for property declared in a public extension
107 | /// Angle C is the angle at vertex C,
108 | /// from side B to side A.
109 | public var angleC: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
110 | return angles.c
111 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:115:5: warning: 'public' modifier is redundant for property declared in a public extension
113 | /// All angles as `Triplet`. These are calculated together
114 | /// to guarantee the angles are not inversed (negative or reflex).
115 | public var angles: Triplet<Angle> {
| `- warning: 'public' modifier is redundant for property declared in a public extension
116 | let a = vertexA.angle(previous: vertexC, next: vertexB)
117 | let b = vertexB.angle(previous: vertexA, next: vertexC)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:131:5: warning: 'public' modifier is redundant for property declared in a public extension
129 | /// An angle bisector divides the angle into two angles with equal measures.
130 | /// `angleBisectorA` bisects `angleA`.
131 | public var angleBisectorA: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
132 | return LineSegment(a: vertices.a, b: vertices.b).rotatedAroundA(0.5 * angleA)
133 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:137:5: warning: 'public' modifier is redundant for property declared in a public extension
135 | /// An angle bisector divides the angle into two angles with equal measures.
136 | /// `angleBisectorB` bisects `angleB`.
137 | public var angleBisectorB: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
138 | return LineSegment(a: vertices.b, b: vertices.c).rotatedAroundA(0.5 * angleB)
139 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:143:5: warning: 'public' modifier is redundant for property declared in a public extension
141 | /// An angle bisector divides the angle into two angles with equal measures.
142 | /// `angleBisectorC` bisects `angleC`.
143 | public var angleBisectorC: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
144 | return LineSegment(a: vertices.c, b: vertices.a).rotatedAroundA(0.5 * angleC)
145 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:148:5: warning: 'public' modifier is redundant for property declared in a public extension
146 |
147 | /// All angle bisectors as `Triplet`.
148 | public var angleBisectors: Triplet<LineSegment> {
| `- warning: 'public' modifier is redundant for property declared in a public extension
149 | return Triplet(a: angleBisectorA, b: angleBisectorB, c: angleBisectorC)
150 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:158:5: warning: 'public' modifier is redundant for property declared in a public extension
156 | /// and perpendicular to the opposite side.
157 | /// `altitudeA` goes perpendicular from `sideA` to `vertexA`.
158 | public var altitudeA: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
159 | let line = sideA.line.perpendicular(through: vertexA)
160 | return line.segment(between: line.intersection(with: sideA)!, and: vertexA)!
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:166:5: warning: 'public' modifier is redundant for property declared in a public extension
164 | /// and perpendicular to the opposite side.
165 | /// `altitudeB` goes perpendicular from `sideB` to `vertexB`.
166 | public var altitudeB: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
167 | let line = sideB.line.perpendicular(through: vertexB)
168 | return line.segment(between: line.intersection(with: sideB)!, and: vertexB)!
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:174:5: warning: 'public' modifier is redundant for property declared in a public extension
172 | /// and perpendicular to the opposite side.
173 | /// `altitudeC` goes perpendicular from `sideC` to `vertexC`.
174 | public var altitudeC: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
175 | let line = sideC.line.perpendicular(through: vertexC)
176 | return line.segment(between: line.intersection(with: sideC)!, and: vertexC)!
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:180:5: warning: 'public' modifier is redundant for property declared in a public extension
178 |
179 | /// All altitudes as `Triplet`.
180 | public var altitudes: Triplet<LineSegment> {
| `- warning: 'public' modifier is redundant for property declared in a public extension
181 | return Triplet(a: altitudeA, b: altitudeB, c: altitudeC)
182 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:192:5: warning: 'public' modifier is redundant for property declared in a public extension
190 |
191 | /// True if all sides are equal.
192 | public var isEquilateral: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
193 | let sides = self.sides
194 | let (a, b, c) = (sides.a.length, sides.b.length, sides.c.length)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:200:5: warning: 'public' modifier is redundant for property declared in a public extension
198 |
199 | /// True iff two sides are equal.
200 | public var isIsosceles: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
201 | let sides = self.sides
202 | let (a, b, c) = (sides.a.length, sides.b.length, sides.c.length)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:209:5: warning: 'public' modifier is redundant for property declared in a public extension
207 |
208 | /// True if all sides are different.
209 | public var isScalene: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
210 | let sides = self.sides
211 | let (a, b, c) = (sides.a.length, sides.b.length, sides.c.length)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:218:5: warning: 'public' modifier is redundant for property declared in a public extension
216 |
217 | /// True if one angle is exactly 90°.
218 | public var isRight: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
219 | return angles.asArray.first { round($0.degrees) == 90.0 } != nil
220 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:222:5: warning: 'public' modifier is redundant for property declared in a public extension
220 | }
221 | /// True of no angle is 90°.
222 | public var isOblique: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
223 | return !isRight
224 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:227:5: warning: 'public' modifier is redundant for property declared in a public extension
225 |
226 | /// True if all angles are less than 90°.
227 | public var isAcute: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
228 | return angles.asArray.reduce(true, { return $0 && $1.degrees < 90.0 })
229 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:231:5: warning: 'public' modifier is redundant for property declared in a public extension
229 | }
230 | /// True if one angle is more than 90°.
231 | public var isObtuse: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
232 | return !isAcute
233 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:240:5: warning: 'public' modifier is redundant for property declared in a public extension
238 | /// The intersection of the lines drawn from each
239 | /// vertex to the midpoint of the other side.
240 | public var centroid: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
241 | return CGPoint(x: (vertexA.x + vertexB.x + vertexC.x) / 3.0,
242 | y: (vertexA.y + vertexB.y + vertexC.y) / 3.0)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:247:5: warning: 'public' modifier is redundant for property declared in a public extension
245 | /// The interscetion of each side's perpendicular bisector
246 | /// (a perpendicular line drawn from the midpoint of a side).
247 | public var circumcenter: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
248 | let perpendicularBisectorA = sideA.line.perpendicular(through: sideA.midpoint)
249 | let perpendicularBisectorB = sideB.line.perpendicular(through: sideB.midpoint)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:255:5: warning: 'public' modifier is redundant for property declared in a public extension
253 | /// The intersection of each angle's bisector
254 | /// (An angle bisector divides the angle into two angles with equal measures).
255 | public var incenter: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
256 | return angleBisectorA.intersection(with: angleBisectorB)!
257 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:261:5: warning: 'public' modifier is redundant for property declared in a public extension
259 | /// The intersection of each side's altitude
260 | /// (a line drawn at right angle to a side and going through the opposite vertex).
261 | public var orthocenter: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
262 | return altitudeA.intersection(with: altitudeB)!
263 | }
[20/27] Compiling Metron Triangle.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Square.swift:20:5: warning: 'public' modifier is redundant for initializer declared in a public extension
18 | /// Initializes a `Square` that is aspect-fitted in
19 | /// the center of the provided rect.
20 | public init(in rect: CGRect) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
21 | let square = CGRect(aspectFitSize: CGSize(edges: min(rect.width, rect.height)), inRect: rect)
22 | self.init(origin: square.origin, edges: square.width)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Square.swift:26:5: warning: 'public' modifier is redundant for property declared in a public extension
24 |
25 | /// - returns: The `CGRect` representing this square.
26 | public var rect: CGRect {
| `- warning: 'public' modifier is redundant for property declared in a public extension
27 | return CGRect(origin: origin, edges: edges)
28 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:14:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
9 | * (top, right, bottom, left) to coordinate positions (minY, maxX, maxY, minX).
10 | */
11 | public struct CoordinateSystem {
| `- note: consider making struct 'CoordinateSystem' conform to the 'Sendable' protocol
12 |
13 | #if os(macOS)
14 | public static let `default` = CoordinateSystem(origin: .bottomLeft)
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | #elseif os(iOS) || os(watchOS) || os(tvOS)
16 | public static let `default` = CoordinateSystem(origin: .topLeft)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:34:5: warning: 'public' modifier is redundant for property declared in a public extension
32 |
33 | public extension Triplet where T: Summable {
34 | public var sum: T {
| `- warning: 'public' modifier is redundant for property declared in a public extension
35 | return a + b + c
36 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:61:5: warning: 'public' modifier is redundant for property declared in a public extension
59 | public extension Triangle {
60 |
61 | public var vertexA: Vertex {
| `- warning: 'public' modifier is redundant for property declared in a public extension
62 | return vertices.a
63 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:64:5: warning: 'public' modifier is redundant for property declared in a public extension
62 | return vertices.a
63 | }
64 | public var vertexB: Vertex {
| `- warning: 'public' modifier is redundant for property declared in a public extension
65 | return vertices.b
66 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:67:5: warning: 'public' modifier is redundant for property declared in a public extension
65 | return vertices.b
66 | }
67 | public var vertexC: Vertex {
| `- warning: 'public' modifier is redundant for property declared in a public extension
68 | return vertices.c
69 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:75:5: warning: 'public' modifier is redundant for property declared in a public extension
73 |
74 | /// Side A is opposite `vertexA`.
75 | public var sideA: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
76 | return LineSegment(a: vertices.b, b: vertices.c)
77 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:79:5: warning: 'public' modifier is redundant for property declared in a public extension
77 | }
78 | /// Side B is opposite `vertexB`.
79 | public var sideB: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
80 | return LineSegment(a: vertices.c, b: vertices.a)
81 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:83:5: warning: 'public' modifier is redundant for property declared in a public extension
81 | }
82 | /// Side C is opposite `vertexC`.
83 | public var sideC: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
84 | return LineSegment(a: vertices.a, b: vertices.b)
85 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:88:5: warning: 'public' modifier is redundant for property declared in a public extension
86 |
87 | /// All sides as `Triplet`.
88 | public var sides: Triplet<LineSegment> {
| `- warning: 'public' modifier is redundant for property declared in a public extension
89 | return Triplet(a: sideA, b: sideB, c: sideC)
90 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:97:5: warning: 'public' modifier is redundant for property declared in a public extension
95 | /// Angle A is the angle at vertex A,
96 | /// from side C to side B.
97 | public var angleA: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
98 | return angles.a
99 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:103:5: warning: 'public' modifier is redundant for property declared in a public extension
101 | /// Angle B is the angle at vertex B,
102 | /// from side A to side C.
103 | public var angleB: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
104 | return angles.b
105 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:109:5: warning: 'public' modifier is redundant for property declared in a public extension
107 | /// Angle C is the angle at vertex C,
108 | /// from side B to side A.
109 | public var angleC: Angle {
| `- warning: 'public' modifier is redundant for property declared in a public extension
110 | return angles.c
111 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:115:5: warning: 'public' modifier is redundant for property declared in a public extension
113 | /// All angles as `Triplet`. These are calculated together
114 | /// to guarantee the angles are not inversed (negative or reflex).
115 | public var angles: Triplet<Angle> {
| `- warning: 'public' modifier is redundant for property declared in a public extension
116 | let a = vertexA.angle(previous: vertexC, next: vertexB)
117 | let b = vertexB.angle(previous: vertexA, next: vertexC)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:131:5: warning: 'public' modifier is redundant for property declared in a public extension
129 | /// An angle bisector divides the angle into two angles with equal measures.
130 | /// `angleBisectorA` bisects `angleA`.
131 | public var angleBisectorA: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
132 | return LineSegment(a: vertices.a, b: vertices.b).rotatedAroundA(0.5 * angleA)
133 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:137:5: warning: 'public' modifier is redundant for property declared in a public extension
135 | /// An angle bisector divides the angle into two angles with equal measures.
136 | /// `angleBisectorB` bisects `angleB`.
137 | public var angleBisectorB: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
138 | return LineSegment(a: vertices.b, b: vertices.c).rotatedAroundA(0.5 * angleB)
139 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:143:5: warning: 'public' modifier is redundant for property declared in a public extension
141 | /// An angle bisector divides the angle into two angles with equal measures.
142 | /// `angleBisectorC` bisects `angleC`.
143 | public var angleBisectorC: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
144 | return LineSegment(a: vertices.c, b: vertices.a).rotatedAroundA(0.5 * angleC)
145 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:148:5: warning: 'public' modifier is redundant for property declared in a public extension
146 |
147 | /// All angle bisectors as `Triplet`.
148 | public var angleBisectors: Triplet<LineSegment> {
| `- warning: 'public' modifier is redundant for property declared in a public extension
149 | return Triplet(a: angleBisectorA, b: angleBisectorB, c: angleBisectorC)
150 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:158:5: warning: 'public' modifier is redundant for property declared in a public extension
156 | /// and perpendicular to the opposite side.
157 | /// `altitudeA` goes perpendicular from `sideA` to `vertexA`.
158 | public var altitudeA: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
159 | let line = sideA.line.perpendicular(through: vertexA)
160 | return line.segment(between: line.intersection(with: sideA)!, and: vertexA)!
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:166:5: warning: 'public' modifier is redundant for property declared in a public extension
164 | /// and perpendicular to the opposite side.
165 | /// `altitudeB` goes perpendicular from `sideB` to `vertexB`.
166 | public var altitudeB: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
167 | let line = sideB.line.perpendicular(through: vertexB)
168 | return line.segment(between: line.intersection(with: sideB)!, and: vertexB)!
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:174:5: warning: 'public' modifier is redundant for property declared in a public extension
172 | /// and perpendicular to the opposite side.
173 | /// `altitudeC` goes perpendicular from `sideC` to `vertexC`.
174 | public var altitudeC: LineSegment {
| `- warning: 'public' modifier is redundant for property declared in a public extension
175 | let line = sideC.line.perpendicular(through: vertexC)
176 | return line.segment(between: line.intersection(with: sideC)!, and: vertexC)!
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:180:5: warning: 'public' modifier is redundant for property declared in a public extension
178 |
179 | /// All altitudes as `Triplet`.
180 | public var altitudes: Triplet<LineSegment> {
| `- warning: 'public' modifier is redundant for property declared in a public extension
181 | return Triplet(a: altitudeA, b: altitudeB, c: altitudeC)
182 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:192:5: warning: 'public' modifier is redundant for property declared in a public extension
190 |
191 | /// True if all sides are equal.
192 | public var isEquilateral: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
193 | let sides = self.sides
194 | let (a, b, c) = (sides.a.length, sides.b.length, sides.c.length)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:200:5: warning: 'public' modifier is redundant for property declared in a public extension
198 |
199 | /// True iff two sides are equal.
200 | public var isIsosceles: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
201 | let sides = self.sides
202 | let (a, b, c) = (sides.a.length, sides.b.length, sides.c.length)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:209:5: warning: 'public' modifier is redundant for property declared in a public extension
207 |
208 | /// True if all sides are different.
209 | public var isScalene: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
210 | let sides = self.sides
211 | let (a, b, c) = (sides.a.length, sides.b.length, sides.c.length)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:218:5: warning: 'public' modifier is redundant for property declared in a public extension
216 |
217 | /// True if one angle is exactly 90°.
218 | public var isRight: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
219 | return angles.asArray.first { round($0.degrees) == 90.0 } != nil
220 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:222:5: warning: 'public' modifier is redundant for property declared in a public extension
220 | }
221 | /// True of no angle is 90°.
222 | public var isOblique: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
223 | return !isRight
224 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:227:5: warning: 'public' modifier is redundant for property declared in a public extension
225 |
226 | /// True if all angles are less than 90°.
227 | public var isAcute: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
228 | return angles.asArray.reduce(true, { return $0 && $1.degrees < 90.0 })
229 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:231:5: warning: 'public' modifier is redundant for property declared in a public extension
229 | }
230 | /// True if one angle is more than 90°.
231 | public var isObtuse: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
232 | return !isAcute
233 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:240:5: warning: 'public' modifier is redundant for property declared in a public extension
238 | /// The intersection of the lines drawn from each
239 | /// vertex to the midpoint of the other side.
240 | public var centroid: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
241 | return CGPoint(x: (vertexA.x + vertexB.x + vertexC.x) / 3.0,
242 | y: (vertexA.y + vertexB.y + vertexC.y) / 3.0)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:247:5: warning: 'public' modifier is redundant for property declared in a public extension
245 | /// The interscetion of each side's perpendicular bisector
246 | /// (a perpendicular line drawn from the midpoint of a side).
247 | public var circumcenter: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
248 | let perpendicularBisectorA = sideA.line.perpendicular(through: sideA.midpoint)
249 | let perpendicularBisectorB = sideB.line.perpendicular(through: sideB.midpoint)
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:255:5: warning: 'public' modifier is redundant for property declared in a public extension
253 | /// The intersection of each angle's bisector
254 | /// (An angle bisector divides the angle into two angles with equal measures).
255 | public var incenter: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
256 | return angleBisectorA.intersection(with: angleBisectorB)!
257 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Triangle.swift:261:5: warning: 'public' modifier is redundant for property declared in a public extension
259 | /// The intersection of each side's altitude
260 | /// (a line drawn at right angle to a side and going through the opposite vertex).
261 | public var orthocenter: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
262 | return altitudeA.intersection(with: altitudeB)!
263 | }
[21/27] Compiling Metron CGAffineTransform.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGAffineTransform.swift:21:5: warning: 'public' modifier is redundant for instance method declared in a public extension
19 |
20 | /// Applies the given transform using the origin as anchor point.
21 | public func applying(_ t: CGAffineTransform, anchorPoint: CGPoint) -> Self {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
22 | let m = applying(CGAffineTransform(translationX: -anchorPoint.x, y: -anchorPoint.y))
23 | let mt = m.applying(t)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:6:5: warning: 'public' modifier is redundant for property declared in a public extension
4 |
5 | /// - returns: A `CGVector` with dx: x and dy: y.
6 | public var vector: CGVector {
| `- warning: 'public' modifier is redundant for property declared in a public extension
7 | return CGVector(dx: x, dy: y)
8 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:11:5: warning: 'public' modifier is redundant for property declared in a public extension
9 |
10 | /// - returns: A `CGPoint` with rounded x and y values.
11 | public var rounded: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
12 | return CGPoint(x: round(x), y: round(y))
13 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:16:5: warning: 'public' modifier is redundant for instance method declared in a public extension
14 |
15 | /// - returns: The Euclidean distance from self to the given point.
16 | public func distance(to point: CGPoint) -> CGFloat {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
17 | return (point - self).magnitude
18 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:21:5: warning: 'public' modifier is redundant for instance method declared in a public extension
19 |
20 | /// Constrains the x and y value to within the provided rect.
21 | public func clipped(to rect: CGRect) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
22 | return CGPoint(x: x.clipped(rect.minX, rect.maxX),
23 | y: y.clipped(rect.minY, rect.maxY))
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:27:5: warning: 'public' modifier is redundant for instance method declared in a public extension
25 |
26 | /// - returns: The relative position inside the provided rect.
27 | public func position(in rect: CGRect) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
28 | return CGPoint(x: x - rect.origin.x,
29 | y: y - rect.origin.y)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:35:5: warning: 'public' modifier is redundant for instance method declared in a public extension
33 | /// where horizontal and vertical position are normalized
34 | /// (i.e. mapped to 0-1 range).
35 | public func normalizedPosition(in rect: CGRect) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
36 | let p = position(in: rect)
37 | return CGPoint(x: (1.0 / rect.width) * p.x,
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:42:5: warning: 'public' modifier is redundant for instance method declared in a public extension
40 |
41 | /// - returns: True if the line contains the point.
42 | public func isAt(line: Line) -> Bool {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
43 | return line.contains(self)
44 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:7:5: warning: 'public' modifier is redundant for initializer declared in a public extension
5 | // MARK: Convenience initializers
6 |
7 | public init(size: CGSize) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
8 | self.init(origin: .zero, size: size)
9 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:11:5: warning: 'public' modifier is redundant for initializer declared in a public extension
9 | }
10 |
11 | public init(center: CGPoint, size: CGSize) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
12 | self.init(origin: CGPoint(x: center.x - size.width / 2, y: center.y - size.height / 2), size: size)
13 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:15:5: warning: 'public' modifier is redundant for initializer declared in a public extension
13 | }
14 |
15 | public init(origin: CGPoint, edges: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
16 | self.init(origin: origin, size: CGSize(edges: edges))
17 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:19:5: warning: 'public' modifier is redundant for initializer declared in a public extension
17 | }
18 |
19 | public init(center: CGPoint, edges: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
20 | self.init(center: center, size: CGSize(edges: edges))
21 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:23:5: warning: 'public' modifier is redundant for initializer declared in a public extension
21 | }
22 |
23 | public init(minX: CGFloat, minY: CGFloat, maxX: CGFloat, maxY: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
24 | self.init(origin: CGPoint(x: minX, y: minY), size: CGSize(width: maxX - minX, height: maxY - minY))
25 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:29:5: warning: 'public' modifier is redundant for initializer declared in a public extension
27 | /// Initializes a `CGRect` of specified size, positioned such that
28 | /// the provided `origin` point will be in the specified `corner`.
29 | public init(size: CGSize, origin: CGPoint, inCorner corner: Corner) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
30 | switch corner {
31 | case .minXminY: self.init(origin: origin, size: size)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:42:5: warning: 'public' modifier is redundant for initializer declared in a public extension
40 | /// Initializes a `CGRect` that is scaled – preserving aspect ratio – to fill
41 | /// the entire rect specified at `inRect:`.
42 | public init(aspectFillSize size: CGSize, inRect rect: CGRect) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
43 | let ratio = size / rect.size
44 | let smallestRatio = min(ratio.width, ratio.height)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:50:5: warning: 'public' modifier is redundant for initializer declared in a public extension
48 | /// Initializes a `CGRect` that is scaled – preserving aspect ratio – to fit
49 | /// exactly in the rect specified at `inRect:`.
50 | public init(aspectFitSize size: CGSize, inRect rect: CGRect) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
51 | let ratio = size / rect.size
52 | let largestRatio = max(ratio.width, ratio.height)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:58:5: warning: 'public' modifier is redundant for instance method declared in a public extension
56 | /// - returns: The value for the given edge
57 | /// (i.e. `minXEdge` will return this rect's `minX` value).
58 | public func edge(_ edge: CGRectEdge) -> CGFloat {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
59 | switch edge {
60 | case .minXEdge: return minX
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |
67 | /// - returns: The `CGPoint` coordinate for the given corner.
68 | public func corner(_ corner: Corner) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 | return CGPoint(x: edge(corner.xEdge), y: edge(corner.yEdge))
70 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:74:5: warning: 'public' modifier is redundant for instance method declared in a public extension
72 | /// - returns: A `CGRect` with size scaled to the provided scale factor,
73 | /// preserving the center.
74 | public func scaled(by scale: CGFloat) -> CGRect {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
75 | return CGRect(center: center, size: size * scale)
76 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:80:5: warning: 'public' modifier is redundant for instance method declared in a public extension
78 | /// - returns: A `CGRect` with size scaled to the provided scale factor,
79 | /// preserving the specified corner.
80 | public func scaled(by scale: CGFloat, corner: Corner) -> CGRect {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
81 | return CGRect(size: size * scale, origin: self.corner(corner), inCorner: corner)
82 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:85:5: warning: 'public' modifier is redundant for instance method declared in a public extension
83 |
84 | /// - returns: The `LineSegment` representing the provided edge.
85 | public func lineSegment(for edge: CGRectEdge) -> LineSegment {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
86 | let corners = edge.corners
87 | return LineSegment(a: corner(corners.0), b: corner(corners.1))
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:14:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
9 | * (top, right, bottom, left) to coordinate positions (minY, maxX, maxY, minX).
10 | */
11 | public struct CoordinateSystem {
| `- note: consider making struct 'CoordinateSystem' conform to the 'Sendable' protocol
12 |
13 | #if os(macOS)
14 | public static let `default` = CoordinateSystem(origin: .bottomLeft)
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | #elseif os(iOS) || os(watchOS) || os(tvOS)
16 | public static let `default` = CoordinateSystem(origin: .topLeft)
[22/27] Compiling Metron CGPoint.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGAffineTransform.swift:21:5: warning: 'public' modifier is redundant for instance method declared in a public extension
19 |
20 | /// Applies the given transform using the origin as anchor point.
21 | public func applying(_ t: CGAffineTransform, anchorPoint: CGPoint) -> Self {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
22 | let m = applying(CGAffineTransform(translationX: -anchorPoint.x, y: -anchorPoint.y))
23 | let mt = m.applying(t)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:6:5: warning: 'public' modifier is redundant for property declared in a public extension
4 |
5 | /// - returns: A `CGVector` with dx: x and dy: y.
6 | public var vector: CGVector {
| `- warning: 'public' modifier is redundant for property declared in a public extension
7 | return CGVector(dx: x, dy: y)
8 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:11:5: warning: 'public' modifier is redundant for property declared in a public extension
9 |
10 | /// - returns: A `CGPoint` with rounded x and y values.
11 | public var rounded: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
12 | return CGPoint(x: round(x), y: round(y))
13 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:16:5: warning: 'public' modifier is redundant for instance method declared in a public extension
14 |
15 | /// - returns: The Euclidean distance from self to the given point.
16 | public func distance(to point: CGPoint) -> CGFloat {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
17 | return (point - self).magnitude
18 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:21:5: warning: 'public' modifier is redundant for instance method declared in a public extension
19 |
20 | /// Constrains the x and y value to within the provided rect.
21 | public func clipped(to rect: CGRect) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
22 | return CGPoint(x: x.clipped(rect.minX, rect.maxX),
23 | y: y.clipped(rect.minY, rect.maxY))
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:27:5: warning: 'public' modifier is redundant for instance method declared in a public extension
25 |
26 | /// - returns: The relative position inside the provided rect.
27 | public func position(in rect: CGRect) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
28 | return CGPoint(x: x - rect.origin.x,
29 | y: y - rect.origin.y)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:35:5: warning: 'public' modifier is redundant for instance method declared in a public extension
33 | /// where horizontal and vertical position are normalized
34 | /// (i.e. mapped to 0-1 range).
35 | public func normalizedPosition(in rect: CGRect) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
36 | let p = position(in: rect)
37 | return CGPoint(x: (1.0 / rect.width) * p.x,
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:42:5: warning: 'public' modifier is redundant for instance method declared in a public extension
40 |
41 | /// - returns: True if the line contains the point.
42 | public func isAt(line: Line) -> Bool {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
43 | return line.contains(self)
44 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:7:5: warning: 'public' modifier is redundant for initializer declared in a public extension
5 | // MARK: Convenience initializers
6 |
7 | public init(size: CGSize) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
8 | self.init(origin: .zero, size: size)
9 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:11:5: warning: 'public' modifier is redundant for initializer declared in a public extension
9 | }
10 |
11 | public init(center: CGPoint, size: CGSize) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
12 | self.init(origin: CGPoint(x: center.x - size.width / 2, y: center.y - size.height / 2), size: size)
13 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:15:5: warning: 'public' modifier is redundant for initializer declared in a public extension
13 | }
14 |
15 | public init(origin: CGPoint, edges: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
16 | self.init(origin: origin, size: CGSize(edges: edges))
17 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:19:5: warning: 'public' modifier is redundant for initializer declared in a public extension
17 | }
18 |
19 | public init(center: CGPoint, edges: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
20 | self.init(center: center, size: CGSize(edges: edges))
21 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:23:5: warning: 'public' modifier is redundant for initializer declared in a public extension
21 | }
22 |
23 | public init(minX: CGFloat, minY: CGFloat, maxX: CGFloat, maxY: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
24 | self.init(origin: CGPoint(x: minX, y: minY), size: CGSize(width: maxX - minX, height: maxY - minY))
25 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:29:5: warning: 'public' modifier is redundant for initializer declared in a public extension
27 | /// Initializes a `CGRect` of specified size, positioned such that
28 | /// the provided `origin` point will be in the specified `corner`.
29 | public init(size: CGSize, origin: CGPoint, inCorner corner: Corner) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
30 | switch corner {
31 | case .minXminY: self.init(origin: origin, size: size)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:42:5: warning: 'public' modifier is redundant for initializer declared in a public extension
40 | /// Initializes a `CGRect` that is scaled – preserving aspect ratio – to fill
41 | /// the entire rect specified at `inRect:`.
42 | public init(aspectFillSize size: CGSize, inRect rect: CGRect) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
43 | let ratio = size / rect.size
44 | let smallestRatio = min(ratio.width, ratio.height)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:50:5: warning: 'public' modifier is redundant for initializer declared in a public extension
48 | /// Initializes a `CGRect` that is scaled – preserving aspect ratio – to fit
49 | /// exactly in the rect specified at `inRect:`.
50 | public init(aspectFitSize size: CGSize, inRect rect: CGRect) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
51 | let ratio = size / rect.size
52 | let largestRatio = max(ratio.width, ratio.height)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:58:5: warning: 'public' modifier is redundant for instance method declared in a public extension
56 | /// - returns: The value for the given edge
57 | /// (i.e. `minXEdge` will return this rect's `minX` value).
58 | public func edge(_ edge: CGRectEdge) -> CGFloat {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
59 | switch edge {
60 | case .minXEdge: return minX
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |
67 | /// - returns: The `CGPoint` coordinate for the given corner.
68 | public func corner(_ corner: Corner) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 | return CGPoint(x: edge(corner.xEdge), y: edge(corner.yEdge))
70 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:74:5: warning: 'public' modifier is redundant for instance method declared in a public extension
72 | /// - returns: A `CGRect` with size scaled to the provided scale factor,
73 | /// preserving the center.
74 | public func scaled(by scale: CGFloat) -> CGRect {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
75 | return CGRect(center: center, size: size * scale)
76 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:80:5: warning: 'public' modifier is redundant for instance method declared in a public extension
78 | /// - returns: A `CGRect` with size scaled to the provided scale factor,
79 | /// preserving the specified corner.
80 | public func scaled(by scale: CGFloat, corner: Corner) -> CGRect {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
81 | return CGRect(size: size * scale, origin: self.corner(corner), inCorner: corner)
82 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:85:5: warning: 'public' modifier is redundant for instance method declared in a public extension
83 |
84 | /// - returns: The `LineSegment` representing the provided edge.
85 | public func lineSegment(for edge: CGRectEdge) -> LineSegment {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
86 | let corners = edge.corners
87 | return LineSegment(a: corner(corners.0), b: corner(corners.1))
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:14:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
9 | * (top, right, bottom, left) to coordinate positions (minY, maxX, maxY, minX).
10 | */
11 | public struct CoordinateSystem {
| `- note: consider making struct 'CoordinateSystem' conform to the 'Sendable' protocol
12 |
13 | #if os(macOS)
14 | public static let `default` = CoordinateSystem(origin: .bottomLeft)
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | #elseif os(iOS) || os(watchOS) || os(tvOS)
16 | public static let `default` = CoordinateSystem(origin: .topLeft)
[23/27] Compiling Metron CGRect.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGAffineTransform.swift:21:5: warning: 'public' modifier is redundant for instance method declared in a public extension
19 |
20 | /// Applies the given transform using the origin as anchor point.
21 | public func applying(_ t: CGAffineTransform, anchorPoint: CGPoint) -> Self {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
22 | let m = applying(CGAffineTransform(translationX: -anchorPoint.x, y: -anchorPoint.y))
23 | let mt = m.applying(t)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:6:5: warning: 'public' modifier is redundant for property declared in a public extension
4 |
5 | /// - returns: A `CGVector` with dx: x and dy: y.
6 | public var vector: CGVector {
| `- warning: 'public' modifier is redundant for property declared in a public extension
7 | return CGVector(dx: x, dy: y)
8 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:11:5: warning: 'public' modifier is redundant for property declared in a public extension
9 |
10 | /// - returns: A `CGPoint` with rounded x and y values.
11 | public var rounded: CGPoint {
| `- warning: 'public' modifier is redundant for property declared in a public extension
12 | return CGPoint(x: round(x), y: round(y))
13 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:16:5: warning: 'public' modifier is redundant for instance method declared in a public extension
14 |
15 | /// - returns: The Euclidean distance from self to the given point.
16 | public func distance(to point: CGPoint) -> CGFloat {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
17 | return (point - self).magnitude
18 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:21:5: warning: 'public' modifier is redundant for instance method declared in a public extension
19 |
20 | /// Constrains the x and y value to within the provided rect.
21 | public func clipped(to rect: CGRect) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
22 | return CGPoint(x: x.clipped(rect.minX, rect.maxX),
23 | y: y.clipped(rect.minY, rect.maxY))
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:27:5: warning: 'public' modifier is redundant for instance method declared in a public extension
25 |
26 | /// - returns: The relative position inside the provided rect.
27 | public func position(in rect: CGRect) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
28 | return CGPoint(x: x - rect.origin.x,
29 | y: y - rect.origin.y)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:35:5: warning: 'public' modifier is redundant for instance method declared in a public extension
33 | /// where horizontal and vertical position are normalized
34 | /// (i.e. mapped to 0-1 range).
35 | public func normalizedPosition(in rect: CGRect) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
36 | let p = position(in: rect)
37 | return CGPoint(x: (1.0 / rect.width) * p.x,
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGPoint.swift:42:5: warning: 'public' modifier is redundant for instance method declared in a public extension
40 |
41 | /// - returns: True if the line contains the point.
42 | public func isAt(line: Line) -> Bool {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
43 | return line.contains(self)
44 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:7:5: warning: 'public' modifier is redundant for initializer declared in a public extension
5 | // MARK: Convenience initializers
6 |
7 | public init(size: CGSize) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
8 | self.init(origin: .zero, size: size)
9 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:11:5: warning: 'public' modifier is redundant for initializer declared in a public extension
9 | }
10 |
11 | public init(center: CGPoint, size: CGSize) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
12 | self.init(origin: CGPoint(x: center.x - size.width / 2, y: center.y - size.height / 2), size: size)
13 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:15:5: warning: 'public' modifier is redundant for initializer declared in a public extension
13 | }
14 |
15 | public init(origin: CGPoint, edges: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
16 | self.init(origin: origin, size: CGSize(edges: edges))
17 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:19:5: warning: 'public' modifier is redundant for initializer declared in a public extension
17 | }
18 |
19 | public init(center: CGPoint, edges: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
20 | self.init(center: center, size: CGSize(edges: edges))
21 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:23:5: warning: 'public' modifier is redundant for initializer declared in a public extension
21 | }
22 |
23 | public init(minX: CGFloat, minY: CGFloat, maxX: CGFloat, maxY: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
24 | self.init(origin: CGPoint(x: minX, y: minY), size: CGSize(width: maxX - minX, height: maxY - minY))
25 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:29:5: warning: 'public' modifier is redundant for initializer declared in a public extension
27 | /// Initializes a `CGRect` of specified size, positioned such that
28 | /// the provided `origin` point will be in the specified `corner`.
29 | public init(size: CGSize, origin: CGPoint, inCorner corner: Corner) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
30 | switch corner {
31 | case .minXminY: self.init(origin: origin, size: size)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:42:5: warning: 'public' modifier is redundant for initializer declared in a public extension
40 | /// Initializes a `CGRect` that is scaled – preserving aspect ratio – to fill
41 | /// the entire rect specified at `inRect:`.
42 | public init(aspectFillSize size: CGSize, inRect rect: CGRect) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
43 | let ratio = size / rect.size
44 | let smallestRatio = min(ratio.width, ratio.height)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:50:5: warning: 'public' modifier is redundant for initializer declared in a public extension
48 | /// Initializes a `CGRect` that is scaled – preserving aspect ratio – to fit
49 | /// exactly in the rect specified at `inRect:`.
50 | public init(aspectFitSize size: CGSize, inRect rect: CGRect) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
51 | let ratio = size / rect.size
52 | let largestRatio = max(ratio.width, ratio.height)
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:58:5: warning: 'public' modifier is redundant for instance method declared in a public extension
56 | /// - returns: The value for the given edge
57 | /// (i.e. `minXEdge` will return this rect's `minX` value).
58 | public func edge(_ edge: CGRectEdge) -> CGFloat {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
59 | switch edge {
60 | case .minXEdge: return minX
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |
67 | /// - returns: The `CGPoint` coordinate for the given corner.
68 | public func corner(_ corner: Corner) -> CGPoint {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 | return CGPoint(x: edge(corner.xEdge), y: edge(corner.yEdge))
70 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:74:5: warning: 'public' modifier is redundant for instance method declared in a public extension
72 | /// - returns: A `CGRect` with size scaled to the provided scale factor,
73 | /// preserving the center.
74 | public func scaled(by scale: CGFloat) -> CGRect {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
75 | return CGRect(center: center, size: size * scale)
76 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:80:5: warning: 'public' modifier is redundant for instance method declared in a public extension
78 | /// - returns: A `CGRect` with size scaled to the provided scale factor,
79 | /// preserving the specified corner.
80 | public func scaled(by scale: CGFloat, corner: Corner) -> CGRect {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
81 | return CGRect(size: size * scale, origin: self.corner(corner), inCorner: corner)
82 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Extension/CGRect.swift:85:5: warning: 'public' modifier is redundant for instance method declared in a public extension
83 |
84 | /// - returns: The `LineSegment` representing the provided edge.
85 | public func lineSegment(for edge: CGRectEdge) -> LineSegment {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
86 | let corners = edge.corners
87 | return LineSegment(a: corner(corners.0), b: corner(corners.1))
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:14:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
9 | * (top, right, bottom, left) to coordinate positions (minY, maxX, maxY, minX).
10 | */
11 | public struct CoordinateSystem {
| `- note: consider making struct 'CoordinateSystem' conform to the 'Sendable' protocol
12 |
13 | #if os(macOS)
14 | public static let `default` = CoordinateSystem(origin: .bottomLeft)
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | #elseif os(iOS) || os(watchOS) || os(tvOS)
16 | public static let `default` = CoordinateSystem(origin: .topLeft)
[24/27] Compiling Metron Polygon.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Polygon.swift:41:5: warning: 'public' modifier is redundant for initializer declared in a public extension
39 | /// point, from which a connecting lineSegment is sought, until all lineSegments are connected. Then the default
40 | /// initializer is called, passing all points of the connected lineSegments.
41 | public init?(lineSegments: [LineSegment]) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
42 | var remainingLineSegments = lineSegments
43 | var points = [CGPoint]()
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Polygon.swift:61:5: warning: 'public' modifier is redundant for property declared in a public extension
59 |
60 | /// The individual line segments between consecutive points of this polygon.
61 | public var lineSegments: [LineSegment] {
| `- warning: 'public' modifier is redundant for property declared in a public extension
62 | // Todo: Must be cached.
63 | return zip(points, points.suffix(from: 1) + points.prefix(1)).map({ LineSegment(a: $0, b: $1) })
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Polygon.swift:67:5: warning: 'public' modifier is redundant for property declared in a public extension
65 |
66 | /// - returns: True if line segments of this polygon intersect each other.
67 | public var isSelfIntersecting: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
68 |
69 | // Todo: Might be implemented more efficiently…
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Polygon.swift:82:5: warning: 'public' modifier is redundant for property declared in a public extension
80 |
81 | /// - returns: True if all interior angles are less than 180°.
82 | public var isConvex: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
83 | for pointIndex in 0..<edgeCount {
84 | let a = points[pointIndex]
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Polygon.swift:97:5: warning: 'public' modifier is redundant for property declared in a public extension
95 |
96 | /// - returns: true if one or more interior angles is more than 180°.
97 | public var isConcave: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
98 | return !isConvex
99 | }
[25/27] Compiling Metron Shape.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Polygon.swift:41:5: warning: 'public' modifier is redundant for initializer declared in a public extension
39 | /// point, from which a connecting lineSegment is sought, until all lineSegments are connected. Then the default
40 | /// initializer is called, passing all points of the connected lineSegments.
41 | public init?(lineSegments: [LineSegment]) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
42 | var remainingLineSegments = lineSegments
43 | var points = [CGPoint]()
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Polygon.swift:61:5: warning: 'public' modifier is redundant for property declared in a public extension
59 |
60 | /// The individual line segments between consecutive points of this polygon.
61 | public var lineSegments: [LineSegment] {
| `- warning: 'public' modifier is redundant for property declared in a public extension
62 | // Todo: Must be cached.
63 | return zip(points, points.suffix(from: 1) + points.prefix(1)).map({ LineSegment(a: $0, b: $1) })
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Polygon.swift:67:5: warning: 'public' modifier is redundant for property declared in a public extension
65 |
66 | /// - returns: True if line segments of this polygon intersect each other.
67 | public var isSelfIntersecting: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
68 |
69 | // Todo: Might be implemented more efficiently…
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Polygon.swift:82:5: warning: 'public' modifier is redundant for property declared in a public extension
80 |
81 | /// - returns: True if all interior angles are less than 180°.
82 | public var isConvex: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
83 | for pointIndex in 0..<edgeCount {
84 | let a = points[pointIndex]
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Polygon.swift:97:5: warning: 'public' modifier is redundant for property declared in a public extension
95 |
96 | /// - returns: true if one or more interior angles is more than 180°.
97 | public var isConcave: Bool {
| `- warning: 'public' modifier is redundant for property declared in a public extension
98 | return !isConvex
99 | }
[26/27] Compiling Metron Circle.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:25:5: warning: 'public' modifier is redundant for initializer declared in a public extension
23 | /// Initializes a `Circle` with radius equal to
24 | /// half of the provided diameter.
25 | public init(center: CGPoint, diameter: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
26 | self.init(center: center, radius: diameter / 2.0)
27 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:31:5: warning: 'public' modifier is redundant for initializer declared in a public extension
29 | /// Initializes a `Circle` that is aspect-fitted
30 | /// in the center of the provided rect.
31 | public init(in rect: CGRect) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
32 | self.init(in: Square(in: rect))
33 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:37:5: warning: 'public' modifier is redundant for initializer declared in a public extension
35 | /// Initializes a `Circle` that is fitted in the
36 | /// provided square.
37 | public init(in square: Square) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
38 | self.init(center: square.center, diameter: square.edges)
39 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:42:5: warning: 'public' modifier is redundant for property declared in a public extension
40 |
41 | /// The diamater, equal to 2 times the radius.
42 | public var diameter: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
43 | return radius * 2.0
44 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:47:5: warning: 'public' modifier is redundant for property declared in a public extension
45 |
46 | /// The length of the enclosing boundary.
47 | public var circumference: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
48 | return diameter * .pi
49 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:52:5: warning: 'public' modifier is redundant for property declared in a public extension
50 |
51 | /// - returns: The bounding square for this circle.
52 | public var square: Square {
| `- warning: 'public' modifier is redundant for property declared in a public extension
53 | return Square(origin: CGPoint(x: minX, y: minY), edges: diameter)
54 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:63:5: warning: 'public' modifier is redundant for instance method declared in a public extension
61 | /// The points are taken `startingAt` a specific angle and `rotating` in a
62 | /// specific direction (`clockwise` by default), .
63 | public func pointsAlongPerimeter(dividedInto segments: CGFloat, startingAt startingAngle: Angle = Angle(0), rotating: RotationDirection = .clockwise) -> [CGPoint] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
64 | guard segments > 0 else { return [] }
65 | let fullRotation = Angle.fullRotation(unit: .radians)
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:14:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
9 | * (top, right, bottom, left) to coordinate positions (minY, maxX, maxY, minX).
10 | */
11 | public struct CoordinateSystem {
| `- note: consider making struct 'CoordinateSystem' conform to the 'Sendable' protocol
12 |
13 | #if os(macOS)
14 | public static let `default` = CoordinateSystem(origin: .bottomLeft)
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | #elseif os(iOS) || os(watchOS) || os(tvOS)
16 | public static let `default` = CoordinateSystem(origin: .topLeft)
[27/27] Compiling Metron Drawable.swift
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:25:5: warning: 'public' modifier is redundant for initializer declared in a public extension
23 | /// Initializes a `Circle` with radius equal to
24 | /// half of the provided diameter.
25 | public init(center: CGPoint, diameter: CGFloat) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
26 | self.init(center: center, radius: diameter / 2.0)
27 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:31:5: warning: 'public' modifier is redundant for initializer declared in a public extension
29 | /// Initializes a `Circle` that is aspect-fitted
30 | /// in the center of the provided rect.
31 | public init(in rect: CGRect) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
32 | self.init(in: Square(in: rect))
33 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:37:5: warning: 'public' modifier is redundant for initializer declared in a public extension
35 | /// Initializes a `Circle` that is fitted in the
36 | /// provided square.
37 | public init(in square: Square) {
| `- warning: 'public' modifier is redundant for initializer declared in a public extension
38 | self.init(center: square.center, diameter: square.edges)
39 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:42:5: warning: 'public' modifier is redundant for property declared in a public extension
40 |
41 | /// The diamater, equal to 2 times the radius.
42 | public var diameter: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
43 | return radius * 2.0
44 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:47:5: warning: 'public' modifier is redundant for property declared in a public extension
45 |
46 | /// The length of the enclosing boundary.
47 | public var circumference: CGFloat {
| `- warning: 'public' modifier is redundant for property declared in a public extension
48 | return diameter * .pi
49 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:52:5: warning: 'public' modifier is redundant for property declared in a public extension
50 |
51 | /// - returns: The bounding square for this circle.
52 | public var square: Square {
| `- warning: 'public' modifier is redundant for property declared in a public extension
53 | return Square(origin: CGPoint(x: minX, y: minY), edges: diameter)
54 | }
/Users/admin/builder/spi-builder-workspace/source/Metron/Shape/Circle.swift:63:5: warning: 'public' modifier is redundant for instance method declared in a public extension
61 | /// The points are taken `startingAt` a specific angle and `rotating` in a
62 | /// specific direction (`clockwise` by default), .
63 | public func pointsAlongPerimeter(dividedInto segments: CGFloat, startingAt startingAngle: Angle = Angle(0), rotating: RotationDirection = .clockwise) -> [CGPoint] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
64 | guard segments > 0 else { return [] }
65 | let fullRotation = Angle.fullRotation(unit: .radians)
/Users/admin/builder/spi-builder-workspace/source/Metron/Geometry/CoordinateSystem.swift:14:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
9 | * (top, right, bottom, left) to coordinate positions (minY, maxX, maxY, minX).
10 | */
11 | public struct CoordinateSystem {
| `- note: consider making struct 'CoordinateSystem' conform to the 'Sendable' protocol
12 |
13 | #if os(macOS)
14 | public static let `default` = CoordinateSystem(origin: .bottomLeft)
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'CoordinateSystem' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | #elseif os(iOS) || os(watchOS) || os(tvOS)
16 | public static let `default` = CoordinateSystem(origin: .topLeft)
Build complete! (11.15s)
Build complete.
{
"dependencies" : [
{
"identity" : "nimble",
"requirement" : {
"range" : [
{
"lower_bound" : "7.0.0",
"upper_bound" : "8.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Nimble.git"
},
{
"identity" : "quick",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Quick.git"
}
],
"manifest_display_name" : "Metron",
"name" : "Metron",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Metron",
"targets" : [
"Metron"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Metron_Test",
"module_type" : "SwiftTarget",
"name" : "Metron-Test",
"path" : "source/Metron/Test",
"product_dependencies" : [
"Quick",
"Nimble"
],
"sources" : [
"LineSegmentTest.swift",
"PolygonTest.swift",
"Test.swift"
],
"target_dependencies" : [
"Metron"
],
"type" : "test"
},
{
"c99name" : "Metron",
"module_type" : "SwiftTarget",
"name" : "Metron",
"path" : "source/Metron",
"product_memberships" : [
"Metron"
],
"sources" : [
"Extension/CGAffineTransform.swift",
"Extension/CGPoint.swift",
"Extension/CGRect.swift",
"Extension/CGRectEdge.swift",
"Extension/CGSize.swift",
"Extension/CGVector.swift",
"Geometry/Angle.swift",
"Geometry/Axis.swift",
"Geometry/CoordinateSystem.swift",
"Geometry/Corner.swift",
"Geometry/CornerPosition.swift",
"Geometry/Edge.swift",
"Geometry/General.swift",
"Geometry/Opposable.swift",
"Geometry/Rotatable.swift",
"Geometry/Side.swift",
"Shape/Circle.swift",
"Shape/Drawable.swift",
"Shape/Line.swift",
"Shape/LineSegment.swift",
"Shape/Polygon.swift",
"Shape/Shape.swift",
"Shape/Square.swift",
"Shape/Triangle.swift"
],
"type" : "library"
}
],
"tools_version" : "4.2"
}
Done.