Build Information
Successful build of MosaicKit, reference 1.1.14 (8ecb6a), with Swift 6.2 for macOS (SPM) on 21 Apr 2026 15:41:14 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/fdenis75/MosaicKit.git
Reference: 1.1.14
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/fdenis75/MosaicKit
* tag 1.1.14 -> FETCH_HEAD
HEAD is now at 8ecb6a7 Pushed to ios 26 and macos 2§ mini
Cloned https://github.com/fdenis75/MosaicKit.git
Revision (git rev-parse @):
8ecb6a7d217bf8ea80bf5ec62e9a8774e6659187
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/fdenis75/MosaicKit.git at 1.1.14
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/fdenis75/MosaicKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64
Building for debugging...
[0/14] Write sources
[5/14] Copying libwebpmux.a
[6/14] Copying MetalShaders.metal
[6/14] Copying libwebpdemux.a
[8/14] Copying libwebp.a
[8/14] Copying libsharpyuv.a
[10/14] Write swift-version--3CB7CFEC50E0D141.txt
[12/60] Compiling Logging LogHandler.swift
[12/60] Compiling webpbridge WebpIncrementalDecoder.mm
[13/60] Compiling webpbridge WebpIncrementalDecoderResult.mm
[15/60] Compiling Logging MetadataProvider.swift
[16/60] Compiling Logging LogEvent.swift
[17/60] Emitting module Logging
[18/60] Compiling Logging Locks.swift
[19/60] Compiling Logging Logging.swift
[19/60] Compiling webpbridge WebpRGBAMultiplier.mm
[21/72] Compiling DominantColors UIImageExtension.swift
[22/72] Compiling DominantColors GradientColors.swift
[23/72] Compiling DominantColors ImageColorError.swift
[24/75] Compiling DominantColors RGB.swift
[25/75] Compiling DominantColors RGB255.swift
[26/75] Compiling DominantColors XYZ.swift
[27/75] Compiling DominantColors ComplementaryColor.swift
[28/75] Emitting module DominantColors
[29/75] Compiling DominantColors AverageColor+UIColor.swift
[30/75] Compiling DominantColors AverageColor.swift
[31/75] Compiling DominantColors ColorFrequency.swift
[32/75] Compiling DominantColors ContrastColors.swift
[33/75] Compiling webp WebPAnimatedEncoder.swift
[34/75] Compiling webp WebPDecoder+Platform.swift
[35/75] Compiling webp CGImage+Util.swift
[36/75] Compiling webp InternalRawRepresentable.swift
[37/75] Compiling DominantColors ContrastRatio.swift
[38/75] Compiling DominantColors DeltaEFormula.swift
[39/75] Compiling DominantColors Difference.swift
[40/75] Compiling DominantColors DominantColorAlgorithm.swift
[41/75] Compiling SJSAssetExportSession VideoOutputSettings.swift
[42/75] Compiling SJSAssetExportSession ExportSession+Error.swift
[43/75] Compiling SJSAssetExportSession ExportSession.swift
[44/75] Compiling SJSAssetExportSession AudioOutputSettings.swift
[45/75] Compiling SJSAssetExportSession CMTime+seconds.swift
[46/75] Compiling SJSAssetExportSession SampleWriter.swift
[47/75] Emitting module SJSAssetExportSession
[48/75] Compiling SJSAssetExportSession Array+Extensions.swift
[49/75] Compiling DominantColors DominantColors+UIColor.swift
[50/75] Compiling DominantColors DominantColors.swift
[51/75] Compiling DominantColors CGFloatExtensions.swift
[52/75] Compiling DominantColors CGImageExtensions.swift
[53/75] Compiling DominantColors CGSizeExtensions.swift
[54/75] Compiling DominantColors NSImageExtension.swift
[55/75] Compiling DominantColors ImageFIlter.swift
[56/75] Compiling DominantColors ImageTrimAlpha.swift
[57/75] Compiling DominantColors RelativeLuminance.swift
[58/75] Compiling DominantColors DominantColorQuality.swift
[59/75] Compiling DominantColors DominantColors+CIAreaAverage.swift
[60/75] Compiling DominantColors DominantColors+CIE.swift
[61/75] Compiling DominantColors DominantColors+CIKMeans.swift
[62/75] Compiling DominantColors DominantColors+ColorResolved.swift
[63/75] Compiling DominantColors DominantColors+NSColor.swift
[64/75] Compiling webp WebPEncoder.swift
[65/76] Compiling webp WebPError.swift
[66/76] Compiling webp WebPEncoder+Platform.swift
[67/76] Compiling webp WebPEncoderConfig.swift
[68/76] Compiling webp WebPEncoder+CGImage.swift
[69/76] Compiling webp WebPDecoderConfig.swift
[70/76] Compiling webp WebPImageInspector.swift
[71/76] Compiling webp WebPDecoder.swift
[72/76] Emitting module webp
[77/103] Compiling MosaicKit MosaicLayout.swift
[78/103] Compiling MosaicKit OverlayConfiguration.swift
[79/103] Compiling MosaicKit PreviewConfiguration.swift
[80/105] Emitting module MosaicKit
[81/105] Compiling MosaicKit DensityConfig.swift
[82/105] Compiling MosaicKit LayoutConfiguration.swift
[83/105] Compiling MosaicKit MosaicConfiguration.swift
[84/105] Compiling MosaicKit VideoMetadataExtractor.swift
[85/105] Compiling MosaicKit resource_bundle_accessor.swift
[86/105] Compiling MosaicKit MetalMosaicGenerator.swift
[87/105] Compiling MosaicKit MosaicGeneratorCoordinator.swift
[88/105] Compiling MosaicKit MosaicGeneratorFactory.swift
[89/105] Compiling MosaicKit MosaicKit.swift
[90/105] Compiling MosaicKit AnimatedGifGenerator.swift
[91/105] Compiling MosaicKit CoreGraphicsImageProcessor.swift
[92/105] Compiling MosaicKit PreviewGenerationProgress.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/VideoInput.swift:140:9: warning: no calls to throwing functions occur within 'try' expression
138 |
139 |
140 | try await self.init(
| `- warning: no calls to throwing functions occur within 'try' expression
141 | url: url,
142 | duration: videodata.duration,
[93/105] Compiling MosaicKit VideoFormat.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/VideoInput.swift:140:9: warning: no calls to throwing functions occur within 'try' expression
138 |
139 |
140 | try await self.init(
| `- warning: no calls to throwing functions occur within 'try' expression
141 | url: url,
142 | duration: videodata.duration,
[94/105] Compiling MosaicKit VideoInput.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/VideoInput.swift:140:9: warning: no calls to throwing functions occur within 'try' expression
138 |
139 |
140 | try await self.init(
| `- warning: no calls to throwing functions occur within 'try' expression
141 | url: url,
142 | duration: videodata.duration,
[95/105] Compiling MosaicKit ThumbnailProcessor.swift
[96/105] Compiling MosaicKit VideoError.swift
[97/105] Compiling MosaicKit MosaicGeneratorProtocol.swift
[98/105] Compiling MosaicKit OverlayProcessor.swift
[99/105] Compiling MosaicKit PreviewError.swift
[100/105] Compiling MosaicKit PreviewGeneratorCoordinator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:789:27: warning: 'AVMutableVideoCompositionInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionInstruction.Configuration instead [#DeprecatedDeclaration]
787 | nominalFrameRate: Float
788 | ) -> AVVideoComposition {
789 | let instruction = AVMutableVideoCompositionInstruction()
| `- warning: 'AVMutableVideoCompositionInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionInstruction.Configuration instead [#DeprecatedDeclaration]
790 | instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
791 |
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:792:32: warning: 'AVMutableVideoCompositionLayerInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionLayerInstruction.Configuration instead [#DeprecatedDeclaration]
790 | instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
791 |
792 | let layerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: compositionVideoTrack)
| `- warning: 'AVMutableVideoCompositionLayerInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionLayerInstruction.Configuration instead [#DeprecatedDeclaration]
793 | layerInstruction.setTransform(finalTransform, at: .zero)
794 | instruction.layerInstructions = [layerInstruction]
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:796:32: warning: 'AVMutableVideoComposition' was deprecated in macOS 26.0: Use AVVideoComposition.Configuration instead [#DeprecatedDeclaration]
794 | instruction.layerInstructions = [layerInstruction]
795 |
796 | let videoComposition = AVMutableVideoComposition()
| `- warning: 'AVMutableVideoComposition' was deprecated in macOS 26.0: Use AVVideoComposition.Configuration instead [#DeprecatedDeclaration]
797 | videoComposition.instructions = [instruction]
798 | videoComposition.renderSize = renderSize
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[101/105] Compiling MosaicKit PreviewVideoGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:789:27: warning: 'AVMutableVideoCompositionInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionInstruction.Configuration instead [#DeprecatedDeclaration]
787 | nominalFrameRate: Float
788 | ) -> AVVideoComposition {
789 | let instruction = AVMutableVideoCompositionInstruction()
| `- warning: 'AVMutableVideoCompositionInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionInstruction.Configuration instead [#DeprecatedDeclaration]
790 | instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
791 |
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:792:32: warning: 'AVMutableVideoCompositionLayerInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionLayerInstruction.Configuration instead [#DeprecatedDeclaration]
790 | instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
791 |
792 | let layerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: compositionVideoTrack)
| `- warning: 'AVMutableVideoCompositionLayerInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionLayerInstruction.Configuration instead [#DeprecatedDeclaration]
793 | layerInstruction.setTransform(finalTransform, at: .zero)
794 | instruction.layerInstructions = [layerInstruction]
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:796:32: warning: 'AVMutableVideoComposition' was deprecated in macOS 26.0: Use AVVideoComposition.Configuration instead [#DeprecatedDeclaration]
794 | instruction.layerInstructions = [layerInstruction]
795 |
796 | let videoComposition = AVMutableVideoComposition()
| `- warning: 'AVMutableVideoComposition' was deprecated in macOS 26.0: Use AVVideoComposition.Configuration instead [#DeprecatedDeclaration]
797 | videoComposition.instructions = [instruction]
798 | videoComposition.renderSize = renderSize
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[102/105] Compiling MosaicKit ProcessingError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:789:27: warning: 'AVMutableVideoCompositionInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionInstruction.Configuration instead [#DeprecatedDeclaration]
787 | nominalFrameRate: Float
788 | ) -> AVVideoComposition {
789 | let instruction = AVMutableVideoCompositionInstruction()
| `- warning: 'AVMutableVideoCompositionInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionInstruction.Configuration instead [#DeprecatedDeclaration]
790 | instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
791 |
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:792:32: warning: 'AVMutableVideoCompositionLayerInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionLayerInstruction.Configuration instead [#DeprecatedDeclaration]
790 | instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
791 |
792 | let layerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: compositionVideoTrack)
| `- warning: 'AVMutableVideoCompositionLayerInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionLayerInstruction.Configuration instead [#DeprecatedDeclaration]
793 | layerInstruction.setTransform(finalTransform, at: .zero)
794 | instruction.layerInstructions = [layerInstruction]
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:796:32: warning: 'AVMutableVideoComposition' was deprecated in macOS 26.0: Use AVVideoComposition.Configuration instead [#DeprecatedDeclaration]
794 | instruction.layerInstructions = [layerInstruction]
795 |
796 | let videoComposition = AVMutableVideoComposition()
| `- warning: 'AVMutableVideoComposition' was deprecated in macOS 26.0: Use AVVideoComposition.Configuration instead [#DeprecatedDeclaration]
797 | videoComposition.instructions = [instruction]
798 | videoComposition.renderSize = renderSize
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[103/105] Compiling MosaicKit CoreGraphicsMosaicGenerator.swift
[104/105] Compiling MosaicKit LayoutProcessor.swift
[105/105] Compiling MosaicKit MetalImageProcessor.swift
Build complete! (29.82s)
Fetching https://github.com/samsonjs/SJSAssetExportSession.git
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/DenDmitriev/DominantColors.git
Fetching https://github.com/awxkee/webp.swift.git
[1/422] Fetching sjsassetexportsession
[2/1433] Fetching sjsassetexportsession, dominantcolors
[83/8069] Fetching sjsassetexportsession, dominantcolors, swift-log
[614/8242] Fetching sjsassetexportsession, dominantcolors, swift-log, webp.swift
Fetched https://github.com/apple/swift-log.git from cache (1.47s)
[478/1606] Fetching sjsassetexportsession, dominantcolors, webp.swift
Fetched https://github.com/samsonjs/SJSAssetExportSession.git from cache (2.31s)
Fetched https://github.com/DenDmitriev/DominantColors.git from cache (2.31s)
Fetched https://github.com/awxkee/webp.swift.git from cache (2.31s)
Computing version for https://github.com/awxkee/webp.swift.git
Computed https://github.com/awxkee/webp.swift.git at 1.1.2 (5.29s)
Fetching https://github.com/awxkee/libwebp-ios.git
[1/556] Fetching libwebp-ios
Fetched https://github.com/awxkee/libwebp-ios.git from cache (1.84s)
Computing version for https://github.com/samsonjs/SJSAssetExportSession.git
Computed https://github.com/samsonjs/SJSAssetExportSession.git at 0.4.0 (2.39s)
Computing version for https://github.com/awxkee/libwebp-ios.git
Computed https://github.com/awxkee/libwebp-ios.git at 1.1.1 (0.63s)
Computing version for https://github.com/DenDmitriev/DominantColors.git
Computed https://github.com/DenDmitriev/DominantColors.git at 1.2.2 (0.52s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.12.0 (0.56s)
Creating working copy for https://github.com/awxkee/webp.swift.git
Working copy of https://github.com/awxkee/webp.swift.git resolved at 1.1.2
Creating working copy for https://github.com/awxkee/libwebp-ios.git
Working copy of https://github.com/awxkee/libwebp-ios.git resolved at 1.1.1
Creating working copy for https://github.com/samsonjs/SJSAssetExportSession.git
Working copy of https://github.com/samsonjs/SJSAssetExportSession.git resolved at 0.4.0
Creating working copy for https://github.com/DenDmitriev/DominantColors.git
Working copy of https://github.com/DenDmitriev/DominantColors.git resolved at 1.2.2
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.12.0
Build complete.
{
"dependencies" : [
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.6.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
},
{
"identity" : "dominantcolors",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/DenDmitriev/DominantColors.git"
},
{
"identity" : "sjsassetexportsession",
"requirement" : {
"range" : [
{
"lower_bound" : "0.4.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/samsonjs/SJSAssetExportSession.git"
},
{
"identity" : "webp.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/awxkee/webp.swift.git"
}
],
"manifest_display_name" : "MosaicKit",
"name" : "MosaicKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "26.0"
},
{
"name" : "ios",
"version" : "26.0"
},
{
"name" : "maccatalyst",
"version" : "26.0"
}
],
"products" : [
{
"name" : "MosaicKit",
"targets" : [
"MosaicKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MosaicKitTests",
"module_type" : "SwiftTarget",
"name" : "MosaicKitTests",
"path" : "Tests/MosaicKitTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/MosaicKitTests/embeddedAsset/test_video.mp4",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"AnimatedGifGeneratorTests.swift",
"CombinationTests.swift",
"ErrorTypesTests.swift",
"LayoutProcessorTests.swift",
"MosaicConfigurationTests.swift",
"MosaicGeneratorCoordinatorTests.swift",
"OverlayConfigurationTests.swift",
"OverlayProcessorTests.swift",
"PreviewConfigurationTests.swift",
"PreviewVideoGeneratorTests.swift",
"ThumbnailProcessorTests.swift"
],
"target_dependencies" : [
"MosaicKit"
],
"type" : "test"
},
{
"c99name" : "MosaicKit",
"module_type" : "SwiftTarget",
"name" : "MosaicKit",
"path" : "Sources",
"product_dependencies" : [
"Logging",
"DominantColors",
"SJSAssetExportSession",
"webp"
],
"product_memberships" : [
"MosaicKit"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Shaders/MetalShaders.metal",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Models/DensityConfig.swift",
"Models/LayoutConfiguration.swift",
"Models/MosaicConfiguration.swift",
"Models/MosaicLayout.swift",
"Models/OverlayConfiguration.swift",
"Models/PreviewConfiguration.swift",
"Models/PreviewGenerationProgress.swift",
"Models/VideoFormat.swift",
"Models/VideoInput.swift",
"MosaicKit.swift",
"Processing/AnimatedGifGenerator.swift",
"Processing/CoreGraphicsImageProcessor.swift",
"Processing/CoreGraphicsMosaicGenerator.swift",
"Processing/LayoutProcessor.swift",
"Processing/MetalImageProcessor.swift",
"Processing/MetalMosaicGenerator.swift",
"Processing/MosaicGeneratorCoordinator.swift",
"Processing/MosaicGeneratorFactory.swift",
"Processing/MosaicGeneratorProtocol.swift",
"Processing/OverlayProcessor.swift",
"Processing/Preview/PreviewError.swift",
"Processing/Preview/PreviewGeneratorCoordinator.swift",
"Processing/Preview/PreviewVideoGenerator.swift",
"Processing/ProcessingError.swift",
"Processing/ThumbnailProcessor.swift",
"Processing/VideoError.swift",
"Processing/VideoMetadataExtractor.swift"
],
"type" : "library"
}
],
"tools_version" : "6.2"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/fdenis75/mosaickit/1.1.14
Repository: fdenis75/MosaicKit
Swift version used: 6.2
Target: MosaicKit
Extracting symbol information for 'MosaicKit'...
Finished extracting symbol information for 'MosaicKit'. (7.23s)
Building documentation for 'MosaicKit'...
warning: Resource 'architecture-diagram' couldn't be found
--> Articles/Architecture.md:6:5-6:62
4 |
5 | @Metadata {
6 + @PageImage(purpose: card, source: "architecture-diagram")
7 | }
8 |
warning: 'BatchProcessing' doesn't exist at '/MosaicKit/PerformanceGuide'
--> Articles/PerformanceGuide.md:592:8-592:23
590 | - <doc:Architecture>
591 | - <doc:PlatformStrategy>
592 + - <doc:BatchProcessing>
| ╰─suggestion: Replace 'BatchProcessing' with '4-Optimize-Batch-Processing'
593 | - ``MosaicConfiguration``
594 | - ``DensityConfig``
warning: Resource 'mosaic-hero' couldn't be found
--> GettingStarted.md:6:5-6:53
4 |
5 | @Metadata {
6 + @PageImage(purpose: card, source: "mosaic-hero")
7 | }
8 |
warning: 'CustomLayouts' doesn't exist at '/MosaicKit/GettingStarted'
--> GettingStarted.md:305:8-305:21
303 | - <doc:LayoutAlgorithms> - Deep dive into layout algorithms
304 | - <doc:PerformanceGuide> - Optimization strategies for large batches
305 + - <doc:CustomLayouts> - Creating custom layout configurations
| ╰─suggestion: Replace 'CustomLayouts' with 'Custom-Configuration'
306 |
307 | ## See Also
warning: Documentation extension files can't become technology roots.
--> MosaicKit.md:6:5-6:20
4 |
5 | @Metadata {
6 + @TechnologyRoot
| ╰─suggestion: Remove the TechnologyRoot directive
7 | @Available(macOS, introduced: "15.0")
8 | @Available(iOS, introduced: "15.0")
warning: Parameter 'useCustomLayout' not found in instance method declaration
--> ../Processing/LayoutProcessor.swift:81:11-81:68
79 | /// - mosaicWidth: Desired width of the mosaic
80 | /// - density: Density configuration for layout
81 + /// - useCustomLayout: Whether to use custom layout algorithm
| ╰─suggestion: Remove 'useCustomLayout' parameter documentation
82 | /// - Returns: Optimal layout for the mosaic
83 | public func calculateLayout(
warning: Parameter 'mosaicAspectRatio' is missing documentation
--> ../Processing/LayoutProcessor.swift:81:68-81:68
79 | /// - mosaicWidth: Desired width of the mosaic
80 | /// - density: Density configuration for layout
81 + /// - useCustomLayout: Whether to use custom layout algorithm
82 | /// - Returns: Optimal layout for the mosaic
83 | public func calculateLayout(
warning: Parameter 'layoutType' is missing documentation
--> ../Processing/LayoutProcessor.swift:81:68-81:68
79 | /// - mosaicWidth: Desired width of the mosaic
80 | /// - density: Density configuration for layout
81 + /// - useCustomLayout: Whether to use custom layout algorithm
| ╰─suggestion: Document 'layoutType' parameter
82 | /// - Returns: Optimal layout for the mosaic
83 | public func calculateLayout(
warning: Parameter 'layoutType' is missing documentation
--> ../Processing/LayoutProcessor.swift:617:43-617:43
615 | /// - duration: Video duration in seconds
616 | /// - width: Mosaic width
617 + /// - density: Density configuration
| ╰─suggestion: Document 'layoutType' parameter
618 | /// - Returns: Optimal number of thumbnails
619 | public func calculateThumbnailCount(
warning: Parameter 'videoAR' is missing documentation
--> ../Processing/LayoutProcessor.swift:617:43-617:43
615 | /// - duration: Video duration in seconds
616 | /// - width: Mosaic width
617 + /// - density: Density configuration
| ╰─suggestion: Document 'videoAR' parameter
618 | /// - Returns: Optimal number of thumbnails
619 | public func calculateThumbnailCount(
warning: Parameter 'forIphone' is missing documentation
--> ../Processing/MetalImageProcessor.swift:688:74-688:74
686 | /// - config: Mosaic configuration
687 | /// - metadataHeader: Optional pre-generated metadata header image
688 + /// - progressHandler: Optional progress handler to update progress
| ╰─suggestion: Document 'forIphone' parameter
689 | /// - Returns: Generated mosaic image
690 | public func generateMosaic(
warning: Parameter 'forIphone' is missing documentation
--> ../Processing/MetalMosaicGenerator.swift:89:60-89:60
87 | /// - Parameters:
88 | /// - video: The video to generate a mosaic for
89 + /// - config: The configuration for mosaic generation
| ╰─suggestion: Document 'forIphone' parameter
90 | /// - Returns: The URL of the generated mosaic image
91 | public func generate(for video: VideoInput, config: MosaicConfiguration, forIphone: Bool = false) async throws -> URL {
warning: Parameter 'forIphone' is missing documentation
--> ../Processing/MosaicGeneratorCoordinator.swift:157:58-157:58
155 | /// - video: The video to generate a mosaic for
156 | /// - config: The configuration for mosaic generation
157 + /// - progressHandler: Handler for progress updates
| ╰─suggestion: Document 'forIphone' parameter
158 | /// - Returns: The result of mosaic generation
159 | public func generateMosaic(for video: VideoInput, config: MosaicConfiguration, forIphone: Bool = false, progressHandler: @escaping @Sendable (MosaicGenerationProgress) -> Void) async throws -> MosaicGenerationResult {
warning: Parameter 'folderURL' not found in instance method declaration
--> ../Processing/MosaicGeneratorCoordinator.swift:309:11-309:63
307 | /// Generate mosaics for videos in a folder
308 | /// - Parameters:
309 + /// - folderURL: The URL of the folder containing videos
| ╰─suggestion: Remove 'folderURL' parameter documentation
310 | /// - config: The configuration for mosaic generation
311 | /// - recursive: Whether to search for videos recursively
warning: Parameter 'recursive' not found in instance method declaration
--> ../Processing/MosaicGeneratorCoordinator.swift:311:11-311:64
309 | /// - folderURL: The URL of the folder containing videos
310 | /// - config: The configuration for mosaic generation
311 + /// - recursive: Whether to search for videos recursively
| ╰─suggestion: Remove 'recursive' parameter documentation
312 | /// - progressHandler: Handler for progress updates
313 | /// - Returns: Array of generation results
warning: Parameter 'forIphone' is missing documentation
--> ../Processing/MosaicGeneratorCoordinator.swift:312:58-312:58
310 | /// - config: The configuration for mosaic generation
311 | /// - recursive: Whether to search for videos recursively
312 + /// - progressHandler: Handler for progress updates
| ╰─suggestion: Document 'forIphone' parameter
313 | /// - Returns: Array of generation results
314 |
warning: Parameter 'videos' is missing documentation
--> ../Processing/MosaicGeneratorCoordinator.swift:312:58-312:58
310 | /// - config: The configuration for mosaic generation
| ╰─suggestion: Document 'videos' parameter
311 | /// - recursive: Whether to search for videos recursively
312 + /// - progressHandler: Handler for progress updates
313 | /// - Returns: Array of generation results
314 |
warning: Parameter 'progressHandler' is missing documentation
--> ../Processing/ThumbnailProcessor.swift:33:67-33:67
31 | /// - asset: Video asset to extract thumbnails from
32 | /// - preview: Whether generating preview thumbnails
33 + /// - accurate: Whether to use accurate timestamp extraction
| ╰─suggestion: Document 'progressHandler' parameter
34 | /// - Returns: Array of tuples containing thumbnail images and their timestamps
35 | public func extractThumbnails(
warning: Parameter 'progressHandler' is missing documentation
--> ../Processing/ThumbnailProcessor.swift:321:41-321:41
319 | /// - layout: Layout information
320 | /// - metadata: Video metadata
321 + /// - config: Mosaic configuration
| ╰─suggestion: Document 'progressHandler' parameter
322 | /// - Returns: Generated mosaic image
323 | public func generateMosaic(
warning: Parameter 'metadataHeader' is missing documentation
--> ../Processing/ThumbnailProcessor.swift:321:41-321:41
319 | /// - layout: Layout information
320 | /// - metadata: Video metadata
321 + /// - config: Mosaic configuration
| ╰─suggestion: Document 'metadataHeader' parameter
322 | /// - Returns: Generated mosaic image
323 | public func generateMosaic(
warning: Parameter 'swatchColors' is missing documentation
--> ../Processing/ThumbnailProcessor.swift:587:104-587:104
585 | /// - width: The width of the mosaic
586 | /// - height: Optional height override for the metadata header
587 + /// - backgroundColor: Optional background color (if nil, platform-specific default will be used)
| ╰─suggestion: Document 'swatchColors' parameter
588 | /// - Returns: A CGImage containing the metadata header
589 | public func createMetadataHeader(
warning: Parameter 'forIphone' is missing documentation
--> ../Processing/ThumbnailProcessor.swift:587:104-587:104
585 | /// - width: The width of the mosaic
586 | /// - height: Optional height override for the metadata header
587 + /// - backgroundColor: Optional background color (if nil, platform-specific default will be used)
| ╰─suggestion: Document 'forIphone' parameter
588 | /// - Returns: A CGImage containing the metadata header
589 | public func createMetadataHeader(
warning: Parameter 'headerConfig' is missing documentation
--> ../Processing/ThumbnailProcessor.swift:587:104-587:104
585 | /// - width: The width of the mosaic
586 | /// - height: Optional height override for the metadata header
587 + /// - backgroundColor: Optional background color (if nil, platform-specific default will be used)
| ╰─suggestion: Document 'headerConfig' parameter
588 | /// - Returns: A CGImage containing the metadata header
589 | public func createMetadataHeader(
Finished building documentation for 'MosaicKit' (0.98s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/fdenis75/mosaickit/1.1.14
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2277] Fetching swift-docc-plugin
Updating https://github.com/awxkee/webp.swift.git
Updating https://github.com/samsonjs/SJSAssetExportSession.git
Updating https://github.com/DenDmitriev/DominantColors.git
Updating https://github.com/apple/swift-log.git
Updating https://github.com/awxkee/libwebp-ios.git
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.20s)
Updated https://github.com/awxkee/webp.swift.git (0.43s)
Updated https://github.com/apple/swift-log.git (0.50s)
Updated https://github.com/DenDmitriev/DominantColors.git (0.50s)
Updated https://github.com/awxkee/libwebp-ios.git (0.50s)
Updated https://github.com/samsonjs/SJSAssetExportSession.git (0.50s)
Computing version for https://github.com/awxkee/webp.swift.git
Computed https://github.com/awxkee/webp.swift.git at 1.1.2 (2.37s)
Computing version for https://github.com/samsonjs/SJSAssetExportSession.git
Computed https://github.com/samsonjs/SJSAssetExportSession.git at 0.4.0 (0.54s)
Computing version for https://github.com/DenDmitriev/DominantColors.git
Computed https://github.com/DenDmitriev/DominantColors.git at 1.2.2 (0.54s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.12.0 (0.57s)
Computing version for https://github.com/awxkee/libwebp-ios.git
Computed https://github.com/awxkee/libwebp-ios.git at 1.1.1 (0.63s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.6 (0.64s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3672] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.17s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.87s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.6
Building for debugging...
[0/8] Write sources
[2/8] Write snippet-extract-tool-entitlement.plist
[2/8] Write sources
[4/8] Write swift-version--3CB7CFEC50E0D141.txt
[6/53] Compiling SymbolKit DeclarationFragments.swift
[7/53] Compiling SymbolKit Fragment.swift
[8/53] Compiling SymbolKit FragmentKind.swift
[9/53] Compiling SymbolKit FunctionParameter.swift
[10/53] Compiling SymbolKit FunctionSignature.swift
[11/57] Compiling SymbolKit SemanticVersion.swift
[12/57] Compiling SymbolKit AccessControl.swift
[13/57] Compiling SymbolKit Availability.swift
[14/57] Compiling SymbolKit AvailabilityItem.swift
[15/57] Compiling SymbolKit Domain.swift
[16/57] Emitting module SymbolKit
[17/57] Compiling SymbolKit Mixin+Equals.swift
[18/57] Compiling SymbolKit Mixin+Hash.swift
[19/57] Compiling SymbolKit Mixin.swift
[20/57] Compiling SymbolKit LineList.swift
[21/57] Compiling SymbolKit Position.swift
[22/57] Compiling SymbolKit GenericConstraint.swift
[23/57] Compiling SymbolKit GenericParameter.swift
[24/57] Compiling SymbolKit Generics.swift
[25/57] Compiling SymbolKit Namespace.swift
[26/57] Compiling SymbolKit Names.swift
[27/57] Compiling SymbolKit SPI.swift
[28/57] Compiling SymbolKit Snippet.swift
[29/57] Compiling SymbolKit Extension.swift
[30/57] Compiling SymbolKit SourceRange.swift
[31/57] Compiling SymbolKit Metadata.swift
[32/57] Compiling SymbolKit Module.swift
[33/57] Compiling SymbolKit OperatingSystem.swift
[34/57] Compiling SymbolKit Platform.swift
[35/57] Compiling SymbolKit Identifier.swift
[36/57] Compiling SymbolKit KindIdentifier.swift
[37/57] Compiling SymbolKit Location.swift
[38/57] Compiling SymbolKit Mutability.swift
[39/57] Compiling SymbolKit Relationship.swift
[40/57] Compiling SymbolKit RelationshipKind.swift
[41/57] Compiling SymbolKit SourceOrigin.swift
[42/57] Compiling SymbolKit GenericConstraints.swift
[43/57] Compiling SymbolKit Swift.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Emitting module Snippets
[53/57] Compiling Snippets Snippet.swift
[54/57] Compiling Snippets SnippetParser.swift
[55/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[56/61] Compiling snippet_extract URL+Status.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.16s)
Building for debugging...
[0/4] Write swift-version--3CB7CFEC50E0D141.txt
[1/4] Compiling webpbridge WebpIncrementalDecoderResult.mm
[2/4] Compiling webpbridge WebpIncrementalDecoder.mm
[3/4] Compiling webpbridge WebpRGBAMultiplier.mm
Build of target: 'MosaicKit' complete! (1.67s)
1722
10 /Users/admin/builder/spi-builder-workspace/.docs/fdenis75/mosaickit/1.1.14
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/fdenis75/mosaickit/1.1.14
File count: 1722
Doc size: 10.0MB
Preparing doc bundle ...
Uploading prod-fdenis75-mosaickit-1.1.14-05cdbd90.zip to s3://spi-docs-inbox/prod-fdenis75-mosaickit-1.1.14-05cdbd90.zip
Copying... [11%]
Copying... [23%]
Copying... [31%]
Copying... [42%]
Copying... [51%]
Copying... [62%]
Copying... [70%]
Copying... [82%]
Copying... [90%]
Copying... [100%]
Done.