The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Shaft, reference main (ea5299), with Swift 6.3 for macOS (SPM) on 17 Apr 2026 08:08:00 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64

Build Log

48 |     ///
49 +     ///  * ``Locale/fromSubtags``, which also allows a ``scriptCode`` to be
50 |     ///    specified.
51 |     public init(
warning: 'fromSubtags' doesn't exist at '/Shaft/Locale'
   --> Sources/Shaft/Core/Locale.swift:115:21-115:32
113 |     /// See also:
114 |     ///
115 +     ///  * ``Locale/fromSubtags``, which describes the conventions for creating
116 |     ///    ``Locale`` objects.
117 |     public var languageCode: String {
warning: 'fromSubtags' doesn't exist at '/Shaft/Locale'
   --> Sources/Shaft/Core/Locale.swift:216:21-216:32
214 |     /// See also:
215 |     ///
216 +     ///  * ``Locale/fromSubtags``, which describes the conventions for creating
217 |     ///    ``Locale`` objects.
218 |     public let scriptCode: String?
warning: 'fromSubtags' doesn't exist at '/Shaft/Locale'
   --> Sources/Shaft/Core/Locale.swift:237:21-237:32
235 |     /// See also:
236 |     ///
237 +     ///  * ``Locale/fromSubtags``, which describes the conventions for creating
238 |     ///    ``Locale`` objects.
239 |     public var countryCode: String? {
warning: 'defaultTargetPlatform' doesn't exist at '/Shaft/TargetPlatform'
  --> Sources/Shaft/Core/TargetPlatform.swift:11:11-11:32
9  | /// The platform that user interaction should adapt to target.
10 | ///
11 + /// The ``defaultTargetPlatform`` getter returns the current platform.
12 | ///
13 | /// When using the "flutter run" command, the "o" key will toggle between
warning: 'debugDefaultTargetPlatformOverride' doesn't exist at '/Shaft/TargetPlatform'
  --> Sources/Shaft/Core/TargetPlatform.swift:14:41-14:75
12 | ///
13 | /// When using the "flutter run" command, the "o" key will toggle between
14 + /// values of this enum when updating ``debugDefaultTargetPlatformOverride``.
15 | /// This lets one test how the application will work on various platforms
16 | /// without having to switch emulators or physical devices.
warning: 'nil' doesn't exist at '/Shaft/TextEditingValue/selection'
  --> Sources/Shaft/Core/TextEditing.swift:74:43-74:46
72 |     /// caret position.
73 |     ///
74 +     /// If the current ``selection`` is ``nil``, then the text currently does not
75 |     /// have a selection or a caret location, and most text editing operations
76 |     /// that rely on the current selection (for instance, insert a character at
warning: 'value' doesn't exist at '/Shaft/TextEditingDelta/apply(to:)'
   --> Sources/Shaft/Core/TextEditing.swift:199:35-199:40
197 | /// state as a result of text editing.
198 | public protocol TextEditingDelta {
199 +     /// Get a copy of the given ``value`` with the change applied to it.
200 |     func apply(to value: TextEditingValue) -> TextEditingValue
201 | }
warning: 'value' doesn't exist at '/Shaft/TextEditingDeltaCommit/apply(to:)'
   --> Sources/Shaft/Core/TextEditing.swift:199:35-199:40
197 | /// state as a result of text editing.
198 | public protocol TextEditingDelta {
199 +     /// Get a copy of the given ``value`` with the change applied to it.
200 |     func apply(to value: TextEditingValue) -> TextEditingValue
201 | }
warning: 'value' doesn't exist at '/Shaft/TextEditingDeltaComposing/apply(to:)'
   --> Sources/Shaft/Core/TextEditing.swift:199:35-199:40
197 | /// state as a result of text editing.
198 | public protocol TextEditingDelta {
199 +     /// Get a copy of the given ``value`` with the change applied to it.
200 |     func apply(to value: TextEditingValue) -> TextEditingValue
201 | }
warning: 'extendTo' doesn't exist at '/Shaft/TextSelection/expandTo(_:extentAtIndex:)'
   --> Sources/Shaft/Core/TextEditing.swift:443:30-443:38
441 |     /// ``TextSelection/baseOffset``. Otherwise, their order will be preserved.
442 |     ///
443 +     /// ## Difference with ``extendTo``
444 |     /// In contrast with this method, ``extendTo`` is a pivot; it holds
445 |     /// ``TextSelection/baseOffset`` fixed while moving ``TextSelection/extentOffset``
warning: 'extendTo' doesn't exist at '/Shaft/TextSelection/expandTo(_:extentAtIndex:)'
   --> Sources/Shaft/Core/TextEditing.swift:444:41-444:49
442 |     ///
443 |     /// ## Difference with ``extendTo``
444 +     /// In contrast with this method, ``extendTo`` is a pivot; it holds
445 |     /// ``TextSelection/baseOffset`` fixed while moving ``TextSelection/extentOffset``
446 |     /// to the given ``TextPosition``. It doesn't strictly grow the selection and
warning: 'expandTo' doesn't exist at '/Shaft/TextSelection/extendTo(_:)'
   --> Sources/Shaft/Core/TextEditing.swift:490:30-490:38
488 |     /// size of the selection may shrink.
489 |     ///
490 +     /// ## Difference with ``expandTo``
491 |     /// In contrast with this method, ``expandTo`` is strictly growth; the
492 |     /// selection is grown to include the given ``TextPosition`` and will never
warning: 'expandTo' doesn't exist at '/Shaft/TextSelection/extendTo(_:)'
   --> Sources/Shaft/Core/TextEditing.swift:491:41-491:49
489 |     ///
490 |     /// ## Difference with ``expandTo``
491 +     /// In contrast with this method, ``expandTo`` is strictly growth; the
492 |     /// selection is grown to include the given ``TextPosition`` and will never
493 |     /// shrink.
warning: 'value' doesn't exist at '/Shaft/TextSelectionDelegate/userUpdateTextEditingValue(_:cause:)'
   --> Sources/Shaft/Core/TextEditing.swift:515:35-515:40
513 |
514 |     /// Indicates that the user has requested the delegate to replace its current
515 +     /// text editing state with ``value``.
516 |     ///
517 |     /// The new ``value`` is treated as user input and thus may subject to input
warning: 'value' doesn't exist at '/Shaft/EditableTextState/userUpdateTextEditingValue(_:cause:)'
   --> Sources/Shaft/Core/TextEditing.swift:515:35-515:40
513 |
514 |     /// Indicates that the user has requested the delegate to replace its current
515 +     /// text editing state with ``value``.
516 |     ///
517 |     /// The new ``value`` is treated as user input and thus may subject to input
warning: 'value' doesn't exist at '/Shaft/TextSelectionDelegate/userUpdateTextEditingValue(_:cause:)'
   --> Sources/Shaft/Core/TextEditing.swift:517:19-517:24
515 |     /// text editing state with ``value``.
516 |     ///
517 +     /// The new ``value`` is treated as user input and thus may subject to input
518 |     /// formatting.
519 |     ///
warning: 'value' doesn't exist at '/Shaft/EditableTextState/userUpdateTextEditingValue(_:cause:)'
   --> Sources/Shaft/Core/TextEditing.swift:517:19-517:24
515 |     /// text editing state with ``value``.
516 |     ///
517 +     /// The new ``value`` is treated as user input and thus may subject to input
518 |     /// formatting.
519 |     ///
warning: 'userUpdateTextEditingValue' doesn't exist at '/Shaft/EditableTextState'
   --> Sources/Shaft/Core/TextEditing.swift:522:31-522:57
520 |     /// See also:
521 |     ///
522 +     /// * ``EditableTextState/userUpdateTextEditingValue``: an implementation that
    |                               ╰─suggestion: Replace 'userUpdateTextEditingValue' with 'userUpdateTextEditingValue(_:cause:)'
523 |     ///   applies additional pre-processing to the specified ``value``, before
524 |     ///   updating the text editing state.
warning: 'userUpdateTextEditingValue' doesn't exist at '/Shaft/EditableTextState'
   --> Sources/Shaft/Core/TextEditing.swift:522:31-522:57
520 |     /// See also:
521 |     ///
522 +     /// * ``EditableTextState/userUpdateTextEditingValue``: an implementation that
    |                               ╰─suggestion: Replace 'userUpdateTextEditingValue' with 'userUpdateTextEditingValue(_:cause:)'
523 |     ///   applies additional pre-processing to the specified ``value``, before
524 |     ///   updating the text editing state.
warning: 'value' doesn't exist at '/Shaft/TextSelectionDelegate/userUpdateTextEditingValue(_:cause:)'
   --> Sources/Shaft/Core/TextEditing.swift:523:64-523:69
521 |     ///
522 |     /// * ``EditableTextState/userUpdateTextEditingValue``: an implementation that
523 +     ///   applies additional pre-processing to the specified ``value``, before
524 |     ///   updating the text editing state.
525 |     func userUpdateTextEditingValue(_ value: TextEditingValue, cause: SelectionChangedCause?)
warning: 'value' doesn't exist at '/Shaft/EditableTextState/userUpdateTextEditingValue(_:cause:)'
   --> Sources/Shaft/Core/TextEditing.swift:523:64-523:69
521 |     ///
522 |     /// * ``EditableTextState/userUpdateTextEditingValue``: an implementation that
523 +     ///   applies additional pre-processing to the specified ``value``, before
524 |     ///   updating the text editing state.
525 |     func userUpdateTextEditingValue(_ value: TextEditingValue, cause: SelectionChangedCause?)
warning: 'italic' doesn't exist at '/Shaft/FontVariation'
  --> Sources/Shaft/Core/TextTypes.swift:63:25-63:31
61 | ///
62 | /// Some modern fonts allow this to be selected in a more fine-grained manner.
63 + /// See ``FontVariation/italic`` for details.
   |                         ╰─suggestion: Replace 'italic' with 'italic(_:)'
64 | ///
65 | /// Italic type is distinct from slanted glyphs. To control the slant of a
warning: 'slant' doesn't exist at '/Shaft/FontVariation'
  --> Sources/Shaft/Core/TextTypes.swift:66:41-66:46
64 | ///
65 | /// Italic type is distinct from slanted glyphs. To control the slant of a
66 + /// glyph, consider the ``FontVariation/slant`` font feature.
   |                                         ╰─suggestion: Replace 'slant' with 'slant(_:)'
67 | public enum FontStyle {
68 |     /// Use the upright ("Roman") glyphs.
warning: 'weight' doesn't exist at '/Shaft/FontVariation'
   --> Sources/Shaft/Core/TextTypes.swift:104:25-104:31
102 | ///
103 | /// Some modern fonts allow the weight to be adjusted in arbitrary increments.
104 + /// See ``FontVariation/weight`` for details.
    |                         ╰─suggestion: Replace 'weight' with 'weight(_:)'
105 | public struct FontWeight: Equatable {
106 |     private init(_ index: Int, _ value: Int) {
warning: 'binary32' doesn't exist at '/Shaft/FontVariation/value'
   --> Sources/Shaft/Core/TextTypes.swift:420:12-420:20
418 |     ///
419 |     /// While this property is represented as a Float in this API
420 +     /// (``binary32``(https://en.wikipedia.org/wiki/Single-precision_floating-point_format)),
421 |     /// fonts use the fixed-point 16.16 format to represent the value of font
422 |     /// variations. This means that the actual range is -32768.0 to approximately
warning: 'leading' doesn't exist at '/Shaft/TextLeadingDistribution/proportional'
   --> Sources/Shaft/Core/TextTypes.swift:682:27-682:34
680 | /// used with a ``TextStyle/height`` much smaller than 1.0.
681 | public enum TextLeadingDistribution {
682 +     /// Distributes the ``leading``(https://en.wikipedia.org/wiki/Leading)
683 |     /// of the text proportionally above and below the text, to the font's
684 |     /// ascent/descent ratio.
warning: 'String.Index' doesn't exist at '/Shaft/TextIndex'
   --> Sources/Shaft/Core/TextTypes.swift:710:55-710:67
708 | /// rendering library and system APIs still use UTF-16. Therefore, UTF-16
709 | /// offsets are used to represent text positions in the framework, with some
710 + /// helpful utilities to convert between UTF-16 and ``String.Index``.
711 | public struct TextIndex: Equatable {
712 |     public init(utf16Offset: Int) {
warning: 'offset' doesn't exist at '/Shaft/TextRange/collapsed(_:)'
   --> Sources/Shaft/Core/TextTypes.swift:860:15-860:21
858 |     /// A text range that starts and ends at offset.
859 |     ///
860 +     /// The ``offset`` argument must be non-null and greater than or equal to -1.
861 |     public static func collapsed(_ offset: TextIndex) -> Self {
862 |         return Self(start: offset, end: offset)
warning: 'typesetting strut' doesn't exist at '/Shaft/StrutStyle'
   --> Sources/Shaft/Core/TextTypes.swift:981:7-981:24
979 | /// paragraph. This imaginary space is 'shaped' according the properties
980 | /// defined in this class. Flutter's strut is based on
981 + /// ``typesetting strut``(https://en.wikipedia.org/wiki/Strut_(typesetting))
982 | /// and CSS's ``line-height``(https://www.w3.org/TR/CSS2/visudet.html#line-height).
983 | ///
warning: 'line-height' doesn't exist at '/Shaft/StrutStyle'
   --> Sources/Shaft/Core/TextTypes.swift:982:17-982:28
980 | /// defined in this class. Flutter's strut is based on
981 | /// ``typesetting strut``(https://en.wikipedia.org/wiki/Strut_(typesetting))
982 + /// and CSS's ``line-height``(https://www.w3.org/TR/CSS2/visudet.html#line-height).
983 | ///
984 | /// No lines may be shorter than the strut. The ascent and descent of the
warning: 'fontFamily' doesn't exist at '/Shaft/StrutStyle/fontFamilies'
    --> Sources/Shaft/Core/TextTypes.swift:998:33-998:43
996  |     /// provided.
997  |     ///
998  +     /// The value provided in ``fontFamily`` will act as the preferred/first font
999  |     /// family that will be searched for, followed in order by the font families
1000 |     /// in ``fontFamilyFallback``. If all font families are exhausted and no match
warning: 'fontFamilyFallback' doesn't exist at '/Shaft/StrutStyle/fontFamilies'
    --> Sources/Shaft/Core/TextTypes.swift:1000:14-1000:32
998  |     /// The value provided in ``fontFamily`` will act as the preferred/first font
999  |     /// family that will be searched for, followed in order by the font families
1000 +     /// in ``fontFamilyFallback``. If all font families are exhausted and no match
1001 |     /// was found, the default platform font family will be used instead. Unlike
1002 |     /// ``TextStyle/fontFamilyFallback``, the font does not need to contain the
warning: 'leadingDistribution' doesn't exist at '/Shaft/StrutStyle/leading'
    --> Sources/Shaft/Core/TextTypes.swift:1047:55-1047:74
1045 |
1046 |     /// The additional leading to apply to the strut as a multiple of
1047 +     /// ``fontSize``, independent of ``height`` and ``leadingDistribution``.
1048 |     ///
1049 |     /// Leading is additional spacing between lines. Half of the leading is
warning: 'leadingDistribution' doesn't exist at '/Shaft/StrutStyle/leading'
    --> Sources/Shaft/Core/TextTypes.swift:1052:55-1052:74
1050 |     /// added to the top and the other half to the bottom of the line. This
1051 |     /// differs from ``height`` since the spacing is always equally distributed
1052 +     /// above and below the baseline, regardless of ``leadingDistribution``.
1053 |     ///
1054 |     /// The default leading is null, which will use the font-specified leading.
warning: 'layout' doesn't exist at '/Shaft/Paragraph'
    --> Sources/Shaft/Core/TextTypes.swift:1125:35-1125:41
1123 |     /// after the first one that overflows the width constraints are dropped.
1124 |     /// The width constraints are those set in the ``ParagraphConstraints`` object
1125 +     /// passed to the ``Paragraph/layout`` method.
     |                                   ╰─suggestion: Replace 'layout' with 'layout(_:)'
1126 |     public var maxLines: Int?
1127 |
warning: 'layout' doesn't exist at '/Shaft/Paragraph'
    --> Sources/Shaft/Core/TextTypes.swift:1134:21-1134:27
1132 |     /// constraints, and subsequent lines are dropped. The width constraints are
1133 |     /// those set in the ``ParagraphConstraints`` object passed to the
1134 +     /// ``Paragraph/layout`` method. The empty string and the null value are
     |                     ╰─suggestion: Replace 'layout' with 'layout(_:)'
1135 |     /// considered equivalent and turn off this behavior.
1136 |     public var ellipsis: String?
warning: 'pop' doesn't exist at '/Shaft/ParagraphBuilder/pushStyle(_:)'
    --> Sources/Shaft/Core/TextTypes.swift:1156:59-1156:62
1154 |
1155 | public protocol ParagraphBuilder: AnyObject {
1156 +     /// Applies the given style to the added text until ``pop`` is called.
1157 |     ///
1158 |     /// See ``pop`` for details.
warning: 'pop' doesn't exist at '/Shaft/ParagraphBuilder/pushStyle(_:)'
    --> Sources/Shaft/Core/TextTypes.swift:1158:15-1158:18
1156 |     /// Applies the given style to the added text until ``pop`` is called.
1157 |     ///
1158 +     /// See ``pop`` for details.
1159 |     func pushStyle(_ style: SpanStyle)
1160 |
warning: 'pushStyle' doesn't exist at '/Shaft/ParagraphBuilder/pop()'
    --> Sources/Shaft/Core/TextTypes.swift:1161:54-1161:63
1159 |     func pushStyle(_ style: SpanStyle)
1160 |
1161 +     /// Ends the effect of the most recent call to ``pushStyle``.
1162 |     ///
1163 |     /// Internally, the paragraph builder maintains a stack of text styles. Text
warning: 'pop' doesn't exist at '/Shaft/ParagraphBuilder/pop()'
    --> Sources/Shaft/Core/TextTypes.swift:1165:19-1165:22
1163 |     /// Internally, the paragraph builder maintains a stack of text styles. Text
1164 |     /// added to the paragraph is affected by all the styles in the stack.
1165 +     /// Calling ``pop`` removes the topmost style in the stack, leaving the
1166 |     /// remaining styles in effect.
1167 |     func pop()
warning: 'layout' doesn't exist at '/Shaft/Paragraph'
    --> Sources/Shaft/Core/TextTypes.swift:1184:65-1184:71
1182 | /// Layout constraints for ``Paragraph`` objects.
1183 | ///
1184 + /// Instances of this class are typically used with ``Paragraph/layout``.
     |                                                                 ╰─suggestion: Replace 'layout' with 'layout(_:)'
1185 | ///
1186 | /// The only constraint that can be specified is the ``width``. See the discussion
warning: 'width' doesn't exist at '/Shaft/ParagraphConstraints'
    --> Sources/Shaft/Core/TextTypes.swift:1186:56-1186:61
1184 | /// Instances of this class are typically used with ``Paragraph/layout``.
1185 | ///
1186 + /// The only constraint that can be specified is the ``width``. See the discussion
     |                                                        ╰─suggestion: Replace 'width' with 'width(_:)'
1187 | /// at ``width`` for more details.
1188 | public enum ParagraphConstraints: Equatable {
warning: 'width' doesn't exist at '/Shaft/ParagraphConstraints'
    --> Sources/Shaft/Core/TextTypes.swift:1187:10-1187:15
1185 | ///
1186 | /// The only constraint that can be specified is the ``width``. See the discussion
1187 + /// at ``width`` for more details.
     |          ╰─suggestion: Replace 'width' with 'width(_:)'
1188 | public enum ParagraphConstraints: Equatable {
1189 |     /// The width the paragraph should use whey computing the positions of glyphs.
warning: 'new' doesn't exist at '/Shaft/ParagraphStyle'
    --> Sources/Shaft/Core/TextTypes.swift:1201:26-1201:29
1199 |     ///
1200 |     /// The width influences how ellipses are applied. See the discussion at
1201 +     /// ``ParagraphStyle/new`` for more details.
1202 |     ///
1203 |     /// This width is also used to position glyphs according to the ``TextAlign``
warning: 'getBoxesForRange' doesn't exist at '/Shaft/Paragraph'
    --> Sources/Shaft/Core/TextTypes.swift:1210:17-1210:33
1208 |
1209 | /// Defines various ways to horizontally bound the boxes returned by
1210 + /// ``Paragraph/getBoxesForRange``.
     |                 ├─suggestion: Replace 'getBoxesForRange' with 'getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
     |                 ╰─suggestion: Replace 'getBoxesForRange' with 'getBoxesForPlaceholders()'
1211 | ///
1212 | /// See ``BoxHeightStyle`` for a similar property to control height.
warning: 'getBoxesForRange' doesn't exist at '/Shaft/Paragraph'
    --> Sources/Shaft/Core/TextTypes.swift:1229:17-1229:33
1227 |
1228 | /// Defines various ways to vertically bound the boxes returned by
1229 + /// ``Paragraph/getBoxesForRange``.
     |                 ├─suggestion: Replace 'getBoxesForRange' with 'getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
     |                 ╰─suggestion: Replace 'getBoxesForRange' with 'getBoxesForPlaceholders()'
1230 | ///
1231 | /// See ``BoxWidthStyle`` for a similar property to control width.
warning: 'drawParagraph' doesn't exist at '/Shaft/Canvas'
    --> Sources/Shaft/Core/TextTypes.swift:1286:68-1286:81
1284 | /// To create a ``Paragraph`` object, use a ``ParagraphBuilder``.
1285 | ///
1286 + /// Paragraphs can be displayed on a ``Canvas`` using the ``Canvas/drawParagraph``
1287 | /// method.
1288 | public protocol Paragraph: AnyObject {
warning: 'layout' doesn't exist at '/Shaft/Paragraph/width'
    --> Sources/Shaft/Core/TextTypes.swift:1291:28-1291:34
1289 |     /// The amount of horizontal space this paragraph occupies.
1290 |     ///
1291 +     /// Valid only after ``layout`` has been called.
1292 |     var width: Float { get }
1293 |
warning: 'layout' doesn't exist at '/Shaft/Paragraph/height'
    --> Sources/Shaft/Core/TextTypes.swift:1296:28-1296:34
1294 |     /// The amount of vertical space this paragraph occupies.
1295 |     ///
1296 +     /// Valid only after ``layout`` has been called.
1297 |     var height: Float { get }
1298 |
warning: 'layout' doesn't exist at '/Shaft/Paragraph/longestLine'
    --> Sources/Shaft/Core/TextTypes.swift:1302:28-1302:34
1300 |     /// the rightmost glyph in the paragraph.
1301 |     ///
1302 +     /// Valid only after ``layout`` has been called.
1303 |     var longestLine: Float { get }
1304 |
warning: 'layout' doesn't exist at '/Shaft/Paragraph/minIntrinsicWidth'
    --> Sources/Shaft/Core/TextTypes.swift:1308:28-1308:34
1306 |     /// its contents within itself.
1307 |     ///
1308 +     /// Valid only after ``layout`` has been called.
1309 |     var minIntrinsicWidth: Float { get }
1310 |
warning: 'layout' doesn't exist at '/Shaft/Paragraph/maxIntrinsicWidth'
    --> Sources/Shaft/Core/TextTypes.swift:1314:28-1314:34
1312 |     /// decreases the height.
1313 |     ///
1314 +     /// Valid only after ``layout`` has been called.
1315 |     var maxIntrinsicWidth: Float { get }
1316 |
warning: 'new' doesn't exist at '/Shaft/ParagraphStyle'
    --> Sources/Shaft/Core/TextTypes.swift:1331:26-1331:29
1329 |     ///
1330 |     /// See the discussion of the `maxLines` and `ellipsis` arguments at
1331 +     /// ``ParagraphStyle/new``.
1332 |     var didExceedMaxLines: Bool { get }
1333 |
warning: 'boxHeightStyle' doesn't exist at '/Shaft/Paragraph/getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
    --> Sources/Shaft/Core/TextTypes.swift:1341:15-1341:29
1339 |     /// Returns a list of text boxes that enclose the given text range.
1340 |     ///
1341 +     /// The ``boxHeightStyle`` and ``boxWidthStyle`` parameters allow customization
1342 |     /// of how the boxes are bound vertically and horizontally. Both style
1343 |     /// parameters default to the tight option, which will provide close-fitting
warning: 'boxWidthStyle' doesn't exist at '/Shaft/Paragraph/getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
    --> Sources/Shaft/Core/TextTypes.swift:1341:38-1341:51
1339 |     /// Returns a list of text boxes that enclose the given text range.
1340 |     ///
1341 +     /// The ``boxHeightStyle`` and ``boxWidthStyle`` parameters allow customization
1342 |     /// of how the boxes are bound vertically and horizontally. Both style
1343 |     /// parameters default to the tight option, which will provide close-fitting
warning: 'boxHeightStyle' doesn't exist at '/Shaft/Paragraph/getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
    --> Sources/Shaft/Core/TextTypes.swift:1349:15-1349:29
1347 |     /// where positive y values indicate down.
1348 |     ///
1349 +     /// The ``boxHeightStyle`` and ``boxWidthStyle`` parameters must not be null.
1350 |     ///
1351 |     /// See ``BoxHeightStyle`` and ``BoxWidthStyle`` for full descriptions of each option.
warning: 'boxWidthStyle' doesn't exist at '/Shaft/Paragraph/getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
    --> Sources/Shaft/Core/TextTypes.swift:1349:38-1349:51
1347 |     /// where positive y values indicate down.
1348 |     ///
1349 +     /// The ``boxHeightStyle`` and ``boxWidthStyle`` parameters must not be null.
1350 |     ///
1351 |     /// See ``BoxHeightStyle`` and ``BoxWidthStyle`` for full descriptions of each option.
warning: 'addPlaceholder' doesn't exist at '/Shaft/ParagraphBuilder'
    --> Sources/Shaft/Core/TextTypes.swift:1362:28-1362:42
1360 |     ///
1361 |     /// The order of the boxes are in the same order as passed in through
1362 +     /// ``ParagraphBuilder/addPlaceholder``.
1363 |     ///
1364 |     /// Coordinates of the ``TextBox`` are relative to the upper-left corner of the paragraph,
warning: 'getBoxesForRange' doesn't exist at '/Shaft/Paragraph'
    --> Sources/Shaft/Core/TextTypes.swift:1460:46-1460:62
1458 | /// The measurements here are for the line as a whole, and represent the maximum
1459 | /// extent of the line instead of per-run or per-glyph metrics. For more detailed
1460 + /// metrics, see ``TextBox`` and ``Paragraph/getBoxesForRange``.
     |                                              ├─suggestion: Replace 'getBoxesForRange' with 'getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
     |                                              ╰─suggestion: Replace 'getBoxesForRange' with 'getBoxesForPlaceholders()'
1461 | ///
1462 | /// ``LineMetrics`` should be obtained directly from the [Paragraph.computeLineMetrics]
warning: 'addPlaceholder' doesn't exist at '/Shaft/ParagraphBuilder'
    --> Sources/Shaft/Core/TextTypes.swift:1576:32-1576:46
1574 | /// Where to vertically align the placeholder relative to the surrounding text.
1575 | ///
1576 + /// Used by ``ParagraphBuilder/addPlaceholder``.
1577 | public enum PlaceholderAlignment {
1578 |     /// Match the baseline of the placeholder with the baseline.
warning: 'ValueSetter' doesn't exist at '/Shaft/ValueChanged'
  --> Sources/Shaft/Foundation/Callback.swift:20:10-20:21
18 | /// See also:
19 | ///
20 + ///  * ``ValueSetter``, for callbacks that report that a value has been set.
21 | public typealias ValueChanged<T> = (T) -> Void
22 |
warning: 'transform' doesn't exist at '/Shaft/MatrixUtils/getAsTranslation(_:)'
  --> Sources/Shaft/Foundation/MatrixUtils.swift:8:29-8:38
6  |
7  | public struct MatrixUtils {
8  +     /// Returns the given ``transform`` matrix as an ``Offset``, if the matrix is
9  |     /// nothing but a 2D translation.
10 |     ///
warning: 'transform' doesn't exist at '/Shaft/MatrixUtils/getAsScale(_:)'
  --> Sources/Shaft/Foundation/MatrixUtils.swift:34:29-34:38
32 |     }
33 |
34 +     /// Returns the given ``transform`` matrix as a ``double`` describing a uniform
35 |     /// scale, if the matrix is nothing but a symmetric 2D scale transform.
36 |     ///
warning: 'double' doesn't exist at '/Shaft/MatrixUtils/getAsScale(_:)'
  --> Sources/Shaft/Foundation/MatrixUtils.swift:34:55-34:61
32 |     }
33 |
34 +     /// Returns the given ``transform`` matrix as a ``double`` describing a uniform
35 |     /// scale, if the matrix is nothing but a symmetric 2D scale transform.
36 |     ///
warning: 'angle' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/rotateX(_:)'
   --> Sources/Shaft/Foundation/MatrixUtils.swift:544:23-544:28
542 |     }
543 |
544 +     /// Rotate this ``angle`` radians around X
545 |     public mutating func rotateX(_ angle: Angle) {
546 |         let (sin:sinAngle, cos:cosAngle) = sincos(angle)
warning: 'angle' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/rotateY(_:)'
   --> Sources/Shaft/Foundation/MatrixUtils.swift:566:30-566:35
564 |     }
565 |
566 +     /// Rotate this matrix ``angle`` radians around Y
567 |     public mutating func rotateY(_ angle: Angle) {
568 |         let (sin:sinAngle, cos:cosAngle) = sincos(angle)
warning: 'angle' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/rotateZ(_:)'
   --> Sources/Shaft/Foundation/MatrixUtils.swift:588:30-588:35
586 |     }
587 |
588 +     /// Rotate this matrix ``angle`` radians around Z
589 |     public mutating func rotateZ(_ angle: Angle) {
590 |         let (sin:sinAngle, cos:cosAngle) = sincos(angle)
warning: 'Vector3' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/scale(_:)'
   --> Sources/Shaft/Foundation/MatrixUtils.swift:636:34-636:41
634 |     }
635 |
636 +     /// Scale this matrix by a ``Vector3``
637 |     public mutating func scale(_ vector: Vector3f) {
638 |         scale(vector.x, vector.y, vector.z)
warning: 'angle' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/rotate(_:_:)'
   --> Sources/Shaft/Foundation/MatrixUtils.swift:646:23-646:28
644 |     }
645 |
646 +     /// Rotate this ``angle`` radians around [axis]
647 |     public mutating func rotate(_ axis: Vector3f, _ angle: Angle) {
648 |         let len = axis.length
warning: 'Vector3' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/translate(_:)'
   --> Sources/Shaft/Foundation/MatrixUtils.swift:708:38-708:45
706 |     }
707 |
708 +     /// Translate this matrix by a ``Vector3``
709 |     public mutating func translate(_ vector: Vector3f) {
710 |         translate(vector.x, vector.y, vector.z)
warning: 'DateTime' doesn't exist at '/Shaft/Swift/Duration/secondsPerMinute'
  --> Sources/Shaft/Foundation/Time.swift:30:32-30:40
28 |     /// Notice that some minutes of official clock time might
29 |     /// differ in length because of leap seconds.
30 +     /// The ``Duration`` and ``DateTime`` classes ignore leap seconds
31 |     /// and consider all minutes to have 60 seconds.
32 |     public static var secondsPerMinute = 60
warning: 'acceptGesture' doesn't exist at '/Shaft/GestureArenaMember'
  --> Sources/Shaft/Gestures/Arena.swift:21:54-21:67
19 | ///
20 | /// Receives callbacks from the GestureArena to notify the object when it wins
21 + /// or loses a gesture negotiation. Exactly one of ``acceptGesture`` or
   |                                                      ╰─suggestion: Replace 'acceptGesture' with 'acceptGesture(pointer:)'
22 | /// ``rejectGesture`` will be called for each arena this member was added to,
23 | /// regardless of what caused the arena to be resolved. For example, if a
warning: 'rejectGesture' doesn't exist at '/Shaft/GestureArenaMember'
  --> Sources/Shaft/Gestures/Arena.swift:22:7-22:20
20 | /// Receives callbacks from the GestureArena to notify the object when it wins
21 | /// or loses a gesture negotiation. Exactly one of ``acceptGesture`` or
22 + /// ``rejectGesture`` will be called for each arena this member was added to,
   |       ╰─suggestion: Replace 'rejectGesture' with 'rejectGesture(pointer:)'
23 | /// regardless of what caused the arena to be resolved. For example, if a
24 | /// member resolves the arena itself, that member still receives an
warning: 'acceptGesture' doesn't exist at '/Shaft/GestureArenaMember'
  --> Sources/Shaft/Gestures/Arena.swift:25:7-25:20
23 | /// regardless of what caused the arena to be resolved. For example, if a
24 | /// member resolves the arena itself, that member still receives an
25 + /// ``acceptGesture`` callback.
   |       ╰─suggestion: Replace 'acceptGesture' with 'acceptGesture(pointer:)'
26 | public protocol GestureArenaMember: AnyObject {
27 |     /// Called when this member wins the arena for the given pointer id.
warning: 'hold' doesn't exist at '/Shaft/GestureArenaManager/sweep(_:)'
   --> Sources/Shaft/Gestures/Arena.swift:112:23-112:27
110 |     ///
111 |     /// Recognizers that wish to delay resolving an arena past ``PointerUpEvent``
112 +     /// should call ``hold`` to delay sweep until ``release`` is called.
113 |     ///
114 |     /// See also:
warning: 'release' doesn't exist at '/Shaft/GestureArenaManager/sweep(_:)'
   --> Sources/Shaft/Gestures/Arena.swift:112:53-112:60
110 |     ///
111 |     /// Recognizers that wish to delay resolving an arena past ``PointerUpEvent``
112 +     /// should call ``hold`` to delay sweep until ``release`` is called.
113 |     ///
114 |     /// See also:
warning: 'hold' doesn't exist at '/Shaft/GestureArenaManager/sweep(_:)'
   --> Sources/Shaft/Gestures/Arena.swift:116:14-116:18
114 |     /// See also:
115 |     ///
116 +     ///  * ``hold``
117 |     ///  * ``release``
118 |     public func sweep(_ pointer: Int) {
warning: 'release' doesn't exist at '/Shaft/GestureArenaManager/sweep(_:)'
   --> Sources/Shaft/Gestures/Arena.swift:117:14-117:21
115 |     ///
116 |     ///  * ``hold``
117 +     ///  * ``release``
118 |     public func sweep(_ pointer: Int) {
119 |         guard let state = arenas[pointer] else {
warning: 'hold' doesn't exist at '/Shaft/GestureArenaManager/hold(_:)'
   --> Sources/Shaft/Gestures/Arena.swift:142:74-142:78
140 |     /// Typically, a winner is chosen in an arena after all the other
141 |     /// ``PointerUpEvent`` processing by [sweep]. If a recognizer wishes to delay
142 +     /// resolving an arena past ``PointerUpEvent``, the recognizer can ``hold`` the
143 |     /// arena open using this function. To release such a hold and let the arena
144 |     /// resolve, call ``release``.
warning: 'release' doesn't exist at '/Shaft/GestureArenaManager/hold(_:)'
   --> Sources/Shaft/Gestures/Arena.swift:144:25-144:32
142 |     /// resolving an arena past ``PointerUpEvent``, the recognizer can ``hold`` the
143 |     /// arena open using this function. To release such a hold and let the arena
144 +     /// resolve, call ``release``.
145 |     ///
146 |     /// See also:
warning: 'release' doesn't exist at '/Shaft/GestureArenaManager/hold(_:)'
   --> Sources/Shaft/Gestures/Arena.swift:149:14-149:21
147 |     ///
148 |     ///  * [sweep]
149 +     ///  * ``release``
150 |     public func hold(_ pointer: Int) {
151 |         guard let state = arenas[pointer] else {
warning: 'hold' doesn't exist at '/Shaft/GestureArenaManager/release(_:)'
   --> Sources/Shaft/Gestures/Arena.swift:165:14-165:18
163 |     ///
164 |     ///  * [sweep]
165 +     ///  * ``hold``
166 |     public func release(_ pointer: Int) {
167 |         guard let state = arenas[pointer] else {
warning: 'localDelta' doesn't exist at '/Shaft/PointerEvent/transform'
   --> Sources/Shaft/Gestures/PointerEvents.swift:105:72-105:82
103 |     /// space into the coordinate space of the event receiver.
104 |     ///
105 +     /// This value affects what is returned by ``localPosition`` and ``localDelta``.
106 |     /// If this value is null, it is treated as the identity transformation.
107 |     public let transform: Matrix4x4f?
warning: 'route' doesn't exist at '/Shaft/PointerRouter'
  --> Sources/Shaft/Gestures/PointerRouter.swift:82:57-82:62
80 |     /// pointer, call route.
81 |     ///
82 +     /// Routes added reentrantly within ``PointerRouter/route`` will take effect when
   |                                                         ╰─suggestion: Replace 'route' with 'route(_:)'
83 |     /// routing the next event.
84 |     public func addRoute(
warning: 'route' doesn't exist at '/Shaft/PointerRouter'
   --> Sources/Shaft/Gestures/PointerRouter.swift:99:59-99:64
97  |     /// pointer. Requires that this route was previously added to the router.
98  |     ///
99  +     /// Routes removed reentrantly within ``PointerRouter/route`` will take effect
    |                                                           ╰─suggestion: Replace 'route' with 'route(_:)'
100 |     /// immediately.
101 |     public func removeRoute(_ pointer: Int, _ handler: PointerRoute) {
warning: 'route' doesn't exist at '/Shaft/PointerRouter'
   --> Sources/Shaft/Gestures/PointerRouter.swift:115:57-115:62
113 |     /// Whenever this object routes a ``PointerEvent``, call route.
114 |     ///
115 +     /// Routes added reentrantly within ``PointerRouter/route`` will take effect when
    |                                                         ╰─suggestion: Replace 'route' with 'route(_:)'
116 |     /// routing the next event.
117 |     public func addGlobalRoute(
warning: 'addGlobalRoute' doesn't exist at '/Shaft/PointerRouter/removeGlobalRoute(_:)'
   --> Sources/Shaft/Gestures/PointerRouter.swift:128:42-128:56
126 |     ///
127 |     /// No longer call route when routing a ``PointerEvent``. Requires that this
128 +     /// route was previously added via ``addGlobalRoute``.
129 |     ///
130 |     /// Routes removed reentrantly within ``PointerRouter/route`` will take effect
warning: 'route' doesn't exist at '/Shaft/PointerRouter'
   --> Sources/Shaft/Gestures/PointerRouter.swift:130:59-130:64
128 |     /// route was previously added via ``addGlobalRoute``.
129 |     ///
130 +     /// Routes removed reentrantly within ``PointerRouter/route`` will take effect
    |                                                           ╰─suggestion: Replace 'route' with 'route(_:)'
131 |     /// immediately.
132 |     public func removeGlobalRoute(_ handler: PointerRoute) {
warning: 'isPointerAllowed' doesn't exist at '/Shaft/BaseTapGestureRecognizer'
   --> Sources/Shaft/Gestures/Recongnizer/TapRecongnizer.swift:118:7-118:23
116 | /// define which buttons to accept, or what to do when a tap happens. If you
117 | /// want to build a custom tap recognizer, extend this class by overriding
118 + /// ``isPointerAllowed`` and the handler methods.
119 | ///
120 | /// See also:
warning: 'minValue' doesn't exist at '/Shaft/Velocity/clampMagnitude(minValue:maxValue:)'
  --> Sources/Shaft/Gestures/VelocityTracker.swift:43:65-43:73
41 |     }
42 |
43 +     /// Return a velocity whose magnitude has been clamped to ``minValue``
44 |     /// and ``maxValue``.
45 |     ///
warning: 'maxValue' doesn't exist at '/Shaft/Velocity/clampMagnitude(minValue:maxValue:)'
  --> Sources/Shaft/Gestures/VelocityTracker.swift:44:15-44:23
42 |
43 |     /// Return a velocity whose magnitude has been clamped to ``minValue``
44 +     /// and ``maxValue``.
45 |     ///
46 |     /// If the magnitude of this Velocity is less than minValue then return a new
warning: 'minValue' doesn't exist at '/Shaft/Velocity/clampMagnitude(minValue:maxValue:)'
  --> Sources/Shaft/Gestures/VelocityTracker.swift:47:63-47:71
45 |     ///
46 |     /// If the magnitude of this Velocity is less than minValue then return a new
47 +     /// Velocity with the same direction and with magnitude ``minValue``. Similarly,
48 |     /// if the magnitude of this Velocity is greater than maxValue then return a
49 |     /// new Velocity with the same direction and magnitude ``maxValue``.
warning: 'maxValue' doesn't exist at '/Shaft/Velocity/clampMagnitude(minValue:maxValue:)'
  --> Sources/Shaft/Gestures/VelocityTracker.swift:49:62-49:70
47 |     /// Velocity with the same direction and with magnitude ``minValue``. Similarly,
48 |     /// if the magnitude of this Velocity is greater than maxValue then return a
49 +     /// new Velocity with the same direction and magnitude ``maxValue``.
50 |     ///
51 |     /// If the magnitude of this Velocity is within the specified bounds then
warning: 'addPosition' doesn't exist at '/Shaft/VelocityTracker'
   --> Sources/Shaft/Gestures/VelocityTracker.swift:133:45-133:56
131 | /// Computes a pointer's velocity based on data from ``PointerMoveEvent``s.
132 | ///
133 + /// The input data is provided by calling ``addPosition``. Adding data is cheap.
    |                                             ╰─suggestion: Replace 'addPosition' with 'addPosition(_:_:)'
134 | ///
135 | /// To obtain a velocity, call ``getVelocity`` or ``getVelocityEstimate``. This will
warning: 'getVelocity' doesn't exist at '/Shaft/VelocityTracker'
   --> Sources/Shaft/Gestures/VelocityTracker.swift:135:34-135:45
133 | /// The input data is provided by calling ``addPosition``. Adding data is cheap.
134 | ///
135 + /// To obtain a velocity, call ``getVelocity`` or ``getVelocityEstimate``. This will
    |                                  ├─suggestion: Replace 'getVelocity' with 'getVelocity()'
    |                                  ╰─suggestion: Replace 'getVelocity' with 'getVelocityEstimate()'
136 | /// compute the velocity based on the data added so far. Only call these when
137 | /// you need to use the velocity, as they are comparatively expensive.
warning: 'getVelocityEstimate' doesn't exist at '/Shaft/VelocityTracker'
   --> Sources/Shaft/Gestures/VelocityTracker.swift:135:53-135:72
133 | /// The input data is provided by calling ``addPosition``. Adding data is cheap.
134 | ///
135 + /// To obtain a velocity, call ``getVelocity`` or ``getVelocityEstimate``. This will
    |                                                     ├─suggestion: Replace 'getVelocityEstimate' with 'getVelocityEstimate()'
    |                                                     ╰─suggestion: Replace 'getVelocityEstimate' with 'getVelocity()'
136 | /// compute the velocity based on the data added so far. Only call these when
137 | /// you need to use the velocity, as they are comparatively expensive.
warning: 'addPosition' doesn't exist at '/Shaft/VelocityTracker/getVelocityEstimate()'
   --> Sources/Shaft/Gestures/VelocityTracker.swift:178:38-178:49
176 |     /// tracker given the current information available to the tracker.
177 |     ///
178 +     /// Information is added using ``addPosition``.
179 |     ///
180 |     /// Returns nil if there is no data on which to base an estimate.
warning: 'AlignmentDirectional' doesn't exist at '/Shaft/AlignmentGeometry'
  --> Sources/Shaft/Painting/Alignment.swift:12:39-12:59
10 | ///
11 | /// A property or argument of this type accepts classes created either with [
12 + /// Alignment] and its variants, or ``AlignmentDirectional/new``.
13 | ///
14 | /// To convert an ``AlignmentGeometry`` object of indeterminate type into an
warning: 'resolve' doesn't exist at '/Shaft/AlignmentGeometry'
  --> Sources/Shaft/Painting/Alignment.swift:15:38-15:45
13 | ///
14 | /// To convert an ``AlignmentGeometry`` object of indeterminate type into an
15 + /// ``Alignment`` object, call the ``resolve`` method.
   |                                      ╰─suggestion: Replace 'resolve' with 'resolve(_:)'
16 | public protocol AlignmentGeometry: Equatable {
17 |     func resolve(_ direction: TextDirection) -> Alignment
warning: 'AlignmentDirectional' doesn't exist at '/Shaft/Alignment'
  --> Sources/Shaft/Painting/Alignment.swift:47:39-47:59
45 | /// ``Alignment`` uses visual coordinates, which means increasing ``x`` moves the
46 | /// point from left to right. To support layouts with a right-to-left
47 + /// [TextDirection], consider using ``AlignmentDirectional``, in which the
   |                                       ╰─suggestion: Replace 'AlignmentDirectional' with 'AlignmentGeometry-Implementations'
48 | /// direction the point moves when increasing the horizontal value depends on
49 | /// the [TextDirection].
warning: 'compareTo' doesn't exist at '/Shaft/TextSpan'
  --> Sources/Shaft/Painting/BasicTypes.swift:12:24-12:33
10 | /// it will affect the rendering.
11 | ///
12 + /// Used by ``TextSpan/compareTo`` and ``TextStyle/compareTo``.
   |                        ╰─suggestion: Replace 'compareTo' with 'compareTo(_:)'
13 | ///
14 | /// The values in this enum are ordered such that they are in increasing order
warning: 'compareTo' doesn't exist at '/Shaft/TextStyle'
  --> Sources/Shaft/Painting/BasicTypes.swift:12:52-12:61
10 | /// it will affect the rendering.
11 | ///
12 + /// Used by ``TextSpan/compareTo`` and ``TextStyle/compareTo``.
13 | ///
14 | /// The values in this enum are ordered such that they are in increasing order
warning: 'markNeedsPaint' doesn't exist at '/Shaft/RenderObject'
  --> Sources/Shaft/Painting/BasicTypes.swift:32:24-32:38
30 |     /// For example, only the color is changed.
31 |     ///
32 +     /// ``RenderObject/markNeedsPaint`` would be necessary to handle this kind of
   |                        ├─suggestion: Replace 'markNeedsPaint' with 'markNeedsPaint()'
   |                        ╰─suggestion: Replace 'markNeedsPaint' with 'markNeedsLayout()'
33 |     /// change in a render object.
34 |     case paint
warning: 'markNeedsLayout' doesn't exist at '/Shaft/RenderObject'
  --> Sources/Shaft/Painting/BasicTypes.swift:42:24-42:39
40 |     /// This is the most drastic level of change possible.
41 |     ///
42 +     /// ``RenderObject/markNeedsLayout`` would be necessary to handle this kind of
   |                        ├─suggestion: Replace 'markNeedsLayout' with 'markNeedsLayout()'
   |                        ├─suggestion: Replace 'markNeedsLayout' with 'markParentNeedsLayout()'
   |                        ├─suggestion: Replace 'markNeedsLayout' with 'markNeedsPaint()'
   |                        ╰─suggestion: Replace 'markNeedsLayout' with 'markNeedsCompositedLayerUpdate()'
43 |     /// change in a render object.
44 |     case layout
warning: 'canMerge' doesn't exist at '/Shaft/BorderSide/merge(_:_:)'
  --> Sources/Shaft/Painting/Borders.swift:46:44-46:52
44 |     /// ``BorderSide``s.
45 |     ///
46 +     /// It is only valid to call this if ``canMerge`` returns true for the two
47 |     /// sides.
48 |     ///
warning: 'ShapeDecoration' doesn't exist at '/Shaft/BoxShape'
  --> Sources/Shaft/Painting/BoxBorder.swift:11:64-11:79
9  | /// The shape to use when rendering a ``Border`` or ``BoxDecoration``.
10 | ///
11 + /// Consider using ``ShapeBorder`` subclasses directly (with ``ShapeDecoration``),
12 | /// instead of using ``BoxShape`` and ``Border``, if the shapes will need to be
13 | /// interpolated or animated. The ``Border`` class cannot interpolate between
warning: 'RoundedRectangleBorder' doesn't exist at '/Shaft/BoxShape/rectangle'
  --> Sources/Shaft/Painting/BoxBorder.swift:22:14-22:36
20 |     /// See also:
21 |     ///
22 +     ///  * ``RoundedRectangleBorder``, the equivalent ``ShapeBorder``.
23 |     case rectangle
24 |
warning: 'border' doesn't exist at '/Shaft/BoxDecoration'
  --> Sources/Shaft/Painting/BoxDecoration.swift:13:21-13:27
11 | /// The ``BoxDecoration`` class provides a variety of ways to draw a box.
12 | ///
13 + /// The box has a ``border``, a body, and may cast a ``boxShadow``.
14 | ///
15 | /// The ``shape`` of the box can be a circle or a rectangle. If it is a rectangle,
warning: 'boxShadow' doesn't exist at '/Shaft/BoxDecoration'
  --> Sources/Shaft/Painting/BoxDecoration.swift:13:56-13:65
11 | /// The ``BoxDecoration`` class provides a variety of ways to draw a box.
12 | ///
13 + /// The box has a ``border``, a body, and may cast a ``boxShadow``.
14 | ///
15 | /// The ``shape`` of the box can be a circle or a rectangle. If it is a rectangle,
warning: 'shape' doesn't exist at '/Shaft/BoxDecoration'
  --> Sources/Shaft/Painting/BoxDecoration.swift:15:11-15:16
13 | /// The box has a ``border``, a body, and may cast a ``boxShadow``.
14 | ///
15 + /// The ``shape`` of the box can be a circle or a rectangle. If it is a rectangle,
16 | /// then the ``borderRadius`` property controls the roundness of the corners.
17 | ///
warning: 'borderRadius' doesn't exist at '/Shaft/BoxDecoration'
  --> Sources/Shaft/Painting/BoxDecoration.swift:16:16-16:28
14 | ///
15 | /// The ``shape`` of the box can be a circle or a rectangle. If it is a rectangle,
16 + /// then the ``borderRadius`` property controls the roundness of the corners.
17 | ///
18 | /// The body of the box is painted in layers. The bottom-most layer is the
warning: 'color' doesn't exist at '/Shaft/BoxDecoration'
  --> Sources/Shaft/Painting/BoxDecoration.swift:19:7-19:12
17 | ///
18 | /// The body of the box is painted in layers. The bottom-most layer is the
19 + /// ``color``, which fills the box. Above that is the ``gradient``, which also fills
20 | /// the box. Finally there is the ``image``, the precise alignment of which is
21 | /// controlled by the ``DecorationImage`` class.
warning: 'gradient' doesn't exist at '/Shaft/BoxDecoration'
  --> Sources/Shaft/Painting/BoxDecoration.swift:19:57-19:65
17 | ///
18 | /// The body of the box is painted in layers. The bottom-most layer is the
19 + /// ``color``, which fills the box. Above that is the ``gradient``, which also fills
20 | /// the box. Finally there is the ``image``, the precise alignment of which is
21 | /// controlled by the ``DecorationImage`` class.
warning: 'image' doesn't exist at '/Shaft/BoxDecoration'
  --> Sources/Shaft/Painting/BoxDecoration.swift:20:37-20:42
18 | /// The body of the box is painted in layers. The bottom-most layer is the
19 | /// ``color``, which fills the box. Above that is the ``gradient``, which also fills
20 + /// the box. Finally there is the ``image``, the precise alignment of which is
21 | /// controlled by the ``DecorationImage`` class.
22 | ///
warning: 'DecorationImage' doesn't exist at '/Shaft/BoxDecoration'
  --> Sources/Shaft/Painting/BoxDecoration.swift:21:25-21:40
19 | /// ``color``, which fills the box. Above that is the ``gradient``, which also fills
20 | /// the box. Finally there is the ``image``, the precise alignment of which is
21 + /// controlled by the ``DecorationImage`` class.
   |                         ╰─suggestion: Replace 'DecorationImage' with 'Decoration-Implementations'
22 | ///
23 | /// The ``border`` paints over the body; the ``boxShadow``, naturally, paints below it.
warning: 'border' doesn't exist at '/Shaft/BoxDecoration'
  --> Sources/Shaft/Painting/BoxDecoration.swift:23:11-23:17
21 | /// controlled by the ``DecorationImage`` class.
22 | ///
23 + /// The ``border`` paints over the body; the ``boxShadow``, naturally, paints below it.
24 | public class BoxDecoration: Decoration {
25 |     public init(
warning: 'boxShadow' doesn't exist at '/Shaft/BoxDecoration'
  --> Sources/Shaft/Painting/BoxDecoration.swift:23:48-23:57
21 | /// controlled by the ``DecorationImage`` class.
22 | ///
23 + /// The ``border`` paints over the body; the ``boxShadow``, naturally, paints below it.
24 | public class BoxDecoration: Decoration {
25 |     public init(
warning: 'WidgetSpan' doesn't exist at '/Shaft/PlaceholderDimensions'
  --> Sources/Shaft/Painting/TextPainter.swift:52:66-52:76
50 | ///
51 | /// Placeholders specify an empty space in the text layout, which is used
52 + /// to later render arbitrary inline widgets into defined by a ``WidgetSpan``.
53 | ///
54 | /// See also:
warning: 'WidgetSpan' doesn't exist at '/Shaft/PlaceholderDimensions'
  --> Sources/Shaft/Painting/TextPainter.swift:56:10-56:20
54 | /// See also:
55 | ///
56 + ///  * ``WidgetSpan``, a subclass of ``InlineSpan`` and ``PlaceholderSpan`` that
57 | ///    represents an inline widget embedded within text. The space this
58 | ///    widget takes is indicated by a placeholder.
warning: 'WidgetSpan' doesn't exist at '/Shaft/TextPainter/text'
   --> Sources/Shaft/Painting/TextPainter.swift:161:49-161:59
159 |     ///
160 |     /// The ``InlineSpan`` this provides is in the form of a tree that may contain
161 +     /// multiple instances of [TextSpan]s and ``WidgetSpan``s. To obtain a plain text
162 |     /// representation of the contents of this [TextPainter], use [plainText].
163 |     public var text: InlineSpan? {
warning: 'merge' doesn't exist at '/Shaft/TextStyle/inherit'
  --> Sources/Shaft/Painting/TextStyle.swift:62:42-62:47
60 |
61 |     /// Whether null values in this ``TextStyle`` can be replaced with their value
62 +     /// in another ``TextStyle`` using ``merge``.
63 |     ///
64 |     /// The ``merge`` operation is not commutative: the ``inherit`` value of the
warning: 'merge' doesn't exist at '/Shaft/TextStyle/inherit'
  --> Sources/Shaft/Painting/TextStyle.swift:64:15-64:20
62 |     /// in another ``TextStyle`` using ``merge``.
63 |     ///
64 +     /// The ``merge`` operation is not commutative: the ``inherit`` value of the
65 |     /// method argument decides whether the two ``TextStyle``s can be combined
66 |     /// together. If it is false, the method argument ``TextStyle`` will be returned.
warning: 'merge' doesn't exist at '/Shaft/TextStyle/color'
  --> Sources/Shaft/Painting/TextStyle.swift:89:14-89:19
87 |     /// is shorthand for `Paint()..color = color`.
88 |     ///
89 +     /// In ``merge``, [apply], and [lerp], conflicts between [color] and [foreground]
90 |     /// specification are resolved in [foreground]'s favor - i.e. if [foreground] is
91 |     /// specified in one place, it will dominate [color] in another.
warning: 'merge' doesn't exist at '/Shaft/TextStyle/backgroundColor'
   --> Sources/Shaft/Painting/TextStyle.swift:100:14-100:19
98  |     /// `background: Paint()..color = backgroundColor`.
99  |     ///
100 +     /// In ``merge``, [apply], and [lerp], conflicts between [backgroundColor] and [background]
101 |     /// specification are resolved in [background]'s favor - i.e. if [background] is
102 |     /// specified in one place, it will dominate [color] in another.
warning: 'merge' doesn't exist at '/Shaft/TextStyle/foreground'
   --> Sources/Shaft/Painting/TextStyle.swift:228:14-228:19
226 |     /// is shorthand for `Paint()..color = color`.
227 |     ///
228 +     /// In ``merge``, [apply], and [lerp], conflicts between [color] and [foreground]
229 |     /// specification are resolved in [foreground]'s favor - i.e. if [foreground] is
230 |     /// specified in one place, it will dominate [color] in another.
warning: 'merge' doesn't exist at '/Shaft/TextStyle/background'
   --> Sources/Shaft/Painting/TextStyle.swift:244:14-244:19
242 |     /// `background: Paint()..color = backgroundColor`.
243 |     ///
244 +     /// In ``merge``, [apply], and [lerp], conflicts between [backgroundColor] and
245 |     /// [background] specification are resolved in [background]'s favor - i.e. if
246 |     /// [background] is specified in one place, it will dominate [backgroundColor]
warning: 'merge' doesn't exist at '/Shaft/TextStyle/debugLabel'
   --> Sources/Shaft/Painting/TextStyle.swift:278:25-278:30
276 |     /// This property is maintained only in debug builds.
277 |     ///
278 +     /// When merging (``merge``), copying ([copyWith]), modifying using [apply], or
279 |     /// interpolating ([lerp]), the label of the resulting style is marked with
280 |     /// the debug labels of the original styles. This helps figuring out where a
warning: 'x' doesn't exist at '/Shaft/Simulation'
 --> Sources/Shaft/Physics/Simulation.swift:6:33-6:34
4 | /// forces are being applied, and exposes:
5 | ///
6 + ///  * The object's position, ``x``
7 | ///  * The object's velocity, ``dx``
8 | ///  * Whether the simulation is "done", ``isDone``
warning: 'dx' doesn't exist at '/Shaft/Simulation'
 --> Sources/Shaft/Physics/Simulation.swift:7:33-7:35
5 | ///
6 | ///  * The object's position, ``x``
7 + ///  * The object's velocity, ``dx``
8 | ///  * Whether the simulation is "done", ``isDone``
9 | ///
warning: 'isDone' doesn't exist at '/Shaft/Simulation'
  --> Sources/Shaft/Physics/Simulation.swift:8:44-8:50
6  | ///  * The object's position, ``x``
7  | ///  * The object's velocity, ``dx``
8  + ///  * Whether the simulation is "done", ``isDone``
   |                                            ╰─suggestion: Replace 'isDone' with 'isDone(_:)'
9  | ///
10 | /// A simulation is generally "done" if the object has, to a given ``tolerance``,
warning: 'x' doesn't exist at '/Shaft/Simulation'
  --> Sources/Shaft/Physics/Simulation.swift:13:11-13:12
11 | /// come to a complete rest.
12 | ///
13 + /// The ``x``, ``dx``, and ``isDone`` functions take a time argument which specifies
14 | /// the time for which they are to be evaluated. In principle, simulations can
15 | /// be stateless, and thus can be queried with arbitrary times. In practice,
warning: 'dx' doesn't exist at '/Shaft/Simulation'
  --> Sources/Shaft/Physics/Simulation.swift:13:18-13:20
11 | /// come to a complete rest.
12 | ///
13 + /// The ``x``, ``dx``, and ``isDone`` functions take a time argument which specifies
14 | /// the time for which they are to be evaluated. In principle, simulations can
15 | /// be stateless, and thus can be queried with arbitrary times. In practice,
warning: 'isDone' doesn't exist at '/Shaft/Simulation'
  --> Sources/Shaft/Physics/Simulation.swift:13:30-13:36
11 | /// come to a complete rest.
12 | ///
13 + /// The ``x``, ``dx``, and ``isDone`` functions take a time argument which specifies
   |                              ╰─suggestion: Replace 'isDone' with 'isDone(_:)'
14 | /// the time for which they are to be evaluated. In principle, simulations can
15 | /// be stateless, and thus can be queried with arbitrary times. In practice,
warning: 'isDone' doesn't exist at '/Shaft/SpringSimulation/tolerance'
  --> Sources/Shaft/Physics/Simulation.swift:37:26-37:32
35 |
36 |     /// How close to the actual end of the simulation a value at a particular time
37 +     /// must be before ``isDone`` considers the simulation to be "done".
38 |     ///
39 |     /// A simulation with an asymptotic curve would never technically be "done",
warning: 'isDone' doesn't exist at '/Shaft/Simulation/tolerance'
  --> Sources/Shaft/Physics/Simulation.swift:37:26-37:32
35 |
36 |     /// How close to the actual end of the simulation a value at a particular time
37 +     /// must be before ``isDone`` considers the simulation to be "done".
38 |     ///
39 |     /// A simulation with an asymptotic curve would never technically be "done",
warning: 'AnimatedBuilder' doesn't exist at '/Shaft/SpringSimulation'
  --> Sources/Shaft/Physics/SpringSimulation.swift:93:58-93:73
91 | /// Models a particle attached to a spring that follows Hooke's law.
92 | ///
93 + /// This ``AnimationController`` could be used with an ``AnimatedBuilder`` to
94 | /// animate the position of a child as if it were attached to a spring.
95 | public struct SpringSimulation: Simulation {
warning: 'ContainerRenderObjectMixin' doesn't exist at '/Shaft/ContainerBoxParentData'
  --> Sources/Shaft/Rendering/RenderBox.swift:17:7-17:33
15 |
16 | /// Abstract ``ParentData`` subclass for ``RenderBox`` subclasses that want the
17 + /// ``ContainerRenderObjectMixin``.
18 | ///
19 | /// This is a convenience class that mixes in the relevant classes with
warning: 'width' doesn't exist at '/Shaft/Size'
  --> Sources/Shaft/Rendering/RenderBox.swift:31:30-31:35
29 | /// relations hold:
30 | ///
31 + /// * ``minWidth`` <= ``Size/width`` <= ``maxWidth``
32 | /// * ``minHeight`` <= ``Size/height`` <= ``maxHeight``
33 | public struct BoxConstraints: Constraints, Equatable {
warning: 'height' doesn't exist at '/Shaft/Size'
  --> Sources/Shaft/Rendering/RenderBox.swift:32:31-32:37
30 | ///
31 | /// * ``minWidth`` <= ``Size/width`` <= ``maxWidth``
32 + /// * ``minHeight`` <= ``Size/height`` <= ``maxHeight``
33 | public struct BoxConstraints: Constraints, Equatable {
34 |     /// Creates box constraints with the given constraints.
warning: 'constrain' doesn't exist at '/Shaft/BoxConstraints/constrainDimensions(width:height:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:171:52-171:61
169 |     /// possible to the given width and height.
170 |     ///
171 +     /// When you already have a ``Size``, prefer ``constrain``, which applies the same
172 |     /// algorithm to a ``Size`` directly.
173 |     public func constrainDimensions(width: Float, height: Float) -> Size {
warning: 'enforce' doesn't exist at '/Shaft/BoxConstraints/hasInfiniteWidth'
   --> Sources/Shaft/Rendering/RenderBox.swift:244:74-244:81
242 |     /// Such a constraint is used to indicate that a box should grow as large as
243 |     /// some other constraint (in this case, horizontally). If constraints are
244 +     /// infinite, then they must have other (non-infinite) constraints ``enforce``d
245 |     /// upon them, or must be ``tighten``ed, before they can be used to derive a
246 |     /// ``Size`` for a ``RenderBox/size``.
warning: 'tighten' doesn't exist at '/Shaft/BoxConstraints/hasInfiniteWidth'
   --> Sources/Shaft/Rendering/RenderBox.swift:245:33-245:40
243 |     /// some other constraint (in this case, horizontally). If constraints are
244 |     /// infinite, then they must have other (non-infinite) constraints ``enforce``d
245 +     /// upon them, or must be ``tighten``ed, before they can be used to derive a
246 |     /// ``Size`` for a ``RenderBox/size``.
247 |     ///
warning: 'enforce' doesn't exist at '/Shaft/BoxConstraints/hasInfiniteHeight'
   --> Sources/Shaft/Rendering/RenderBox.swift:261:74-261:81
259 |     /// Such a constraint is used to indicate that a box should grow as large as
260 |     /// some other constraint (in this case, vertically). If constraints are
261 +     /// infinite, then they must have other (non-infinite) constraints ``enforce``d
262 |     /// upon them, or must be ``tighten``ed, before they can be used to derive a
263 |     /// ``Size`` for a ``RenderBox/size``.
warning: 'tighten' doesn't exist at '/Shaft/BoxConstraints/hasInfiniteHeight'
   --> Sources/Shaft/Rendering/RenderBox.swift:262:33-262:40
260 |     /// some other constraint (in this case, vertically). If constraints are
261 |     /// infinite, then they must have other (non-infinite) constraints ``enforce``d
262 +     /// upon them, or must be ``tighten``ed, before they can be used to derive a
263 |     /// ``Size`` for a ``RenderBox/size``.
264 |     ///
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult'
   --> Sources/Shaft/Rendering/RenderBox.swift:294:32-294:53
292 | /// Method signature for hit testing a ``RenderBox``.
293 | ///
294 + /// Used by ``BoxHitTestResult/addWithPaintTransform`` to hit test children
    |                                ╰─suggestion: Replace 'addWithPaintTransform' with 'addWithPaintTransform(transform:position:hitTest:)'
295 | /// of a ``RenderBox``.
296 | ///
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox'
   --> Sources/Shaft/Rendering/RenderBox.swift:299:20-299:27
297 | /// See also:
298 | ///
299 + ///  * ``RenderBox/hitTest``, which documents more details around hit testing
    |                    ├─suggestion: Replace 'hitTest' with 'hitTestSelf(_:)'
    |                    ├─suggestion: Replace 'hitTest' with 'hitTest(_:position:)'
    |                    ╰─suggestion: Replace 'hitTest' with 'hitTestChildren(_:position:)'
300 | ///    ``RenderBox``es.
301 | public typealias BoxHitTest = (BoxHitTestResult, Offset) -> Bool
warning: 'hitTestBoxChild' doesn't exist at '/Shaft/RenderSliverSingleBoxAdapter'
   --> Sources/Shaft/Rendering/RenderBox.swift:306:44-306:59
304 | /// managed position (one that is passed out-of-band).
305 | ///
306 + /// Used by ``RenderSliverSingleBoxAdapter/hitTestBoxChild`` to hit test
    |                                            ╰─suggestion: Replace 'hitTestBoxChild' with 'hitTestChildren(_:mainAxisPosition:crossAxisPosition:)'
307 | /// ``RenderBox`` children of a ``RenderSliver``.
308 | ///
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox'
   --> Sources/Shaft/Rendering/RenderBox.swift:311:20-311:27
309 | /// See also:
310 | ///
311 + ///  * ``RenderBox/hitTest``, which documents more details around hit testing
    |                    ├─suggestion: Replace 'hitTest' with 'hitTestSelf(_:)'
    |                    ├─suggestion: Replace 'hitTest' with 'hitTest(_:position:)'
    |                    ╰─suggestion: Replace 'hitTest' with 'hitTestChildren(_:position:)'
312 | ///    ``RenderBox``es.
313 | public typealias BoxHitTestWithOutOfBandPosition = (BoxHitTestResult) -> Bool
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox'
   --> Sources/Shaft/Rendering/RenderBox.swift:317:58-317:65
315 | /// The result of performing a hit test on ``RenderBox``es.
316 | ///
317 + /// An instance of this class is provided to ``RenderBox/hitTest`` to record the
    |                                                          ├─suggestion: Replace 'hitTest' with 'hitTestSelf(_:)'
    |                                                          ├─suggestion: Replace 'hitTest' with 'hitTest(_:position:)'
    |                                                          ╰─suggestion: Replace 'hitTest' with 'hitTestChildren(_:position:)'
318 | /// result of the hit test.
319 | public class BoxHitTestResult: HitTestResult {
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithPaintOffset(offset:position:hitTest:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:345:57-345:78
343 |     /// `position` as argument.
344 |     ///
345 +     /// This method can be used as a convenience over ``addWithPaintTransform`` if
346 |     /// a parent paints a child at an `offset`.
347 |     ///
warning: 'zero' doesn't exist at '/Shaft/Offset'
   --> Sources/Shaft/Rendering/RenderBox.swift:348:61-348:65
346 |     /// a parent paints a child at an `offset`.
347 |     ///
348 +     /// A null value for `offset` is treated as if ``Offset/zero`` was provided.
349 |     ///
350 |     /// The function returns the return value of the `hitTest` callback.
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithPaintOffset(offset:position:hitTest:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:354:14-354:35
352 |     /// See also:
353 |     ///
354 +     ///  * ``addWithPaintTransform``, which takes a generic paint transform matrix and
355 |     ///    documents the intended usage of this API in more detail.
356 |     public func addWithPaintOffset(
warning: 'removePerspectiveTransform' doesn't exist at '/Shaft/PointerEvent'
   --> Sources/Shaft/Rendering/RenderBox.swift:381:24-381:50
379 |     /// The provided paint `transform` (which describes the transform from the
380 |     /// child to the parent in 3D) is processed by
381 +     /// ``PointerEvent/removePerspectiveTransform`` to remove the
382 |     /// perspective component and inverted before it is used to transform
383 |     /// `position` from the coordinate system of the parent to the system of the
warning: 'addWithPaintOffset' doesn't exist at '/Shaft/BoxHitTestResult/addWithPaintTransform(transform:position:hitTest:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:401:14-401:32
399 |     /// See also:
400 |     ///
401 +     ///  * ``addWithPaintOffset``, which can be used for `transform`s that are just
402 |     ///    simple matrix translations by an ``Offset``.
403 |     ///  * ``addWithRawTransform``, which takes a transform matrix that is directly
warning: 'addWithRawTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithPaintTransform(transform:position:hitTest:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:403:14-403:33
401 |     ///  * ``addWithPaintOffset``, which can be used for `transform`s that are just
402 |     ///    simple matrix translations by an ``Offset``.
403 +     ///  * ``addWithRawTransform``, which takes a transform matrix that is directly
404 |     ///    used to transform the position without any pre-processing.
405 |     public func addWithPaintTransform(
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithRawTransform(transform:position:hitTest:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:432:18-432:39
430 |     /// `position` as argument.
431 |     ///
432 +     /// Unlike ``addWithPaintTransform``, the provided `transform` matrix is used
433 |     /// directly to transform `position` without any pre-processing.
434 |     ///
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithRawTransform(transform:position:hitTest:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:442:14-442:35
440 |     /// See also:
441 |     ///
442 +     ///  * ``addWithPaintTransform``, which accomplishes the same thing, but takes a
443 |     ///    _paint_ transform matrix.
444 |     public func addWithRawTransform(
warning: 'addWithPaintOffset' doesn't exist at '/Shaft/BoxHitTestResult/addWithOutOfBandPosition(paintOffset:paintTransform:rawTransform:hitTest:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:474:14-474:32
472 |     ///
473 |     ///  * `paintOffset` has the semantics of the `offset` passed to
474 +     ///    ``addWithPaintOffset``.
475 |     ///
476 |     ///  * `paintTransform` has the semantics of the `transform` passed to
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithOutOfBandPosition(paintOffset:paintTransform:rawTransform:hitTest:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:477:14-477:35
475 |     ///
476 |     ///  * `paintTransform` has the semantics of the `transform` passed to
477 +     ///    ``addWithPaintTransform``, except that it must be invertible; it
478 |     ///    is the responsibility of the caller to ensure this.
479 |     ///
warning: 'addWithRawTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithOutOfBandPosition(paintOffset:paintTransform:rawTransform:hitTest:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:481:14-481:33
479 |     ///
480 |     ///  * `rawTransform` has the semantics of the `transform` passed to
481 +     ///    ``addWithRawTransform``.
482 |     ///
483 |     /// Exactly one of these must be non-null.
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithOutOfBandPosition(paintOffset:paintTransform:rawTransform:hitTest:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:487:14-487:35
485 |     /// See also:
486 |     ///
487 +     ///  * ``addWithPaintTransform``, which takes a generic paint transform matrix and
488 |     ///    documents the intended usage of this API in more detail.
489 |     public func addWithOutOfBandPosition(
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderOffstage/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:580:42-580:62
578 |     }
579 |
580 +     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 |     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderPositionedBox/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:580:42-580:62
578 |     }
579 |
580 +     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 |     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderBox/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:580:42-580:62
578 |     }
579 |
580 +     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 |     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderProxyBox/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:580:42-580:62
578 |     }
579 |
580 +     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 |     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderViewportBase/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:580:42-580:62
578 |     }
579 |
580 +     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 |     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderFractionallySizedOverflowBox/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:580:42-580:62
578 |     }
579 |
580 +     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 |     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderOffstage/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:581:44-581:64
579 |
580 |     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 +     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
583 |         return 0.0
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderPositionedBox/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:581:44-581:64
579 |
580 |     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 +     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
583 |         return 0.0
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderBox/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:581:44-581:64
579 |
580 |     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 +     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
583 |         return 0.0
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderProxyBox/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:581:44-581:64
579 |
580 |     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 +     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
583 |         return 0.0
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderViewportBase/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:581:44-581:64
579 |
580 |     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 +     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
583 |         return 0.0
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderFractionallySizedOverflowBox/computeMinIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:581:44-581:64
579 |
580 |     /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 +     /// function directly, instead, call ``getMinIntrinsicWidth``.
582 |     open func computeMinIntrinsicWidth(_ height: Float) -> Float {
583 |         return 0.0
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderBox/getMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:588:32-588:53
586 |     /// Returns the smallest width beyond which increasing the width never
587 |     /// decreases the preferred height. The preferred height is the value that
588 +     /// would be returned by ``getMinIntrinsicHeight`` for that width.
589 |     public final func getMaxIntrinsicWidth(_ height: Float) -> Float {
590 |         assert(height >= 0.0, "The height argument to getMaxIntrinsicWidth() must be positive.")
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderOffstage/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:598:42-598:62
596 |     }
597 |
598 +     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 |     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderPositionedBox/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:598:42-598:62
596 |     }
597 |
598 +     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 |     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderBox/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:598:42-598:62
596 |     }
597 |
598 +     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 |     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderProxyBox/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:598:42-598:62
596 |     }
597 |
598 +     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 |     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderFractionallySizedOverflowBox/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:598:42-598:62
596 |     }
597 |
598 +     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 |     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderViewportBase/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:598:42-598:62
596 |     }
597 |
598 +     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 |     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderOffstage/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:599:44-599:64
597 |
598 |     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 +     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
601 |         return 0.0
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderPositionedBox/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:599:44-599:64
597 |
598 |     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 +     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
601 |         return 0.0
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderBox/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:599:44-599:64
597 |
598 |     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 +     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
601 |         return 0.0
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderProxyBox/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:599:44-599:64
597 |
598 |     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 +     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
601 |         return 0.0
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderFractionallySizedOverflowBox/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:599:44-599:64
597 |
598 |     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 +     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
601 |         return 0.0
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderViewportBase/computeMaxIntrinsicWidth(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:599:44-599:64
597 |
598 |     /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 +     /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 |     open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
601 |         return 0.0
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderBox/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:615:42-615:63
613 |     }
614 |
615 +     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 |     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderPositionedBox/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:615:42-615:63
613 |     }
614 |
615 +     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 |     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderOffstage/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:615:42-615:63
613 |     }
614 |
615 +     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 |     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderViewportBase/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:615:42-615:63
613 |     }
614 |
615 +     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 |     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderFractionallySizedOverflowBox/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:615:42-615:63
613 |     }
614 |
615 +     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 |     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderProxyBox/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:615:42-615:63
613 |     }
614 |
615 +     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 |     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderBox/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:616:44-616:65
614 |
615 |     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 +     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
618 |         return 0.0
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderPositionedBox/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:616:44-616:65
614 |
615 |     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 +     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
618 |         return 0.0
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderOffstage/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:616:44-616:65
614 |
615 |     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 +     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
618 |         return 0.0
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderViewportBase/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:616:44-616:65
614 |
615 |     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 +     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
618 |         return 0.0
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderFractionallySizedOverflowBox/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:616:44-616:65
614 |
615 |     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 +     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
618 |         return 0.0
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderProxyBox/computeMinIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:616:44-616:65
614 |
615 |     /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 +     /// function directly, instead, call ``getMinIntrinsicHeight``.
617 |     open func computeMinIntrinsicHeight(_ width: Float) -> Float {
618 |         return 0.0
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderBox/getMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:623:32-623:52
621 |     /// Returns the smallest height beyond which increasing the height never
622 |     /// decreases the preferred width. The preferred width is the value that
623 +     /// would be returned by ``getMinIntrinsicWidth`` for that height.
624 |     public final func getMaxIntrinsicHeight(_ width: Float) -> Float {
625 |         assert(width >= 0.0, "The width argument to getMaxIntrinsicHeight() must be positive.")
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderBox/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:633:42-633:63
631 |     }
632 |
633 +     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 |     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderViewportBase/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:633:42-633:63
631 |     }
632 |
633 +     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 |     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderFractionallySizedOverflowBox/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:633:42-633:63
631 |     }
632 |
633 +     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 |     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderPositionedBox/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:633:42-633:63
631 |     }
632 |
633 +     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 |     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderProxyBox/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:633:42-633:63
631 |     }
632 |
633 +     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 |     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderOffstage/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:633:42-633:63
631 |     }
632 |
633 +     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 |     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderBox/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:634:44-634:65
632 |
633 |     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 +     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
636 |         return 0.0
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderViewportBase/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:634:44-634:65
632 |
633 |     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 +     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
636 |         return 0.0
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderFractionallySizedOverflowBox/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:634:44-634:65
632 |
633 |     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 +     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
636 |         return 0.0
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderPositionedBox/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:634:44-634:65
632 |
633 |     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 +     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
636 |         return 0.0
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderProxyBox/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:634:44-634:65
632 |
633 |     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 +     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
636 |         return 0.0
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderOffstage/computeMaxIntrinsicHeight(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:634:44-634:65
632 |
633 |     /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 +     /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 |     open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
636 |         return 0.0
warning: 'getDryLayout' doesn't exist at '/Shaft/RenderBox/computeDryLayout(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:639:42-639:54
637 |     }
638 |
639 +     /// Computes the value returned by ``getDryLayout``. Do not call this
640 |     /// function directly, instead, call ``getDryLayout``.
641 |     open func computeDryLayout(_ constraints: BoxConstraints) -> Size {
warning: 'getDryLayout' doesn't exist at '/Shaft/RenderPositionedBox/computeDryLayout(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:639:42-639:54
637 |     }
638 |
639 +     /// Computes the value returned by ``getDryLayout``. Do not call this
640 |     /// function directly, instead, call ``getDryLayout``.
641 |     open func computeDryLayout(_ constraints: BoxConstraints) -> Size {
warning: 'getDryLayout' doesn't exist at '/Shaft/RenderOffstage/computeDryLayout(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:639:42-639:54
637 |     }
638 |
639 +     /// Computes the value returned by ``getDryLayout``. Do not call this
640 |     /// function directly, instead, call ``getDryLayout``.
641 |     open func computeDryLayout(_ constraints: BoxConstraints) -> Size {
warning: 'getDryLayout' doesn't exist at '/Shaft/RenderViewport/computeDryLayout(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:639:42-639:54
637 |     }
638 |
639 +     /// Computes the value returned by ``getDryLayout``. Do not call this
640 |     /// function directly, instead, call ``getDryLayout``.
641 |     open func computeDryLayout(_ constraints: BoxConstraints) -> Size {
warning: 'getDryLayout' doesn't exist at '/Shaft/RenderBox/computeDryLayout(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:640:44-640:56
638 |
639 |     /// Computes the value returned by ``getDryLayout``. Do not call this
640 +     /// function directly, instead, call ``getDryLayout``.
641 |     open func computeDryLayout(_ constraints: BoxConstraints) -> Size {
642 |         return Size.zero
warning: 'getDryLayout' doesn't exist at '/Shaft/RenderPositionedBox/computeDryLayout(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:640:44-640:56
638 |
639 |     /// Computes the value returned by ``getDryLayout``. Do not call this
640 +     /// function directly, instead, call ``getDryLayout``.
641 |     open func computeDryLayout(_ constraints: BoxConstraints) -> Size {
642 |         return Size.zero
warning: 'getDryLayout' doesn't exist at '/Shaft/RenderOffstage/computeDryLayout(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:640:44-640:56
638 |
639 |     /// Computes the value returned by ``getDryLayout``. Do not call this
640 +     /// function directly, instead, call ``getDryLayout``.
641 |     open func computeDryLayout(_ constraints: BoxConstraints) -> Size {
642 |         return Size.zero
warning: 'getDryLayout' doesn't exist at '/Shaft/RenderViewport/computeDryLayout(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:640:44-640:56
638 |
639 |     /// Computes the value returned by ``getDryLayout``. Do not call this
640 +     /// function directly, instead, call ``getDryLayout``.
641 |     open func computeDryLayout(_ constraints: BoxConstraints) -> Size {
642 |         return Size.zero
warning: 'computeDryLayout' doesn't exist at '/Shaft/RenderBox/performResize()'
   --> Sources/Shaft/Rendering/RenderBox.swift:687:65-687:81
685 |     }
686 |
687 +     /// By default this method sets ``size`` to the result of ``computeDryLayout``
688 |     /// called with the current ``constraints``. Instead of overriding this method,
689 |     /// consider overriding ``computeDryLayout``.
warning: 'constraints' doesn't exist at '/Shaft/RenderBox/performResize()'
   --> Sources/Shaft/Rendering/RenderBox.swift:688:35-688:46
686 |
687 |     /// By default this method sets ``size`` to the result of ``computeDryLayout``
688 +     /// called with the current ``constraints``. Instead of overriding this method,
689 |     /// consider overriding ``computeDryLayout``.
690 |     open override func performResize() {
warning: 'computeDryLayout' doesn't exist at '/Shaft/RenderBox/performResize()'
   --> Sources/Shaft/Rendering/RenderBox.swift:689:31-689:47
687 |     /// By default this method sets ``size`` to the result of ``computeDryLayout``
688 |     /// called with the current ``constraints``. Instead of overriding this method,
689 +     /// consider overriding ``computeDryLayout``.
690 |     open override func performResize() {
691 |         // default behavior for subclasses that have sizedByParent = true
warning: 'position' doesn't exist at '/Shaft/RenderProxyBoxWithHitTestBehavior/hitTest(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:713:54-713:62
711 |     /// Returns false if the hit can continue to other objects below this one.
712 |     ///
713 +     /// The caller is responsible for transforming ``position`` from global
714 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
715 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderClipRect/hitTest(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:713:54-713:62
711 |     /// Returns false if the hit can continue to other objects below this one.
712 |     ///
713 +     /// The caller is responsible for transforming ``position`` from global
714 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
715 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderTransform/hitTest(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:713:54-713:62
711 |     /// Returns false if the hit can continue to other objects below this one.
712 |     ///
713 +     /// The caller is responsible for transforming ``position`` from global
714 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
715 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderStack/hitTest(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:713:54-713:62
711 |     /// Returns false if the hit can continue to other objects below this one.
712 |     ///
713 +     /// The caller is responsible for transforming ``position`` from global
714 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
715 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderOffstage/hitTest(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:713:54-713:62
711 |     /// Returns false if the hit can continue to other objects below this one.
712 |     ///
713 +     /// The caller is responsible for transforming ``position`` from global
714 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
715 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderBox/hitTest(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:713:54-713:62
711 |     /// Returns false if the hit can continue to other objects below this one.
712 |     ///
713 +     /// The caller is responsible for transforming ``position`` from global
714 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
715 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderMouseRegion/hitTest(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:713:54-713:62
711 |     /// Returns false if the hit can continue to other objects below this one.
712 |     ///
713 +     /// The caller is responsible for transforming ``position`` from global
714 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
715 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderWrap/hitTest(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:713:54-713:62
711 |     /// Returns false if the hit can continue to other objects below this one.
712 |     ///
713 +     /// The caller is responsible for transforming ``position`` from global
714 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
715 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderClipRRect/hitTest(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:713:54-713:62
711 |     /// Returns false if the hit can continue to other objects below this one.
712 |     ///
713 +     /// The caller is responsible for transforming ``position`` from global
714 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
715 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderCustomPaint/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:736:54-736:62
734 |     /// on this render object.
735 |     ///
736 +     /// The caller is responsible for transforming ``position`` from global
737 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
738 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderImage/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:736:54-736:62
734 |     /// on this render object.
735 |     ///
736 +     /// The caller is responsible for transforming ``position`` from global
737 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
738 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderBox/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:736:54-736:62
734 |     /// on this render object.
735 |     ///
736 +     /// The caller is responsible for transforming ``position`` from global
737 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
738 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderProxyBoxWithHitTestBehavior/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:736:54-736:62
734 |     /// on this render object.
735 |     ///
736 +     /// The caller is responsible for transforming ``position`` from global
737 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
738 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderParagraph/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:736:54-736:62
734 |     /// on this render object.
735 |     ///
736 +     /// The caller is responsible for transforming ``position`` from global
737 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
738 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderDecoratedBox/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:736:54-736:62
734 |     /// on this render object.
735 |     ///
736 +     /// The caller is responsible for transforming ``position`` from global
737 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
738 |     /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'hitTest' doesn't exist at '/Shaft/RenderCustomPaint/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:19-741:26
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderImage/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:19-741:26
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:19-741:26
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderProxyBoxWithHitTestBehavior/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:19-741:26
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderParagraph/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:19-741:26
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderDecoratedBox/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:19-741:26
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderCustomPaint/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:48-741:55
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderImage/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:48-741:55
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:48-741:55
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderProxyBoxWithHitTestBehavior/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:48-741:55
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderParagraph/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:48-741:55
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderDecoratedBox/hitTestSelf(_:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:741:48-741:55
739 |     /// within its bounds.
740 |     ///
741 +     /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 |     /// function, then you don't need to implement this function.
743 |     open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'position' doesn't exist at '/Shaft/RenderCustomPaint/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:757:54-757:62
755 |     /// visually "on top" (i.e., paints later).
756 |     ///
757 +     /// The caller is responsible for transforming ``position`` from global
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
warning: 'position' doesn't exist at '/Shaft/RenderTransform/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:757:54-757:62
755 |     /// visually "on top" (i.e., paints later).
756 |     ///
757 +     /// The caller is responsible for transforming ``position`` from global
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
warning: 'position' doesn't exist at '/Shaft/RenderParagraph/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:757:54-757:62
755 |     /// visually "on top" (i.e., paints later).
756 |     ///
757 +     /// The caller is responsible for transforming ``position`` from global
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
warning: 'position' doesn't exist at '/Shaft/RenderViewportBase/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:757:54-757:62
755 |     /// visually "on top" (i.e., paints later).
756 |     ///
757 +     /// The caller is responsible for transforming ``position`` from global
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
warning: 'position' doesn't exist at '/Shaft/RenderShiftedBox/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:757:54-757:62
755 |     /// visually "on top" (i.e., paints later).
756 |     ///
757 +     /// The caller is responsible for transforming ``position`` from global
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
warning: 'position' doesn't exist at '/Shaft/RenderFlex/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:757:54-757:62
755 |     /// visually "on top" (i.e., paints later).
756 |     ///
757 +     /// The caller is responsible for transforming ``position`` from global
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
warning: 'position' doesn't exist at '/Shaft/RenderBox/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:757:54-757:62
755 |     /// visually "on top" (i.e., paints later).
756 |     ///
757 +     /// The caller is responsible for transforming ``position`` from global
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
warning: 'position' doesn't exist at '/Shaft/RenderProxyBox/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:757:54-757:62
755 |     /// visually "on top" (i.e., paints later).
756 |     ///
757 +     /// The caller is responsible for transforming ``position`` from global
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
warning: 'hitTest' doesn't exist at '/Shaft/RenderCustomPaint/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:760:56-760:63
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
760 +     /// that it passes to its children when it calls ``hitTest`` on each child.
761 |     open func hitTestChildren(_ result: HitTestResult, position: Offset) -> Bool {
762 |         return false
warning: 'hitTest' doesn't exist at '/Shaft/RenderTransform/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:760:56-760:63
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
760 +     /// that it passes to its children when it calls ``hitTest`` on each child.
761 |     open func hitTestChildren(_ result: HitTestResult, position: Offset) -> Bool {
762 |         return false
warning: 'hitTest' doesn't exist at '/Shaft/RenderParagraph/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:760:56-760:63
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
760 +     /// that it passes to its children when it calls ``hitTest`` on each child.
761 |     open func hitTestChildren(_ result: HitTestResult, position: Offset) -> Bool {
762 |         return false
warning: 'hitTest' doesn't exist at '/Shaft/RenderViewportBase/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:760:56-760:63
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
760 +     /// that it passes to its children when it calls ``hitTest`` on each child.
761 |     open func hitTestChildren(_ result: HitTestResult, position: Offset) -> Bool {
762 |         return false
warning: 'hitTest' doesn't exist at '/Shaft/RenderShiftedBox/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:760:56-760:63
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
760 +     /// that it passes to its children when it calls ``hitTest`` on each child.
761 |     open func hitTestChildren(_ result: HitTestResult, position: Offset) -> Bool {
762 |         return false
warning: 'hitTest' doesn't exist at '/Shaft/RenderFlex/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:760:56-760:63
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
760 +     /// that it passes to its children when it calls ``hitTest`` on each child.
761 |     open func hitTestChildren(_ result: HitTestResult, position: Offset) -> Bool {
762 |         return false
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:760:56-760:63
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
760 +     /// that it passes to its children when it calls ``hitTest`` on each child.
761 |     open func hitTestChildren(_ result: HitTestResult, position: Offset) -> Bool {
762 |         return false
warning: 'hitTest' doesn't exist at '/Shaft/RenderProxyBox/hitTestChildren(_:position:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:760:56-760:63
758 |     /// coordinates to its location relative to the origin of this ``RenderBox``.
759 |     /// Likewise, this ``RenderBox`` is responsible for transforming the position
760 +     /// that it passes to its children when it calls ``hitTest`` on each child.
761 |     open func hitTestChildren(_ result: HitTestResult, position: Offset) -> Bool {
762 |         return false
warning: 'parentData' doesn't exist at '/Shaft/RenderProxyBox/applyPaintTransform(_:transform:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:774:19-774:29
772 |     /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 |     /// position of the given child as determined during layout and stored on the
774 +     /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 |     open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 |         assert(child.parent === self)
warning: 'parentData' doesn't exist at '/Shaft/RenderViewport/applyPaintTransform(_:transform:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:774:19-774:29
772 |     /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 |     /// position of the given child as determined during layout and stored on the
774 +     /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 |     open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 |         assert(child.parent === self)
warning: 'parentData' doesn't exist at '/Shaft/RenderShrinkWrappingViewport/applyPaintTransform(_:transform:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:774:19-774:29
772 |     /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 |     /// position of the given child as determined during layout and stored on the
774 +     /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 |     open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 |         assert(child.parent === self)
warning: 'parentData' doesn't exist at '/Shaft/RenderTransform/applyPaintTransform(_:transform:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:774:19-774:29
772 |     /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 |     /// position of the given child as determined during layout and stored on the
774 +     /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 |     open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 |         assert(child.parent === self)
warning: 'parentData' doesn't exist at '/Shaft/RenderBox/applyPaintTransform(_:transform:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:774:19-774:29
772 |     /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 |     /// position of the given child as determined during layout and stored on the
774 +     /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 |     open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 |         assert(child.parent === self)
warning: 'offset' doesn't exist at '/Shaft/BoxParentData'
   --> Sources/Shaft/Rendering/RenderBox.swift:774:55-774:61
772 |     /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 |     /// position of the given child as determined during layout and stored on the
774 +     /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 |     open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 |         assert(child.parent === self)
warning: 'offset' doesn't exist at '/Shaft/BoxParentData'
   --> Sources/Shaft/Rendering/RenderBox.swift:774:55-774:61
772 |     /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 |     /// position of the given child as determined during layout and stored on the
774 +     /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 |     open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 |         assert(child.parent === self)
warning: 'offset' doesn't exist at '/Shaft/BoxParentData'
   --> Sources/Shaft/Rendering/RenderBox.swift:774:55-774:61
772 |     /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 |     /// position of the given child as determined during layout and stored on the
774 +     /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 |     open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 |         assert(child.parent === self)
warning: 'offset' doesn't exist at '/Shaft/BoxParentData'
   --> Sources/Shaft/Rendering/RenderBox.swift:774:55-774:61
772 |     /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 |     /// position of the given child as determined during layout and stored on the
774 +     /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 |     open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 |         assert(child.parent === self)
warning: 'offset' doesn't exist at '/Shaft/BoxParentData'
   --> Sources/Shaft/Rendering/RenderBox.swift:774:55-774:61
772 |     /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 |     /// position of the given child as determined during layout and stored on the
774 +     /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 |     open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 |         assert(child.parent === self)
warning: 'transformPoint' doesn't exist at '/Shaft/MatrixUtils'
   --> Sources/Shaft/Rendering/RenderBox.swift:796:53-796:67
794 |     ///
795 |     /// This method will un-project the point from the screen onto the widget,
796 +     /// which makes it different from ``MatrixUtils/transformPoint``.
    |                                                     ├─suggestion: Replace 'transformPoint' with 'transformPoint(_:_:)'
    |                                                     ╰─suggestion: Replace 'transformPoint' with 'transformRect(_:_:)'
797 |     ///
798 |     /// If the transform from global coordinates to local coordinates is
warning: 'zero' doesn't exist at '/Shaft/Offset'
   --> Sources/Shaft/Rendering/RenderBox.swift:799:52-799:56
797 |     ///
798 |     /// If the transform from global coordinates to local coordinates is
799 +     /// degenerate, this function returns ``Offset/zero``.
800 |     ///
801 |     /// If `ancestor` is non-null, this function converts the given point from
warning: 'getTransformTo' doesn't exist at '/Shaft/RenderBox/globalToLocal(_:ancestor:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:805:50-805:64
803 |     /// render object) instead of from the global coordinate system.
804 |     ///
805 +     /// This method is implemented in terms of ``getTransformTo``.
806 |     public func globalToLocal(_ point: Offset, ancestor: RenderObject? = nil) -> Offset {
807 |         var transform = getTransformTo(ancestor)
warning: 'getTransformTo' doesn't exist at '/Shaft/RenderBox/localToGlobal(_:ancestor:)'
   --> Sources/Shaft/Rendering/RenderBox.swift:841:50-841:64
839 |     /// object) instead of to the global coordinate system.
840 |     ///
841 +     /// This method is implemented in terms of ``getTransformTo``. If the transform
842 |     /// matrix puts the given `point` on the line at infinity (for instance, when
843 |     /// the transform matrix is the zero matrix), this method returns (NaN, NaN).
warning: 'paint' doesn't exist at '/Shaft/CustomPainter'
  --> Sources/Shaft/Rendering/RenderCustomPaint.swift:10:21-10:26
8  | /// To implement a custom painter, either subclass or implement this interface
9  | /// to define your custom paint delegate. ``CustomPainter`` subclasses must
10 + /// implement the ``paint`` and ``shouldRepaint`` methods, and may optionally also
   |                     ├─suggestion: Replace 'paint' with 'repaint'
   |                     ╰─suggestion: Replace 'paint' with 'paint(canvas:size:)'
11 | /// implement the ``hitTest`` and ``shouldRebuildSemantics`` methods, and the
12 | /// ``semanticsBuilder`` getter.
warning: 'shouldRepaint' doesn't exist at '/Shaft/CustomPainter'
  --> Sources/Shaft/Rendering/RenderCustomPaint.swift:10:35-10:48
8  | /// To implement a custom painter, either subclass or implement this interface
9  | /// to define your custom paint delegate. ``CustomPainter`` subclasses must
10 + /// implement the ``paint`` and ``shouldRepaint`` methods, and may optionally also
   |                                   ╰─suggestion: Replace 'shouldRepaint' with 'shouldRepaint(_:)'
11 | /// implement the ``hitTest`` and ``shouldRebuildSemantics`` methods, and the
12 | /// ``semanticsBuilder`` getter.
warning: 'hitTest' doesn't exist at '/Shaft/CustomPainter'
  --> Sources/Shaft/Rendering/RenderCustomPaint.swift:11:21-11:28
9  | /// to define your custom paint delegate. ``CustomPainter`` subclasses must
10 | /// implement the ``paint`` and ``shouldRepaint`` methods, and may optionally also
11 + /// implement the ``hitTest`` and ``shouldRebuildSemantics`` methods, and the
   |                     ╰─suggestion: Replace 'hitTest' with 'hitTest(_:)'
12 | /// ``semanticsBuilder`` getter.
13 | ///
warning: 'shouldRebuildSemantics' doesn't exist at '/Shaft/CustomPainter'
  --> Sources/Shaft/Rendering/RenderCustomPaint.swift:11:37-11:59
9  | /// to define your custom paint delegate. ``CustomPainter`` subclasses must
10 | /// implement the ``paint`` and ``shouldRepaint`` methods, and may optionally also
11 + /// implement the ``hitTest`` and ``shouldRebuildSemantics`` methods, and the
   |                                     ╰─suggestion: Replace 'shouldRebuildSemantics' with 'shouldRepaint(_:)'
12 | /// ``semanticsBuilder`` getter.
13 | ///
warning: 'semanticsBuilder' doesn't exist at '/Shaft/CustomPainter'
  --> Sources/Shaft/Rendering/RenderCustomPaint.swift:12:7-12:23
10 | /// implement the ``paint`` and ``shouldRepaint`` methods, and may optionally also
11 | /// implement the ``hitTest`` and ``shouldRebuildSemantics`` methods, and the
12 + /// ``semanticsBuilder`` getter.
13 | ///
14 | /// The ``paint`` method is called whenever the custom object needs to be repainted.
warning: 'paint' doesn't exist at '/Shaft/CustomPainter'
  --> Sources/Shaft/Rendering/RenderCustomPaint.swift:14:11-14:16
12 | /// ``semanticsBuilder`` getter.
13 | ///
14 + /// The ``paint`` method is called whenever the custom object needs to be repainted.
   |           ├─suggestion: Replace 'paint' with 'repaint'
   |           ╰─suggestion: Replace 'paint' with 'paint(canvas:size:)'
15 | ///
16 | /// The ``shouldRepaint`` method is called when a new instance of the class
warning: 'shouldRepaint' doesn't exist at '/Shaft/CustomPainter'
  --> Sources/Shaft/Rendering/RenderCustomPaint.swift:16:11-16:24
14 | /// The ``paint`` method is called whenever the custom object needs to be repainted.
15 | ///
16 + /// The ``shouldRepaint`` method is called when a new instance of the class
   |           ╰─suggestion: Replace 'shouldRepaint' with 'shouldRepaint(_:)'
17 | /// is provided, to check if the new instance actually represents different
18 | /// information.
warning: 'hitTest' doesn't exist at '/Shaft/CustomPainter'
  --> Sources/Shaft/Rendering/RenderCustomPaint.swift:35:11-35:18
33 | /// animation ticks, avoiding both the build and layout phases of the pipeline.
34 | ///
35 + /// The ``hitTest`` method is called when the user interacts with the underlying
   |           ╰─suggestion: Replace 'hitTest' with 'hitTest(_:)'
36 | /// render object, to determine if the user hit the object or missed it.
37 | ///
warning: 'semanticsBuilder' doesn't exist at '/Shaft/CustomPainter'
  --> Sources/Shaft/Rendering/RenderCustomPaint.swift:38:11-38:27
36 | /// render object, to determine if the user hit the object or missed it.
37 | ///
38 + /// The ``semanticsBuilder`` is called whenever the custom object needs to rebuild
39 | /// its semantics information.
40 | ///
warning: 'shouldRebuildSemantics' doesn't exist at '/Shaft/CustomPainter'
  --> Sources/Shaft/Rendering/RenderCustomPaint.swift:41:11-41:33
39 | /// its semantics information.
40 | ///
41 + /// The ``shouldRebuildSemantics`` method is called when a new instance of the
   |           ╰─suggestion: Replace 'shouldRebuildSemantics' with 'shouldRepaint(_:)'
42 | /// class is provided, to check if the new instance contains different
43 | /// information that affects the semantics tree.
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/paint(canvas:size:)'
   --> Sources/Shaft/Rendering/RenderCustomPaint.swift:136:49-136:54
134 |     /// operation is inside the bounds (e.g., drawing a rectangle whose size is
135 |     /// determined by user inputs). In that case, consider calling
136 +     /// [Canvas.clipRect] at the beginning of ``paint`` so everything that follows
137 |     /// will be guaranteed to only draw within the clipped area.
138 |     ///
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/paint(canvas:size:)'
   --> Sources/Shaft/Rendering/RenderCustomPaint.swift:155:33-155:38
153 |     ///    paint delegate, giving it the new [ImageInfo] object.
154 |     ///
155 +     /// 3. In your delegate's ``paint`` method, call the [Canvas.drawImage],
156 |     ///    [Canvas.drawImageRect], or [Canvas.drawImageNine] methods to paint the
157 |     ///    [ImageInfo.image] object, applying the [ImageInfo.scale] value to
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/shouldRepaint(_:)'
   --> Sources/Shaft/Rendering/RenderCustomPaint.swift:171:49-171:54
169 |     /// false.
170 |     ///
171 +     /// If the method returns false, then the ``paint`` call might be optimized
172 |     /// away.
173 |     ///
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/shouldRepaint(_:)'
   --> Sources/Shaft/Rendering/RenderCustomPaint.swift:174:34-174:39
172 |     /// away.
173 |     ///
174 +     /// It's possible that the ``paint`` method will get called even if
175 |     /// ``shouldRepaint`` returns false (e.g. if an ancestor or descendant needed to
176 |     /// be repainted). It's also possible that the ``paint`` method will get called
warning: 'shouldRepaint' doesn't exist at '/Shaft/CustomPainter/shouldRepaint(_:)'
   --> Sources/Shaft/Rendering/RenderCustomPaint.swift:175:11-175:24
173 |     ///
174 |     /// It's possible that the ``paint`` method will get called even if
175 +     /// ``shouldRepaint`` returns false (e.g. if an ancestor or descendant needed to
176 |     /// be repainted). It's also possible that the ``paint`` method will get called
177 |     /// without ``shouldRepaint`` being called at all (e.g. if the box changes
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/shouldRepaint(_:)'
   --> Sources/Shaft/Rendering/RenderCustomPaint.swift:176:54-176:59
174 |     /// It's possible that the ``paint`` method will get called even if
175 |     /// ``shouldRepaint`` returns false (e.g. if an ancestor or descendant needed to
176 +     /// be repainted). It's also possible that the ``paint`` method will get called
177 |     /// without ``shouldRepaint`` being called at all (e.g. if the box changes
178 |     /// size).
warning: 'shouldRepaint' doesn't exist at '/Shaft/CustomPainter/shouldRepaint(_:)'
   --> Sources/Shaft/Rendering/RenderCustomPaint.swift:177:19-177:32
175 |     /// ``shouldRepaint`` returns false (e.g. if an ancestor or descendant needed to
176 |     /// be repainted). It's also possible that the ``paint`` method will get called
177 +     /// without ``shouldRepaint`` being called at all (e.g. if the box changes
178 |     /// size).
179 |     ///
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/hitTest(_:)'
   --> Sources/Shaft/Rendering/RenderCustomPaint.swift:192:11-192:16
190 |     ///
191 |     /// The given point is relative to the same coordinate space as the last
192 +     /// ``paint`` call.
193 |     ///
194 |     /// The default behavior is to consider all points to be hits for
warning: 'EditableText.minLines' doesn't exist at '/Shaft/RenderEditable/minLines'
   --> Sources/Shaft/Rendering/RenderEditable.swift:435:16-435:37
433 |     }
434 |
435 +     /// See: ``EditableText.minLines``.
436 |     public var minLines: Int? {
437 |         didSet {
warning: 'EditableText.expands' doesn't exist at '/Shaft/RenderEditable/expands'
   --> Sources/Shaft/Rendering/RenderEditable.swift:444:16-444:36
442 |     }
443 |
444 +     /// See: ``EditableText.expands``.
445 |     public var expands: Bool = false {
446 |         didSet {
warning: 'addLayer' doesn't exist at '/Shaft/PaintingContext/pushLayer(_:_:_:childPaintBounds:)'
   --> Sources/Shaft/Rendering/RenderObject.swift:163:14-163:22
161 |     /// See also:
162 |     ///
163 +     ///  * ``addLayer``, for pushing a layer without painting further contents
164 |     ///    within it.
165 |     public func pushLayer(
warning: 'layer' doesn't exist at '/Shaft/RenderObject'
   --> Sources/Shaft/Rendering/RenderObject.swift:233:24-233:29
231 |     /// returns null, indicating that a layer is no longer necessary. If a
232 |     /// render object calling this method stores the `oldLayer` in its
233 +     /// ``RenderObject/layer`` field, it should set that field to null.
234 |     ///
235 |     /// When `needsCompositing` is false, this method will use a more efficient
warning: 'painter' doesn't exist at '/Shaft/PaintingContext/pushClipRect(needsCompositing:offset:clipRect:clipBehavior:painter:oldLayer:)'
   --> Sources/Shaft/Rendering/RenderObject.swift:245:44-245:51
243 |     ///
244 |     /// The `clipRect` is the rectangle (in the caller's coordinate system) to
245 +     /// use to clip the painting done by ``painter``. It should not include the
246 |     /// `offset`.
247 |     ///
warning: 'pushClipRect' doesn't exist at '/Shaft/PaintingContext/pushClipRect(needsCompositing:offset:clipRect:clipBehavior:painter:oldLayer:)'
   --> Sources/Shaft/Rendering/RenderObject.swift:249:57-249:69
247 |     ///
248 |     /// The `painter` callback will be called while the `clipRect` is applied.
249 +     /// It is called synchronously during the call to ``pushClipRect``.
250 |     ///
251 |     /// The `clipBehavior` argument controls how the rectangle is clipped.
warning: 'layer' doesn't exist at '/Shaft/RenderObject'
   --> Sources/Shaft/Rendering/RenderObject.swift:256:70-256:75
254 |     /// the `oldLayer` argument, specify the layer created in the previous
255 |     /// frame. This gives the engine more information for performance
256 +     /// optimizations. Typically this is the value of ``RenderObject/layer`` that
257 |     /// a render object creates once, then reuses for all subsequent frames
258 |     /// until a layer is no longer needed (e.g. the render object no longer
warning: 'PipelineOwner' doesn't exist at '/Shaft/RenderObject/invokeLayoutCallback(_:)'
    --> Sources/Shaft/Rendering/RenderObject.swift:1029:23-1029:36
1027 |     /// Allows mutations to be made to this object's child list (and any
1028 |     /// descendants) as well as to any other dirty nodes in the render tree owned
1029 +     /// by the same ``PipelineOwner`` as this object. The `callback` argument is
1030 |     /// invoked synchronously, and the mutations are allowed only during that
1031 |     /// callback's execution.
warning: 'child' doesn't exist at '/Shaft/RenderObjectWithChild/redepthChildren()'
    --> Sources/Shaft/Rendering/RenderObject.swift:1459:43-1459:48
1457 |     func visitChildren(visitor: (ChildType) -> Void)
1458 |
1459 +     /// Adjust the [depth] of the given ``child`` to be greater than this node's
1460 |     /// own [depth].
1461 |     ///
warning: 'child' doesn't exist at '/Shaft/RenderParagraph/redepthChildren()'
    --> Sources/Shaft/Rendering/RenderObject.swift:1459:43-1459:48
1457 |     func visitChildren(visitor: (ChildType) -> Void)
1458 |
1459 +     /// Adjust the [depth] of the given ``child`` to be greater than this node's
1460 |     /// own [depth].
1461 |     ///
warning: 'child' doesn't exist at '/Shaft/RenderEditable/redepthChildren()'
    --> Sources/Shaft/Rendering/RenderObject.swift:1459:43-1459:48
1457 |     func visitChildren(visitor: (ChildType) -> Void)
1458 |
1459 +     /// Adjust the [depth] of the given ``child`` to be greater than this node's
1460 |     /// own [depth].
1461 |     ///
warning: 'child' doesn't exist at '/Shaft/RenderSliverCrossAxisGroup/redepthChildren()'
    --> Sources/Shaft/Rendering/RenderObject.swift:1459:43-1459:48
1457 |     func visitChildren(visitor: (ChildType) -> Void)
1458 |
1459 +     /// Adjust the [depth] of the given ``child`` to be greater than this node's
1460 |     /// own [depth].
1461 |     ///
warning: 'child' doesn't exist at '/Shaft/RenderSliverMainAxisGroup/redepthChildren()'
    --> Sources/Shaft/Rendering/RenderObject.swift:1459:43-1459:48
1457 |     func visitChildren(visitor: (ChildType) -> Void)
1458 |
1459 +     /// Adjust the [depth] of the given ``child`` to be greater than this node's
1460 |     /// own [depth].
1461 |     ///
warning: 'child' doesn't exist at '/Shaft/RenderStack/redepthChildren()'
    --> Sources/Shaft/Rendering/RenderObject.swift:1459:43-1459:48
1457 |     func visitChildren(visitor: (ChildType) -> Void)
1458 |
1459 +     /// Adjust the [depth] of the given ``child`` to be greater than this node's
1460 |     /// own [depth].
1461 |     ///
warning: 'child' doesn't exist at '/Shaft/RenderFlex/redepthChildren()'
    --> Sources/Shaft/Rendering/RenderObject.swift:1459:43-1459:48
1457 |     func visitChildren(visitor: (ChildType) -> Void)
1458 |
1459 +     /// Adjust the [depth] of the given ``child`` to be greater than this node's
1460 |     /// own [depth].
1461 |     ///
warning: 'child' doesn't exist at '/Shaft/RenderViewportBase/redepthChildren()'
    --> Sources/Shaft/Rendering/RenderObject.swift:1459:43-1459:48
1457 |     func visitChildren(visitor: (ChildType) -> Void)
1458 |
1459 +     /// Adjust the [depth] of the given ``child`` to be greater than this node's
1460 |     /// own [depth].
1461 |     ///
warning: 'child' doesn't exist at '/Shaft/RenderWrap/redepthChildren()'
    --> Sources/Shaft/Rendering/RenderObject.swift:1459:43-1459:48
1457 |     func visitChildren(visitor: (ChildType) -> Void)
1458 |
1459 +     /// Adjust the [depth] of the given ``child`` to be greater than this node's
1460 |     /// own [depth].
1461 |     ///
warning: 'child' doesn't exist at '/Shaft/RenderSliverMultiBoxAdaptor/redepthChildren()'
    --> Sources/Shaft/Rendering/RenderObject.swift:1459:43-1459:48
1457 |     func visitChildren(visitor: (ChildType) -> Void)
1458 |
1459 +     /// Adjust the [depth] of the given ``child`` to be greater than this node's
1460 |     /// own [depth].
1461 |     ///
warning: 'RenderProxySliver' doesn't exist at '/Shaft/RenderProxyBox'
  --> Sources/Shaft/Rendering/RenderProxyBox.swift:25:10-25:27
23 | /// See also:
24 | ///
25 + ///  * ``RenderProxySliver``, a base class for render slivers that resemble their
26 | ///    children.
27 | open class RenderProxyBox: RenderBox, RenderObjectWithSingleChild {
warning: 'child' doesn't exist at '/Shaft/RenderConstrainedBox'
   --> Sources/Shaft/Rendering/RenderProxyBox.swift:154:34-154:39
152 | /// as well.
153 | ///
154 + /// For example, if you wanted ``child`` to have a minimum height of 50.0 logical
155 | /// pixels, you could use `const BoxConstraints(minHeight: 50.0)` as the
156 | /// ``additionalConstraints``.
warning: 'child' doesn't exist at '/Shaft/RenderConstrainedBox/additionalConstraints'
   --> Sources/Shaft/Rendering/RenderProxyBox.swift:166:46-166:51
164 |     }
165 |
166 +     /// Additional constraints to apply to ``child`` during layout.
167 |     public var additionalConstraints: BoxConstraints {
168 |         didSet {
warning: 'RenderConstraintsTransformBox' doesn't exist at '/Shaft/RenderShiftedBox'
  --> Sources/Shaft/Rendering/RenderShiftedBox.swift:12:15-12:44
10 | /// ``BoxConstraints``.
11 | ///
12 + /// Used by ``RenderConstraintsTransformBox`` and ``ConstraintsTransformBox``.
13 | /// Typically the caller requires the returned ``BoxConstraints`` to be
14 | /// ``BoxConstraints/isNormalized``.
warning: 'ConstraintsTransformBox' doesn't exist at '/Shaft/RenderShiftedBox'
  --> Sources/Shaft/Rendering/RenderShiftedBox.swift:12:53-12:76
10 | /// ``BoxConstraints``.
11 | ///
12 + /// Used by ``RenderConstraintsTransformBox`` and ``ConstraintsTransformBox``.
13 | /// Typically the caller requires the returned ``BoxConstraints`` to be
14 | /// ``BoxConstraints/isNormalized``.
warning: 'isNormalized' doesn't exist at '/Shaft/BoxConstraints'
  --> Sources/Shaft/Rendering/RenderShiftedBox.swift:14:22-14:34
12 | /// Used by ``RenderConstraintsTransformBox`` and ``ConstraintsTransformBox``.
13 | /// Typically the caller requires the returned ``BoxConstraints`` to be
14 + /// ``BoxConstraints/isNormalized``.
15 | public class RenderShiftedBox: RenderBox, RenderObjectWithSingleChild {
16 |     public typealias ChildType = RenderBox
warning: 'PipelineOwner' doesn't exist at '/Shaft/RenderView/prepareInitialFrame()'
   --> Sources/Shaft/Rendering/RenderView.swift:102:11-102:24
100 |     ///
101 |     /// This does not actually schedule the first frame. Call
102 +     /// ``PipelineOwner/requestVisualUpdate`` on ``owner`` to do that.
103 |     public func prepareInitialFrame() {
104 |         assert(owner != nil)
warning: 'owner' doesn't exist at '/Shaft/RenderView/prepareInitialFrame()'
   --> Sources/Shaft/Rendering/RenderView.swift:102:52-102:57
100 |     ///
101 |     /// This does not actually schedule the first frame. Call
102 +     /// ``PipelineOwner/requestVisualUpdate`` on ``owner`` to do that.
103 |     public func prepareInitialFrame() {
104 |         assert(owner != nil)
warning: 'position' doesn't exist at '/Shaft/RenderView/hitTest(_:position:)'
   --> Sources/Shaft/Rendering/RenderView.swift:159:15-159:23
157 |     /// given hit test result.
158 |     ///
159 +     /// The ``position`` argument is in the coordinate system of the render view,
160 |     /// which is to say, in logical pixels. This is not necessarily the same
161 |     /// coordinate system as that expected by the root ``Layer``, which will
warning: 'handleBeginFrame' doesn't exist at '/Shaft/SchedulerBinding'
  --> Sources/Shaft/Scheduler/SchedulerBinding.swift:10:24-10:40
8  |
9  | /// The various phases that a ``SchedulerBinding`` goes through during
10 + /// ``SchedulerBinding/handleBeginFrame``.
11 | ///
12 | /// This is exposed by ``SchedulerBinding/schedulerPhase``.
warning: 'handleBeginFrame' doesn't exist at '/Shaft/SchedulerBinding/hasScheduledFrame'
  --> Sources/Shaft/Scheduler/SchedulerBinding.swift:44:53-44:69
42 |     public private(set) var schedulerPhase = SchedulerPhase.idle
43 |
44 +     /// Whether this scheduler has requested that ``handleBeginFrame`` be called soon.
45 |     public private(set) var hasScheduledFrame = false
46 |
warning: 'scheduleFrame' doesn't exist at '/Shaft/SchedulerBinding/framesEnabled'
  --> Sources/Shaft/Scheduler/SchedulerBinding.swift:47:61-47:74
45 |     public private(set) var hasScheduledFrame = false
46 |
47 +     /// Whether frames are currently being scheduled when ``scheduleFrame`` is called.
48 |     ///
49 |     /// This value depends on the value of the ``lifecycleState``.
warning: 'lifecycleState' doesn't exist at '/Shaft/SchedulerBinding/framesEnabled'
  --> Sources/Shaft/Scheduler/SchedulerBinding.swift:49:50-49:64
47 |     /// Whether frames are currently being scheduled when ``scheduleFrame`` is called.
48 |     ///
49 +     /// This value depends on the value of the ``lifecycleState``.
50 |     public private(set) var framesEnabled = true
51 |
warning: 'scheduleFrame' doesn't exist at '/Shaft/SchedulerBinding/ensureVisualUpdate()'
  --> Sources/Shaft/Scheduler/SchedulerBinding.swift:64:39-64:52
62 |     private var rescheduleAfterWarmUpFrame = false
63 |
64 +     /// Schedules a new frame using ``scheduleFrame`` if this object is not
65 |     /// currently producing a frame.
66 |     ///
warning: 'handleDrawFrame' doesn't exist at '/Shaft/SchedulerBinding/ensureVisualUpdate()'
  --> Sources/Shaft/Scheduler/SchedulerBinding.swift:67:44-67:59
65 |     /// currently producing a frame.
66 |     ///
67 +     /// Calling this method ensures that ``handleDrawFrame`` will eventually be
68 |     /// called, unless it's already in progress.
69 |     public func ensureVisualUpdate() {
warning: 'handleBeginFrame' doesn't exist at '/Shaft/SchedulerBinding/currentFrameTimeStamp'
   --> Sources/Shaft/Scheduler/SchedulerBinding.swift:126:57-126:73
124 |     /// The time stamp for the frame currently being processed.
125 |     ///
126 +     /// This is only valid while between the start of ``handleBeginFrame`` and the
127 |     /// end of the corresponding ``handleDrawFrame``, i.e. while a frame is being
128 |     /// produced.
warning: 'handleDrawFrame' doesn't exist at '/Shaft/SchedulerBinding/currentFrameTimeStamp'
   --> Sources/Shaft/Scheduler/SchedulerBinding.swift:127:36-127:51
125 |     ///
126 |     /// This is only valid while between the start of ``handleBeginFrame`` and the
127 +     /// end of the corresponding ``handleDrawFrame``, i.e. while a frame is being
128 |     /// produced.
129 |     public private(set) var currentFrameTimeStamp: Duration!
warning: 'SingleTickerProviderStateMixin' doesn't exist at '/Shaft/TickerProvider'
  --> Sources/Shaft/Scheduler/Ticker.swift:14:7-14:37
12 | /// obtain their ``Ticker``. If you are creating an ``AnimationController`` from a
13 | /// ``State``, then you can use the ``TickerProviderStateMixin`` and
14 + /// ``SingleTickerProviderStateMixin`` classes to obtain a suitable
15 | /// ``TickerProvider``. The widget test framework ``WidgetTester`` object can be
16 | /// used as a ticker provider in the context of tests. In other contexts, you
warning: 'WidgetTester' doesn't exist at '/Shaft/TickerProvider'
  --> Sources/Shaft/Scheduler/Ticker.swift:15:53-15:65
13 | /// ``State``, then you can use the ``TickerProviderStateMixin`` and
14 | /// ``SingleTickerProviderStateMixin`` classes to obtain a suitable
15 + /// ``TickerProvider``. The widget test framework ``WidgetTester`` object can be
16 | /// used as a ticker provider in the context of tests. In other contexts, you
17 | /// will have to either pass a ``TickerProvider`` from a higher level (e.g.
warning: 'addHandler' doesn't exist at '/Shaft/HardwareKeyboard'
   --> Sources/Shaft/Services/HardwareKeyboard.swift:127:20-127:30
125 | ///
126 | /// To stay notified whenever keys are pressed, held, or released, add a
127 + /// handler with ``addHandler``. To only be notified when a specific part of the
    |                    ╰─suggestion: Replace 'addHandler' with 'addHandler(_:)'
128 | /// app is focused, use a ``Focus`` widget's `onFocusChanged` attribute instead
129 | /// of ``addHandler``. Handlers should be removed with ``removeHandler`` when
warning: 'addHandler' doesn't exist at '/Shaft/HardwareKeyboard'
   --> Sources/Shaft/Services/HardwareKeyboard.swift:129:10-129:20
127 | /// handler with ``addHandler``. To only be notified when a specific part of the
128 | /// app is focused, use a ``Focus`` widget's `onFocusChanged` attribute instead
129 + /// of ``addHandler``. Handlers should be removed with ``removeHandler`` when
    |          ╰─suggestion: Replace 'addHandler' with 'addHandler(_:)'
130 | /// notification is no longer necessary, or when the handler is being disposed.
131 | ///
warning: 'removeHandler' doesn't exist at '/Shaft/HardwareKeyboard'
   --> Sources/Shaft/Services/HardwareKeyboard.swift:129:58-129:71
127 | /// handler with ``addHandler``. To only be notified when a specific part of the
128 | /// app is focused, use a ``Focus`` widget's `onFocusChanged` attribute instead
129 + /// of ``addHandler``. Handlers should be removed with ``removeHandler`` when
    |                                                          ╰─suggestion: Replace 'removeHandler' with 'removeHandler(_:)'
130 | /// notification is no longer necessary, or when the handler is being disposed.
131 | ///
warning: 'ServicesBinding' doesn't exist at '/Shaft/HardwareKeyboard'
   --> Sources/Shaft/Services/HardwareKeyboard.swift:137:66-137:81
135 | /// event handler.
136 | ///
137 + /// The singleton ``HardwareKeyboard`` instance is held by the ``ServicesBinding``
138 | /// as ``ServicesBinding/keyboard``, and can be conveniently accessed using the
139 | /// ``HardwareKeyboard/instance`` static accessor.
warning: 'ServicesBinding' doesn't exist at '/Shaft/HardwareKeyboard'
   --> Sources/Shaft/Services/HardwareKeyboard.swift:138:10-138:25
136 | ///
137 | /// The singleton ``HardwareKeyboard`` instance is held by the ``ServicesBinding``
138 + /// as ``ServicesBinding/keyboard``, and can be conveniently accessed using the
139 | /// ``HardwareKeyboard/instance`` static accessor.
140 | ///
warning: 'instance' doesn't exist at '/Shaft/HardwareKeyboard'
   --> Sources/Shaft/Services/HardwareKeyboard.swift:139:24-139:32
137 | /// The singleton ``HardwareKeyboard`` instance is held by the ``ServicesBinding``
138 | /// as ``ServicesBinding/keyboard``, and can be conveniently accessed using the
139 + /// ``HardwareKeyboard/instance`` static accessor.
140 | ///
141 | /// ## Event model
warning: 'removeHandler' doesn't exist at '/Shaft/HardwareKeyboard/addHandler(_:)'
   --> Sources/Shaft/Services/HardwareKeyboard.swift:384:14-384:27
382 |     /// See also:
383 |     ///
384 +     ///  * ``removeHandler``, which removes the handler.
385 |     public func addHandler(_ handler: Handler) {
386 |         if _duringDispatch {
warning: 'addHandler' doesn't exist at '/Shaft/HardwareKeyboard/removeHandler(_:)'
   --> Sources/Shaft/Services/HardwareKeyboard.swift:398:11-398:21
396 |     ///
397 |     /// The `handler` argument must be [identical] to the one used in
398 +     /// ``addHandler``. If multiple exist, the first one will be removed.
399 |     /// If none is found, then this method is a no-op.
400 |     ///
warning: 'SystemMouseCursors' doesn't exist at '/Shaft/MouseCursorManager/init(fallbackMouseCursor:)'
  --> Sources/Shaft/Services/MouseCursor.swift:17:11-17:29
15 |     ///
16 |     /// The `fallbackMouseCursor` must not be ``MouseCursor/defer`` (typically
17 +     /// ``SystemMouseCursors/basic``).
18 |     public init(fallbackMouseCursor: MouseCursor) {
19 |         precondition(fallbackMouseCursor != MouseCursor.defer)
warning: 'SystemMouseCursors' doesn't exist at '/Shaft/MouseCursor'
  --> Sources/Shaft/Services/MouseCursor.swift:95:22-95:40
93 | /// moves), ``MouseTracker`` finds the _active cursor_ of each mouse device, which
94 | /// is the front-most region associated with the position of each mouse cursor,
95 + /// or defaults to ``SystemMouseCursors/basic`` if no cursors are associated with
96 | /// the position. ``MouseTracker`` changes the cursor of the pointer if the new
97 | /// active cursor is different from the previous active cursor, whose effect is
warning: 'addActionListener' doesn't exist at '/Shaft/Action'
  --> Sources/Shaft/Widgets/Actions.swift:27:51-27:68
25 | /// action's state.
26 | ///
27 + /// To register an action listener, call ``Action/addActionListener``.
   |                                                   ├─suggestion: Replace 'addActionListener' with 'addActionListener(_:callback:)'
   |                                                   ├─suggestion: Replace 'addActionListener' with 'notifyActionListeners()'
   |                                                   ╰─suggestion: Replace 'addActionListener' with 'removeActionListener(_:)'
28 | public typealias ActionListenerCallback = (any ActionProtocol) -> Void
29 |
warning: 'ContextAction' doesn't exist at '/Shaft/ActionProtocol/isEnabled(_:context:)'
  --> Sources/Shaft/Widgets/Actions.swift:40:11-40:24
38 |     ///
39 |     /// If the action's enable state depends on a ``BuildContext``, subclass
40 +     /// ``ContextAction`` instead of ``Action``.
41 |     func isEnabled(_ intent: IntentType, context: BuildContext?) -> Bool
42 |
warning: 'ContextAction' doesn't exist at '/Shaft/Action/isEnabled(_:context:)'
  --> Sources/Shaft/Widgets/Actions.swift:40:11-40:24
38 |     ///
39 |     /// If the action's enable state depends on a ``BuildContext``, subclass
40 +     /// ``ContextAction`` instead of ``Action``.
41 |     func isEnabled(_ intent: IntentType, context: BuildContext?) -> Bool
42 |
warning: 'invoke' doesn't exist at '/Shaft/Actions'
  --> Sources/Shaft/Widgets/Actions.swift:46:19-46:25
44 |     ///
45 |     /// This is called by the ``ActionDispatcher`` when an action is invoked via
46 +     /// ``Actions/invoke``, or when an action is invoked using
   |                   ╰─suggestion: Replace 'invoke' with 'invoke(_:_:)'
47 |     /// ``ActionDispatcher/invokeAction`` directly.
48 |     ///
warning: 'invoke' doesn't exist at '/Shaft/Actions'
  --> Sources/Shaft/Widgets/Actions.swift:46:19-46:25
44 |     ///
45 |     /// This is called by the ``ActionDispatcher`` when an action is invoked via
46 +     /// ``Actions/invoke``, or when an action is invoked using
   |                   ╰─suggestion: Replace 'invoke' with 'invoke(_:_:)'
47 |     /// ``ActionDispatcher/invokeAction`` directly.
48 |     ///
warning: 'invokeAction' doesn't exist at '/Shaft/ActionDispatcher'
  --> Sources/Shaft/Widgets/Actions.swift:47:28-47:40
45 |     /// This is called by the ``ActionDispatcher`` when an action is invoked via
46 |     /// ``Actions/invoke``, or when an action is invoked using
47 +     /// ``ActionDispatcher/invokeAction`` directly.
   |                            ├─suggestion: Replace 'invokeAction' with 'invokeAction(_:_:_:)'
   |                            ╰─suggestion: Replace 'invokeAction' with 'invokeActionIfEnabled(_:_:_:)'
48 |     ///
49 |     /// This method is only meant to be invoked by an ``ActionDispatcher``, or by
warning: 'invokeAction' doesn't exist at '/Shaft/ActionDispatcher'
  --> Sources/Shaft/Widgets/Actions.swift:47:28-47:40
45 |     /// This is called by the ``ActionDispatcher`` when an action is invoked via
46 |     /// ``Actions/invoke``, or when an action is invoked using
47 +     /// ``ActionDispatcher/invokeAction`` directly.
   |                            ├─suggestion: Replace 'invokeAction' with 'invokeAction(_:_:_:)'
   |                            ╰─suggestion: Replace 'invokeAction' with 'invokeActionIfEnabled(_:_:_:)'
48 |     ///
49 |     /// This method is only meant to be invoked by an ``ActionDispatcher``, or by
warning: 'invoke' doesn't exist at '/Shaft/Actions'
  --> Sources/Shaft/Widgets/Actions.swift:75:19-75:25
73 |     ///
74 |     /// To receive the result of invoking an action, it must be invoked using
75 +     /// ``Actions/invoke``, or by invoking it using an ``ActionDispatcher``. An action
   |                   ╰─suggestion: Replace 'invoke' with 'invoke(_:_:)'
76 |     /// invoked via a [Shortcuts] widget will have its return value ignored.
77 |     ///
warning: 'invoke' doesn't exist at '/Shaft/Actions'
  --> Sources/Shaft/Widgets/Actions.swift:75:19-75:25
73 |     ///
74 |     /// To receive the result of invoking an action, it must be invoked using
75 +     /// ``Actions/invoke``, or by invoking it using an ``ActionDispatcher``. An action
   |                   ╰─suggestion: Replace 'invoke' with 'invoke(_:_:)'
76 |     /// invoked via a [Shortcuts] widget will have its return value ignored.
77 |     ///
warning: 'ContextAction' doesn't exist at '/Shaft/ActionProtocol/invoke(_:context:)'
  --> Sources/Shaft/Widgets/Actions.swift:79:11-79:24
77 |     ///
78 |     /// If the action's behavior depends on a ``BuildContext``, subclass
79 +     /// ``ContextAction`` instead of ``Action``.
80 |     func invoke(_ intent: IntentType, context: BuildContext?) -> Any?
81 |
warning: 'ContextAction' doesn't exist at '/Shaft/Action/invoke(_:context:)'
  --> Sources/Shaft/Widgets/Actions.swift:79:11-79:24
77 |     ///
78 |     /// If the action's behavior depends on a ``BuildContext``, subclass
79 +     /// ``ContextAction`` instead of ``Action``.
80 |     func invoke(_ intent: IntentType, context: BuildContext?) -> Any?
81 |
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher'
   --> Sources/Shaft/Widgets/Actions.swift:423:11-423:24
421 | /// method on the ``Action`` object.
422 | ///
423 + /// For ``ContextAction`` actions, if no `context` is provided, the
424 | /// ``BuildContext`` of the [primaryFocus] is used instead.
425 | ///
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher/invokeAction(_:_:_:)'
   --> Sources/Shaft/Widgets/Actions.swift:439:27-439:40
437 |     ///
438 |     /// The action will be invoked with the given `context`, if given, but only if
439 +     /// the action is a ``ContextAction`` subclass. If no `context` is given, and
440 |     /// the action is a ``ContextAction``, then the context from the [primaryFocus]
441 |     /// is used.
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher/invokeAction(_:_:_:)'
   --> Sources/Shaft/Widgets/Actions.swift:440:27-440:40
438 |     /// The action will be invoked with the given `context`, if given, but only if
439 |     /// the action is a ``ContextAction`` subclass. If no `context` is given, and
440 +     /// the action is a ``ContextAction``, then the context from the [primaryFocus]
441 |     /// is used.
442 |     ///
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher/invokeAction(_:_:_:)'
   --> Sources/Shaft/Widgets/Actions.swift:447:43-447:56
445 |     /// The caller must receive a `true` result from [Action.isEnabled] before
446 |     /// calling this function (or [ContextAction.isEnabled] with the same
447 +     /// `context`, if the `action` is a ``ContextAction``). This function will
448 |     /// assert if the action is not enabled when called.
449 |     ///
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher/invokeActionIfEnabled(_:_:_:)'
   --> Sources/Shaft/Widgets/Actions.swift:469:27-469:40
467 |     ///
468 |     /// The action will be invoked with the given `context`, if given, but only if
469 +     /// the action is a ``ContextAction`` subclass. If no `context` is given, and
470 |     /// the action is a ``ContextAction``, then the context from the [primaryFocus]
471 |     /// is used.
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher/invokeActionIfEnabled(_:_:_:)'
   --> Sources/Shaft/Widgets/Actions.swift:470:27-470:40
468 |     /// The action will be invoked with the given `context`, if given, but only if
469 |     /// the action is a ``ContextAction`` subclass. If no `context` is given, and
470 +     /// the action is a ``ContextAction``, then the context from the [primaryFocus]
471 |     /// is used.
472 |     ///
warning: 'invoke' doesn't exist at '/Shaft/Actions'
   --> Sources/Shaft/Widgets/Actions.swift:497:21-497:27
495 | ///
496 | /// Actions are typically invoked using [Shortcuts]. They can also be invoked
497 + /// using ``Actions/invoke`` on a context containing an ambient [Actions] widget.
    |                     ╰─suggestion: Replace 'invoke' with 'invoke(_:_:)'
498 | ///
499 | /// See also:
warning: 'RotatedBox' doesn't exist at '/Shaft/Transform'
  --> Sources/Shaft/Widgets/Basic.swift:13:14-13:24
11 | /// A widget that applies a transformation before painting its child.
12 | ///
13 + /// Unlike ``RotatedBox``, which applies a rotation prior to layout, this object
14 | /// applies its transformation just prior to painting, which means the
15 | /// transformation is not taken into account when calculating how much space
warning: 'RotatedBox' doesn't exist at '/Shaft/Transform'
  --> Sources/Shaft/Widgets/Basic.swift:22:10-22:20
20 | /// See also:
21 | ///
22 + ///  * ``RotatedBox``, which rotates the child widget during layout, not just
23 | ///    during painting.
24 | ///  * ``FractionalTranslation``, which applies a translation to the child
warning: 'FractionalTranslation' doesn't exist at '/Shaft/Transform'
  --> Sources/Shaft/Widgets/Basic.swift:24:10-24:31
22 | ///  * ``RotatedBox``, which rotates the child widget during layout, not just
23 | ///    during painting.
24 + ///  * ``FractionalTranslation``, which applies a translation to the child
25 | ///    that is relative to the child's size.
26 | ///  * ``FittedBox``, which sizes and positions its child widget to fit the parent
warning: 'FittedBox' doesn't exist at '/Shaft/Transform'
  --> Sources/Shaft/Widgets/Basic.swift:26:10-26:19
24 | ///  * ``FractionalTranslation``, which applies a translation to the child
25 | ///    that is relative to the child's size.
26 + ///  * ``FittedBox``, which sizes and positions its child widget to fit the parent
27 | ///    according to a given ``BoxFit`` discipline.
28 | ///  * The [catalog of layout widgets](https://flutter.dev/widgets/layout/).
warning: 'RotationTransition' doesn't exist at '/Shaft/Transform/init(angle:origin:alignment:transformHitTests:filterQuality:child:)'
  --> Sources/Shaft/Widgets/Basic.swift:54:14-54:32
52 |     /// See also:
53 |     ///
54 +     ///  * ``RotationTransition``, which animates changes in rotation smoothly
55 |     ///    over a given duration.
56 |     public init(
warning: 'ScaleTransition' doesn't exist at '/Shaft/Transform/init(scale:scaleX:scaleY:origin:alignment:transformHitTests:filterQuality:child:)'
   --> Sources/Shaft/Widgets/Basic.swift:108:13-108:28
106 |     /// See also:
107 |     ///
108 +     /// * ``ScaleTransition``, which animates changes in scale smoothly over a given
109 |     ///   duration.
110 |     public init(
warning: 'FittedBox' doesn't exist at '/Shaft/ClipRRect'
    --> Sources/Shaft/Widgets/Basic.swift:2332:65-2332:74
2330 | /// When a [ClipRRect] is bigger than the child it contains, its rounded corners
2331 | /// could be drawn in unexpected positions. Make sure that [ClipRRect] and its child
2332 + /// have the same bounds (by shrinking the [ClipRRect] with a ``FittedBox`` or by
2333 | /// growing the child).
2334 | ///
warning: 'runApp' doesn't exist at '/Shaft/WidgetsBinding/rootElement'
   --> Sources/Shaft/Widgets/Binding/WidgetsBinding.swift:129:46-129:52
127 |     /// The ``Element`` that is at the root of the element tree hierarchy.
128 |     ///
129 +     /// This is initialized the first time ``runApp`` is called.
130 |     public private(set) var rootElement: Element?
131 |
warning: 'runApp' doesn't exist at '/Shaft/runApp(_:view:)'
   --> Sources/Shaft/Widgets/Binding/WidgetsBinding.swift:579:15-579:21
577 | /// your widget, you can also use the [Center] widget.
578 | ///
579 + /// Calling ``runApp`` again will detach the previous root widget from the screen
580 | /// and attach the given widget in its place. The new widget tree is compared
581 | /// against the previous widget tree and any differences are applied to the
warning: 'update' doesn't exist at '/Shaft/ProxyElement/notifyClients(_:)'
    --> Sources/Shaft/Widgets/Framework/Framework.swift:2730:25-2730:31
2728 |     /// changed.
2729 |     ///
2730 +     /// Called during ``update`` (via ``updated``) after changing the widget
2731 |     /// associated with this element but before rebuilding this element.
2732 |     open func notifyClients(_ oldWidget: ProxyWidget) {}
warning: 'update' doesn't exist at '/Shaft/ParentDataElement/notifyClients(_:)'
    --> Sources/Shaft/Widgets/Framework/Framework.swift:2730:25-2730:31
2728 |     /// changed.
2729 |     ///
2730 +     /// Called during ``update`` (via ``updated``) after changing the widget
2731 |     /// associated with this element but before rebuilding this element.
2732 |     open func notifyClients(_ oldWidget: ProxyWidget) {}
warning: 'updated' doesn't exist at '/Shaft/ProxyElement/notifyClients(_:)'
    --> Sources/Shaft/Widgets/Framework/Framework.swift:2730:41-2730:48
2728 |     /// changed.
2729 |     ///
2730 +     /// Called during ``update`` (via ``updated``) after changing the widget
2731 |     /// associated with this element but before rebuilding this element.
2732 |     open func notifyClients(_ oldWidget: ProxyWidget) {}
warning: 'updated' doesn't exist at '/Shaft/ParentDataElement/notifyClients(_:)'
    --> Sources/Shaft/Widgets/Framework/Framework.swift:2730:41-2730:48
2728 |     /// changed.
2729 |     ///
2730 +     /// Called during ``update`` (via ``updated``) after changing the widget
2731 |     /// associated with this element but before rebuilding this element.
2732 |     open func notifyClients(_ oldWidget: ProxyWidget) {}
warning: 'updateShouldNotify' doesn't exist at '/Shaft/InheritedWidget'
 --> Sources/Shaft/Widgets/InheritedModel.swift:6:52-6:70
4 | ///
5 | /// An inherited widget's dependents are unconditionally rebuilt when the
6 + /// inherited widget changes per ``InheritedWidget/updateShouldNotify``. This
  |                                                    ╰─suggestion: Replace 'updateShouldNotify' with 'updateShouldNotify(_:)'
7 | /// widget is similar except that dependents aren't rebuilt unconditionally.
8 | ///
warning: 'inheritFrom' doesn't exist at '/Shaft/InheritedModel'
  --> Sources/Shaft/Widgets/InheritedModel.swift:19:22-19:33
17 | ///
18 | /// Widgets create a dependency on an ``InheritedModel`` with a static method:
19 + /// ``InheritedModel/inheritFrom``. This method's `context` parameter defines the
   |                      ╰─suggestion: Replace 'inheritFrom' with 'inheritFrom(_:context:aspect:)'
20 | /// subtree that will be rebuilt when the model changes. Typically the
21 | /// `inheritFrom` method is called from a model-specific static `maybeOf` or
warning: 'updateShouldNotifyDependent' doesn't exist at '/Shaft/InheritedModel'
  --> Sources/Shaft/Widgets/InheritedModel.swift:52:7-52:34
50 | ///
51 | /// In the previous example the dependencies checked by
52 + /// ``updateShouldNotifyDependent`` are just the aspect strings passed to
   |       ╰─suggestion: Replace 'updateShouldNotifyDependent' with 'updateShouldNotifyDependent(_:_:)'
53 | /// `dependOnInheritedWidgetOfExactType`. They're represented as a ``Set`` because
54 | /// one Widget can depend on more than one aspect of the model. If a widget
warning: 'Set' doesn't exist at '/Shaft/InheritedModel'
  --> Sources/Shaft/Widgets/InheritedModel.swift:53:70-53:73
51 | /// In the previous example the dependencies checked by
52 | /// ``updateShouldNotifyDependent`` are just the aspect strings passed to
53 + /// `dependOnInheritedWidgetOfExactType`. They're represented as a ``Set`` because
54 | /// one Widget can depend on more than one aspect of the model. If a widget
55 | /// depends on the model but doesn't specify an aspect, then changes in the
warning: 'updateShouldNotifyDependent' doesn't exist at '/Shaft/MediaQuery/inheritFrom(_:context:aspect:)'
   --> Sources/Shaft/Widgets/InheritedModel.swift:129:24-129:51
127 |     ///
128 |     /// When the given [aspect] of the model changes, the [context] will be
129 +     /// rebuilt. The ``updateShouldNotifyDependent`` method must determine if a
130 |     /// change in the model widget corresponds to an [aspect] value.
131 |     ///
warning: 'updateShouldNotifyDependent' doesn't exist at '/Shaft/InheritedModel/inheritFrom(_:context:aspect:)'
   --> Sources/Shaft/Widgets/InheritedModel.swift:129:24-129:51
127 |     ///
128 |     /// When the given [aspect] of the model changes, the [context] will be
129 +     /// rebuilt. The ``updateShouldNotifyDependent`` method must determine if a
130 |     /// change in the model widget corresponds to an [aspect] value.
131 |     ///
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
  --> Sources/Shaft/Widgets/MediaQuery.swift:21:26-21:28
19 | ///
20 | /// To obtain the entire current ``MediaQueryData`` for a given ``BuildContext``,
21 + /// use the ``MediaQuery/of`` function. This can be useful if you are going to use
22 | /// ``copyWith`` to replace the ``MediaQueryData`` with one with an updated
23 | /// property.
warning: 'copyWith' doesn't exist at '/Shaft/MediaQueryData'
  --> Sources/Shaft/Widgets/MediaQuery.swift:22:7-22:15
20 | /// To obtain the entire current ``MediaQueryData`` for a given ``BuildContext``,
21 | /// use the ``MediaQuery/of`` function. This can be useful if you are going to use
22 + /// ``copyWith`` to replace the ``MediaQueryData`` with one with an updated
23 | /// property.
24 | ///
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
   --> Sources/Shaft/Widgets/MediaQuery.swift:152:34-152:36
150 |     /// updated.
151 |     ///
152 +     /// In general, ``MediaQuery/of``, and its associated "...Of" methods, are the
153 |     /// appropriate way to obtain ``MediaQueryData`` from a widget. This `fromView`
154 |     /// constructor is primarily for use in the implementation of the framework
warning: 'of```.size` to get the size, since the former will only notify of changes in [size], while the latter will notify for all ' doesn't exist at '/Shaft/MediaQuery'
   --> Sources/Shaft/Widgets/MediaQuery.swift:216:60-216:182
214 |     /// [devicePixelRatio].
215 |     ///
216 +     /// Prefer using [MediaQuery.sizeOf] over ``MediaQuery/of```.size` to get the
217 |     /// size, since the former will only notify of changes in [size], while the
218 |     /// latter will notify for all ``MediaQueryData`` changes.
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
   --> Sources/Shaft/Widgets/MediaQuery.swift:700:33-700:35
698 | ///
699 | /// {@template flutter.widgets.media_query.MediaQuery.useSpecific}
700 + /// Querying using ``MediaQuery/of`` will cause your widget to rebuild
701 | /// automatically whenever _any_ field of the ``MediaQueryData`` changes (e.g., if
702 | /// the user rotates their device). Therefore, unless you are concerned with the
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
   --> Sources/Shaft/Widgets/MediaQuery.swift:707:56-707:58
705 | /// rebuild more efficiently.
706 | ///
707 + /// If no ``MediaQuery`` is in scope then ``MediaQuery/of`` and the "...Of" methods
708 | /// similar to [MediaQuery.sizeOf] will throw an exception. Alternatively, the
709 | /// "maybe-" variant methods (such as [MediaQuery.maybeOf] and
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
    --> Sources/Shaft/Widgets/MediaQuery.swift:1007:45-1007:47
1005 |     ///
1006 |     /// Use this function if you want to allow situations where no ``MediaQuery`` is
1007 +     /// in scope. Prefer using ``MediaQuery/of`` in situations where a media query
1008 |     /// is always expected to exist.
1009 |     ///
warning: 'List' doesn't exist at '/Shaft/SliverChildDelegate'
  --> Sources/Shaft/Widgets/Scroll/ScrollDelegate.swift:23:37-23:41
21 | /// Many slivers lazily construct their box children to avoid creating more
22 | /// children than are visible through the ``Viewport``. Rather than receiving
23 + /// their children as an explicit ``List``, they receive their children using a
24 | /// ``SliverChildDelegate``.
25 | ///
warning: 'applyTo' doesn't exist at '/Shaft/ScrollPhysics'
  --> Sources/Shaft/Widgets/Scroll/ScrollPhysics.swift:59:55-59:62
57 | /// ```
58 | ///
59 + /// When implementing a subclass, you must override ``applyTo`` so that it returns
   |                                                       ╰─suggestion: Replace 'applyTo' with 'applyTo(_:)'
60 | /// an appropriate instance of your subclass.  Otherwise, classes like
61 | /// ``Scrollable`` that inform a ``ScrollPosition`` will combine them with
warning: This documentation block is inherited by other symbols where 'parent' fails to resolve.
   --> Sources/Shaft/Widgets/Scroll/ScrollPhysics.swift:114:12-114:22
112 |     /// when it does not.
113 |     ///
114 +     /// If ``parent`` is null then this returns a ``ScrollPhysics`` with the
    |            ╰─suggestion: Use an absolute link path.
115 |     /// same [runtimeType], but where the ``parent`` has been replaced
116 |     /// with the [ancestor].
warning: This documentation block is inherited by other symbols where 'parent' fails to resolve.
   --> Sources/Shaft/Widgets/Scroll/ScrollPhysics.swift:115:43-115:53
113 |     ///
114 |     /// If ``parent`` is null then this returns a ``ScrollPhysics`` with the
115 +     /// same [runtimeType], but where the ``parent`` has been replaced
    |                                           ╰─suggestion: Use an absolute link path.
116 |     /// with the [ancestor].
117 |     ///
warning: 'applyTo' doesn't exist at '/Shaft/ScrollPhysics/applyTo(_:)'
   --> Sources/Shaft/Widgets/Scroll/ScrollPhysics.swift:125:27-125:34
123 |     /// object. This is inefficient.
124 |     ///
125 +     /// ## Implementing ``applyTo``
126 |     ///
127 |     /// When creating a custom ``ScrollPhysics`` subclass, this method
warning: 'applyTo' doesn't exist at '/Shaft/AlwaysScrollableScrollPhysics/applyTo(_:)'
   --> Sources/Shaft/Widgets/Scroll/ScrollPhysics.swift:125:27-125:34
123 |     /// object. This is inefficient.
124 |     ///
125 +     /// ## Implementing ``applyTo``
126 |     ///
127 |     /// When creating a custom ``ScrollPhysics`` subclass, this method
warning: This documentation block is inherited by other symbols where 'parent' fails to resolve.
   --> Sources/Shaft/Widgets/Scroll/ScrollPhysics.swift:130:40-130:50
128 |     /// must be implemented. If the physics class has no constructor
129 |     /// arguments, then implementing this method is merely a matter of
130 +     /// calling the constructor with a ``parent`` constructed using
    |                                        ╰─suggestion: Use an absolute link path.
131 |     /// [buildParent], as follows:
132 |     ///
warning: 'applyTo' doesn't exist at '/Shaft/ScrollPhysics/applyTo(_:)'
   --> Sources/Shaft/Widgets/Scroll/ScrollPhysics.swift:152:74-152:81
150 |     /// See also:
151 |     ///
152 +     ///  * [buildParent], a utility method that's often used to define ``applyTo``
153 |     ///    methods for ``ScrollPhysics`` subclasses.
154 |     public func applyTo(_ ancestor: ScrollPhysics?) -> ScrollPhysics {
warning: 'applyTo' doesn't exist at '/Shaft/AlwaysScrollableScrollPhysics/applyTo(_:)'
   --> Sources/Shaft/Widgets/Scroll/ScrollPhysics.swift:152:74-152:81
150 |     /// See also:
151 |     ///
152 +     ///  * [buildParent], a utility method that's often used to define ``applyTo``
153 |     ///    methods for ``ScrollPhysics`` subclasses.
154 |     public func applyTo(_ ancestor: ScrollPhysics?) -> ScrollPhysics {
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewKeyboardDismissBehavior'
 --> Sources/Shaft/Widgets/ScrollView.swift:1:33-1:43
1 + /// A representation of how a ``ScrollView`` should dismiss the on-screen
2 | /// keyboard.
3 | public enum ScrollViewKeyboardDismissBehavior {
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewKeyboardDismissBehavior/onDrag'
 --> Sources/Shaft/Widgets/ScrollView.swift:7:35-7:45
5 |     /// It is up to the client to dismiss the keyboard.
6 |     case manual
7 +     /// `onDrag` means that the ``ScrollView`` will dismiss an on-screen keyboard
8 |     /// when a drag begins.
9 |     case onDrag
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase'
  --> Sources/Shaft/Widgets/ScrollView.swift:25:7-25:17
23 | ///     various scrolling effects, such as lists, grids, and expanding headers.
24 | ///
25 + /// ``ScrollView`` helps orchestrate these pieces by creating the ``Scrollable`` and
26 | /// the viewport and deferring to its subclass to create the slivers.
27 | ///
warning: 'PageStorage' doesn't exist at '/Shaft/ScrollViewBase'
  --> Sources/Shaft/Widgets/ScrollView.swift:36:67-36:78
34 | /// ## Persisting the scroll position during a session
35 | ///
36 + /// Scroll views attempt to persist their scroll position using ``PageStorage``.
37 | /// This can be disabled by setting [ScrollController.keepScrollOffset] to false
38 | /// on the ``controller``. If it is enabled, using a [PageStorageKey] for the
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase'
  --> Sources/Shaft/Widgets/ScrollView.swift:45:47-45:57
43 | /// See also:
44 | ///
45 + ///  * [ListView], which is a commonly used ``ScrollView`` that displays a
46 | ///    scrolling, linear list of child widgets.
47 | ///  * [PageView], which is a scrolling list of child widgets that are each the
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase'
  --> Sources/Shaft/Widgets/ScrollView.swift:49:33-49:43
47 | ///  * [PageView], which is a scrolling list of child widgets that are each the
48 | ///    size of the viewport.
49 + ///  * [GridView], which is a ``ScrollView`` that displays a scrolling, 2D array
50 | ///    of child widgets.
51 | ///  * [CustomScrollView], which is a ``ScrollView`` that creates custom scroll
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase'
  --> Sources/Shaft/Widgets/ScrollView.swift:51:41-51:51
49 | ///  * [GridView], which is a ``ScrollView`` that displays a scrolling, 2D array
50 | ///    of child widgets.
51 + ///  * [CustomScrollView], which is a ``ScrollView`` that creates custom scroll
52 | ///    effects using slivers.
53 | ///  * [ScrollNotification] and [NotificationListener], which can be used to watch
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase'
  --> Sources/Shaft/Widgets/ScrollView.swift:55:64-55:74
53 | ///  * [ScrollNotification] and [NotificationListener], which can be used to watch
54 | ///    the scroll position without using a [ScrollController].
55 + ///  * [TwoDimensionalScrollView], which is a similar widget ``ScrollView`` that
56 | ///    scrolls in two dimensions.
57 | public class ScrollViewBase: StatelessWidget {
warning: 'PageStorage' doesn't exist at '/Shaft/ScrollViewBase/controller'
   --> Sources/Shaft/Widgets/ScrollView.swift:153:55-153:66
151 |     /// the initial scroll position (see ``ScrollController/initialScrollOffset``).
152 |     /// It can be used to control whether the scroll view should automatically
153 +     /// save and restore its scroll position in the ``PageStorage`` (see
154 |     /// [ScrollController.keepScrollOffset]). It can be used to read the current
155 |     /// scroll position (see [ScrollController.offset]), or change it (see
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase/center'
   --> Sources/Shaft/Widgets/ScrollView.swift:270:41-270:51
268 |     /// The [center] must be the key of one of the slivers built by [buildSlivers].
269 |     ///
270 +     /// Of the built-in subclasses of ``ScrollView``, only [CustomScrollView]
271 |     /// supports [center]; for that class, the given key must be the key of one of
272 |     /// the slivers in the ``CustomScrollView/slivers`` list.
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase/semanticChildCount'
   --> Sources/Shaft/Widgets/ScrollView.swift:303:28-303:38
301 |     /// The number of children that will contribute semantic information.
302 |     ///
303 +     /// Some subtypes of ``ScrollView`` can infer this value automatically. For
304 |     /// example [ListView] will use the number of widgets in the child list,
305 |     /// while the [ListView.separated] constructor will use half that amount.
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase/keyboardDismissBehavior'
   --> Sources/Shaft/Widgets/ScrollView.swift:318:68-318:78
316 |     public let dragStartBehavior: DragStartBehavior
317 |
318 +     /// [ScrollViewKeyboardDismissBehavior] the defines how this ``ScrollView`` will
319 |     /// dismiss the keyboard automatically.
320 |     public let keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior
warning: 'ScrollView' doesn't exist at '/Shaft/CustomScrollView'
   --> Sources/Shaft/Widgets/ScrollView.swift:469:9-469:19
467 | }
468 |
469 + /// A ``ScrollView`` that creates custom scroll effects using [slivers].
470 | ///
471 | /// A [CustomScrollView] lets you supply [slivers] directly to create various
warning: 'controller' doesn't exist at '/Shaft/CustomScrollView'
   --> Sources/Shaft/Widgets/ScrollView.swift:480:7-480:17
478 | ///
479 | /// To control the initial scroll offset of the scroll view, provide a
480 + /// ``controller`` with its ``ScrollController/initialScrollOffset`` property set.
481 | ///
482 | /// {@animation 400 376 https://flutter.github.io/assets-for-api-docs/assets/widgets/custom_scroll_view.mp4}
warning: 'ScrollView' doesn't exist at '/Shaft/CustomScrollView/init(key:scrollDirection:reverse:controller:primary:physics:scrollBehavior:shrinkWrap:center:anchor:cacheExtent:semanticChildCount:dragStartBehavior:keyboardDismissBehavior:restorationId:clipBehavior:hitTestBehavior:slivers:)'
   --> Sources/Shaft/Widgets/ScrollView.swift:533:21-533:31
531 | ///    for scroll announcements.
532 | public class CustomScrollView: ScrollViewBase {
533 +     /// Creates a ``ScrollView`` that creates custom scroll effects using slivers.
534 |     ///
535 |     /// See the ``ScrollView`` constructor for more details on these arguments.
warning: 'ScrollView' doesn't exist at '/Shaft/CustomScrollView/init(key:scrollDirection:reverse:controller:primary:physics:scrollBehavior:shrinkWrap:center:anchor:cacheExtent:semanticChildCount:dragStartBehavior:keyboardDismissBehavior:restorationId:clipBehavior:hitTestBehavior:slivers:)'
   --> Sources/Shaft/Widgets/ScrollView.swift:535:19-535:29
533 |     /// Creates a ``ScrollView`` that creates custom scroll effects using slivers.
534 |     ///
535 +     /// See the ``ScrollView`` constructor for more details on these arguments.
536 |     public init(
537 |         key: (any Key)? = nil,
warning: 'ScrollView' doesn't exist at '/Shaft/BoxScrollView'
   --> Sources/Shaft/Widgets/ScrollView.swift:681:9-681:19
679 | }
680 |
681 + /// A ``ScrollView`` that uses a single child layout model.
682 | ///
683 | /// {@template flutter.widgets.BoxScroll.scrollBehaviour}
warning: 'ScrollView' doesn't exist at '/Shaft/BoxScrollView'
   --> Sources/Shaft/Widgets/ScrollView.swift:684:7-684:17
682 | ///
683 | /// {@template flutter.widgets.BoxScroll.scrollBehaviour}
684 + /// ``ScrollView``s are often decorated with [Scrollbar]s and overscroll indicators,
685 | /// which are managed by the inherited [ScrollBehavior]. Placing a
686 | /// [ScrollConfiguration] above a ScrollView can modify these behaviors for that
warning: 'ScrollView' doesn't exist at '/Shaft/BoxScrollView/init(key:scrollDirection:reverse:controller:primary:physics:shrinkWrap:padding:cacheExtent:semanticChildCount:dragStartBehavior:keyboardDismissBehavior:restorationId:clipBehavior:hitTestBehavior:)'
   --> Sources/Shaft/Widgets/ScrollView.swift:698:21-698:31
696 | ///    single scroll view.
697 | public class BoxScrollView: ScrollViewBase {
698 +     /// Creates a ``ScrollView`` uses a single child layout model.
699 |     ///
700 |     /// If the [primary] argument is true, the ``controller`` must be null.
warning: 'controller' doesn't exist at '/Shaft/BoxScrollView/init(key:scrollDirection:reverse:controller:primary:physics:shrinkWrap:padding:cacheExtent:semanticChildCount:dragStartBehavior:keyboardDismissBehavior:restorationId:clipBehavior:hitTestBehavior:)'
   --> Sources/Shaft/Widgets/ScrollView.swift:700:50-700:60
698 |     /// Creates a ``ScrollView`` uses a single child layout model.
699 |     ///
700 +     /// If the [primary] argument is true, the ``controller`` must be null.
701 |     public init(
702 |         key: (any Key)? = nil,
warning: 'controller' doesn't exist at '/Shaft/ListView'
   --> Sources/Shaft/Widgets/ScrollView.swift:831:7-831:17
829 | ///
830 | /// To control the initial scroll offset of the scroll view, provide a
831 + /// ``controller`` with its ``ScrollController/initialScrollOffset`` property set.
832 | ///
833 | /// By default, [ListView] will automatically pad the list's scrollable
warning: 'controller' doesn't exist at '/Shaft/ListView'
    --> Sources/Shaft/Widgets/ScrollView.swift:1006:48-1006:58
1004 | /// [ListView] to using [CustomScrollView] directly.
1005 | ///
1006 + /// The [key], [scrollDirection], [reverse], ``controller``, [primary], [physics],
1007 | /// and [shrinkWrap] properties on [ListView] map directly to the identically
1008 | /// named properties on [CustomScrollView].
warning: 'ScrollView' doesn't exist at '/Shaft/ListView/init(key:scrollDirection:reverse:controller:primary:physics:shrinkWrap:padding:itemExtent:itemExtentBuilder:prototypeItem:itemBuilder:findChildIndexCallback:itemCount:addAutomaticKeepAlives:addRepaintBoundaries:addSemanticIndexes:cacheExtent:semanticChildCount:dragStartBehavior:keyboardDismissBehavior:restorationId:clipBehavior:hitTestBehavior:)'
    --> Sources/Shaft/Widgets/ScrollView.swift:1238:54-1238:64
1236 |     /// will stop calling `itemBuilder`, even if it has yet to reach `itemCount`.
1237 |     /// By returning `null`, the [ScrollPosition.maxScrollExtent] will not be accurate
1238 +     /// unless the user has reached the end of the ``ScrollView``. This can also cause the
1239 |     /// [Scrollbar] to grow as the user scrolls.
1240 |     ///
warning: 'controller' doesn't exist at '/Shaft/GridView'
    --> Sources/Shaft/Widgets/ScrollView.swift:1611:7-1611:17
1609 | ///
1610 | /// To control the initial scroll offset of the scroll view, provide a
1611 + /// ``controller`` with its ``ScrollController/initialScrollOffset`` property set.
1612 | ///
1613 | /// ## Transitioning to [CustomScrollView]
warning: 'controller' doesn't exist at '/Shaft/GridView'
    --> Sources/Shaft/Widgets/ScrollView.swift:1623:48-1623:58
1621 | /// [GridView] to using [CustomScrollView] directly.
1622 | ///
1623 + /// The [key], [scrollDirection], [reverse], ``controller``, [primary], [physics],
1624 | /// and [shrinkWrap] properties on [GridView] map directly to the identically
1625 | /// named properties on [CustomScrollView].
warning: 'TextInputConfiguration.enableSuggestions' doesn't exist at '/Shaft/EditableText/enableSuggestions'
   --> Sources/Shaft/Widgets/Text/EditableText.swift:423:16-423:56
421 |     // public let smartQuotesType: SmartQuotesType
422 |
423 +     /// See: ``TextInputConfiguration.enableSuggestions``
424 |     public let enableSuggestions: Bool
425 |
warning: 'SelectionOverlay.onSelectionHandleTapped' doesn't exist at '/Shaft/EditableText/onSelectionHandleTapped'
   --> Sources/Shaft/Widgets/Text/EditableText.swift:800:16-800:56
798 |     public let onSelectionChanged: SelectionChangedCallback?
799 |
800 +     /// See: ``SelectionOverlay.onSelectionHandleTapped``
801 |     public let onSelectionHandleTapped: VoidCallback?
802 |
warning: 'RenderEditable.cursorOffset' doesn't exist at '/Shaft/EditableText/cursorOffset'
   --> Sources/Shaft/Widgets/Text/EditableText.swift:908:16-908:43
906 |     public let cursorOpacityAnimates: Bool
907 |
908 +     /// See: ``RenderEditable.cursorOffset``
909 |     public let cursorOffset: Offset?
910 |
warning: 'RenderEditable.paintCursorAboveText' doesn't exist at '/Shaft/EditableText/paintCursorAboveText'
   --> Sources/Shaft/Widgets/Text/EditableText.swift:911:16-911:51
909 |     public let cursorOffset: Offset?
910 |
911 +     /// See: ``RenderEditable.paintCursorAboveText``
912 |     public let paintCursorAboveText: Bool
913 |
warning: 'FlutterView' doesn't exist at '/Shaft/View'
  --> Sources/Shaft/Widgets/View.swift:9:67-9:78
7  | // found in the LICENSE file.
8  |
9  + /// Bootstraps a render tree that is rendered into the provided ``FlutterView``.
10 | ///
11 | /// The content rendered into that view is determined by the provided ``child``.
warning: 'LookupBoundary' doesn't exist at '/Shaft/View'
  --> Sources/Shaft/Widgets/View.swift:12:35-12:49
10 | ///
11 | /// The content rendered into that view is determined by the provided ``child``.
12 + /// Descendants within the same ``LookupBoundary`` can look up the view they are
13 | /// rendered into via ``View/of`` and ``View/maybeOf``.
14 | ///
warning: 'of' doesn't exist at '/Shaft/View'
  --> Sources/Shaft/Widgets/View.swift:13:30-13:32
11 | /// The content rendered into that view is determined by the provided ``child``.
12 | /// Descendants within the same ``LookupBoundary`` can look up the view they are
13 + /// rendered into via ``View/of`` and ``View/maybeOf``.
14 | ///
15 | /// The provided ``child`` is wrapped in a ``MediaQuery`` constructed from the given
warning: 'maybeOf' doesn't exist at '/Shaft/View'
  --> Sources/Shaft/Widgets/View.swift:13:46-13:53
11 | /// The content rendered into that view is determined by the provided ``child``.
12 | /// Descendants within the same ``LookupBoundary`` can look up the view they are
13 + /// rendered into via ``View/of`` and ``View/maybeOf``.
   |                                              ╰─suggestion: Replace 'maybeOf' with 'maybeOf(_:)'
14 | ///
15 | /// The provided ``child`` is wrapped in a ``MediaQuery`` constructed from the given
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
  --> Sources/Shaft/Widgets/View.swift:18:44-18:46
16 | /// ``view``.
17 | ///
18 + /// For most use cases, using ``MediaQuery/of``, or its associated "...Of" methods
19 | /// are a more appropriate way of obtaining the information that a ``FlutterView``
20 | /// exposes. For example, using ``MediaQuery/sizeOf`` will expose the _logical_
warning: 'FlutterView' doesn't exist at '/Shaft/View'
  --> Sources/Shaft/Widgets/View.swift:19:70-19:81
17 | ///
18 | /// For most use cases, using ``MediaQuery/of``, or its associated "...Of" methods
19 + /// are a more appropriate way of obtaining the information that a ``FlutterView``
20 | /// exposes. For example, using ``MediaQuery/sizeOf`` will expose the _logical_
21 | /// device size ([MediaQueryData.size]) rather than the physical size
warning: 'sizeOf' doesn't exist at '/Shaft/MediaQuery'
  --> Sources/Shaft/Widgets/View.swift:20:46-20:52
18 | /// For most use cases, using ``MediaQuery/of``, or its associated "...Of" methods
19 | /// are a more appropriate way of obtaining the information that a ``FlutterView``
20 + /// exposes. For example, using ``MediaQuery/sizeOf`` will expose the _logical_
   |                                              ╰─suggestion: Replace 'sizeOf' with 'sizeOf(_:)'
21 | /// device size ([MediaQueryData.size]) rather than the physical size
22 | /// ([FlutterView.physicalSize]). Similarly, while [FlutterView.padding] conveys
warning: 'FlutterView' doesn't exist at '/Shaft/View'
  --> Sources/Shaft/Widgets/View.swift:28:12-28:23
26 | /// widget adjusts the values for its various children.
27 | ///
28 + /// Each ``FlutterView`` can be associated with at most one [View] widget in the
29 | /// widget tree. Two or more [View] widgets configured with the same
30 | /// ``FlutterView`` must never exist within the same widget tree at the same time.
warning: 'FlutterView' doesn't exist at '/Shaft/View'
  --> Sources/Shaft/Widgets/View.swift:30:7-30:18
28 | /// Each ``FlutterView`` can be associated with at most one [View] widget in the
29 | /// widget tree. Two or more [View] widgets configured with the same
30 + /// ``FlutterView`` must never exist within the same widget tree at the same time.
31 | /// This limitation is enforced by a [GlobalObjectKey] that derives its identity
32 | /// from the ``view`` provided to this widget.
Finished building documentation for 'Shaft' (5.29s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/main
Building for debugging...
[0/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version--6988338F2F200930.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling SymbolKit SemanticVersion.swift
[8/57] Compiling SymbolKit AccessControl.swift
[9/57] Compiling SymbolKit Availability.swift
[10/57] Compiling SymbolKit AvailabilityItem.swift
[11/57] Compiling SymbolKit Domain.swift
[12/57] Compiling SymbolKit DeclarationFragments.swift
[13/57] Compiling SymbolKit Fragment.swift
[14/57] Compiling SymbolKit FragmentKind.swift
[15/57] Compiling SymbolKit FunctionParameter.swift
[16/57] Compiling SymbolKit FunctionSignature.swift
[17/57] Compiling SymbolKit Names.swift
[18/57] Compiling SymbolKit SPI.swift
[19/57] Compiling SymbolKit Snippet.swift
[20/57] Compiling SymbolKit Extension.swift
[21/57] Compiling SymbolKit Identifier.swift
[22/57] Compiling SymbolKit KindIdentifier.swift
[23/57] Compiling SymbolKit Location.swift
[24/57] Compiling SymbolKit Mutability.swift
[25/57] Compiling SymbolKit SourceRange.swift
[26/57] Compiling SymbolKit Metadata.swift
[27/57] Compiling SymbolKit Module.swift
[28/57] Compiling SymbolKit OperatingSystem.swift
[29/57] Compiling SymbolKit Platform.swift
[30/57] Compiling SymbolKit Relationship.swift
[31/57] Compiling SymbolKit RelationshipKind.swift
[32/57] Compiling SymbolKit SourceOrigin.swift
[33/57] Compiling SymbolKit GenericConstraints.swift
[34/57] Compiling SymbolKit Swift.swift
[35/57] Compiling SymbolKit Mixin+Equals.swift
[36/57] Compiling SymbolKit Mixin+Hash.swift
[37/57] Compiling SymbolKit Mixin.swift
[38/57] Compiling SymbolKit LineList.swift
[39/57] Compiling SymbolKit Position.swift
[40/57] Compiling SymbolKit Symbol.swift
[41/57] Compiling SymbolKit SymbolKind.swift
[42/57] Compiling SymbolKit SymbolGraph.swift
[43/57] Compiling SymbolKit GraphCollector.swift
[44/57] Compiling SymbolKit GenericConstraint.swift
[45/57] Compiling SymbolKit GenericParameter.swift
[46/57] Compiling SymbolKit Generics.swift
[47/57] Compiling SymbolKit Namespace.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] Compiling Snippets SnippetParser.swift
[53/57] Compiling Snippets Snippet.swift
[54/57] Emitting module Snippets
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.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! (3.77s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'Shaft' complete! (1.60s)
Target:                   ShaftSetup
Extracting symbol information for 'ShaftSetup'...
Finished extracting symbol information for 'ShaftSetup'. (58.87s)
Building documentation for 'ShaftSetup'...
Finished building documentation for 'ShaftSetup' (0.04s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/main
Building for debugging...
[0/3] Write swift-version--6988338F2F200930.txt
Build of product 'snippet-extract' complete! (1.03s)
Building for debugging...
[0/2] Write swift-version--6988338F2F200930.txt
[1/2] Compiling CSkia utils.cpp
Build of target: 'ShaftSetup' complete! (2.85s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/linkable-paths.json
Target:                   CSkia
Extracting symbol information for 'CSkia'...
Finished extracting symbol information for 'CSkia'. (2.78s)
Building documentation for 'CSkia'...
Finished building documentation for 'CSkia' (0.05s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/main
Building for debugging...
[0/3] Write swift-version--6988338F2F200930.txt
Build of product 'snippet-extract' complete! (1.09s)
Building for debugging...
[0/1] Compiling CSkia utils.cpp
Build of target: 'CSkia' complete! (2.73s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/linkable-paths.json
Target:                   ShaftLucide
Extracting symbol information for 'ShaftLucide'...
Finished extracting symbol information for 'ShaftLucide'. (2.21s)
Building documentation for 'ShaftLucide'...
Finished building documentation for 'ShaftLucide' (0.07s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/main
Building for debugging...
[0/3] Write swift-version--6988338F2F200930.txt
Build of product 'snippet-extract' complete! (1.07s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'ShaftLucide' complete! (2.07s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/linkable-paths.json
Target:                   ShaftMarkdown
Extracting symbol information for 'ShaftMarkdown'...
Finished extracting symbol information for 'ShaftMarkdown'. (1.91s)
Building documentation for 'ShaftMarkdown'...
Finished building documentation for 'ShaftMarkdown' (0.12s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/main
Building for debugging...
[0/3] Write swift-version--6988338F2F200930.txt
Build of product 'snippet-extract' complete! (1.03s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'ShaftMarkdown' complete! (1.72s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/linkable-paths.json
Target:                   ShaftSDL3
Extracting symbol information for 'ShaftSDL3'...
Finished extracting symbol information for 'ShaftSDL3'. (1.93s)
Building documentation for 'ShaftSDL3'...
Finished building documentation for 'ShaftSDL3' (0.08s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/main
Building for debugging...
[0/3] Write swift-version--6988338F2F200930.txt
Build of product 'snippet-extract' complete! (1.03s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'ShaftSDL3' complete! (1.75s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/linkable-paths.json
Target:                   ShaftSkia
Extracting symbol information for 'ShaftSkia'...
Finished extracting symbol information for 'ShaftSkia'. (3.44s)
Building documentation for 'ShaftSkia'...
warning: 'Renderer' doesn't exist at '/ShaftSkia/SkiaGLRenderer'
  --> Sources/ShaftSkia/SkiaRenderer+GL.swift:9:28-9:36
7  | import Shaft
8  |
9  + /// An implementation of ``Renderer`` using Skia as the backend.
10 | public class SkiaGLRenderer: SkiaRenderer, GLRenderer {
11 |     /// Cached GrDirectContext for creating surfaces.
warning: 'Renderer' doesn't exist at '/ShaftSkia/SkiaRenderer'
  --> Sources/ShaftSkia/SkiaRenderer.swift:9:28-9:36
7  | import Shaft
8  |
9  + /// An implementation of ``Renderer`` using Skia as the backend.
10 | public class SkiaRenderer: Renderer {
11 |     public init() {
Finished building documentation for 'ShaftSkia' (0.09s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/main
Building for debugging...
[0/3] Write swift-version--6988338F2F200930.txt
Build of product 'snippet-extract' complete! (1.03s)
Building for debugging...
[0/2] Write swift-version--6988338F2F200930.txt
[1/2] Compiling CSkia utils.cpp
Build of target: 'ShaftSkia' complete! (2.70s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/main/linkable-paths.json
   18174
104	/Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/main
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/shaftui/shaft/main
File count: 18174
Doc size:   104.0MB
Preparing doc bundle ...
Uploading prod-shaftui-shaft-main-54bab435.zip to s3://spi-docs-inbox/prod-shaftui-shaft-main-54bab435.zip
Copying... [10%]
Copying... [20%]
Copying... [30%]
Copying... [40%]
Copying... [50%]
Copying... [60%]
Copying... [70%]
Copying... [80%]
Copying... [90%]
Copying... [100%]
Done.