Build Information
Successful build of SwaTex, reference 0.6.0 (153738), with Swift 6.4 for macOS (SPM) on 9 Nov 2026 13:40:56 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.4
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/PhraseHQ/SwaTex.git
Reference: 0.6.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/PhraseHQ/SwaTex
* tag 0.6.0 -> FETCH_HEAD
HEAD is now at 153738a Release 0.6.0
Cloned https://github.com/PhraseHQ/SwaTex.git
Revision (git rev-parse @):
153738a2bcdcb62450ead9ab292989e3de0a449f
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/PhraseHQ/SwaTex.git at 0.6.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"traits": [
"default"
],
"dependencies": [
{
"identity": "swatex",
"name": "SwaTex",
"url": "https://github.com/PhraseHQ/SwaTex.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwaTex",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/PhraseHQ/SwaTex.git
[1/878] Fetching swatex
Fetched https://github.com/PhraseHQ/SwaTex.git (1.24s)
Creating working copy for https://github.com/PhraseHQ/SwaTex.git
Working copy of https://github.com/PhraseHQ/SwaTex.git resolved at 0.6.0 (153738a)
warning: '.resolve-product-dependencies': dependency 'swatex' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/PhraseHQ/SwaTex.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64
Building for debugging...
[Constructing description]
[Planning 108 / 240]
[Planning deferred tasks]
[55 / 93] SwaTex_SwaTexTests
[61 / 93]
[62 / 94] SwaTex
[72 / 139]
[74 / 139]
[79 / 139]
[81 / 139]
[85 / 139]
[87 / 139]
[90 / 139]
[93 / 139]
[95 / 139]
[96 / 139]
[107 / 139] SwaTex
[117 / 141] LayoutDump-product
[119 / 143] LayoutDump-product
[121 / 143] SwaTexRender
[133 / 184]
[140 / 184]
[144 / 184]
[145 / 184]
[150 / 184]
[153 / 184]
[162 / 184] SwaTexRender
[171 / 185] SwaTexRender
[173 / 187] SwaTexRender
[173 / 187] SwaTexDemo-product
[174 / 187] SwaTexRender
[175 / 187] SwaTexRender
[175 / 187] SwaTexDemo-product
[176 / 187] SwaTex
[183 / 187]
[183 / 187] LayoutDump-product
[185 / 187] SwaTexDemo-product
Build complete! (17.91 sec)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SwaTex",
"name" : "SwaTex",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "18.0"
},
{
"name" : "macos",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "18.0"
},
{
"name" : "watchos",
"version" : "11.0"
},
{
"name" : "visionos",
"version" : "2.0"
}
],
"products" : [
{
"name" : "SwaTex",
"targets" : [
"SwaTex"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SwaTexRender",
"targets" : [
"SwaTexRender"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SwaTexDemo",
"targets" : [
"SwaTexDemo"
],
"type" : {
"executable" : null
}
},
{
"name" : "LayoutDump",
"targets" : [
"LayoutDump"
],
"type" : {
"executable" : null
}
}
],
"swift_languages_versions" : [
"6"
],
"targets" : [
{
"c99name" : "SwaTexTests",
"module_type" : "SwiftTarget",
"name" : "SwaTexTests",
"path" : "Tests/SwaTexTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwaTexTests/Resources/golden",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"Coverage/CoreLogicCoverageTests.swift",
"Coverage/CoverageGoldenTests.swift",
"Coverage/DirectUnitTests.swift",
"Coverage/EnvironmentCoverageTests.swift",
"Coverage/FunctionCoverageTests.swift",
"Coverage/InternalCoverageTests.swift",
"Coverage/LayoutCoverageTests.swift",
"Coverage/MacroExpanderCoverageTests.swift",
"Coverage/MhChemActionTests.swift",
"Coverage/MhChemCoverageTests.swift",
"Coverage/MhChemInternalTests.swift",
"Coverage/MhChemTexifyTests.swift",
"Coverage/ParseNodeCoverageTests.swift",
"Coverage/ParserCoverageTests.swift",
"Coverage/ReachableGapsTests.swift",
"Coverage/UnicodeSupSubCoverageTests.swift",
"Font/FontTests.swift",
"FormulaCacheTests.swift",
"HardeningTests.swift",
"Layout/CDProofCoverageTests.swift",
"Layout/EngineCDProofTests.swift",
"Layout/EngineMiscTests.swift",
"Layout/GoldenLayoutTests.swift",
"Layout/KaTeXSvgTests.swift",
"Layout/LayoutFixRegressionTests.swift",
"Layout/LayoutPrimitivesTests.swift",
"Layout/RaTeXDivergenceTests.swift",
"Layout/RuleColorTests.swift",
"Layout/SurdTests.swift",
"Lexer/LexerTests.swift",
"Lexer/TokenTests.swift",
"Parser/CeLine91BraceTests.swift",
"Parser/DeclareMathOperatorTests.swift",
"Parser/DefTests.swift",
"Parser/ExpandafterTests.swift",
"Parser/FirstByteSetTests.swift",
"Parser/MhChemHandMatcherDiffTests.swift",
"Parser/MhChemTests.swift",
"Parser/MhChemValueSemanticsTests.swift",
"Parser/NoexpandTests.swift",
"Parser/ParseNodeTests.swift",
"Parser/ParserSpecEnvironmentTests.swift",
"Parser/ParserSpecTests.swift",
"Parser/ParserTests.swift",
"Parser/SizeScannerDiffTests.swift",
"Parser/StackGuardTests.swift",
"PerformanceRegressionTests.swift",
"SVG/SVGGoldenTests.swift",
"SVG/SVGRendererTests.swift",
"SVG/SVGWellFormednessTests.swift",
"Support/StackThreadRunner.swift",
"Types/ColorTests.swift",
"Types/DisplayItemTests.swift",
"Types/MathStyleTests.swift",
"Types/UnicodeScriptTests.swift"
],
"target_dependencies" : [
"SwaTex"
],
"type" : "test"
},
{
"c99name" : "SwaTexRenderTests",
"module_type" : "SwiftTarget",
"name" : "SwaTexRenderTests",
"path" : "Tests/SwaTexRenderTests",
"sources" : [
"CoverageRenderTests.swift",
"EndToEndRenderTests.swift",
"FastPNGTests.swift",
"ProfileHarness.swift",
"RenderBenchmarks.swift",
"RenderTests.swift",
"SampleEmitTests.swift",
"ScreenshotGenerator.swift",
"ScrollRedrawTests.swift",
"ScrollStressBench.swift",
"SwaTexViewTests.swift",
"TranslucentColorParityTests.swift",
"ViewParityTests.swift"
],
"target_dependencies" : [
"SwaTexRender"
],
"type" : "test"
},
{
"c99name" : "SwaTexRender",
"module_type" : "SwiftTarget",
"name" : "SwaTexRender",
"path" : "Sources/SwaTexRender",
"product_memberships" : [
"SwaTexRender",
"SwaTexDemo"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwaTexRender/Resources/Fonts",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"DisplayListRenderer.swift",
"FastPNGEncoder.swift",
"ImageRenderer.swift",
"KaTeXFontProvider.swift",
"MathView.swift",
"SwaTexView.swift"
],
"target_dependencies" : [
"SwaTex"
],
"type" : "library"
},
{
"c99name" : "SwaTexDemo",
"module_type" : "SwiftTarget",
"name" : "SwaTexDemo",
"path" : "Sources/SwaTexDemo",
"product_memberships" : [
"SwaTexDemo"
],
"sources" : [
"SwaTexDemoApp.swift"
],
"target_dependencies" : [
"SwaTexRender"
],
"type" : "executable"
},
{
"c99name" : "SwaTex",
"module_type" : "SwiftTarget",
"name" : "SwaTex",
"path" : "Sources/SwaTex",
"product_memberships" : [
"SwaTex",
"SwaTexRender",
"SwaTexDemo",
"LayoutDump"
],
"sources" : [
"Font/FontId.swift",
"Font/FontMetrics.swift",
"Font/MathAlpha.swift",
"Font/MetricsData.swift",
"Font/Symbols.swift",
"Font/SymbolsData.swift",
"FormulaCache.swift",
"Layout/Engine.swift",
"Layout/EngineAccent.swift",
"Layout/EngineArrays.swift",
"Layout/EngineCDProof.swift",
"Layout/EngineDelims.swift",
"Layout/EngineMisc.swift",
"Layout/EngineOps.swift",
"Layout/EngineScripts.swift",
"Layout/EngineSymbols.swift",
"Layout/EngineTextStyles.swift",
"Layout/HBox.swift",
"Layout/KaTeXSvg.swift",
"Layout/KaTeXSvgData.swift",
"Layout/LayoutBox.swift",
"Layout/LayoutOptions.swift",
"Layout/Spacing.swift",
"Layout/StackedDelim.swift",
"Layout/Surd.swift",
"Layout/ToDisplay.swift",
"Layout/VBox.swift",
"Lexer/Lexer.swift",
"Lexer/Token.swift",
"Parser/BuiltinMacros.swift",
"Parser/Environments.swift",
"Parser/FirstByteSet.swift",
"Parser/FunctionRegistry.swift",
"Parser/Functions/Accent.swift",
"Parser/Functions/Arrow.swift",
"Parser/Functions/Bussproofs.swift",
"Parser/Functions/CharCmd.swift",
"Parser/Functions/ColorCmd.swift",
"Parser/Functions/Cr.swift",
"Parser/Functions/Def.swift",
"Parser/Functions/DelimSizing.swift",
"Parser/Functions/Enclose.swift",
"Parser/Functions/Environment.swift",
"Parser/Functions/Font.swift",
"Parser/Functions/Genfrac.swift",
"Parser/Functions/HBoxCmd.swift",
"Parser/Functions/HorizBrace.swift",
"Parser/Functions/Href.swift",
"Parser/Functions/HtmlMathML.swift",
"Parser/Functions/Kern.swift",
"Parser/Functions/Lap.swift",
"Parser/Functions/LeftRight.swift",
"Parser/Functions/Math.swift",
"Parser/Functions/MathChoice.swift",
"Parser/Functions/Mclass.swift",
"Parser/Functions/NoNumber.swift",
"Parser/Functions/Op.swift",
"Parser/Functions/OperatorName.swift",
"Parser/Functions/Overline.swift",
"Parser/Functions/Phantom.swift",
"Parser/Functions/Pmb.swift",
"Parser/Functions/RaiseBox.swift",
"Parser/Functions/Relax.swift",
"Parser/Functions/Rule.swift",
"Parser/Functions/Sizing.swift",
"Parser/Functions/SpacingCmd.swift",
"Parser/Functions/Sqrt.swift",
"Parser/Functions/Styling.swift",
"Parser/Functions/SymbolsCmd.swift",
"Parser/Functions/Tag.swift",
"Parser/Functions/Text.swift",
"Parser/Functions/VCenter.swift",
"Parser/Functions/Verb.swift",
"Parser/MacroExpander.swift",
"Parser/MhChem.swift",
"Parser/MhChem/MhChemActions.swift",
"Parser/MhChem/MhChemData.swift",
"Parser/MhChem/MhChemDataJSON.swift",
"Parser/MhChem/MhChemEngine.swift",
"Parser/MhChem/MhChemHandMatchers.swift",
"Parser/MhChem/MhChemPatterns.swift",
"Parser/MhChem/MhChemRegex.swift",
"Parser/MhChem/MhChemTexify.swift",
"Parser/ParseError.swift",
"Parser/ParseNode.swift",
"Parser/Parser.swift",
"Parser/StackGuard.swift",
"Parser/UnicodeSupSub.swift",
"SVG/SVGRenderer.swift",
"SVG/SVGStandalone.swift",
"SwaTexFacade.swift",
"Types/Color.swift",
"Types/DisplayItem.swift",
"Types/MathStyle.swift",
"Types/PathCommand.swift",
"Types/UnicodeScript.swift"
],
"type" : "library"
},
{
"c99name" : "LayoutDump",
"module_type" : "SwiftTarget",
"name" : "LayoutDump",
"path" : "Sources/LayoutDump",
"product_memberships" : [
"LayoutDump"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"SwaTex"
],
"type" : "executable"
}
],
"tools_version" : "6.1"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/phrasehq/swatex/0.6.0
Repository: PhraseHQ/SwaTex
Swift version used: 6.4
Target: SwaTex
Extracting symbol information for 'SwaTex'...
Finished extracting symbol information for 'SwaTex'. (7.02s)
Building documentation for 'SwaTex'...
Finished building documentation for 'SwaTex' (0.36s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/phrasehq/swatex/0.6.0
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin (1.48s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (3.80s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3865] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (1.38s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.09s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
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
Building for debugging...
[Planning deferred tasks]
[20 / 43] Snippets
[30 / 92]
[35 / 92]
[38 / 92]
[39 / 92]
[43 / 92]
[45 / 92]
[48 / 92]
[51 / 92]
[53 / 92]
[54 / 92]
[65 / 92] SymbolKit
[84 / 93] SymbolKit
[86 / 93] snippet-extract-product
[92 / 97] snippet-extract-product
[93 / 97] snippet-extract-product
[95 / 97] snippet-extract-product
Build complete! (4.22 sec)
Building for debugging...
[Planning deferred tasks]
[2 / 10]
[3 / 11] SwaTex
[14 / 22] SwaTex
[16 / 18] SwaTex
Build complete! (6.80 sec)
Target: SwaTexRender
Extracting symbol information for 'SwaTexRender'...
Finished extracting symbol information for 'SwaTexRender'. (1.41s)
Building documentation for 'SwaTexRender'...
warning: 'DisplayList' doesn't exist at '/SwaTexRender/DisplayListRenderer'
--> ../DisplayListRenderer.swift:34:17-34:28
32 | }
33 |
34 + /// Renders a ``DisplayList`` into a `CGContext` with CoreText glyph drawing.
35 | ///
36 | /// The display list is in em units with y increasing downward and the baseline
warning: 'FastPNGEncoder' doesn't exist at '/SwaTexRender/ImageRenderer/png(for:options:displayScale:)'
--> ../ImageRenderer.swift:11:16-11:30
9 | /// Render a display list and encode PNG in one pass.
10 | ///
11 + /// Uses ``FastPNGEncoder`` (Accelerate + libcompression) straight from
12 | /// the bitmap context's backing store — no intermediate `CGImage`, no
13 | /// ImageIO. ~4× faster than the general-purpose encoder (B-006 in
warning: Parameter 'options' is missing documentation
--> ../ImageRenderer.swift:81:28-81:28
79 | ///
80 | /// - Parameter displayScale: pixel density multiplier (e.g. 2 or 3 for
| ╰─suggestion: Document 'options' parameter
81 + /// Retina displays).
82 | public static func image(
83 | for list: DisplayList,
warning: Parameter 'list' is missing documentation
--> ../ImageRenderer.swift:81:28-81:28
79 | ///
80 | /// - Parameter displayScale: pixel density multiplier (e.g. 2 or 3 for
| ╰─suggestion: Document 'list' parameter
81 + /// Retina displays).
82 | public static func image(
83 | for list: DisplayList,
warning: 'FormulaCache' doesn't exist at '/SwaTexRender/SwaTexView'
--> ../SwaTexView.swift:37:49-37:61
35 | /// This is the math view of [Phrase](https://phrase.so)'s native block
36 | /// editor. Designed for block editors and text-heavy UIs:
37 + /// - parse + layout are memoized through ``FormulaCache/shared`` (~100 ns
38 | /// per repeated formula), so `draw(_:)` is a pure vector CoreGraphics
39 | /// pass (~tens of µs) with no bitmap round-trip;
Finished building documentation for 'SwaTexRender' (0.53s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/phrasehq/swatex/0.6.0
Building for debugging...
[1 / 11]
Build complete! (0.45 sec)
Building for debugging...
[Planning deferred tasks]
[4 / 12] SwaTexRender
[12 / 20] SwaTexRender
Build complete! (1.19 sec)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/phrasehq/swatex/0.6.0/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/phrasehq/swatex/0.6.0/linkable-paths.json
3020
20 /Users/admin/builder/spi-builder-workspace/.docs/phrasehq/swatex/0.6.0
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/phrasehq/swatex/0.6.0
File count: 3020
Doc size: 20.0MB
Preparing doc bundle ...
Using presigned URL upload - AWS credentials not required
Uploading -phrasehq-swatex-0.6.0-af43a1c8.zip to presigned URL
Starting upload of 4246816 bytes...
Upload completed successfully
Done.