Build Information
Successful build of SwiftGodot, reference v0.75.0 (48112d), with Swift 6.2 for macOS (SPM) on 22 Feb 2026 04:42:05 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0.app xcrun swift build --arch arm64Build Log
239 | }()
240 |
241 + /// Creates and appends a ``MethodTweener``. This method is similar to a combination of ``tweenCallback(_:)`` and ``tweenProperty(object:property:finalVal:duration:)``. It calls a method over time with a tweened value provided as an argument. The value is tweened between `from` and `to` over the time specified by `duration`, in seconds. Use ``Callable/bind()`` to bind additional arguments for the call. You can use ``MethodTweener/setEase(_:)`` and ``MethodTweener/setTrans(_:)`` to tweak the easing and transition of the value or ``MethodTweener/setDelay(_:)`` to delay the tweening.
242 | ///
243 | /// **Example:** Making a 3D object look from one point to another point:
warning: 'Engine' doesn't exist at '/SwiftGodot/Tween/setIgnoreTimeScale(ignore:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Tween.swift:580:56-580:62
578 | }()
579 |
580 + /// If `ignore` is `true`, the tween will ignore ``Engine/timeScale`` and update with the real, elapsed time. This affects all ``Tweener``s and their delays. Default value is `false`.
581 | public final func setIgnoreTimeScale(ignore: Bool = true) -> Tween? {
582 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: '@GlobalScope.lerp' doesn't exist at '/SwiftGodot/Tween/interpolateValue(initialValue:deltaValue:elapsedTime:duration:transType:easeType:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Tween.swift:825:143-825:160
823 | }()
824 |
825 + /// This method can be used for manual interpolation of a value, when you don't want ``Tween`` to do animating for you. It's similar to ``@GlobalScope.lerp``, but with support for custom transition and easing.
826 | ///
827 | /// `initialValue` is the starting value of the interpolation.
warning: 'Callable' doesn't exist at '/SwiftGodot/UndoRedo/addDoMethod(callable:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/UndoRedo.swift:170:22-170:30
168 | }()
169 |
170 + /// Register a ``Callable`` that will be called when the action is committed.
171 | public final func addDoMethod(callable: Callable) {
172 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'Callable' doesn't exist at '/SwiftGodot/UndoRedo/addUndoMethod(callable:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/UndoRedo.swift:197:22-197:30
195 | }()
196 |
197 + /// Register a ``Callable`` that will be called when the action is undone.
198 | public final func addUndoMethod(callable: Callable) {
199 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'RefCounted' doesn't exist at '/SwiftGodot/UndoRedo/addDoReference(object:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/UndoRedo.swift:292:64-292:74
290 | /// Register a reference to an object that will be erased if the "do" history is deleted. This is useful for objects added by the "do" action and removed by the "undo" action.
291 | ///
292 + /// When the "do" history is deleted, if the object is a ``RefCounted``, it will be unreferenced. Otherwise, it will be freed. Do not use for resources.
293 | ///
294 | public final func addDoReference(object: Object?) {
warning: 'RefCounted' doesn't exist at '/SwiftGodot/UndoRedo/addUndoReference(object:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/UndoRedo.swift:322:66-322:76
320 | /// Register a reference to an object that will be erased if the "undo" history is deleted. This is useful for objects added by the "undo" action and removed by the "do" action.
321 | ///
322 + /// When the "undo" history is deleted, if the object is a ``RefCounted``, it will be unreferenced. Otherwise, it will be freed. Do not use for resources.
323 | ///
324 | public final func addUndoReference(object: Object?) {
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:228:151-228:160
226 | /// The texture filter blends between the nearest 4 pixels. This makes the texture look smooth from up close, and grainy from a distance (due to mipmaps not being sampled).
227 | case linear = 1 // DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_LINEAR
228 + /// The texture filter blends between the nearest 4 pixels and between the nearest 2 mipmaps (or uses the nearest mipmap if ``ProjectSettings/rendering/textures/defaultFilters/useNearestMipmapFilter`` is `true`). This makes the texture look smooth from up close, and smooth from a distance.
229 | ///
230 | /// Use this for non-pixel art textures that may be viewed at a low scale (e.g. due to ``Camera2D`` zoom or sprite scaling), as mipmaps are important to smooth out pixels that are smaller than on-screen pixels.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:233:151-233:160
231 | ///
232 | case linearWithMipmaps = 2 // DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS
233 + /// The texture filter reads from the nearest pixel and blends between the nearest 2 mipmaps (or uses the nearest mipmap if ``ProjectSettings/rendering/textures/defaultFilters/useNearestMipmapFilter`` is `true`). This makes the texture look pixelated from up close, and smooth from a distance.
234 | ///
235 | /// Use this for non-pixel art textures that may be viewed at a low scale (e.g. due to ``Camera2D`` zoom or sprite scaling), as mipmaps are important to smooth out pixels that are smaller than on-screen pixels.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:417:36-417:45
415 | /// The multisample antialiasing mode for 2D/Canvas rendering. A higher number results in smoother edges at the cost of significantly worse performance. A value of ``Viewport/MSAA/msaa2x`` or ``Viewport/MSAA/msaa4x`` is best unless targeting very high-end systems. This has no effect on shader-induced aliasing or texture aliasing.
416 | ///
417 + /// See also ``ProjectSettings/rendering/antiAliasing/quality/msaa2d`` and ``RenderingServer/viewportSetMsaa2d(viewport:msaa:)``.
418 | ///
419 | final public var msaa2d: Viewport.MSAA {
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:432:36-432:45
430 | /// The multisample antialiasing mode for 3D rendering. A higher number results in smoother edges at the cost of significantly worse performance. A value of ``Viewport/MSAA/msaa2x`` or ``Viewport/MSAA/msaa4x`` is best unless targeting very high-end systems. See also bilinear scaling 3D ``scaling3dMode`` for supersampling, which provides higher quality but is much more expensive. This has no effect on shader-induced aliasing or texture aliasing.
431 | ///
432 + /// See also ``ProjectSettings/rendering/antiAliasing/quality/msaa3d`` and ``RenderingServer/viewportSetMsaa3d(viewport:msaa:)``.
433 | ///
434 | final public var msaa3d: Viewport.MSAA {
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:447:36-447:45
445 | /// Sets the screen-space antialiasing method used. Screen-space antialiasing works by selectively blurring edges in a post-process shader. It differs from MSAA which takes multiple coverage samples while rendering objects. Screen-space AA methods are typically faster than MSAA and will smooth out specular aliasing, but tend to make scenes appear blurry.
446 | ///
447 + /// See also ``ProjectSettings/rendering/antiAliasing/quality/screenSpaceAa`` and ``RenderingServer/viewportSetScreenSpaceAa(viewport:mode:)``.
448 | ///
449 | final public var screenSpaceAa: Viewport.ScreenSpaceAA {
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:464:36-464:45
462 | /// > Note: The implementation is not complete yet, some visual instances such as particles and skinned meshes may show artifacts.
463 | ///
464 + /// See also ``ProjectSettings/rendering/antiAliasing/quality/useTaa`` and ``RenderingServer/viewportSetUseTaa(viewport:enable:)``.
465 | ///
466 | final public var useTaa: Bool {
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:481:36-481:45
479 | /// In some cases, debanding may introduce a slightly noticeable dithering pattern. It's recommended to enable debanding only when actually needed since the dithering pattern will make lossless-compressed screenshots larger.
480 | ///
481 + /// See also ``ProjectSettings/rendering/antiAliasing/quality/useDebanding`` and ``RenderingServer/viewportSetUseDebanding(viewport:enable:)``.
482 | ///
483 | final public var useDebanding: Bool {
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:494:152-494:161
492 | }
493 |
494 + /// If `true`, ``OccluderInstance3D`` nodes will be usable for occlusion culling in 3D for this viewport. For the root viewport, ``ProjectSettings/rendering/occlusionCulling/useOcclusionCulling`` must be set to `true` instead.
495 | ///
496 | /// > Note: Enabling occlusion culling has a cost on the CPU. Only enable occlusion culling if you actually plan to use it, and think whether your scene can actually benefit from occlusion culling. Large, open scenes with few or no objects blocking the view will generally not benefit much from occlusion culling. Large open scenes generally benefit more from mesh LOD and visibility ranges (``GeometryInstance3D/visibilityRangeBegin`` and ``GeometryInstance3D/visibilityRangeEnd``) compared to occlusion culling.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:513:82-513:91
511 | /// The automatic LOD bias to use for meshes rendered within the ``Viewport`` (this is analogous to ``ReflectionProbe/meshLodThreshold``). Higher values will use less detailed versions of meshes that have LOD variations generated. If set to `0.0`, automatic LOD is disabled. Increase ``meshLodThreshold`` to improve performance at the cost of geometry detail.
512 | ///
513 + /// To control this property on the root viewport, set the ``ProjectSettings/rendering/meshLod/lodChange/thresholdPixels`` project setting.
514 | ///
515 | /// > Note: ``meshLodThreshold`` does not affect ``GeometryInstance3D`` visibility ranges (also known as "manual" LOD or hierarchical LOD).
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:557:82-557:91
555 | /// Sets scaling 3D mode. Bilinear scaling renders at different resolution to either undersample or supersample the viewport. FidelityFX Super Resolution 1.0, abbreviated to FSR, is an upscaling technology that produces high quality images at fast framerates by using a spatially aware upscaling algorithm. FSR is slightly more expensive than bilinear, but it produces significantly higher image quality. FSR should be used where possible.
556 | ///
557 + /// To control this property on the root viewport, set the ``ProjectSettings/rendering/scaling3d/mode`` project setting.
558 | ///
559 | final public var scaling3dMode: Viewport.Scaling3DMode {
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:570:116-570:125
568 | }
569 |
570 + /// Scales the 3D render buffer based on the viewport size uses an image filter specified in ``ProjectSettings/rendering/scaling3d/mode`` to scale the output image to the full viewport size. Values lower than `1.0` can be used to speed up 3D rendering at the cost of quality (undersampling). Values greater than `1.0` are only valid for bilinear mode and can be used to improve 3D rendering quality at a high performance cost (supersampling). See also ``ProjectSettings/rendering/antiAliasing/quality/msaa3d`` for multi-sample antialiasing, which is significantly cheaper but only smooths the edges of polygons.
571 | ///
572 | /// When using FSR upscaling, AMD recommends exposing the following values as preset options to users "Ultra Quality: 0.77", "Quality: 0.67", "Balanced: 0.59", "Performance: 0.5" instead of exposing the entire scale.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:570:475-570:484
568 | }
569 |
570 + /// Scales the 3D render buffer based on the viewport size uses an image filter specified in ``ProjectSettings/rendering/scaling3d/mode`` to scale the output image to the full viewport size. Values lower than `1.0` can be used to speed up 3D rendering at the cost of quality (undersampling). Values greater than `1.0` are only valid for bilinear mode and can be used to improve 3D rendering quality at a high performance cost (supersampling). See also ``ProjectSettings/rendering/antiAliasing/quality/msaa3d`` for multi-sample antialiasing, which is significantly cheaper but only smooths the edges of polygons.
571 | ///
572 | /// When using FSR upscaling, AMD recommends exposing the following values as preset options to users "Ultra Quality: 0.77", "Quality: 0.67", "Balanced: 0.59", "Performance: 0.5" instead of exposing the entire scale.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:574:82-574:91
572 | /// When using FSR upscaling, AMD recommends exposing the following values as preset options to users "Ultra Quality: 0.77", "Quality: 0.67", "Balanced: 0.59", "Performance: 0.5" instead of exposing the entire scale.
573 | ///
574 + /// To control this property on the root viewport, set the ``ProjectSettings/rendering/scaling3d/scale`` project setting.
575 | ///
576 | final public var scaling3dScale: Double {
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:593:82-593:91
591 | /// > Note: If ``scaling3dScale`` is lower than `1.0` (exclusive), ``textureMipmapBias`` is used to adjust the automatic mipmap bias which is calculated internally based on the scale factor. The formula for this is `log2(scaling_3d_scale) + mipmap_bias`.
592 | ///
593 + /// To control this property on the root viewport, set the ``ProjectSettings/rendering/textures/defaultFilters/textureMipmapBias`` project setting.
594 | ///
595 | final public var textureMipmapBias: Double {
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:608:157-608:166
606 | /// Sets the maximum number of samples to take when using anisotropic filtering on textures (as a power of two). A higher sample count will result in sharper textures at oblique angles, but is more expensive to compute. A value of `0` forcibly disables anisotropic filtering, even on materials where it is enabled.
607 | ///
608 + /// The anisotropic filtering level also affects decals and light projectors if they are configured to use anisotropic filtering. See ``ProjectSettings/rendering/textures/decals/filter`` and ``ProjectSettings/rendering/textures/lightProjectors/filter``.
609 | ///
610 | /// > Note: In 3D, for this setting to have an effect, set ``BaseMaterial3D/textureFilter`` to ``BaseMaterial3D/TextureFilter/linearWithMipmapsAnisotropic`` or ``BaseMaterial3D/TextureFilter/nearestWithMipmapsAnisotropic`` on materials.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:608:214-608:223
606 | /// Sets the maximum number of samples to take when using anisotropic filtering on textures (as a power of two). A higher sample count will result in sharper textures at oblique angles, but is more expensive to compute. A value of `0` forcibly disables anisotropic filtering, even on materials where it is enabled.
607 | ///
608 + /// The anisotropic filtering level also affects decals and light projectors if they are configured to use anisotropic filtering. See ``ProjectSettings/rendering/textures/decals/filter`` and ``ProjectSettings/rendering/textures/lightProjectors/filter``.
609 | ///
610 | /// > Note: In 3D, for this setting to have an effect, set ``BaseMaterial3D/textureFilter`` to ``BaseMaterial3D/TextureFilter/linearWithMipmapsAnisotropic`` or ``BaseMaterial3D/TextureFilter/nearestWithMipmapsAnisotropic`` on materials.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:627:82-627:91
625 | /// Determines how sharp the upscaled image will be when using the FSR upscaling mode. Sharpness halves with every whole number. Values go from 0.0 (sharpest) to 2.0. Values above 2.0 won't make a visible difference.
626 | ///
627 + /// To control this property on the root viewport, set the ``ProjectSettings/rendering/scaling3d/fsrSharpness`` project setting.
628 | ///
629 | final public var fsrSharpness: Double {
warning: 'Transform2D' doesn't exist at '/SwiftGodot/Viewport/getStretchTransform()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:1119:405-1119:416
1117 | }()
1118 |
1119 + /// Returns the automatically computed 2D stretch transform, taking the ``Viewport``'s stretch settings into account. The final value is multiplied by ``Window/contentScaleFactor``, but only for the root viewport. If this method is called on a ``SubViewport`` (e.g., in a scene tree with ``SubViewportContainer`` and ``SubViewport``), the scale factor of the root window will not be applied. Using ``Transform2D/getScale()`` on the returned value, this can be used to compensate for scaling when zooming a ``Camera2D`` node, or to scale down a ``TextureRect`` to be pixel-perfect regardless of the automatically computed scale factor.
1120 | ///
1121 | /// > Note: Due to how pixel scaling works, the returned transform's X and Y scale may differ slightly, even when ``Window/contentScaleAspect`` is set to a mode that preserves the pixels' aspect ratio. If ``Window/contentScaleAspect`` is ``Window/ContentScaleAspect/ignore``, the X and Y scale may differ _significantly_.
warning: 'inputDevices' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Viewport.swift:1856:175-1856:187
1854 | /// If `inLocalCoords` is `false`, the event's position is in the embedder's coordinates and will be converted to viewport coordinates. If `inLocalCoords` is `true`, the event's position is in viewport coordinates.
1855 | ///
1856 + /// While this method serves a similar purpose as ``Input/parseInputEvent(_:)``, it does not remap the specified `event` based on project settings like ``ProjectSettings/inputDevices/pointing/emulateTouchFromMouse``.
1857 | ///
1858 | /// Calling this method will propagate calls to child nodes for following methods in the given order:
warning: 'Node.ProcessMode' doesn't exist at '/SwiftGodot/VisibleOnScreenEnabler2D/enableMode'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisibleOnScreenEnabler2D.swift:48:69-48:85
46 | /* Properties */
47 |
48 + /// Determines how the target node is enabled. Corresponds to ``Node.ProcessMode``. When the node is disabled, it always uses ``Node/ProcessMode/disabled``.
49 | final public var enableMode: VisibleOnScreenEnabler2D.EnableMode {
50 | get {
warning: 'Node.ProcessMode' doesn't exist at '/SwiftGodot/VisibleOnScreenEnabler3D/enableMode'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisibleOnScreenEnabler3D.swift:48:69-48:85
46 | /* Properties */
47 |
48 + /// Determines how the target node is enabled. Corresponds to ``Node.ProcessMode``. When the node is disabled, it always uses ``Node/ProcessMode/disabled``.
49 | final public var enableMode: VisibleOnScreenEnabler3D.EnableMode {
50 | get {
warning: 'AABB' doesn't exist at '/SwiftGodot/VisualInstance3D/sortingUseAabbCenter'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualInstance3D.swift:67:56-67:60
65 | }
66 |
67 + /// If `true`, the object is sorted based on the ``AABB`` center. The object will be sorted based on the global position otherwise.
68 | ///
69 | /// The ``AABB`` center based sorting is generally more accurate for 3D models. The position based sorting instead allows to better control the drawing order when working with ``GPUParticles3D`` and ``CPUParticles3D``.
warning: 'AABB' doesn't exist at '/SwiftGodot/VisualInstance3D/sortingUseAabbCenter'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualInstance3D.swift:69:15-69:19
67 | /// If `true`, the object is sorted based on the ``AABB`` center. The object will be sorted based on the global position otherwise.
68 | ///
69 + /// The ``AABB`` center based sorting is generally more accurate for 3D models. The position based sorting instead allows to better control the drawing order when working with ``GPUParticles3D`` and ``CPUParticles3D``.
70 | ///
71 | final public var sortingUseAabbCenter: Bool {
warning: 'AABB' doesn't exist at '/SwiftGodot/VisualInstance3D/getAabb()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualInstance3D.swift:375:23-375:27
373 | }()
374 |
375 + /// Returns the ``AABB`` (also known as the bounding box) for this ``VisualInstance3D``.
376 | public final func getAabb() -> AABB {
377 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'Type' doesn't exist at '/SwiftGodot/VisualShader'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShader.swift:52:55-52:59
50 | /// A compute shader that runs for each froxel of the volumetric fog map.
51 | case fog = 9 // TYPE_FOG
52 + /// Represents the size of the ``VisualShader/Type`` enum.
| ╰─suggestion: Replace 'Type' with 'GType'
53 | case max = 10 // TYPE_MAX
54 | }
warning: 'Vector2' doesn't exist at '/SwiftGodot/VisualShader/VaryingType/vector2d'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShader.swift:72:34-72:41
70 | /// Varying is of type unsigned integer.
71 | case uint = 2 // VARYING_TYPE_UINT
72 + /// Varying is of type ``Vector2``.
73 | case vector2d = 3 // VARYING_TYPE_VECTOR_2D
74 | /// Varying is of type ``Vector3``.
warning: 'Vector3' doesn't exist at '/SwiftGodot/VisualShader/VaryingType/vector3d'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShader.swift:74:34-74:41
72 | /// Varying is of type ``Vector2``.
73 | case vector2d = 3 // VARYING_TYPE_VECTOR_2D
74 + /// Varying is of type ``Vector3``.
75 | case vector3d = 4 // VARYING_TYPE_VECTOR_3D
76 | /// Varying is of type ``Vector4``.
warning: 'Vector4' doesn't exist at '/SwiftGodot/VisualShader/VaryingType/vector4d'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShader.swift:76:34-76:41
74 | /// Varying is of type ``Vector3``.
75 | case vector3d = 4 // VARYING_TYPE_VECTOR_3D
76 + /// Varying is of type ``Vector4``.
77 | case vector4d = 5 // VARYING_TYPE_VECTOR_4D
78 | /// Varying is of type [bool].
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShader/VaryingType/transform'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShader.swift:80:34-80:45
78 | /// Varying is of type [bool].
79 | case boolean = 6 // VARYING_TYPE_BOOLEAN
80 + /// Varying is of type ``Transform3D``.
81 | case transform = 7 // VARYING_TYPE_TRANSFORM
82 | /// Represents the size of the ``VisualShader/VaryingType`` enum.
warning: 'Color' doesn't exist at '/SwiftGodot/VisualShaderNodeColorConstant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeColorConstant.swift:25:9-25:14
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// A ``Color`` constant to be used within the visual shader graph.
26 | ///
27 | /// Has two output ports representing RGB and alpha channels of ``Color``.
warning: 'Color' doesn't exist at '/SwiftGodot/VisualShaderNodeColorConstant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeColorConstant.swift:27:67-27:72
25 | /// A ``Color`` constant to be used within the visual shader graph.
26 | ///
27 + /// Has two output ports representing RGB and alpha channels of ``Color``.
28 | ///
29 | /// Translated to `vec3 rgb` and `float alpha` in the shader language.
warning: 'Color' doesn't exist at '/SwiftGodot/VisualShaderNodeColorConstant/constant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeColorConstant.swift:37:13-37:18
35 | /* Properties */
36 |
37 + /// A ``Color`` constant which represents a state of this node.
38 | final public var constant: Color {
39 | get {
warning: 'Color' doesn't exist at '/SwiftGodot/VisualShaderNodeColorFunc'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeColorFunc.swift:25:9-25:14
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// A ``Color`` function to be used within the visual shader graph.
26 | ///
27 | /// Accept a ``Color`` to the input port and transform it according to ``function``.
warning: 'Color' doesn't exist at '/SwiftGodot/VisualShaderNodeColorFunc'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeColorFunc.swift:27:16-27:21
25 | /// A ``Color`` function to be used within the visual shader graph.
26 | ///
27 + /// Accept a ``Color`` to the input port and transform it according to ``function``.
28 | open class VisualShaderNodeColorFunc: VisualShaderNode {
29 | private static var className = StringName("VisualShaderNodeColorFunc")
warning: 'Color' doesn't exist at '/SwiftGodot/VisualShaderNodeColorOp'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeColorOp.swift:25:9-25:14
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// A ``Color`` operator to be used within the visual shader graph.
26 | ///
27 | /// Applies ```operator``` to two color inputs.
warning: 'Color' doesn't exist at '/SwiftGodot/VisualShaderNodeColorParameter'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeColorParameter.swift:25:9-25:14
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// A ``Color`` parameter to be used within the visual shader graph.
26 | ///
27 | /// Translated to `uniform vec4` in the shader language.
warning: 'VisualShaderNode.PortType' doesn't exist at '/SwiftGodot/VisualShaderNodeCustom/_getInputPortType(port:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeCustom.swift:164:114-164:139
162 | }()
163 |
164 + /// Override this method to define the returned type of each input port of the associated custom node (see ``VisualShaderNode.PortType`` for possible types).
165 | ///
166 | /// Defining this method is **optional**, but recommended. If not overridden, input ports will return the ``VisualShaderNode/PortType/scalar`` type.
warning: 'VisualShaderNode.PortType' doesn't exist at '/SwiftGodot/VisualShaderNodeCustom/_getOutputPortType(port:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeCustom.swift:315:115-315:140
313 | }()
314 |
315 + /// Override this method to define the returned type of each output port of the associated custom node (see ``VisualShaderNode.PortType`` for possible types).
316 | ///
317 | /// Defining this method is **optional**, but recommended. If not overridden, output ports will return the ``VisualShaderNode/PortType/scalar`` type.
warning: 'Shader.Mode' doesn't exist at '/SwiftGodot/VisualShaderNodeCustom/_getCode(inputVars:outputVars:mode:type:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeCustom.swift:504:80-504:91
502 | /// The output ports can be assigned values in the shader code. For example, `return output_vars[0] + " = " + input_vars[0] + ";"`.
503 | ///
504 + /// You can customize the generated code based on the shader `mode` (see ``Shader.Mode``) and/or `type` (see ``VisualShader.GType``).
505 | ///
506 | /// Defining this method is **required**.
warning: 'VisualShader.GType' doesn't exist at '/SwiftGodot/VisualShaderNodeCustom/_getCode(inputVars:outputVars:mode:type:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeCustom.swift:504:116-504:134
502 | /// The output ports can be assigned values in the shader code. For example, `return output_vars[0] + " = " + input_vars[0] + ";"`.
503 | ///
504 + /// You can customize the generated code based on the shader `mode` (see ``Shader.Mode``) and/or `type` (see ``VisualShader.GType``).
505 | ///
506 | /// Defining this method is **required**.
warning: 'Shader.Mode' doesn't exist at '/SwiftGodot/VisualShaderNodeCustom/_getFuncCode(mode:type:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeCustom.swift:549:80-549:91
547 | /// If there are multiple custom nodes of different types which use this feature the order of each insertion is undefined.
548 | ///
549 + /// You can customize the generated code based on the shader `mode` (see ``Shader.Mode``) and/or `type` (see ``VisualShader.GType``).
550 | ///
551 | /// Defining this method is **optional**.
warning: 'VisualShader.GType' doesn't exist at '/SwiftGodot/VisualShaderNodeCustom/_getFuncCode(mode:type:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeCustom.swift:549:116-549:134
547 | /// If there are multiple custom nodes of different types which use this feature the order of each insertion is undefined.
548 | ///
549 + /// You can customize the generated code based on the shader `mode` (see ``Shader.Mode``) and/or `type` (see ``VisualShader.GType``).
550 | ///
551 | /// Defining this method is **optional**.
warning: 'Shader.Mode' doesn't exist at '/SwiftGodot/VisualShaderNodeCustom/_getGlobalCode(mode:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeCustom.swift:588:80-588:91
586 | /// Be careful with this functionality as it can cause name conflicts with other custom nodes, so be sure to give the defined entities unique names.
587 | ///
588 + /// You can customize the generated code based on the shader `mode` (see ``Shader.Mode``).
589 | ///
590 | /// Defining this method is **optional**.
warning: 'Shader.Mode' doesn't exist at '/SwiftGodot/VisualShaderNodeCustom/_isAvailable(mode:type:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeCustom.swift:643:115-643:126
641 | }()
642 |
643 + /// Override this method to prevent the node to be visible in the member dialog for the certain `mode` (see ``Shader.Mode``) and/or `type` (see ``VisualShader.GType``).
644 | ///
645 | /// Defining this method is **optional**. If not overridden, it's `true`.
warning: 'VisualShader.GType' doesn't exist at '/SwiftGodot/VisualShaderNodeCustom/_isAvailable(mode:type:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeCustom.swift:643:151-643:169
641 | }()
642 |
643 + /// Override this method to prevent the node to be visible in the member dialog for the certain `mode` (see ``Shader.Mode``) and/or `type` (see ``VisualShader.GType``).
644 | ///
645 | /// Defining this method is **optional**. If not overridden, it's `true`.
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeDeterminant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeDeterminant.swift:25:39-25:50
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Calculates the determinant of a ``Transform3D`` within the visual shader graph.
26 | ///
27 | /// Translates to `determinant(x)` in the shader language.
warning: 'String' doesn't exist at '/SwiftGodot/VisualShaderNodeGroupBase/setInputs(_:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeGroupBase.swift:43:43-43:49
41 | }()
42 |
43 + /// Defines all input ports using a ``String`` formatted as a colon-separated list: `id,type,name;` (see ``addInputPort(id:type:name:)``).
44 | public final func setInputs(_ inputs: String) {
45 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'String' doesn't exist at '/SwiftGodot/VisualShaderNodeGroupBase/getInputs()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeGroupBase.swift:71:21-71:27
69 | }()
70 |
71 + /// Returns a ``String`` description of the input ports as a colon-separated list using the format `id,type,name;` (see ``addInputPort(id:type:name:)``).
72 | public final func getInputs() -> String {
73 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'String' doesn't exist at '/SwiftGodot/VisualShaderNodeGroupBase/setOutputs(_:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeGroupBase.swift:90:44-90:50
88 | }()
89 |
90 + /// Defines all output ports using a ``String`` formatted as a colon-separated list: `id,type,name;` (see ``addOutputPort(id:type:name:)``).
91 | public final func setOutputs(_ outputs: String) {
92 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'String' doesn't exist at '/SwiftGodot/VisualShaderNodeGroupBase/getOutputs()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeGroupBase.swift:118:21-118:27
116 | }()
117 |
118 + /// Returns a ``String`` description of the output ports as a colon-separated list using the format `id,type,name;` (see ``addOutputPort(id:type:name:)``).
119 | public final func getOutputs() -> String {
120 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'VisualShaderNode.PortType' doesn't exist at '/SwiftGodot/VisualShaderNodeGroupBase/addInputPort(id:type:name:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeGroupBase.swift:166:61-166:86
164 | }()
165 |
166 + /// Adds an input port with the specified `type` (see ``VisualShaderNode.PortType``) and `name`.
167 | public final func addInputPort(id: Int32, type: Int32, name: String) {
168 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'VisualShaderNode.PortType' doesn't exist at '/SwiftGodot/VisualShaderNodeGroupBase/addOutputPort(id:type:name:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeGroupBase.swift:292:62-292:87
290 | }()
291 |
292 + /// Adds an output port with the specified `type` (see ``VisualShaderNode.PortType``) and `name`.
293 | public final func addOutputPort(id: Int32, type: Int32, name: String) {
294 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'VisualShaderNode.PortType' doesn't exist at '/SwiftGodot/VisualShaderNodeGroupBase/setInputPortType(id:type:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeGroupBase.swift:449:53-449:78
447 | }()
448 |
449 + /// Sets the specified input port's type (see ``VisualShaderNode.PortType``).
450 | public final func setInputPortType(id: Int32, type: Int32) {
451 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'VisualShaderNode.PortType' doesn't exist at '/SwiftGodot/VisualShaderNodeGroupBase/setOutputPortType(id:type:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeGroupBase.swift:510:54-510:79
508 | }()
509 |
510 + /// Sets the specified output port's type (see ``VisualShaderNode.PortType``).
511 | public final func setOutputPortType(id: Int32, type: Int32) {
512 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: '@GlobalScope.remap' doesn't exist at '/SwiftGodot/VisualShaderNodeRemap'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeRemap.swift:27:118-27:136
25 | /// A visual shader node for remap function.
26 | ///
27 + /// Remap will transform the input range into output range, e.g. you can change a `0..1` value to `-2..2` etc. See ``@GlobalScope.remap`` for more details.
28 | open class VisualShaderNodeRemap: VisualShaderNode {
29 | private static var className = StringName("VisualShaderNodeRemap")
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTextureParameter.swift:62:151-62:160
60 | /// The texture filter blends between the nearest 4 pixels. This makes the texture look smooth from up close, and grainy from a distance (due to mipmaps not being sampled).
61 | case linear = 2 // FILTER_LINEAR
62 + /// The texture filter reads from the nearest pixel and blends between the nearest 2 mipmaps (or uses the nearest mipmap if ``ProjectSettings/rendering/textures/defaultFilters/useNearestMipmapFilter`` is `true`). This makes the texture look pixelated from up close, and smooth from a distance.
63 | ///
64 | /// Use this for non-pixel art textures that may be viewed at a low scale (e.g. due to ``Camera2D`` zoom or sprite scaling), as mipmaps are important to smooth out pixels that are smaller than on-screen pixels.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTextureParameter.swift:67:151-67:160
65 | ///
66 | case nearestMipmap = 3 // FILTER_NEAREST_MIPMAP
67 + /// The texture filter blends between the nearest 4 pixels and between the nearest 2 mipmaps (or uses the nearest mipmap if ``ProjectSettings/rendering/textures/defaultFilters/useNearestMipmapFilter`` is `true`). This makes the texture look smooth from up close, and smooth from a distance.
68 | ///
69 | /// Use this for non-pixel art textures that may be viewed at a low scale (e.g. due to ``Camera2D`` zoom or sprite scaling), as mipmaps are important to smooth out pixels that are smaller than on-screen pixels.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTextureParameter.swift:72:139-72:148
70 | ///
71 | case linearMipmap = 4 // FILTER_LINEAR_MIPMAP
72 + /// The texture filter reads from the nearest pixel and blends between 2 mipmaps (or uses the nearest mipmap if ``ProjectSettings/rendering/textures/defaultFilters/useNearestMipmapFilter`` is `true`) based on the angle between the surface and the camera view. This makes the texture look pixelated from up close, and smooth from a distance. Anisotropic filtering improves texture quality on surfaces that are almost in line with the camera, but is slightly slower. The anisotropic filtering level can be changed by adjusting ``ProjectSettings/rendering/textures/defaultFilters/anisotropicFilteringLevel``.
73 | ///
74 | /// > Note: This texture filter is rarely useful in 2D projects. ``TextureFilter/nearestMipmap`` is usually more appropriate in this case.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTextureParameter.swift:72:552-72:561
70 | ///
71 | case linearMipmap = 4 // FILTER_LINEAR_MIPMAP
72 + /// The texture filter reads from the nearest pixel and blends between 2 mipmaps (or uses the nearest mipmap if ``ProjectSettings/rendering/textures/defaultFilters/useNearestMipmapFilter`` is `true`) based on the angle between the surface and the camera view. This makes the texture look pixelated from up close, and smooth from a distance. Anisotropic filtering improves texture quality on surfaces that are almost in line with the camera, but is slightly slower. The anisotropic filtering level can be changed by adjusting ``ProjectSettings/rendering/textures/defaultFilters/anisotropicFilteringLevel``.
73 | ///
74 | /// > Note: This texture filter is rarely useful in 2D projects. ``TextureFilter/nearestMipmap`` is usually more appropriate in this case.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTextureParameter.swift:77:146-77:155
75 | ///
76 | case nearestMipmapAnisotropic = 5 // FILTER_NEAREST_MIPMAP_ANISOTROPIC
77 + /// The texture filter blends between the nearest 4 pixels and blends between 2 mipmaps (or uses the nearest mipmap if ``ProjectSettings/rendering/textures/defaultFilters/useNearestMipmapFilter`` is `true`) based on the angle between the surface and the camera view. This makes the texture look smooth from up close, and smooth from a distance. Anisotropic filtering improves texture quality on surfaces that are almost in line with the camera, but is slightly slower. The anisotropic filtering level can be changed by adjusting ``ProjectSettings/rendering/textures/defaultFilters/anisotropicFilteringLevel``.
78 | ///
79 | /// > Note: This texture filter is rarely useful in 2D projects. ``TextureFilter/linearMipmap`` is usually more appropriate in this case.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTextureParameter.swift:77:556-77:565
75 | ///
76 | case nearestMipmapAnisotropic = 5 // FILTER_NEAREST_MIPMAP_ANISOTROPIC
77 + /// The texture filter blends between the nearest 4 pixels and blends between 2 mipmaps (or uses the nearest mipmap if ``ProjectSettings/rendering/textures/defaultFilters/useNearestMipmapFilter`` is `true`) based on the angle between the surface and the camera view. This makes the texture look smooth from up close, and smooth from a distance. Anisotropic filtering improves texture quality on surfaces that are almost in line with the camera, but is slightly slower. The anisotropic filtering level can be changed by adjusting ``ProjectSettings/rendering/textures/defaultFilters/anisotropicFilteringLevel``.
78 | ///
79 | /// > Note: This texture filter is rarely useful in 2D projects. ``TextureFilter/linearMipmap`` is usually more appropriate in this case.
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformCompose'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformCompose.swift:25:18-25:29
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Composes a ``Transform3D`` from four ``Vector3``s within the visual shader graph.
26 | ///
27 | /// Creates a 4×4 transform matrix using four vectors of type `vec3`. Each vector is one row in the matrix and the last column is a `vec4(0, 0, 0, 1)`.
warning: 'Vector3' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformCompose'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformCompose.swift:25:44-25:51
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Composes a ``Transform3D`` from four ``Vector3``s within the visual shader graph.
26 | ///
27 | /// Creates a 4×4 transform matrix using four vectors of type `vec3`. Each vector is one row in the matrix and the last column is a `vec4(0, 0, 0, 1)`.
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformConstant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformConstant.swift:25:9-25:20
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// A ``Transform3D`` constant for use within the visual shader graph.
26 | ///
27 | /// A constant ``Transform3D``, which can be used as an input node.
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformConstant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformConstant.swift:27:18-27:29
25 | /// A ``Transform3D`` constant for use within the visual shader graph.
26 | ///
27 + /// A constant ``Transform3D``, which can be used as an input node.
28 | open class VisualShaderNodeTransformConstant: VisualShaderNodeConstant {
29 | private static var className = StringName("VisualShaderNodeTransformConstant")
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformConstant/constant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformConstant.swift:34:13-34:24
32 | /* Properties */
33 |
34 + /// A ``Transform3D`` constant which represents the state of this node.
35 | final public var constant: Transform3D {
36 | get {
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformDecompose'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformDecompose.swift:25:20-25:31
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Decomposes a ``Transform3D`` into four ``Vector3``s within the visual shader graph.
26 | ///
27 | /// Takes a 4×4 transform matrix and decomposes it into four `vec3` values, one from each row of the matrix.
warning: 'Vector3' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformDecompose'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformDecompose.swift:25:46-25:53
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Decomposes a ``Transform3D`` into four ``Vector3``s within the visual shader graph.
26 | ///
27 | /// Takes a 4×4 transform matrix and decomposes it into four `vec3` values, one from each row of the matrix.
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformFunc'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformFunc.swift:25:18-25:29
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Computes a ``Transform3D`` function within the visual shader graph.
26 | ///
27 | /// Computes an inverse or transpose function on the provided ``Transform3D``.
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformFunc'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformFunc.swift:27:65-27:76
25 | /// Computes a ``Transform3D`` function within the visual shader graph.
26 | ///
27 + /// Computes an inverse or transpose function on the provided ``Transform3D``.
28 | open class VisualShaderNodeTransformFunc: VisualShaderNode {
29 | private static var className = StringName("VisualShaderNodeTransformFunc")
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformFunc/Function/inverse'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformFunc.swift:32:52-32:63
30 | override open class var godotClassName: StringName { className }
31 | public enum Function: Int64, CaseIterable {
32 + /// Perform the inverse operation on the ``Transform3D`` matrix.
33 | case inverse = 0 // FUNC_INVERSE
34 | /// Perform the transpose operation on the ``Transform3D`` matrix.
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformFunc/Function/transpose'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformFunc.swift:34:54-34:65
32 | /// Perform the inverse operation on the ``Transform3D`` matrix.
33 | case inverse = 0 // FUNC_INVERSE
34 + /// Perform the transpose operation on the ``Transform3D`` matrix.
35 | case transpose = 1 // FUNC_TRANSPOSE
36 | /// Represents the size of the ``VisualShaderNodeTransformFunc/Function`` enum.
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformOp'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformOp.swift:25:9-25:20
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// A ``Transform3D`` operator to be used within the visual shader graph.
26 | ///
27 | /// Applies ```operator``` to two transform (4×4 matrices) inputs.
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformParameter'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformParameter.swift:25:9-25:20
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// A ``Transform3D`` parameter for use within the visual shader graph.
26 | ///
27 | /// Translated to `uniform mat4` in the shader language.
warning: 'Transform3D' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformVecMult'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformVecMult.swift:25:20-25:31
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Multiplies a ``Transform3D`` and a ``Vector3`` within the visual shader graph.
26 | ///
27 | /// A multiplication operation on a transform (4×4 matrix) and a vector, with support for different multiplication operators.
warning: 'Vector3' doesn't exist at '/SwiftGodot/VisualShaderNodeTransformVecMult'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeTransformVecMult.swift:25:42-25:49
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Multiplies a ``Transform3D`` and a ``Vector3`` within the visual shader graph.
26 | ///
27 | /// A multiplication operation on a transform (4×4 matrix) and a vector, with support for different multiplication operators.
warning: 'Vector2' doesn't exist at '/SwiftGodot/VisualShaderNodeUVFunc'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeUVFunc.swift:27:35-27:42
25 | /// Contains functions to modify texture coordinates (`uv`) to be used within the visual shader graph.
26 | ///
27 + /// UV functions are similar to ``Vector2`` functions, but the input port of this node uses the shader's UV value by default.
28 | open class VisualShaderNodeUVFunc: VisualShaderNode {
29 | private static var className = StringName("VisualShaderNodeUVFunc")
warning: 'Vector2' doesn't exist at '/SwiftGodot/VisualShaderNodeVec2Constant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVec2Constant.swift:25:9-25:16
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// A ``Vector2`` constant to be used within the visual shader graph.
26 | ///
27 | /// A constant ``Vector2``, which can be used as an input node.
warning: 'Vector2' doesn't exist at '/SwiftGodot/VisualShaderNodeVec2Constant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVec2Constant.swift:27:18-27:25
25 | /// A ``Vector2`` constant to be used within the visual shader graph.
26 | ///
27 + /// A constant ``Vector2``, which can be used as an input node.
28 | open class VisualShaderNodeVec2Constant: VisualShaderNodeConstant {
29 | private static var className = StringName("VisualShaderNodeVec2Constant")
warning: 'Vector2' doesn't exist at '/SwiftGodot/VisualShaderNodeVec2Constant/constant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVec2Constant.swift:34:13-34:20
32 | /* Properties */
33 |
34 + /// A ``Vector2`` constant which represents the state of this node.
35 | final public var constant: Vector2 {
36 | get {
warning: 'Vector2' doesn't exist at '/SwiftGodot/VisualShaderNodeVec2Parameter'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVec2Parameter.swift:25:9-25:16
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// A ``Vector2`` parameter to be used within the visual shader graph.
26 | ///
27 | /// Translated to `uniform vec2` in the shader language.
warning: 'Vector3' doesn't exist at '/SwiftGodot/VisualShaderNodeVec3Constant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVec3Constant.swift:25:9-25:16
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// A ``Vector3`` constant to be used within the visual shader graph.
26 | ///
27 | /// A constant ``Vector3``, which can be used as an input node.
warning: 'Vector3' doesn't exist at '/SwiftGodot/VisualShaderNodeVec3Constant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVec3Constant.swift:27:18-27:25
25 | /// A ``Vector3`` constant to be used within the visual shader graph.
26 | ///
27 + /// A constant ``Vector3``, which can be used as an input node.
28 | open class VisualShaderNodeVec3Constant: VisualShaderNodeConstant {
29 | private static var className = StringName("VisualShaderNodeVec3Constant")
warning: 'Vector3' doesn't exist at '/SwiftGodot/VisualShaderNodeVec3Constant/constant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVec3Constant.swift:34:13-34:20
32 | /* Properties */
33 |
34 + /// A ``Vector3`` constant which represents the state of this node.
35 | final public var constant: Vector3 {
36 | get {
warning: 'Vector3' doesn't exist at '/SwiftGodot/VisualShaderNodeVec3Parameter'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVec3Parameter.swift:25:9-25:16
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// A ``Vector3`` parameter to be used within the visual shader graph.
26 | ///
27 | /// Translated to `uniform vec3` in the shader language.
warning: 'Quaternion' doesn't exist at '/SwiftGodot/VisualShaderNodeVec4Constant/constant'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVec4Constant.swift:34:41-34:51
32 | /* Properties */
33 |
34 + /// A 4D vector (represented as a ``Quaternion``) constant which represents the state of this node.
35 | final public var constant: Quaternion {
36 | get {
warning: 'Vector2' doesn't exist at '/SwiftGodot/VisualShaderNodeVectorCompose'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVectorCompose.swift:25:18-25:25
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Composes a ``Vector2``, ``Vector3`` or 4D vector (represented as a ``Quaternion``) from scalars within the visual shader graph.
26 | ///
27 | /// Creates a `vec2`, `vec3` or `vec4` using scalar values that can be provided from separate inputs.
warning: 'Vector3' doesn't exist at '/SwiftGodot/VisualShaderNodeVectorCompose'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVectorCompose.swift:25:31-25:38
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Composes a ``Vector2``, ``Vector3`` or 4D vector (represented as a ``Quaternion``) from scalars within the visual shader graph.
26 | ///
27 | /// Creates a `vec2`, `vec3` or `vec4` using scalar values that can be provided from separate inputs.
warning: 'Quaternion' doesn't exist at '/SwiftGodot/VisualShaderNodeVectorCompose'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVectorCompose.swift:25:74-25:84
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Composes a ``Vector2``, ``Vector3`` or 4D vector (represented as a ``Quaternion``) from scalars within the visual shader graph.
26 | ///
27 | /// Creates a `vec2`, `vec3` or `vec4` using scalar values that can be provided from separate inputs.
warning: 'Vector2' doesn't exist at '/SwiftGodot/VisualShaderNodeVectorDecompose'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVectorDecompose.swift:25:20-25:27
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Decomposes a ``Vector2``, ``Vector3`` or 4D vector (represented as a ``Quaternion``) into scalars within the visual shader graph.
26 | ///
27 | /// Takes a `vec2`, `vec3` or `vec4` and decomposes it into scalar values that can be used as separate outputs.
warning: 'Vector3' doesn't exist at '/SwiftGodot/VisualShaderNodeVectorDecompose'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVectorDecompose.swift:25:33-25:40
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Decomposes a ``Vector2``, ``Vector3`` or 4D vector (represented as a ``Quaternion``) into scalars within the visual shader graph.
26 | ///
27 | /// Takes a `vec2`, `vec3` or `vec4` and decomposes it into scalar values that can be used as separate outputs.
warning: 'Quaternion' doesn't exist at '/SwiftGodot/VisualShaderNodeVectorDecompose'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVectorDecompose.swift:25:76-25:86
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Decomposes a ``Vector2``, ``Vector3`` or 4D vector (represented as a ``Quaternion``) into scalars within the visual shader graph.
26 | ///
27 | /// Takes a `vec2`, `vec3` or `vec4` and decomposes it into scalar values that can be used as separate outputs.
warning: 'Vector3' doesn't exist at '/SwiftGodot/VisualShaderNodeVectorLen'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VisualShaderNodeVectorLen.swift:25:31-25:38
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Returns the length of a ``Vector3`` within the visual shader graph.
26 | ///
27 | /// Translated to `length(p0)` in the shader language.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VoxelGI.swift:33:219-33:228
31 | /// **Procedural generation:** ``VoxelGI`` can be baked in an exported project, which makes it suitable for procedurally generated or user-built levels as long as all the geometry is generated in advance. For games where geometry is generated at any time during gameplay, SDFGI is more suitable (see ``Environment/sdfgiEnabled``).
32 | ///
33 + /// **Performance:** ``VoxelGI`` is relatively demanding on the GPU and is not suited to low-end hardware such as integrated graphics (consider ``LightmapGI`` instead). To improve performance, adjust ``ProjectSettings/rendering/globalIllumination/voxelGi/quality`` and enable ``ProjectSettings/rendering/globalIllumination/gi/useHalfResolution`` in the Project Settings. To provide a fallback for low-end hardware, consider adding an option to disable ``VoxelGI`` in your project's options menus. A ``VoxelGI`` node can be disabled by hiding it.
34 | ///
35 | /// > Note: Meshes should have sufficiently thick walls to avoid light leaks (avoid one-sided walls). For interior levels, enclose your level geometry in a sufficiently large box and bridge the loops to close the mesh. To further prevent light leaks, you can also strategically place temporary ``MeshInstance3D`` nodes with their ``GeometryInstance3D/giMode`` set to ``GeometryInstance3D/GIMode/`static```. These temporary nodes can then be hidden after baking the ``VoxelGI`` node.
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VoxelGI.swift:33:295-33:304
31 | /// **Procedural generation:** ``VoxelGI`` can be baked in an exported project, which makes it suitable for procedurally generated or user-built levels as long as all the geometry is generated in advance. For games where geometry is generated at any time during gameplay, SDFGI is more suitable (see ``Environment/sdfgiEnabled``).
32 | ///
33 + /// **Performance:** ``VoxelGI`` is relatively demanding on the GPU and is not suited to low-end hardware such as integrated graphics (consider ``LightmapGI`` instead). To improve performance, adjust ``ProjectSettings/rendering/globalIllumination/voxelGi/quality`` and enable ``ProjectSettings/rendering/globalIllumination/gi/useHalfResolution`` in the Project Settings. To provide a fallback for low-end hardware, consider adding an option to disable ``VoxelGI`` in your project's options menus. A ``VoxelGI`` node can be disabled by hiding it.
34 | ///
35 | /// > Note: Meshes should have sufficiently thick walls to avoid light leaks (avoid one-sided walls). For interior levels, enclose your level geometry in a sufficiently large box and bridge the loops to close the mesh. To further prevent light leaks, you can also strategically place temporary ``MeshInstance3D`` nodes with their ``GeometryInstance3D/giMode`` set to ``GeometryInstance3D/GIMode/`static```. These temporary nodes can then be hidden after baking the ``VoxelGI`` node.
warning: '`static```. These temporary nodes can then be hidden after baking the ' doesn't exist at '/SwiftGodot/GeometryInstance3D/GIMode'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VoxelGI.swift:35:396-35:466
33 | /// **Performance:** ``VoxelGI`` is relatively demanding on the GPU and is not suited to low-end hardware such as integrated graphics (consider ``LightmapGI`` instead). To improve performance, adjust ``ProjectSettings/rendering/globalIllumination/voxelGi/quality`` and enable ``ProjectSettings/rendering/globalIllumination/gi/useHalfResolution`` in the Project Settings. To provide a fallback for low-end hardware, consider adding an option to disable ``VoxelGI`` in your project's options menus. A ``VoxelGI`` node can be disabled by hiding it.
34 | ///
35 + /// > Note: Meshes should have sufficiently thick walls to avoid light leaks (avoid one-sided walls). For interior levels, enclose your level geometry in a sufficiently large box and bridge the loops to close the mesh. To further prevent light leaks, you can also strategically place temporary ``MeshInstance3D`` nodes with their ``GeometryInstance3D/giMode`` set to ``GeometryInstance3D/GIMode/`static```. These temporary nodes can then be hidden after baking the ``VoxelGI`` node.
36 | ///
37 | open class VoxelGI: VisualInstance3D {
warning: '`static``` and ' doesn't exist at '/SwiftGodot/GeometryInstance3D/GIMode'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VoxelGI.swift:303:99-303:114
301 | }()
302 |
303 + /// Bakes the effect from all ``GeometryInstance3D``s marked with ``GeometryInstance3D/GIMode/`static``` and ``Light3D``s marked with either ``Light3D/BakeMode/`static``` or ``Light3D/BakeMode/dynamic``. If `createVisualDebug` is `true`, after baking the light, this will generate a ``MultiMesh`` that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the ``VoxelGI``'s data and debug any issues that may be occurring.
304 | ///
305 | /// > Note: ``bake(fromNode:createVisualDebug:)`` works from the editor and in exported projects. This makes it suitable for procedurally generated or user-built levels. Baking a ``VoxelGI`` node generally takes from 5 to 20 seconds in most scenes. Reducing ``subdiv`` can speed up baking.
warning: 's marked with either ' doesn't exist at '/SwiftGodot/VoxelGI/bake(fromNode:createVisualDebug:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VoxelGI.swift:303:125-303:146
301 | }()
302 |
303 + /// Bakes the effect from all ``GeometryInstance3D``s marked with ``GeometryInstance3D/GIMode/`static``` and ``Light3D``s marked with either ``Light3D/BakeMode/`static``` or ``Light3D/BakeMode/dynamic``. If `createVisualDebug` is `true`, after baking the light, this will generate a ``MultiMesh`` that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the ``VoxelGI``'s data and debug any issues that may be occurring.
304 | ///
305 | /// > Note: ``bake(fromNode:createVisualDebug:)`` works from the editor and in exported projects. This makes it suitable for procedurally generated or user-built levels. Baking a ``VoxelGI`` node generally takes from 5 to 20 seconds in most scenes. Reducing ``subdiv`` can speed up baking.
warning: 'AABB' doesn't exist at '/SwiftGodot/VoxelGIData/getBounds()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VoxelGIData.swift:178:60-178:64
176 | }()
177 |
178 + /// Returns the bounds of the baked voxel data as an ``AABB``, which should match ``VoxelGI/size`` after being baked (which only contains the size as a ``Vector3``).
179 | ///
180 | /// > Note: If the size was modified without baking the VoxelGI data, then the value of ``getBounds()`` and ``VoxelGI/size`` will not match.
warning: 'Vector3' doesn't exist at '/SwiftGodot/VoxelGIData/getBounds()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/VoxelGIData.swift:178:159-178:166
176 | }()
177 |
178 + /// Returns the bounds of the baked voxel data as an ``AABB``, which should match ``VoxelGI/size`` after being baked (which only contains the size as a ``Vector3``).
179 | ///
180 | /// > Note: If the size was modified without baking the VoxelGI data, then the value of ``getBounds()`` and ``VoxelGI/size`` will not match.
warning: 'Object' doesn't exist at '/SwiftGodot/WeakRef'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WeakRef.swift:25:16-25:22
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Holds an ``Object``. If the object is ``RefCounted``, it doesn't update the reference count.
26 | ///
27 | /// A weakref can hold a ``RefCounted`` without contributing to the reference counter. A weakref can be created from an ``Object`` using ``@GlobalScope.weakref``. If this object is not a reference, weakref still works, however, it does not have any effect on the object. Weakrefs are useful in cases where multiple classes have variables that refer to each other. Without weakrefs, using these classes could lead to memory leaks, since both references keep each other from being released. Making part of the variables a weakref can prevent this cyclic dependency, and allows the references to be released.
warning: 'RefCounted' doesn't exist at '/SwiftGodot/WeakRef'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WeakRef.swift:25:45-25:55
23 | @_spi(SwiftGodotRuntimePrivate) import SwiftGodotRuntime
24 |
25 + /// Holds an ``Object``. If the object is ``RefCounted``, it doesn't update the reference count.
26 | ///
27 | /// A weakref can hold a ``RefCounted`` without contributing to the reference counter. A weakref can be created from an ``Object`` using ``@GlobalScope.weakref``. If this object is not a reference, weakref still works, however, it does not have any effect on the object. Weakrefs are useful in cases where multiple classes have variables that refer to each other. Without weakrefs, using these classes could lead to memory leaks, since both references keep each other from being released. Making part of the variables a weakref can prevent this cyclic dependency, and allows the references to be released.
warning: 'RefCounted' doesn't exist at '/SwiftGodot/WeakRef'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WeakRef.swift:27:28-27:38
25 | /// Holds an ``Object``. If the object is ``RefCounted``, it doesn't update the reference count.
26 | ///
27 + /// A weakref can hold a ``RefCounted`` without contributing to the reference counter. A weakref can be created from an ``Object`` using ``@GlobalScope.weakref``. If this object is not a reference, weakref still works, however, it does not have any effect on the object. Weakrefs are useful in cases where multiple classes have variables that refer to each other. Without weakrefs, using these classes could lead to memory leaks, since both references keep each other from being released. Making part of the variables a weakref can prevent this cyclic dependency, and allows the references to be released.
28 | open class WeakRef: RefCounted {
29 | private static var className = StringName("WeakRef")
warning: 'Object' doesn't exist at '/SwiftGodot/WeakRef'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WeakRef.swift:27:123-27:129
25 | /// Holds an ``Object``. If the object is ``RefCounted``, it doesn't update the reference count.
26 | ///
27 + /// A weakref can hold a ``RefCounted`` without contributing to the reference counter. A weakref can be created from an ``Object`` using ``@GlobalScope.weakref``. If this object is not a reference, weakref still works, however, it does not have any effect on the object. Weakrefs are useful in cases where multiple classes have variables that refer to each other. Without weakrefs, using these classes could lead to memory leaks, since both references keep each other from being released. Making part of the variables a weakref can prevent this cyclic dependency, and allows the references to be released.
28 | open class WeakRef: RefCounted {
29 | private static var className = StringName("WeakRef")
warning: '@GlobalScope.weakref' doesn't exist at '/SwiftGodot/WeakRef'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WeakRef.swift:27:140-27:160
25 | /// Holds an ``Object``. If the object is ``RefCounted``, it doesn't update the reference count.
26 | ///
27 + /// A weakref can hold a ``RefCounted`` without contributing to the reference counter. A weakref can be created from an ``Object`` using ``@GlobalScope.weakref``. If this object is not a reference, weakref still works, however, it does not have any effect on the object. Weakrefs are useful in cases where multiple classes have variables that refer to each other. Without weakrefs, using these classes could lead to memory leaks, since both references keep each other from being released. Making part of the variables a weakref can prevent this cyclic dependency, and allows the references to be released.
28 | open class WeakRef: RefCounted {
29 | private static var className = StringName("WeakRef")
warning: 'Object' doesn't exist at '/SwiftGodot/WeakRef/getRef()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WeakRef.swift:43:23-43:29
41 | }()
42 |
43 + /// Returns the ``Object`` this weakref is referring to. Returns `null` if that object no longer exists.
44 | public final func getRef() -> Variant? {
45 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'MultiplayerPeer.TransferMode' doesn't exist at '/SwiftGodot/WebRTCMultiplayerPeer/createServer(channelsConfig:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WebRTCMultiplayerPeer.swift:52:66-52:94
50 | /// Initialize the multiplayer peer as a server (with unique ID of `1`). This mode enables ``MultiplayerPeer/isServerRelaySupported()``, allowing the upper ``MultiplayerAPI`` layer to perform peer exchange and packet relaying.
51 | ///
52 + /// You can optionally specify a `channelsConfig` array of ``MultiplayerPeer.TransferMode`` which will be used to create extra channels (WebRTC only supports one transfer mode per channel).
53 | ///
54 | public final func createServer(channelsConfig: VariantArray = VariantArray ()) -> GodotError {
warning: 'MultiplayerPeer.TransferMode' doesn't exist at '/SwiftGodot/WebRTCMultiplayerPeer/createClient(peerId:channelsConfig:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WebRTCMultiplayerPeer.swift:83:66-83:94
81 | /// Initialize the multiplayer peer as a client with the given `peerId` (must be between 2 and 2147483647). In this mode, you should only call ``addPeer(_:peerId:unreliableLifetime:)`` once and with `peerId` of `1`. This mode enables ``MultiplayerPeer/isServerRelaySupported()``, allowing the upper ``MultiplayerAPI`` layer to perform peer exchange and packet relaying.
82 | ///
83 + /// You can optionally specify a `channelsConfig` array of ``MultiplayerPeer.TransferMode`` which will be used to create extra channels (WebRTC only supports one transfer mode per channel).
84 | ///
85 | public final func createClient(peerId: Int32, channelsConfig: VariantArray = VariantArray ()) -> GodotError {
warning: 'GodotError' doesn't exist at '/SwiftGodot/WebRTCPeerConnection/createOffer()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WebRTCPeerConnection.swift:198:37-198:47
196 | /// Creates a new SDP offer to start a WebRTC connection with a remote peer. At least one ``WebRTCDataChannel`` must have been created before calling this method.
197 | ///
198 + /// If this functions returns ``GodotError/ok``, [signal session_description_created] will be called when the session is ready to be sent.
199 | ///
200 | public final func createOffer() -> GodotError {
warning: 'GodotError' doesn't exist at '/SwiftGodot/WebRTCPeerConnection/setLocalDescription(type:sdp:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WebRTCPeerConnection.swift:220:110-220:120
218 | /// Sets the SDP description of the local peer. This should be called in response to [signal session_description_created].
219 | ///
220 + /// After calling this function the peer will start emitting [signal ice_candidate_created] (unless an ``GodotError`` different from ``GodotError/ok`` is returned).
221 | ///
222 | public final func setLocalDescription(type: String, sdp: String) -> GodotError {
warning: 'GodotError' doesn't exist at '/SwiftGodot/WebRTCPeerConnection/setLocalDescription(type:sdp:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WebRTCPeerConnection.swift:220:140-220:150
218 | /// Sets the SDP description of the local peer. This should be called in response to [signal session_description_created].
219 | ///
220 + /// After calling this function the peer will start emitting [signal ice_candidate_created] (unless an ``GodotError`` different from ``GodotError/ok`` is returned).
221 | ///
222 | public final func setLocalDescription(type: String, sdp: String) -> GodotError {
warning: 'GodotError' doesn't exist at '/SwiftGodot/WebSocketPeer/connectToUrl(_:tlsClientOptions:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WebSocketPeer.swift:151:64-151:74
149 | /// Connects to the given URL. TLS certificates will be verified against the hostname when connecting using the `wss://` protocol. You can pass the optional `tlsClientOptions` parameter to customize the trusted certification authorities, or disable the common name verification. See ``TLSOptions/client(trustedChain:commonNameOverride:)`` and ``TLSOptions/clientUnsafe(trustedChain:)``.
150 | ///
151 + /// > Note: This method is non-blocking, and will return ``GodotError/ok`` before the connection is established as long as the provided parameters are valid and the peer is not in an invalid state (e.g. already connected). Regularly call ``poll()`` (e.g. during ``Node`` process) and check the result of ``getReadyState()`` to know whether the connection succeeds or fails.
152 | ///
153 | /// > Note: To avoid mixed content warnings or errors in Web, you may have to use a `url` that starts with `wss://` (secure) instead of `ws://`. When doing so, make sure to use the fully qualified domain name that matches the one defined in the server's TLS certificate. Do not connect directly via the IP address for `wss://` connections, as it won't match with the TLS certificate.
warning: 'String' doesn't exist at '/SwiftGodot/WebSocketPeer/send(message:writeMode:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WebSocketPeer.swift:217:83-217:89
215 | }()
216 |
217 + /// Sends the given `message` using the desired `writeMode`. When sending a ``String``, prefer using ``sendText(message:)``.
218 | public final func send(message: PackedByteArray, writeMode: WebSocketPeer.WriteMode = .binary) -> GodotError {
219 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'rendering' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Window.swift:65:101-65:110
63 | /// **On Android:** This enables immersive mode.
64 | ///
65 + /// **On Windows:** Multi-window full-screen mode has a 1px border of the ``ProjectSettings/rendering/environment/defaults/defaultClearColor`` color.
66 | ///
67 | /// **On macOS:** A new desktop is used to display the running project.
warning: 'display' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Window.swift:98:73-98:80
96 | /// The window background can be transparent. Set with ``transparent``.
97 | ///
98 + /// > Note: This flag has no effect if either ``ProjectSettings/display/window/perPixelTransparency/allowed``, or the window's ``Viewport/transparentBg`` is set to `false`.
99 | ///
100 | case transparent = 3 // FLAG_TRANSPARENT
warning: 'display' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Window.swift:259:30-259:37
257 | /// The window's position in pixels.
258 | ///
259 + /// If ``ProjectSettings/display/window/subwindows/embedSubwindows`` is `false`, the position is in absolute screen coordinates. This typically applies to editor plugins. If the setting is `true`, the window's position is in the coordinates of its parent ``Viewport``.
260 | ///
261 | /// > Note: This property only works if ``initialPosition`` is set to ``WindowInitialPosition/absolute``.
warning: 'display' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Window.swift:428:66-428:73
426 | /// > Note: Transparency support is implemented on Linux, macOS and Windows, but availability might vary depending on GPU driver, display manager, and compositor capabilities.
427 | ///
428 + /// > Note: This property has no effect if ``ProjectSettings/display/window/perPixelTransparency/allowed`` is set to `false`.
429 | ///
430 | final public var transparent: Bool {
warning: 'Color' doesn't exist at '/SwiftGodot/Window/addThemeColorOverride(name:color:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Window.swift:2526:48-2526:53
2524 | }()
2525 |
2526 + /// Creates a local override for a theme ``Color`` with the specified `name`. Local overrides always take precedence when fetching theme items for the control. An override can be removed with ``removeThemeColorOverride(name:)``.
2527 | ///
2528 | /// See also ``getThemeColor(name:themeType:)`` and ``Control/addThemeColorOverride(name:color:)`` for more details.
warning: 'Color' doesn't exist at '/SwiftGodot/Window/removeThemeColorOverride(name:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Window.swift:2700:48-2700:53
2698 | }()
2699 |
2700 + /// Removes a local override for a theme ``Color`` with the specified `name` previously added by ``addThemeColorOverride(name:color:)`` or via the Inspector dock.
2701 | public final func removeThemeColorOverride(name: StringName) {
2702 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'Color' doesn't exist at '/SwiftGodot/Window/getThemeColor(name:themeType:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Window.swift:2890:21-2890:26
2888 | }()
2889 |
2890 + /// Returns a ``Color`` from the first matching ``Theme`` in the tree if that ``Theme`` has a color item with the specified `name` and `themeType`.
2891 | ///
2892 | /// See ``Control/getThemeColor(name:themeType:)`` for more details.
warning: 'Color' doesn't exist at '/SwiftGodot/Window/hasThemeColorOverride(name:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Window.swift:3082:67-3082:72
3080 | }()
3081 |
3082 + /// Returns `true` if there is a local override for a theme ``Color`` with the specified `name` in this ``Control`` node.
3083 | ///
3084 | /// See ``addThemeColorOverride(name:color:)``.
warning: 'display' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Window.swift:3527:30-3527:37
3525 | /// Shows the ``Window`` and makes it transient (see ``transient``). If `rect` is provided, it will be set as the ``Window``'s size. Fails if called on the main window.
3526 | ///
3527 + /// If ``ProjectSettings/display/window/subwindows/embedSubwindows`` is `true` (single-window mode), `rect`'s coordinates are global and relative to the main window's top-left corner (excluding window decorations). If `rect`'s position coordinates are negative, the window will be located outside the main window and may not be visible as a result.
3528 | ///
3529 | /// If ``ProjectSettings/display/window/subwindows/embedSubwindows`` is `false` (multi-window mode), `rect`'s coordinates are global and relative to the top-left corner of the leftmost screen. If `rect`'s position coordinates are negative, the window will be placed at the top-left corner of the screen.
warning: 'display' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/Window.swift:3529:30-3529:37
3527 | /// If ``ProjectSettings/display/window/subwindows/embedSubwindows`` is `true` (single-window mode), `rect`'s coordinates are global and relative to the main window's top-left corner (excluding window decorations). If `rect`'s position coordinates are negative, the window will be located outside the main window and may not be visible as a result.
3528 | ///
3529 + /// If ``ProjectSettings/display/window/subwindows/embedSubwindows`` is `false` (multi-window mode), `rect`'s coordinates are global and relative to the top-left corner of the leftmost screen. If `rect`'s position coordinates are negative, the window will be placed at the top-left corner of the screen.
3530 | ///
3531 | /// > Note: `rect` must be in global coordinates if specified.
warning: 'Callable' doesn't exist at '/SwiftGodot/WorkerThreadPool'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorkerThreadPool.swift:29:22-29:30
27 | /// The ``WorkerThreadPool`` singleton allocates a set of ``Thread``s (called worker threads) on project startup and provides methods for offloading tasks to them. This can be used for simple multithreading without having to create ``Thread``s.
28 | ///
29 + /// Tasks hold the ``Callable`` to be run by the threads. ``WorkerThreadPool`` can be used to create regular tasks, which will be taken by one worker thread, or group tasks, which can be distributed between multiple worker threads. Group tasks execute the ``Callable`` multiple times, which makes them useful for iterating over a lot of elements, such as the enemies in an arena.
30 | ///
31 | /// Here's a sample on how to offload an expensive function to worker threads:
warning: 'Callable' doesn't exist at '/SwiftGodot/WorkerThreadPool'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorkerThreadPool.swift:29:259-29:267
27 | /// The ``WorkerThreadPool`` singleton allocates a set of ``Thread``s (called worker threads) on project startup and provides methods for offloading tasks to them. This can be used for simple multithreading without having to create ``Thread``s.
28 | ///
29 + /// Tasks hold the ``Callable`` to be run by the threads. ``WorkerThreadPool`` can be used to create regular tasks, which will be taken by one worker thread, or group tasks, which can be distributed between multiple worker threads. Group tasks execute the ``Callable`` multiple times, which makes them useful for iterating over a lot of elements, such as the enemies in an arena.
30 | ///
31 | /// Here's a sample on how to offload an expensive function to worker threads:
warning: '@GlobalScope.OK' doesn't exist at '/SwiftGodot/WorkerThreadPool/waitForTaskCompletion(taskId:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorkerThreadPool.swift:131:19-131:34
129 | /// Pauses the thread that calls this method until the task with the given ID is completed.
130 | ///
131 + /// Returns ``@GlobalScope.OK`` if the task could be successfully awaited.
132 | ///
133 | /// Returns ``@GlobalScope.ERR_INVALID_PARAMETER`` if a task with the passed ID does not exist (maybe because it was already awaited and disposed of).
warning: '@GlobalScope.ERR_INVALID_PARAMETER' doesn't exist at '/SwiftGodot/WorkerThreadPool/waitForTaskCompletion(taskId:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorkerThreadPool.swift:133:19-133:53
131 | /// Returns ``@GlobalScope.OK`` if the task could be successfully awaited.
132 | ///
133 + /// Returns ``@GlobalScope.ERR_INVALID_PARAMETER`` if a task with the passed ID does not exist (maybe because it was already awaited and disposed of).
134 | ///
135 | /// Returns ``@GlobalScope.ERR_BUSY`` if the call is made from another running task and, due to task scheduling, there's potential for deadlocking (e.g., the task to await may be at a lower level in the call stack and therefore can't progress). This is an advanced situation that should only matter when some tasks depend on others (in the current implementation, the tricky case is a task trying to wait on an older one).
warning: '@GlobalScope.ERR_BUSY' doesn't exist at '/SwiftGodot/WorkerThreadPool/waitForTaskCompletion(taskId:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorkerThreadPool.swift:135:19-135:40
133 | /// Returns ``@GlobalScope.ERR_INVALID_PARAMETER`` if a task with the passed ID does not exist (maybe because it was already awaited and disposed of).
134 | ///
135 + /// Returns ``@GlobalScope.ERR_BUSY`` if the call is made from another running task and, due to task scheduling, there's potential for deadlocking (e.g., the task to await may be at a lower level in the call stack and therefore can't progress). This is an advanced situation that should only matter when some tasks depend on others (in the current implementation, the tricky case is a task trying to wait on an older one).
136 | ///
137 | public static func waitForTaskCompletion(taskId: Int) -> GodotError {
warning: 'Callable' doesn't exist at '/SwiftGodot/WorkerThreadPool/addGroupTask(action:elements:tasksNeeded:highPriority:description:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorkerThreadPool.swift:163:83-163:91
161 | }()
162 |
163 + /// Adds `action` as a group task to be executed by the worker threads. The ``Callable`` will be called a number of times based on `elements`, with the first thread calling it with the value `0` as a parameter, and each consecutive execution incrementing this value by 1 until it reaches `element - 1`.
164 | ///
165 | /// The number of threads the task is distributed to is defined by `tasksNeeded`, where the default value `-1` means it is distributed to all worker threads. `highPriority` determines if the task has a high priority or a low priority (default). You can optionally provide a `description` to help with debugging.
warning: 'Callable' doesn't exist at '/SwiftGodot/WorkerThreadPool/getGroupProcessedElementCount(groupId:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorkerThreadPool.swift:240:38-240:46
238 | }()
239 |
240 + /// Returns how many times the ``Callable`` of the group task with the given ID has already been executed by the worker threads.
241 | ///
242 | /// > Note: If a thread has started executing the ``Callable`` but is yet to finish, it won't be counted.
warning: 'Callable' doesn't exist at '/SwiftGodot/WorkerThreadPool/getGroupProcessedElementCount(groupId:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorkerThreadPool.swift:242:57-242:65
240 | /// Returns how many times the ``Callable`` of the group task with the given ID has already been executed by the worker threads.
241 | ///
242 + /// > Note: If a thread has started executing the ``Callable`` but is yet to finish, it won't be counted.
243 | ///
244 | public static func getGroupProcessedElementCount(groupId: Int) -> UInt32 {
warning: 'RID' doesn't exist at '/SwiftGodot/World2D/canvas'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/World2D.swift:34:15-34:18
32 | /* Properties */
33 |
34 + /// The ``RID`` of this world's canvas resource. Used by the ``RenderingServer`` for 2D drawing.
35 | final public var canvas: RID {
36 | get {
warning: 'RID' doesn't exist at '/SwiftGodot/World2D/space'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/World2D.swift:42:15-42:18
40 | }
41 |
42 + /// The ``RID`` of this world's physics space resource. Used by the ``PhysicsServer2D`` for 2D physics, treating it as both a space and an area.
43 | final public var space: RID {
44 | get {
warning: 'RID' doesn't exist at '/SwiftGodot/World2D/navigationMap'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/World2D.swift:50:15-50:18
48 | }
49 |
50 + /// The ``RID`` of this world's navigation map. Used by the ``NavigationServer2D``.
51 | final public var navigationMap: RID {
52 | get {
warning: 'RID' doesn't exist at '/SwiftGodot/World3D/navigationMap'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/World3D.swift:78:15-78:18
76 | }
77 |
78 + /// The ``RID`` of this world's navigation map. Used by the ``NavigationServer3D``.
79 | final public var navigationMap: RID {
80 | get {
warning: 'Vector2' doesn't exist at '/SwiftGodot/WorldBoundaryShape2D/normal'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorldBoundaryShape2D.swift:34:152-34:159
32 | /* Properties */
33 |
34 + /// The line's normal, typically a unit vector. Its direction indicates the non-colliding half-plane. Can be of any length but zero. Defaults to ``Vector2/up``.
35 | final public var normal: Vector2 {
36 | get {
warning: 'physics' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorldBoundaryShape3D.swift:29:107-29:114
27 | /// A 3D world boundary shape, intended for use in physics. ``WorldBoundaryShape3D`` works like an infinite plane that forces all physics bodies to stay above it. The ``plane``'s normal determines which direction is considered as "above" and in the editor, the line over the plane represents this direction. It can for example be used for endless flat floors.
28 | ///
29 + /// > Note: When the physics engine is set to **Jolt Physics** in the project settings (``ProjectSettings/physics/3d/physicsEngine``), ``WorldBoundaryShape3D`` has a finite size (centered at the shape's origin). It can be adjusted by changing ``ProjectSettings/physics/joltPhysics3d/limits/worldBoundaryShapeSize``.
30 | ///
31 | open class WorldBoundaryShape3D: Shape3D {
warning: 'physics' doesn't exist at '/SwiftGodot/ProjectSettings'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorldBoundaryShape3D.swift:29:262-29:269
27 | /// A 3D world boundary shape, intended for use in physics. ``WorldBoundaryShape3D`` works like an infinite plane that forces all physics bodies to stay above it. The ``plane``'s normal determines which direction is considered as "above" and in the editor, the line over the plane represents this direction. It can for example be used for endless flat floors.
28 | ///
29 + /// > Note: When the physics engine is set to **Jolt Physics** in the project settings (``ProjectSettings/physics/3d/physicsEngine``), ``WorldBoundaryShape3D`` has a finite size (centered at the shape's origin). It can be adjusted by changing ``ProjectSettings/physics/joltPhysics3d/limits/worldBoundaryShapeSize``.
30 | ///
31 | open class WorldBoundaryShape3D: Shape3D {
warning: 'Plane' doesn't exist at '/SwiftGodot/WorldBoundaryShape3D/plane'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/WorldBoundaryShape3D.swift:37:15-37:20
35 | /* Properties */
36 |
37 + /// The ``Plane`` used by the ``WorldBoundaryShape3D`` for collision.
38 | final public var plane: Plane {
39 | get {
warning: 'XRBodyTracker.JointFlags' doesn't exist at '/SwiftGodot/XRBodyTracker/getJointFlags(joint:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRBodyTracker.swift:403:95-403:119
401 | }()
402 |
403 + /// Returns flags about the validity of the tracking data for the given body joint (see ``XRBodyTracker.JointFlags``).
404 | public final func getJointFlags(joint: XRBodyTracker.Joint) -> XRBodyTracker.JointFlags {
405 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'Variant' doesn't exist at '/SwiftGodot/XRController3D/getInput(name:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRController3D.swift:87:21-87:28
85 | }()
86 |
87 + /// Returns a ``Variant`` for the input with the given `name`. This works for any input type, the variant will be typed according to the actions configuration.
88 | public final func getInput(name: StringName) -> Variant? {
89 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'Vector2' doesn't exist at '/SwiftGodot/XRController3D/getVector2(name:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRController3D.swift:143:21-143:28
141 | }()
142 |
143 + /// Returns a ``Vector2`` for the input with the given `name`. This is used for thumbsticks and thumbpads found on many controllers.
144 | public final func getVector2(name: StringName) -> Vector2 {
145 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'XRPositionalTracker.TrackerHand' doesn't exist at '/SwiftGodot/XRController3D/getTrackerHand()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRController3D.swift:171:67-171:98
169 | }()
170 |
171 + /// Returns the hand holding this controller, if known. See ``XRPositionalTracker.TrackerHand``.
172 | public final func getTrackerHand() -> XRPositionalTracker.TrackerHand {
173 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'NodePath' doesn't exist at '/SwiftGodot/XRFaceModifier3D/target'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRFaceModifier3D.swift:51:15-51:23
49 | }
50 |
51 + /// The ``NodePath`` of the face ``MeshInstance3D``.
52 | final public var target: NodePath {
53 | get {
warning: 'XRHandTracker.HandJointFlags' doesn't exist at '/SwiftGodot/XRHandTracker/getHandJointFlags(joint:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRHandTracker.swift:298:95-298:123
296 | }()
297 |
298 + /// Returns flags about the validity of the tracking data for the given hand joint (see ``XRHandTracker.HandJointFlags``).
299 | public final func getHandJointFlags(joint: XRHandTracker.HandJoint) -> XRHandTracker.HandJointFlags {
300 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'VariantDictionary' doesn't exist at '/SwiftGodot/XRInterface/getSystemInfo()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRInterface.swift:303:21-303:38
301 | }()
302 |
303 + /// Returns a ``VariantDictionary`` with extra system info. Interfaces are expected to return `XRRuntimeName` and `XRRuntimeVersion` providing info about the used XR runtime. Additional entries may be provided specific to an interface.
304 | ///
305 | /// > Note:This information may only be available after ``initialize()`` was successfully called.
warning: 'XRInterface.EnvironmentBlendMode' doesn't exist at '/SwiftGodot/XRInterface/getSupportedEnvironmentBlendModes()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRInterface.swift:752:74-752:106
750 | }()
751 |
752 + /// Returns the an array of supported environment blend modes, see ``XRInterface.EnvironmentBlendMode``.
753 | public final func getSupportedEnvironmentBlendModes() -> VariantArray {
754 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'VariantDictionary' doesn't exist at '/SwiftGodot/XRInterfaceExtension/_getSystemInfo()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRInterfaceExtension.swift:142:21-142:38
140 | }()
141 |
142 + /// Returns a ``VariantDictionary`` with system information related to this interface.
143 | @_documentation(visibility: public)
144 | open func _getSystemInfo() -> VariantDictionary {
warning: 'PackedVector3Array' doesn't exist at '/SwiftGodot/XRInterfaceExtension/_getPlayArea()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRInterfaceExtension.swift:240:21-240:39
238 | }()
239 |
240 + /// Returns a ``PackedVector3Array`` that represents the play areas boundaries (if applicable).
241 | @_documentation(visibility: public)
242 | open func _getPlayArea() -> PackedVector3Array {
warning: 'Transform3D' doesn't exist at '/SwiftGodot/XRInterfaceExtension/_getCameraTransform()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRInterfaceExtension.swift:300:23-300:34
298 | }()
299 |
300 + /// Returns the ``Transform3D`` that positions the ``XRCamera3D`` in the world.
301 | @_documentation(visibility: public)
302 | open func _getCameraTransform() -> Transform3D {
warning: 'Transform3D' doesn't exist at '/SwiftGodot/XRInterfaceExtension/_getTransformForView(_:camTransform:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRInterfaceExtension.swift:320:21-320:32
318 | }()
319 |
320 + /// Returns a ``Transform3D`` for a given view.
321 | @_documentation(visibility: public)
322 | open func _getTransformForView(_ view: UInt32, camTransform: Transform3D) -> Transform3D {
warning: 'PackedFloat64Array' doesn't exist at '/SwiftGodot/XRInterfaceExtension/_getProjectionForView(_:aspect:zNear:zFar:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRInterfaceExtension.swift:352:65-352:83
350 | }()
351 |
352 + /// Returns the projection matrix for the given view as a ``PackedFloat64Array``.
353 | @_documentation(visibility: public)
354 | open func _getProjectionForView(_ view: UInt32, aspect: Double, zNear: Double, zFar: Double) -> PackedFloat64Array {
warning: 'PackedStringArray' doesn't exist at '/SwiftGodot/XRInterfaceExtension/_getSuggestedTrackerNames()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRInterfaceExtension.swift:527:21-527:38
525 | }()
526 |
527 + /// Returns a ``PackedStringArray`` with tracker names configured by this interface. Note that user configuration can override this list.
528 | @_documentation(visibility: public)
529 | open func _getSuggestedTrackerNames() -> PackedStringArray {
warning: 'PackedStringArray' doesn't exist at '/SwiftGodot/XRInterfaceExtension/_getSuggestedPoseNames(trackerName:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRInterfaceExtension.swift:547:21-547:38
545 | }()
546 |
547 + /// Returns a ``PackedStringArray`` with pose names configured by this interface. Note that user configuration can override this list.
548 | @_documentation(visibility: public)
549 | open func _getSuggestedPoseNames(trackerName: StringName) -> PackedStringArray {
warning: 'XRInterface.TrackingStatus' doesn't exist at '/SwiftGodot/XRInterfaceExtension/_getTrackingStatus()'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRInterfaceExtension.swift:576:21-576:47
574 | }()
575 |
576 + /// Returns a ``XRInterface.TrackingStatus`` specifying the current status of our tracking.
577 | @_documentation(visibility: public)
578 | open func _getTrackingStatus() -> XRInterface.TrackingStatus {
warning: 'RID' doesn't exist at '/SwiftGodot/XRInterfaceExtension/getRenderTargetTexture(renderTarget:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRInterfaceExtension.swift:882:27-882:30
880 | }()
881 |
882 + /// Returns a valid ``RID`` for a texture to which we should render the current frame if supported by the interface.
883 | public final func getRenderTargetTexture(renderTarget: RID) -> RID {
884 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'Vector2' doesn't exist at '/SwiftGodot/XRPositionalTracker/getInput(name:)'
--> ../../../.build/plugins/outputs/spi-builder-workspace/SwiftGodot/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodot/generated/XRPositionalTracker.swift:312:80-312:87
310 | }()
311 |
312 + /// Returns an input for this tracker. It can return a boolean, float or ``Vector2`` value depending on whether the input is a button, trigger or thumbstick/thumbpad.
313 | public final func getInput(name: StringName) -> Variant? {
314 | if handle == nil { Wrapped.attemptToUseObjectFreedByGodot() }
warning: 'RID' doesn't exist at '/SwiftGodot/PhysicsDirectSpaceState2D/IntersectRayResult/rid'
--> ../Extensions/PhysicsDirectSpaceState2D+IntersectRayResult.swift:34:45-34:48
32 | /// The colliding object's ID.
33 | public let colliderId: Int
34 + /// The The intersecting object's ``RID``.
35 | public let rid: RID
36 | /// The shape index of the colliding shape.
warning: 'RID' doesn't exist at '/SwiftGodot/PhysicsDirectSpaceState3D/IntersectRayResult/rid'
--> ../Extensions/PhysicsDirectSpaceState3D+IntersectRayResult.swift:34:45-34:48
32 | /// The colliding object's ID.
33 | public let colliderId: Int
34 + /// The The intersecting object's ``RID``.
35 | public let rid: RID
36 | /// The shape index of the colliding shape.
warning: '@Node' doesn't exist at '/SwiftGodot/BindingNodes'
--> BindingNodes.md:8:3-8:8
6 |
7 | With SwiftGodot, you can achieve the same behavior by using the
8 + ``@Node`` macro to define a property.
9 |
10 | The macro takes a single parameter, which is the path to the node in your
warning: 'ClassDB' doesn't exist at '/SwiftGodot/CustomTypes'
--> CustomTypes.md:121:54-121:61
119 | Godot, and `@Export` to [surface properties](Exports.md).
120 |
121 + Behind the scenes these macros use the lower-level ``ClassDB`` API to define functions,
122 | properties and their values.
123 |
warning: 'Variant' doesn't exist at '/SwiftGodot/CustomTypes'
--> CustomTypes.md:172:18-172:25
170 | The only limitation is that the parameters of those methods need to be one
171 | of the types that Godot can surface to the rest of the engine: anything that can
172 + be passed in a ``Variant``.
173 |
174 |
warning: 'TypedArray' doesn't exist at '/SwiftGodot/CustomTypes'
--> CustomTypes.md:187:50-187:60
185 | The functions can be any of the types that can be wrapped in a
186 | [Variant](Variant.md) including the core Swift data types for integers and
187 + floats, the Godot Object subclasses as well as ``TypedArray`` and ``TypedDictionary``.
188 |
189 | The `@Callable` macro only works in your class definition, and will not work
warning: 'TypedDictionary' doesn't exist at '/SwiftGodot/CustomTypes'
--> CustomTypes.md:187:69-187:84
185 | The functions can be any of the types that can be wrapped in a
186 | [Variant](Variant.md) including the core Swift data types for integers and
187 + floats, the Godot Object subclasses as well as ``TypedArray`` and ``TypedDictionary``.
188 |
189 | The `@Callable` macro only works in your class definition, and will not work
warning: 'Export' doesn't exist at '/SwiftGodot/CustomTypes'
--> CustomTypes.md:194:48-194:54
192 | ### Surfacing Properties and Variables
193 |
194 + To surface properties and variables, use the ``Export`` attribute on them.
195 |
196 | The simplest use case works like this:
warning: 'PropertyHint' doesn't exist at '/SwiftGodot/CustomTypes'
--> CustomTypes.md:208:32-208:44
206 | type string. Strings and numbers can be edited in many interesting
207 | ways in the Godot editor, and that is exposed via two optional parameters
208 + to the `Export` attribute: a ``PropertyHint`` and sometimes those hints
209 | can take an optional string with additional confirmation information.
210 |
warning: 'PropInfo' doesn't exist at '/SwiftGodot/CustomTypes'
--> CustomTypes.md:254:22-254:30
252 | ## Low-Level Details: PropInfo
253 |
254 + In SwiftGodot, the ``PropInfo`` structure is used to define argument types,
255 | properties and return values. You will be exposed to these when you define
256 | signal parameters.
warning: 'Corner' doesn't exist at '/SwiftGodot/Differences'
--> Differences.md:12:49-12:55
10 |
11 | Enumerations and their values also change, for example, rather than having a
12 + constant value like `CORNER_TOP_LEFT` for the ``Corner`` value, we use
13 | ``Corner/topLeft``.
14 |
warning: 'Corner' doesn't exist at '/SwiftGodot/Differences'
--> Differences.md:13:3-13:9
11 | Enumerations and their values also change, for example, rather than having a
12 | constant value like `CORNER_TOP_LEFT` for the ``Corner`` value, we use
13 + ``Corner/topLeft``.
14 |
15 | In Swift, function definitions take parameter names, and sometimes this
warning: 'GD' doesn't exist at '/SwiftGodot/Differences'
--> Differences.md:22:65-22:67
20 |
21 | Global functions and some constants had to be moved to classes to avoid
22 + polluting the global name space, and you can find them in the ``GD`` class.
23 |
24 | ## Type Mappings
warning: 'VariantArray' doesn't exist at '/SwiftGodot/Differences'
--> Differences.md:40:7-40:19
38 |
39 |
40 + The ``VariantArray`` is a type-erased array that can hold any sort of element that can be managed by Godot.
41 |
42 | In addition, there is a strongly-typed version of the
warning: 'TypedArray' doesn't exist at '/SwiftGodot/Differences'
--> Differences.md:43:22-43:32
41 |
42 | In addition, there is a strongly-typed version of the
43 + `VariantArray` – ``TypedArray`` that holds specific type.
44 |
45 | ```swift
warning: 'GD' doesn't exist at '/SwiftGodot/Differences'
--> Differences.md:63:7-63:9
61 |
62 | Many global helper functions that are exposed in GDScript have been exposed in
63 + the ``GD`` class as static methods.
64 |
65 | This means that you can invoke them like this:
warning: 'GD' doesn't exist at '/SwiftGodot/Differences'
--> Differences.md:76:72-76:74
74 |
75 | The various GDScript Math functions like `abs`, `acos`, `atan` as well as their
76 + helper functions like `clamp` are defined as static functions in the ``GD``
77 | class.
78 |
warning: 'GD' doesn't exist at '/SwiftGodot/Differences'
--> Differences.md:84:60-84:62
82 | ### Random Functions
83 |
84 + The random functions like `randi`, `randf` and under the ``GD`` class. But Swift
85 | provides a set of random functions that are just as good, like
86 | [Int.random(in:)](https://developer.apple.com/documentation/swift/int/random(in:)-9mjpw)
warning: 'Variant' doesn't exist at '/SwiftGodot/Differences'
--> Differences.md:100:24-100:31
98 |
99 | You can check in one go if a given variant contains a valid object and is of a
100 + given type, with the ``Variant/asObject(_:)`` method, combined with Swift's
101 | "let":
102 |
warning: 'GString' doesn't exist at '/SwiftGodot/Differences'
--> Differences.md:208:16-208:23
206 | SwiftGodot generally exposes a Swift-string based API, but there are some
207 | convenience methods that you might have come to expect from the Godot String
208 + (things like ``GString/validateFilename``, those APIs are available in the
| ╰─suggestion: Replace 'GString' with 'String'
209 | ``GString`` class).
210 |
warning: 'GString' doesn't exist at '/SwiftGodot/Differences'
--> Differences.md:209:3-209:10
207 | convenience methods that you might have come to expect from the Godot String
208 | (things like ``GString/validateFilename``, those APIs are available in the
209 + ``GString`` class).
| ╰─suggestion: Replace 'GString' with 'String'
210 |
211 | ## Callable
warning: 'VariantConvertible' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:35:6-35:24
33 |
34 | `@Export` can be applied to non-static, non-class variables with following types:
35 + 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 | 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
warning: 'Optional' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:35:45-35:53
33 |
34 | `@Export` can be applied to non-static, non-class variables with following types:
35 + 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 | 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
warning: 'Bool' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:36:34-36:38
34 | `@Export` can be applied to non-static, non-class variables with following types:
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 + 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
warning: 'String' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:36:44-36:50
34 | `@Export` can be applied to non-static, non-class variables with following types:
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 + 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
warning: 'Int' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:36:56-36:59
34 | `@Export` can be applied to non-static, non-class variables with following types:
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 + 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
warning: 'Double' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:36:65-36:71
34 | `@Export` can be applied to non-static, non-class variables with following types:
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 + 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
warning: 'Float' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:36:77-36:82
34 | `@Export` can be applied to non-static, non-class variables with following types:
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 + 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
| ╰─suggestion: Replace 'Float' with 'Floats-with-easing-hint'
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
warning: 'BinaryInteger' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:36:126-36:139
34 | `@Export` can be applied to non-static, non-class variables with following types:
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 + 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
warning: 'UInt32' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:36:153-36:159
34 | `@Export` can be applied to non-static, non-class variables with following types:
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 + 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
warning: 'Int64' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:36:165-36:170
34 | `@Export` can be applied to non-static, non-class variables with following types:
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 + 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
warning: 'VariantArray' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:37:70-37:82
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 | 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 + 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
39 | 1.4. Your custom ``VariantConvertible`` types.
warning: 'Vector3' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:37:88-37:95
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 | 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 + 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
39 | 1.4. Your custom ``VariantConvertible`` types.
warning: 'Callable' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:37:101-37:109
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 | 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 + 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
39 | 1.4. Your custom ``VariantConvertible`` types.
warning: 'Signal' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:37:115-37:121
35 | 1. ``VariantConvertible`` types and their ``Optional``s such as:
36 | 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 + 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
39 | 1.4. Your custom ``VariantConvertible`` types.
warning: 'Object' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:38:15-38:21
36 | 1.1. Swift primitive types (``Bool``, ``String``, ``Int``, ``Double``, ``Float``, any width signed and unsigned version ``BinaryInteger`` (such as ``UInt32``, ``Int64``).
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 + 1.3. All ``Object``-derived types including your own types.
39 | 1.4. Your custom ``VariantConvertible`` types.
40 | 2. Any Swift closures taking `VariantConvertible` arguments and returning `Void` or `VariantConvertible` value without `async` specifier.
warning: 'VariantConvertible' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:39:23-39:41
37 | 1.2. All builtin Godot types present in ``SwiftGodot``, such as ``VariantArray``, ``Vector3``, ``Callable``, ``Signal``
38 | 1.3. All ``Object``-derived types including your own types.
39 + 1.4. Your custom ``VariantConvertible`` types.
40 | 2. Any Swift closures taking `VariantConvertible` arguments and returning `Void` or `VariantConvertible` value without `async` specifier.
41 | 3. Any ``CaseIterable`` enum having integer `RawValue`
warning: 'CaseIterable' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:41:10-41:22
39 | 1.4. Your custom ``VariantConvertible`` types.
40 | 2. Any Swift closures taking `VariantConvertible` arguments and returning `Void` or `VariantConvertible` value without `async` specifier.
41 + 3. Any ``CaseIterable`` enum having integer `RawValue`
42 |
43 | The `@Export` macro only works in your `@Godot` class declaration, and will not work on Swift class extensions.
warning: 'PropertyHint' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:135:18-135:30
133 | ### Customizing the Exported Value
134 |
135 + You can pass a ``PropertyHint`` parameter to the Export attribute, along with additional
136 | data to control how the property is surfaced in the editor.
137 |
warning: 'CaseIterable' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:319:52-319:64
317 | ### Enumeration Values
318 |
319 + To surface enumeration values, you need to use a ``CaseIterable`` enum with `RawValue` conforming to ``BinaryInteger``
320 |
321 | ```
warning: 'BinaryInteger' doesn't exist at '/SwiftGodot/Exports'
--> Exports.md:319:104-319:117
317 | ### Enumeration Values
318 |
319 + To surface enumeration values, you need to use a ``CaseIterable`` enum with `RawValue` conforming to ``BinaryInteger``
320 |
321 | ```
warning: 'Rect2' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:5:29-5:34
3 | SwiftGodot surfaces various Godot types into the Swift universe in various ways:
4 |
5 + - Structures: things like ``Rect2`` or ``Plane``.
6 | - Simple classes that have their lifecyle managed in a way similar to Swift
7 | (``Callable``, ``VariantArray``, ``VariantDictionary``)
warning: 'Plane' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:5:42-5:47
3 | SwiftGodot surfaces various Godot types into the Swift universe in various ways:
4 |
5 + - Structures: things like ``Rect2`` or ``Plane``.
6 | - Simple classes that have their lifecyle managed in a way similar to Swift
7 | (``Callable``, ``VariantArray``, ``VariantDictionary``)
warning: 'Callable' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:7:6-7:14
5 | - Structures: things like ``Rect2`` or ``Plane``.
6 | - Simple classes that have their lifecyle managed in a way similar to Swift
7 + (``Callable``, ``VariantArray``, ``VariantDictionary``)
8 | - <doc:Variants>: these are objects that can wrap every other Godot type and are
9 | used to pass values around in Godot.
warning: 'VariantArray' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:7:20-7:32
5 | - Structures: things like ``Rect2`` or ``Plane``.
6 | - Simple classes that have their lifecyle managed in a way similar to Swift
7 + (``Callable``, ``VariantArray``, ``VariantDictionary``)
8 | - <doc:Variants>: these are objects that can wrap every other Godot type and are
9 | used to pass values around in Godot.
warning: 'VariantDictionary' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:7:38-7:55
5 | - Structures: things like ``Rect2`` or ``Plane``.
6 | - Simple classes that have their lifecyle managed in a way similar to Swift
7 + (``Callable``, ``VariantArray``, ``VariantDictionary``)
8 | - <doc:Variants>: these are objects that can wrap every other Godot type and are
9 | used to pass values around in Godot.
warning: 'Object' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:10:5-10:11
8 | - <doc:Variants>: these are objects that can wrap every other Godot type and are
9 | used to pass values around in Godot.
10 + - ``Object``-derived classes: this is what makes up the bulk of Godot classes, things like ``Node``, ``Resource``, ``Image`` and so on.
| ├─suggestion: Replace 'Object' with 'Object-Classes'
| ╰─suggestion: Replace 'Object' with 'Object-derived-Classes'
11 |
12 | ## Object-derived Classes
warning: 'Object' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:15:18-15:24
13 |
14 | In SwiftGodot, the base type that bridges Godot objects and the Swift world
15 + happens in the ``Object`` class (technically, ``Wrapped``, but that is
| ├─suggestion: Replace 'Object' with 'Object-Classes'
| ╰─suggestion: Replace 'Object' with 'Object-derived-Classes'
16 | historical detail that is not very important).
17 |
warning: 'Wrapped' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:15:49-15:56
13 |
14 | In SwiftGodot, the base type that bridges Godot objects and the Swift world
15 + happens in the ``Object`` class (technically, ``Wrapped``, but that is
16 | historical detail that is not very important).
17 |
warning: 'Object' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:28:3-28:9
26 |
27 | Godot has a few different rules for how memory must be managed for subclasses of
28 + ``Object``, depending on which type of object you are dealing with. The
| ├─suggestion: Replace 'Object' with 'Object-Classes'
| ╰─suggestion: Replace 'Object' with 'Object-derived-Classes'
29 | hierarchy of types, based on the rules that are used are as follows:
30 |
warning: 'Object' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:31:5-31:11
29 | hierarchy of types, based on the rules that are used are as follows:
30 |
31 + - ``Object``
| ├─suggestion: Replace 'Object' with 'Object-Classes'
| ╰─suggestion: Replace 'Object' with 'Object-derived-Classes'
32 | - ``RefCounted``
33 | - ``Resource``
warning: 'RefCounted' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:32:7-32:17
30 |
31 | - ``Object``
32 + - ``RefCounted``
| ╰─suggestion: Replace 'RefCounted' with 'RefCounted-Classes'
33 | - ``Resource``
34 | - ``Node``
warning: 'Object' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:38:17-38:23
36 | ### Object Classes
37 |
38 + Subclasses of ``Object`` that are not ``RefCounted`` or ``Node`` must be
| ├─suggestion: Replace 'Object' with 'Object-Classes'
| ╰─suggestion: Replace 'Object' with 'Object-derived-Classes'
39 | manually released by calling ``Object/free()``.
40 |
warning: 'RefCounted' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:38:41-38:51
36 | ### Object Classes
37 |
38 + Subclasses of ``Object`` that are not ``RefCounted`` or ``Node`` must be
| ╰─suggestion: Replace 'RefCounted' with 'RefCounted-Classes'
39 | manually released by calling ``Object/free()``.
40 |
warning: 'Object' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:39:32-39:38
37 |
38 | Subclasses of ``Object`` that are not ``RefCounted`` or ``Node`` must be
39 + manually released by calling ``Object/free()``.
| ├─suggestion: Replace 'Object' with 'Object-Classes'
| ╰─suggestion: Replace 'Object' with 'Object-derived-Classes'
40 |
41 | ### Node Classes
warning: 'Scene' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:44:42-44:47
42 |
43 | Subclasses of ``Node`` are a bit different. They are not reference counted,
44 + and they are expected to be added to a ``Scene``. When the scene is destroyed,
45 | so are all the objects in it. If you create ``Node`` objects that you do not
46 | add to a ``Scene``, you are responsible for releasing them, and you do so by
warning: 'Scene' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:46:12-46:17
44 | and they are expected to be added to a ``Scene``. When the scene is destroyed,
45 | so are all the objects in it. If you create ``Node`` objects that you do not
46 + add to a ``Scene``, you are responsible for releasing them, and you do so by
47 | calling the ``Node/queueFree()`` method. This is similar to how you would do
48 | it in Godot.
warning: 'RefCounted' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:52:17-52:27
50 | ### RefCounted Classes
51 |
52 + Subclasses of ``RefCounted`` include popular base classes like ``Resource``, and
| ╰─suggestion: Replace 'RefCounted' with 'RefCounted-Classes'
53 | thus a large number of interesting classes like ``Texture``, ``AudioStream`` and
54 | others. SwiftGodot is able to manage the lifecycle of every ``RefCounted`` in
warning: 'RefCounted' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:54:65-54:75
52 | Subclasses of ``RefCounted`` include popular base classes like ``Resource``, and
53 | thus a large number of interesting classes like ``Texture``, ``AudioStream`` and
54 + others. SwiftGodot is able to manage the lifecycle of every ``RefCounted`` in
| ╰─suggestion: Replace 'RefCounted' with 'RefCounted-Classes'
55 | a way similar to Swift - that is, when the last reference to the object goes
56 | away, the object is deallocated.
warning: 'Object' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:60:64-60:70
58 | ## Invalidated Objects
59 |
60 + Unlike RefCounted objects, everything else that derives from ``Object`` can
| ├─suggestion: Replace 'Object' with 'Object-Classes'
| ╰─suggestion: Replace 'Object' with 'Object-derived-Classes'
61 | still have a Swift-level object that points to an object that has been released.
62 |
warning: 'Object' doesn't exist at '/SwiftGodot/MemoryManagement'
--> MemoryManagement.md:65:32-65:38
63 | If you keep a reference to these objects, you need to ensure that they remain
64 | valid when Godot calls you back, as the objects might have been freed behind
65 + your back - so you must call ``Object/isValid`` to ensure that the object
| ├─suggestion: Replace 'Object' with 'Object-Classes'
| ╰─suggestion: Replace 'Object' with 'Object-derived-Classes'
66 | remains valid.
67 |
warning: 'rpc(_:_:)' doesn't exist at '/SwiftGodot/Node'
--> RemoteProcedureCalls.md:184:10-184:19
182 | ## See Also
183 |
184 + - ``Node/rpc(_:_:)``
| ╰─suggestion: Replace 'rpc(_:_:)' with 'rpc(method:_:)'
185 | - ``Node/rpcId(_:method:_:)``
186 | - ``Node/rpcConfig(method:config:)``
warning: 'rpcId(_:method:_:)' doesn't exist at '/SwiftGodot/Node'
--> RemoteProcedureCalls.md:185:10-185:28
183 |
184 | - ``Node/rpc(_:_:)``
185 + - ``Node/rpcId(_:method:_:)``
| ├─suggestion: Replace 'rpcId(_:method:_:)' with 'rpcId(peerId:method:_:)'
| ╰─suggestion: Replace 'rpcId(_:method:_:)' with 'rpc(method:_:)'
186 | - ``Node/rpcConfig(method:config:)``
187 | - ``MultiplayerAPI/RPCMode``
warning: 'queueFree' doesn't exist at '/SwiftGodot/Node'
--> RunningInEditor.md:49:56-49:65
47 | also comes with caveats, as the editor does not include protections for
48 | potential misuse of `@Godot(.tool)` scripts. Be extremely cautious when
49 + manipulating the scene tree, especially via ``Node/queueFree``, as it can
| ╰─suggestion: Replace 'queueFree' with 'queueFree()'
50 | cause crashes if you free a node while the editor runs logic involving it.
51 |
warning: Invalid use of level-1 heading.
Level-1 headings are reserved for specifying the title of the document.
--> RunningInEditor.md:52:1-52:23
50 | cause crashes if you free a node while the editor runs logic involving it.
51 |
52 + # Detecting the Editor
53 |
54 | In your code, you can call the ``Engine/isEditorHint()`` to determine whether
warning: 'Engine' doesn't exist at '/SwiftGodot/RunningInEditor'
--> RunningInEditor.md:54:34-54:40
52 | # Detecting the Editor
53 |
54 + In your code, you can call the ``Engine/isEditorHint()`` to determine whether
55 | the code is running inside the editor or in the game, and adjust your various
56 | methods accordingly.
warning: 'Object' doesn't exist at '/SwiftGodot/Signals'
--> Signals.md:16:58-16:64
14 | define your own signals.
15 |
16 + Objects that emit signals typically do so by using the ``Object/emit(signal:)``
17 | method (or the lower-level ``Object/emitSignal(signal:_:)``
18 | function) which takes as a parameter the ``StringName`` of the signal as well
warning: 'Object' doesn't exist at '/SwiftGodot/Signals'
--> Signals.md:17:30-17:36
15 |
16 | Objects that emit signals typically do so by using the ``Object/emit(signal:)``
17 + method (or the lower-level ``Object/emitSignal(signal:_:)``
18 | function) which takes as a parameter the ``StringName`` of the signal as well
19 | as an optional list of additional arguments. And users can connect to those
warning: 'StringName' doesn't exist at '/SwiftGodot/Signals'
--> Signals.md:18:44-18:54
16 | Objects that emit signals typically do so by using the ``Object/emit(signal:)``
17 | method (or the lower-level ``Object/emitSignal(signal:_:)``
18 + function) which takes as a parameter the ``StringName`` of the signal as well
19 | as an optional list of additional arguments. And users can connect to those
20 | signals and direct a method to be invoked when they are raised.
warning: 'Variant' doesn't exist at '/SwiftGodot/Signals'
--> Signals.md:101:7-101:14
99 | (this includes Swift core types like integers, doubles, strings, but
100 | also Godot objects and the Godot core types; See the documentation
101 + for ``Variant`` for more information).
102 |
103 | To use signals with parameters, you need to declare the parameter
warning: 'Object' doesn't exist at '/SwiftGodot/Signals'
--> Signals.md:170:45-170:51
168 | low-level API for connecting signals.
169 |
170 + To connect a signal directly, you use the ``Object/connect(signal:callable:flags:)``
171 | method. The first parameter is the ``StringName`` describing the signal
172 | and the second one is refenrece to the method to invoke. The ``Callable``
warning: 'StringName' doesn't exist at '/SwiftGodot/Signals'
--> Signals.md:171:40-171:50
169 |
170 | To connect a signal directly, you use the ``Object/connect(signal:callable:flags:)``
171 + method. The first parameter is the ``StringName`` describing the signal
172 | and the second one is refenrece to the method to invoke. The ``Callable``
173 | is a pair of the object instance and the ``StringName`` of the method to invoke.
warning: 'Callable' doesn't exist at '/SwiftGodot/Signals'
--> Signals.md:172:65-172:73
170 | To connect a signal directly, you use the ``Object/connect(signal:callable:flags:)``
171 | method. The first parameter is the ``StringName`` describing the signal
172 + and the second one is refenrece to the method to invoke. The ``Callable``
173 | is a pair of the object instance and the ``StringName`` of the method to invoke.
174 |
warning: 'StringName' doesn't exist at '/SwiftGodot/Signals'
--> Signals.md:173:44-173:54
171 | method. The first parameter is the ``StringName`` describing the signal
172 | and the second one is refenrece to the method to invoke. The ``Callable``
173 + is a pair of the object instance and the ``StringName`` of the method to invoke.
174 |
175 | For example:
warning: 'ready' doesn't exist at '/SwiftGodot/Signals'
--> Signals.md:210:15-210:20
208 |
209 | You can also use this method to emit built-in signals on a foreign object,
210 + such as the ``ready`` signal on a ``Node`` instance, to pretend the object
211 | triggered that signal.
212 |
warning: Invalid use of level-1 heading.
Level-1 headings are reserved for specifying the title of the document.
--> TypesTranslation.md:27:1-27:14
25 |
26 | `Toll-free bridging` means that performance cost of translation is negligible.
27 + # Swift types
28 |
29 | #### Swift ``Bool`` – Godot `bool`
warning: 'Bool' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:29:14-29:18
27 | # Swift types
28 |
29 + #### Swift ``Bool`` – Godot `bool`
30 | Toll-free bridging.
31 | ```swift
warning: 'String' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:49:67-49:73
47 | _NOT_ toll-free bridging (`Swift.String` <-> `GString` conversion requires allocation and parsing the underlying utf8)
48 |
49 + Original Godot API declaring usage of Godot `String` uses Swift ``String``. Conversion happens automatically.
50 |
51 | ```swift
warning: 'BinaryInteger' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:67:14-67:27
65 | ```
66 | ---
67 + #### Swift ``BinaryInteger`` - Godot `int`
| ├─suggestion: Replace 'BinaryInteger' with 'Swift-BinaryInteger-Godot-int'
| ╰─suggestion: Replace 'BinaryInteger' with 'Swift-BinaryInteger-Godot-Variant'
68 | Toll-free bridging.
69 | Concrete types: ``Int``, ``UInt``, ``Int64``, ``Int32``, ``Int16``, ``Int8``, ``UInt64``, ``UInt32``, ``UInt16``, ``UInt8``
warning: 'Int' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:69:19-69:22
67 | #### Swift ``BinaryInteger`` - Godot `int`
68 | Toll-free bridging.
69 + Concrete types: ``Int``, ``UInt``, ``Int64``, ``Int32``, ``Int16``, ``Int8``, ``UInt64``, ``UInt32``, ``UInt16``, ``UInt8``
70 |
71 | Godot uses `Int64` as a storage.
warning: 'UInt' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:69:28-69:32
67 | #### Swift ``BinaryInteger`` - Godot `int`
68 | Toll-free bridging.
69 + Concrete types: ``Int``, ``UInt``, ``Int64``, ``Int32``, ``Int16``, ``Int8``, ``UInt64``, ``UInt32``, ``UInt16``, ``UInt8``
70 |
71 | Godot uses `Int64` as a storage.
warning: 'Int64' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:69:38-69:43
67 | #### Swift ``BinaryInteger`` - Godot `int`
68 | Toll-free bridging.
69 + Concrete types: ``Int``, ``UInt``, ``Int64``, ``Int32``, ``Int16``, ``Int8``, ``UInt64``, ``UInt32``, ``UInt16``, ``UInt8``
70 |
71 | Godot uses `Int64` as a storage.
warning: 'Int32' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:69:49-69:54
67 | #### Swift ``BinaryInteger`` - Godot `int`
68 | Toll-free bridging.
69 + Concrete types: ``Int``, ``UInt``, ``Int64``, ``Int32``, ``Int16``, ``Int8``, ``UInt64``, ``UInt32``, ``UInt16``, ``UInt8``
70 |
71 | Godot uses `Int64` as a storage.
warning: 'Int16' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:69:60-69:65
67 | #### Swift ``BinaryInteger`` - Godot `int`
68 | Toll-free bridging.
69 + Concrete types: ``Int``, ``UInt``, ``Int64``, ``Int32``, ``Int16``, ``Int8``, ``UInt64``, ``UInt32``, ``UInt16``, ``UInt8``
70 |
71 | Godot uses `Int64` as a storage.
warning: 'Int8' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:69:71-69:75
67 | #### Swift ``BinaryInteger`` - Godot `int`
68 | Toll-free bridging.
69 + Concrete types: ``Int``, ``UInt``, ``Int64``, ``Int32``, ``Int16``, ``Int8``, ``UInt64``, ``UInt32``, ``UInt16``, ``UInt8``
70 |
71 | Godot uses `Int64` as a storage.
warning: 'UInt64' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:69:81-69:87
67 | #### Swift ``BinaryInteger`` - Godot `int`
68 | Toll-free bridging.
69 + Concrete types: ``Int``, ``UInt``, ``Int64``, ``Int32``, ``Int16``, ``Int8``, ``UInt64``, ``UInt32``, ``UInt16``, ``UInt8``
70 |
71 | Godot uses `Int64` as a storage.
warning: 'UInt32' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:69:93-69:99
67 | #### Swift ``BinaryInteger`` - Godot `int`
68 | Toll-free bridging.
69 + Concrete types: ``Int``, ``UInt``, ``Int64``, ``Int32``, ``Int16``, ``Int8``, ``UInt64``, ``UInt32``, ``UInt16``, ``UInt8``
70 |
71 | Godot uses `Int64` as a storage.
warning: 'UInt16' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:69:105-69:111
67 | #### Swift ``BinaryInteger`` - Godot `int`
68 | Toll-free bridging.
69 + Concrete types: ``Int``, ``UInt``, ``Int64``, ``Int32``, ``Int16``, ``Int8``, ``UInt64``, ``UInt32``, ``UInt16``, ``UInt8``
70 |
71 | Godot uses `Int64` as a storage.
warning: 'UInt8' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:69:117-69:122
67 | #### Swift ``BinaryInteger`` - Godot `int`
68 | Toll-free bridging.
69 + Concrete types: ``Int``, ``UInt``, ``Int64``, ``Int32``, ``Int16``, ``Int8``, ``UInt64``, ``UInt32``, ``UInt16``, ``UInt8``
70 |
71 | Godot uses `Int64` as a storage.
warning: 'BinaryFloatingPoint' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:99:14-99:33
97 | ---
98 |
99 + #### Swift ``BinaryFloatingPoint`` - Godot `float`
| ├─suggestion: Replace 'BinaryFloatingPoint' with 'Swift-BinaryFloatingPoint-Godot-float'
| ╰─suggestion: Replace 'BinaryFloatingPoint' with 'Swift-BinaryFloatingPoint-Godot-Variant'
100 | Toll-free bridging.
101 | Concrete types: ``Double``, ``Float``
warning: 'Double' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:101:19-101:25
99 | #### Swift ``BinaryFloatingPoint`` - Godot `float`
100 | Toll-free bridging.
101 + Concrete types: ``Double``, ``Float``
102 | Godot uses ``Double`` as a storage.
103 |
warning: 'Float' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:101:31-101:36
99 | #### Swift ``BinaryFloatingPoint`` - Godot `float`
100 | Toll-free bridging.
101 + Concrete types: ``Double``, ``Float``
102 | Godot uses ``Double`` as a storage.
103 |
warning: 'Double' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:102:14-102:20
100 | Toll-free bridging.
101 | Concrete types: ``Double``, ``Float``
102 + Godot uses ``Double`` as a storage.
103 |
104 | ```swift
warning: 'VariantConvertible' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:132:24-132:42
130 | Calling it from Godot is cheap.
131 |
132 + Only closures taking ``VariantConvertible`` arguments are allowed.
| ╰─suggestion: Replace 'VariantConvertible' with 'Optional-and-non-optional-VariantConvertible-Godot-Variant'
133 | Only closures returning a ``VariantConvertible`` or `Void` are allowed.
134 | No `async` and `throw` specifiers are allowed.
warning: 'VariantConvertible' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:133:29-133:47
131 |
132 | Only closures taking ``VariantConvertible`` arguments are allowed.
133 + Only closures returning a ``VariantConvertible`` or `Void` are allowed.
| ╰─suggestion: Replace 'VariantConvertible' with 'Optional-and-non-optional-VariantConvertible-Godot-Variant'
134 | No `async` and `throw` specifiers are allowed.
135 |
warning: 'Array' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:160:14-160:19
158 | - Returned value from Swift closure
159 | ---
160 + #### Swift ``Array`` - Godot `Array[type]`
161 | Only ``Swift.Array`` with `Element`s of Godot builtin types or *optional*(!) ``Object``-derived types are allowed.
162 | Expensive bridging, operations takes O(n) during each translation.
warning: 'Swift.Array' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:161:8-161:19
159 | ---
160 | #### Swift ``Array`` - Godot `Array[type]`
161 + Only ``Swift.Array`` with `Element`s of Godot builtin types or *optional*(!) ``Object``-derived types are allowed.
| ├─suggestion: Replace 'Swift.Array' with 'Swift-Array-Godot-Arraytype'
| ├─suggestion: Replace 'Swift.Array' with 'Swift-Optional-Array-Godot-Variant'
| ╰─suggestion: Replace 'Swift.Array' with 'SwiftGodot-TypedArray-Godot-Arraytype'
162 | Expensive bridging, operations takes O(n) during each translation.
163 |
warning: 'Object' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:161:80-161:86
159 | ---
160 | #### Swift ``Array`` - Godot `Array[type]`
161 + Only ``Swift.Array`` with `Element`s of Godot builtin types or *optional*(!) ``Object``-derived types are allowed.
162 | Expensive bridging, operations takes O(n) during each translation.
163 |
warning: 'GodotBuiltinConvertible' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:164:19-164:42
162 | Expensive bridging, operations takes O(n) during each translation.
163 |
164 + Implemented via ``GodotBuiltinConvertible``
| ├─suggestion: Replace 'GodotBuiltinConvertible' with 'GodotBuiltinConvertible-Corresponding-Godot-builtin-types'
| ╰─suggestion: Replace 'GodotBuiltinConvertible' with 'Optional-GodotBuiltinConvertible-Godot-Variant'
165 |
166 | Prefer using `TypedArray` for frequent operations
warning: 'Array' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:178:23-178:28
176 | ```
177 |
178 + #### Swift Optional ``Array`` - Godot `Variant`
179 | Only ``Swift.Array`` with `Element`s of Godot builtin types or *optional*(!) ``Object``-derived types are allowed.
180 | Expensive bridging, operations takes O(n) during each translation.
warning: 'Swift.Array' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:179:8-179:19
177 |
178 | #### Swift Optional ``Array`` - Godot `Variant`
179 + Only ``Swift.Array`` with `Element`s of Godot builtin types or *optional*(!) ``Object``-derived types are allowed.
| ├─suggestion: Replace 'Swift.Array' with 'Swift-Array-Godot-Arraytype'
| ├─suggestion: Replace 'Swift.Array' with 'Swift-Optional-Array-Godot-Variant'
| ╰─suggestion: Replace 'Swift.Array' with 'SwiftGodot-TypedArray-Godot-Arraytype'
180 | Expensive bridging, operations takes O(n) during each translation.
181 |
warning: 'Object' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:179:80-179:86
177 |
178 | #### Swift Optional ``Array`` - Godot `Variant`
179 + Only ``Swift.Array`` with `Element`s of Godot builtin types or *optional*(!) ``Object``-derived types are allowed.
180 | Expensive bridging, operations takes O(n) during each translation.
181 |
warning: 'GodotBuiltinConvertible' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:182:19-182:42
180 | Expensive bridging, operations takes O(n) during each translation.
181 |
182 + Implemented via ``GodotBuiltinConvertible``
| ├─suggestion: Replace 'GodotBuiltinConvertible' with 'GodotBuiltinConvertible-Corresponding-Godot-builtin-types'
| ╰─suggestion: Replace 'GodotBuiltinConvertible' with 'Optional-GodotBuiltinConvertible-Godot-Variant'
183 |
184 | Prefer using `TypedArray` for frequent operations
warning: 'RawRepresentable' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:201:8-201:24
199 | * If `RawValue` == `String` - requires `Swift.String` <-> `SwiftGodot.GString` conversion and `Hashable` lookup to decide if enum indeed has a case represented by such string.
200 |
201 + Only ``RawRepresentable`` enums are allowed. `RawValue` must be ``BinaryInteger``, ``String`` or ``Bool``
202 |
203 | ``CaseIterable`` enum with ``RawValue: BinaryInteger`` also generate a named picker in Editor.
warning: 'BinaryInteger' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:201:67-201:80
199 | * If `RawValue` == `String` - requires `Swift.String` <-> `SwiftGodot.GString` conversion and `Hashable` lookup to decide if enum indeed has a case represented by such string.
200 |
201 + Only ``RawRepresentable`` enums are allowed. `RawValue` must be ``BinaryInteger``, ``String`` or ``Bool``
| ├─suggestion: Replace 'BinaryInteger' with 'Swift-BinaryInteger-Godot-int'
| ╰─suggestion: Replace 'BinaryInteger' with 'Swift-BinaryInteger-Godot-Variant'
202 |
203 | ``CaseIterable`` enum with ``RawValue: BinaryInteger`` also generate a named picker in Editor.
warning: 'String' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:201:86-201:92
199 | * If `RawValue` == `String` - requires `Swift.String` <-> `SwiftGodot.GString` conversion and `Hashable` lookup to decide if enum indeed has a case represented by such string.
200 |
201 + Only ``RawRepresentable`` enums are allowed. `RawValue` must be ``BinaryInteger``, ``String`` or ``Bool``
202 |
203 | ``CaseIterable`` enum with ``RawValue: BinaryInteger`` also generate a named picker in Editor.
warning: 'Bool' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:201:100-201:104
199 | * If `RawValue` == `String` - requires `Swift.String` <-> `SwiftGodot.GString` conversion and `Hashable` lookup to decide if enum indeed has a case represented by such string.
200 |
201 + Only ``RawRepresentable`` enums are allowed. `RawValue` must be ``BinaryInteger``, ``String`` or ``Bool``
202 |
203 | ``CaseIterable`` enum with ``RawValue: BinaryInteger`` also generate a named picker in Editor.
warning: 'CaseIterable' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:203:3-203:15
201 | Only ``RawRepresentable`` enums are allowed. `RawValue` must be ``BinaryInteger``, ``String`` or ``Bool``
202 |
203 + ``CaseIterable`` enum with ``RawValue: BinaryInteger`` also generate a named picker in Editor.
204 |
205 | ```swift
warning: 'RawValue: BinaryInteger' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:203:30-203:53
201 | Only ``RawRepresentable`` enums are allowed. `RawValue` must be ``BinaryInteger``, ``String`` or ``Bool``
202 |
203 + ``CaseIterable`` enum with ``RawValue: BinaryInteger`` also generate a named picker in Editor.
| ├─suggestion: Replace 'RawValue: BinaryInteger' with 'Swift-BinaryInteger-Godot-int'
| ╰─suggestion: Replace 'RawValue: BinaryInteger' with 'Swift-BinaryInteger-Godot-Variant'
204 |
205 | ```swift
warning: Invalid use of level-1 heading.
Level-1 headings are reserved for specifying the title of the document.
--> TypesTranslation.md:246:1-246:19
244 | ```
245 |
246 + # SwiftGodot types
247 |
248 | #### SwiftGodot ``Variant`` - Godot `Variant`
warning: 'Variant' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:248:19-248:26
246 | # SwiftGodot types
247 |
248 + #### SwiftGodot ``Variant`` - Godot `Variant`
249 | _NOT_ toll-free bridging. Requires a heap allocation of `Variant` every time value is translated from Godot.
250 |
warning: 'Variant?' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:259:19-259:27
257 | }
258 | ```
259 + #### SwiftGodot ``Variant?`` - Godot `Variant`
260 | _NOT_ toll-free bridging. Requires a heap allocation of `Variant` every time non-nil value is translated from Godot.
261 |
warning: 'Projection' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:277:41-277:51
275 | #### SwiftGodot dumb types - Corresponding Godot builtin types
276 | Toll-free bridging.
277 + All dumb Godot builtin types such as: ``Projection``, ``Vector3``, that basically just contain numbers and are represented as Swift `struct`.
278 |
279 | ```swift
warning: 'Vector3' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:277:57-277:64
275 | #### SwiftGodot dumb types - Corresponding Godot builtin types
276 | Toll-free bridging.
277 + All dumb Godot builtin types such as: ``Projection``, ``Vector3``, that basically just contain numbers and are represented as Swift `struct`.
278 |
279 | ```swift
warning: 'Optional' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:286:19-286:27
284 | ```
285 |
286 + #### SwiftGodot ``Optional`` dumb types - Godot `Variant`
| ╰─suggestion: Replace 'Optional' with 'Optional-GodotBuiltinConvertible-Godot-Variant'
287 | Toll-free bridging.
288 | ```swift
warning: 'VariantArray' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:298:79-298:91
296 | _NOT_ toll-free bridging. Requires a heap allocation of the Swift wrapper every time the value is translated from `Godot` to `Swift`.
297 |
298 + All built-in types of Godot which are represented as Swift `class` such as: ``VariantArray``, ``VariantDictionary``, ``RID``, ``PackedFloat32Array``, etc.
299 |
300 | These types appear exactly as they are in Godot except `GString`(Godot `String`), `VariantArray` (Godot `Array`), and `VariantDictionary`(Godot `Dictionary`), which are renamed to avoid collision with native Swift types.
warning: 'VariantDictionary' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:298:97-298:114
296 | _NOT_ toll-free bridging. Requires a heap allocation of the Swift wrapper every time the value is translated from `Godot` to `Swift`.
297 |
298 + All built-in types of Godot which are represented as Swift `class` such as: ``VariantArray``, ``VariantDictionary``, ``RID``, ``PackedFloat32Array``, etc.
299 |
300 | These types appear exactly as they are in Godot except `GString`(Godot `String`), `VariantArray` (Godot `Array`), and `VariantDictionary`(Godot `Dictionary`), which are renamed to avoid collision with native Swift types.
warning: 'RID' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:298:120-298:123
296 | _NOT_ toll-free bridging. Requires a heap allocation of the Swift wrapper every time the value is translated from `Godot` to `Swift`.
297 |
298 + All built-in types of Godot which are represented as Swift `class` such as: ``VariantArray``, ``VariantDictionary``, ``RID``, ``PackedFloat32Array``, etc.
299 |
300 | These types appear exactly as they are in Godot except `GString`(Godot `String`), `VariantArray` (Godot `Array`), and `VariantDictionary`(Godot `Dictionary`), which are renamed to avoid collision with native Swift types.
warning: 'PackedFloat32Array' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:298:129-298:147
296 | _NOT_ toll-free bridging. Requires a heap allocation of the Swift wrapper every time the value is translated from `Godot` to `Swift`.
297 |
298 + All built-in types of Godot which are represented as Swift `class` such as: ``VariantArray``, ``VariantDictionary``, ``RID``, ``PackedFloat32Array``, etc.
299 |
300 | These types appear exactly as they are in Godot except `GString`(Godot `String`), `VariantArray` (Godot `Array`), and `VariantDictionary`(Godot `Dictionary`), which are renamed to avoid collision with native Swift types.
warning: 'Optional' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:309:19-309:27
307 | ```
308 |
309 + #### SwiftGodot ``Optional`` reference types - Godot `Variant`
| ╰─suggestion: Replace 'Optional' with 'Optional-GodotBuiltinConvertible-Godot-Variant'
310 | _NOT_ toll-free bridging. Requires a heap allocation of the Swift wrapper every time the non-nil value is translated from `Godot` to `Swift`.
311 | ```swift
warning: 'Object' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:319:19-319:25
317 | ---
318 |
319 + #### SwiftGodot ``Object``-derived types - Corresponding Godot types
320 | _Almost_ toll-free bridging:
321 | Allocation only happens when Godot object never seen by Swift shows up during Godot -> Swift translation.
warning: 'Object' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:323:34-323:40
321 | Allocation only happens when Godot object never seen by Swift shows up during Godot -> Swift translation.
322 |
323 + All Godot class types such as: ``Object``, ``Node``, ``Camera3D``, ``Resource``, etc.
324 |
325 | These types appear exactly as they are in Godot, no exceptions!
warning: 'Optional' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:336:19-336:27
334 | ```
335 |
336 + #### SwiftGodot ``Optional`` ``Object``-derived types - Godot `Object`-derived types
| ╰─suggestion: Replace 'Optional' with 'Optional-GodotBuiltinConvertible-Godot-Variant'
337 | _Almost_ toll-free bridging:
338 | Allocation only happens when Godot object never seen by Swift shows up during Godot -> Swift translation.
warning: 'Object' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:336:32-336:38
334 | ```
335 |
336 + #### SwiftGodot ``Optional`` ``Object``-derived types - Godot `Object`-derived types
337 | _Almost_ toll-free bridging:
338 | Allocation only happens when Godot object never seen by Swift shows up during Godot -> Swift translation.
warning: Invalid use of level-1 heading.
Level-1 headings are reserved for specifying the title of the document.
--> TypesTranslation.md:377:1-377:20
375 | ---
376 |
377 + # Your custom types
378 | #### ``Optional`` and non-optional `@Godot` classes - Godot `Object`-derived types
379 | _Almost_ toll-free bridging.
warning: 'Optional' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:378:8-378:16
376 |
377 | # Your custom types
378 + #### ``Optional`` and non-optional `@Godot` classes - Godot `Object`-derived types
| ╰─suggestion: Replace 'Optional' with 'Optional-GodotBuiltinConvertible-Godot-Variant'
379 | _Almost_ toll-free bridging.
380 | Allocation only happens when type is initialized. That's how classes work in Swift.
warning: 'Optional' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:396:8-396:16
394 | ```
395 |
396 + #### ``Optional`` and non-optional VariantConvertible - Godot `Variant`
| ╰─suggestion: Replace 'Optional' with 'Optional-GodotBuiltinConvertible-Godot-Variant'
397 | _Maybe_ toll-free bridging:
398 | 1. The conversion runtime doesn't require allocations.
warning: 'GodotBuiltinConvertible' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:422:8-422:31
420 | ```
421 |
422 + #### ``GodotBuiltinConvertible`` - Corresponding Godot builtin types
| ├─suggestion: Replace 'GodotBuiltinConvertible' with 'GodotBuiltinConvertible-Corresponding-Godot-builtin-types'
| ╰─suggestion: Replace 'GodotBuiltinConvertible' with 'Optional-GodotBuiltinConvertible-Godot-Variant'
423 | _Maybe_ toll-free bridging:
424 | 1. The conversion runtime doesn't require allocations.
warning: 'GodotBuiltinConvertible' doesn't exist at '/SwiftGodot/TypesTranslation'
--> TypesTranslation.md:445:19-445:42
443 | ```
444 |
445 + #### `Optional` ``GodotBuiltinConvertible`` - Godot `Variant`
| ├─suggestion: Replace 'GodotBuiltinConvertible' with 'GodotBuiltinConvertible-Corresponding-Godot-builtin-types'
| ╰─suggestion: Replace 'GodotBuiltinConvertible' with 'Optional-GodotBuiltinConvertible-Godot-Variant'
446 | _Maybe_ toll-free bridging:
447 | 1. The conversion runtime doesn't require allocations.
warning: 'Variant' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:7:32-7:39
5 | ## Overview
6 |
7 + You will often find the type ``Variant`` in Godot source code. Variants are
8 | Godot's way of passing around certain data types. They are similar to Swift's
9 | `Any` type, but they can only hold Godot types (most structures and classes
warning: 'Object' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:10:20-10:26
8 | Godot's way of passing around certain data types. They are similar to Swift's
9 | `Any` type, but they can only hold Godot types (most structures and classes
10 + that derive from ``Object``).
11 |
12 | ## Creating Variant values
warning: 'Variant' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:14:18-14:25
12 | ## Creating Variant values
13 |
14 + You can create ``Variant``s from types that conform to the
15 | ``VariantConvertible`` protocol.
16 |
warning: 'VariantConvertible' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:15:3-15:21
13 |
14 | You can create ``Variant``s from types that conform to the
15 + ``VariantConvertible`` protocol.
16 |
17 | This includes the following types:
warning: 'GString' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:19:27-19:34
17 | This includes the following types:
18 |
19 + * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 | ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
warning: 'Vector' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:19:40-19:46
17 | This includes the following types:
18 |
19 + * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 | ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
warning: 'Rect' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:19:52-19:56
17 | This includes the following types:
18 |
19 + * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 | ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
warning: 'Transform' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:19:62-19:71
17 | This includes the following types:
18 |
19 + * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 | ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
warning: 'Plane' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:19:77-19:82
17 | This includes the following types:
18 |
19 + * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 | ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
warning: 'Quaternion' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:19:88-19:98
17 | This includes the following types:
18 |
19 + * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 | ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
warning: 'AABB' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:20:5-20:9
18 |
19 | * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 + ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 | * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
warning: 'Basis' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:20:16-20:21
18 |
19 | * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 + ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 | * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
warning: 'Projection' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:20:27-20:37
18 |
19 | * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 + ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 | * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
warning: 'Int64' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:20:43-20:48
18 |
19 | * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 + ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 | * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
warning: 'NodePaths' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:20:54-20:63
18 |
19 | * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 + ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 | * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
warning: 'RIDs' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:20:69-20:73
18 |
19 | * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 + ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 | * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
warning: 'Callable' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:20:79-20:87
18 |
19 | * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 + ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 | * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
warning: 'VariantDictionary' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:20:93-20:110
18 |
19 | * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 + ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 | * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
warning: 'Array' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:20:116-20:121
18 |
19 | * Godot's native types: ``GString``, ``Vector``, ``Rect``, ``Transform``, ``Plane``, ``Quaternion``,
20 + ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 | * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
warning: 'Bool' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:22:68-22:72
20 | ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 + * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
23 | * Godot's objects: e.g. ``Node``, ``Area2D``
24 | * Your own subclasses of ``Object`` type.
warning: 'Int' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:22:78-22:81
20 | ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 + * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
23 | * Godot's objects: e.g. ``Node``, ``Area2D``
24 | * Your own subclasses of ``Object`` type.
warning: 'String' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:22:155-22:161
20 | ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 + * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
23 | * Godot's objects: e.g. ``Node``, ``Area2D``
24 | * Your own subclasses of ``Object`` type.
warning: 'Float' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:22:167-22:172
20 | ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 + * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
23 | * Godot's objects: e.g. ``Node``, ``Area2D``
24 | * Your own subclasses of ``Object`` type.
warning: 'Double' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:22:181-22:187
20 | ``AABB``, ``Basis``, ``Projection``, ``Int64``, ``NodePaths``, ``RIDs``, ``Callable``, ``VariantDictionary``, ``Array``
21 | and PackedArrays.
22 + * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
23 | * Godot's objects: e.g. ``Node``, ``Area2D``
24 | * Your own subclasses of ``Object`` type.
warning: 'Object' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:24:28-24:34
22 | * Swift types that SwiftGodot adds convenience conformances for: ``Bool``, ``Int`` (and all signed/unsigned width varieties such as `UInt32`, `Int16`), ``String``, ``Float`` and ``Double``,
23 | * Godot's objects: e.g. ``Node``, ``Area2D``
24 + * Your own subclasses of ``Object`` type.
25 | * Other types that you can manually conform to ``VariantConvertible``.
26 |
warning: 'VariantConvertible' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:25:50-25:68
23 | * Godot's objects: e.g. ``Node``, ``Area2D``
24 | * Your own subclasses of ``Object`` type.
25 + * Other types that you can manually conform to ``VariantConvertible``.
26 |
27 | You can construct a ``Variant`` using these approaches, they are identical:
warning: 'Variant' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:27:23-27:30
25 | * Other types that you can manually conform to ``VariantConvertible``.
26 |
27 + You can construct a ``Variant`` using these approaches, they are identical:
28 |
29 | ```swift
warning: 'Variant' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:34:63-34:70
32 | ```
33 |
34 + You can get a string representation of a variant by calling ``Variant``'s
35 | ``Variant/description`` method:
36 |
warning: 'Variant' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:35:3-35:10
33 |
34 | You can get a string representation of a variant by calling ``Variant``'s
35 + ``Variant/description`` method:
36 |
37 | ```swift
warning: 'Variant' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:41:17-41:24
39 | ```
40 |
41 + If you have a ``Variant`` and want to extract its value, there are some patterns which you can use interchangeably,
42 | they are functionally identical:
43 |
warning: 'Variant?' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:94:6-94:14
92 | Note that all the functions above return `Bool?` because there is no guaruantee that
93 |
94 + 1. ``Variant?`` is actually not `nil`
95 | 2. ``Variant`` even if it's not `nil`, contains a ``Bool``
96 |
warning: 'Variant' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:95:6-95:13
93 |
94 | 1. ``Variant?`` is actually not `nil`
95 + 2. ``Variant`` even if it's not `nil`, contains a ``Bool``
96 |
97 | `variant.to(Type.self)`, `Type.fromVariant(variant)` return `T?`.
warning: 'Bool' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:95:53-95:57
93 |
94 | 1. ``Variant?`` is actually not `nil`
95 + 2. ``Variant`` even if it's not `nil`, contains a ``Bool``
96 |
97 | `variant.to(Type.self)`, `Type.fromVariant(variant)` return `T?`.
warning: 'PackedInt32Array' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:154:57-154:73
152 |
153 | In the following example, imagine that an API returns a Variant value that
154 + contains a dictionary with string keys and values are ``PackedInt32Array``, this
155 | is how you would decode this:
156 |
warning: 'PackedInt32Array' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:179:19-179:35
177 | The above shows a defensive style of programming, where we prepare for the
178 | possibility that we do not receive a dictionary, or the values in the dictionary
179 + are not of type ``PackedInt32Array``.
180 |
181 | The following examples shows how to encode an array that contains
warning: 'VariantArray' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:182:46-182:58
180 |
181 | The following examples shows how to encode an array that contains
182 + paris of file names and sizes into a Godot ``VariantArray`` with
183 | ``VariantDictionary`` elements:
184 |
warning: 'VariantDictionary' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:183:3-183:20
181 | The following examples shows how to encode an array that contains
182 | paris of file names and sizes into a Godot ``VariantArray`` with
183 + ``VariantDictionary`` elements:
184 |
185 | ```swift
warning: 'VariantArray' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:199:70-199:82
197 |
198 |
199 + The next example shows how to decode the result of the above. The ``VariantArray``
200 | and ``VariantDictionary`` are weakly typed, so the inverse operation takes a defensive
201 | approach.
warning: 'VariantDictionary' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:200:7-200:24
198 |
199 | The next example shows how to decode the result of the above. The ``VariantArray``
200 + and ``VariantDictionary`` are weakly typed, so the inverse operation takes a defensive
201 | approach.
202 |
warning: Invalid use of level-1 heading.
Level-1 headings are reserved for specifying the title of the document.
--> Variants.md:300:1-300:17
298 | ```
299 |
300 + # Under the hood
301 |
302 | SwiftGodot surfaces Variants in two ways, one is `Variant` that we have
warning: 'FastVariant' doesn't exist at '/SwiftGodot/Variants'
--> Variants.md:310:24-310:35
308 | API.
309 |
310 + There is an advanced ``FastVariant`` type that uses Swift's `~Copyable` support
| ╰─suggestion: Replace 'FastVariant' with 'Creating-Variant-values'
311 | that creates a lightweight Variant, and is essentially the same as the C++
312 | counterpart in terms of performance. This is used internally in SwiftGodot, and
Finished building documentation for 'SwiftGodot' (20.62s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/migueldeicaza/swiftgodot/v0.75.0
[0/3] Write swift-version-49B95AFC49DCD68C.txt
[1/4] Compiling _SwiftSyntaxCShims dummy.c
[2/5] Write Objects.LinkFileList
[3/5] Linking Generator-tool
[4/5] Applying Generator-tool
[5/8] Write swift-version-49B95AFC49DCD68C.txt
[6/9] Write Objects.LinkFileList
[7/9] Linking EntryPointGenerator-tool
[8/9] Applying EntryPointGenerator-tool
Building for debugging...
[0/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-49B95AFC49DCD68C.txt
[6/53] Compiling SymbolKit DeclarationFragments.swift
[7/53] Compiling SymbolKit Fragment.swift
[8/53] Compiling SymbolKit FragmentKind.swift
[9/53] Compiling SymbolKit FunctionParameter.swift
[10/53] Compiling SymbolKit FunctionSignature.swift
[11/57] Compiling SymbolKit Identifier.swift
[12/57] Compiling SymbolKit KindIdentifier.swift
[13/57] Compiling SymbolKit Location.swift
[14/57] Compiling SymbolKit Mutability.swift
[15/57] Compiling SymbolKit Names.swift
[16/57] Compiling SymbolKit SPI.swift
[17/57] Compiling SymbolKit Snippet.swift
[18/57] Compiling SymbolKit Extension.swift
[19/57] Compiling SymbolKit Mixin+Equals.swift
[20/57] Compiling SymbolKit Mixin+Hash.swift
[21/57] Compiling SymbolKit Mixin.swift
[22/57] Compiling SymbolKit LineList.swift
[23/57] Compiling SymbolKit Position.swift
[24/57] Compiling SymbolKit SourceRange.swift
[25/57] Compiling SymbolKit Metadata.swift
[26/57] Compiling SymbolKit Module.swift
[27/57] Compiling SymbolKit OperatingSystem.swift
[28/57] Compiling SymbolKit Platform.swift
[29/57] Emitting module SymbolKit
[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 GenericConstraint.swift
[36/57] Compiling SymbolKit GenericParameter.swift
[37/57] Compiling SymbolKit Generics.swift
[38/57] Compiling SymbolKit Namespace.swift
[39/57] Compiling SymbolKit SemanticVersion.swift
[40/57] Compiling SymbolKit AccessControl.swift
[41/57] Compiling SymbolKit Availability.swift
[42/57] Compiling SymbolKit AvailabilityItem.swift
[43/57] Compiling SymbolKit Domain.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Emitting module Snippets
[53/57] Compiling Snippets Snippet.swift
[54/57] Compiling Snippets SnippetParser.swift
[55/61] Emitting module snippet_extract
[56/61] Compiling snippet_extract SnippetBuildCommand.swift
[57/61] Compiling snippet_extract URL+Status.swift
[58/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (7.54s)
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
[1/4] Compiling _SwiftSyntaxCShims dummy.c
[2/5] Write Objects.LinkFileList
[3/5] Linking Generator-tool
[4/5] Generating SwiftGodot API for SwiftGodot
Looking for Image but did not exist in /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Generator-tool /Users/admin/builder/spi-builder-workspace/Sources/ExtensionApi/extension_api.json /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodotRuntime --class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-classes.txt --available-class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-available-classes.txt --builtin-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-builtins.txt
Looking for Node but did not exist in /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Generator-tool /Users/admin/builder/spi-builder-workspace/Sources/ExtensionApi/extension_api.json /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodotRuntime --class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-classes.txt --available-class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-available-classes.txt --builtin-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-builtins.txt
Looking for Node but did not exist in /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Generator-tool /Users/admin/builder/spi-builder-workspace/Sources/ExtensionApi/extension_api.json /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodotRuntime --class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-classes.txt --available-class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-available-classes.txt --builtin-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-builtins.txt
Looking for MainLoop but did not exist in /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Generator-tool /Users/admin/builder/spi-builder-workspace/Sources/ExtensionApi/extension_api.json /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodotRuntime --class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-classes.txt --available-class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-available-classes.txt --builtin-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-builtins.txt
Looking for ScriptLanguage but did not exist in /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Generator-tool /Users/admin/builder/spi-builder-workspace/Sources/ExtensionApi/extension_api.json /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodotRuntime --class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-classes.txt --available-class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-available-classes.txt --builtin-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-builtins.txt
Looking for ScriptLanguage but did not exist in /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Generator-tool /Users/admin/builder/spi-builder-workspace/Sources/ExtensionApi/extension_api.json /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodotRuntime --class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-classes.txt --available-class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-available-classes.txt --builtin-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-builtins.txt
Looking for ScriptLanguage but did not exist in /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Generator-tool /Users/admin/builder/spi-builder-workspace/Sources/ExtensionApi/extension_api.json /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/GeneratedSources/SwiftGodotRuntime --class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-classes.txt --available-class-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-available-classes.txt --builtin-filter /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/SwiftGodotRuntime/destination/CodeGeneratorPlugin/Configuration/SwiftGodotRuntime-builtins.txt
[5/6] Generating SwiftGodot API for SwiftGodotRuntime
Build of target: 'SwiftGodot' complete! (5.51s)
Target: ExtensionApi
Found unhandled resource at /Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotMacrosTests/Resources
Extracting symbol information for 'ExtensionApi'...
Found unhandled resource at /Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotMacrosTests/Resources
Finished extracting symbol information for 'ExtensionApi'. (2.23s)
Building documentation for 'ExtensionApi'...
Finished building documentation for 'ExtensionApi' (0.24s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/migueldeicaza/swiftgodot/v0.75.0
[0/3] Write swift-version-49B95AFC49DCD68C.txt
[1/4] Compiling _SwiftSyntaxCShims dummy.c
[2/5] Write Objects.LinkFileList
[3/5] Linking Generator-tool
[4/5] Applying Generator-tool
[5/8] Write swift-version-49B95AFC49DCD68C.txt
[6/9] Write Objects.LinkFileList
[7/9] Linking EntryPointGenerator-tool
[8/9] Applying EntryPointGenerator-tool
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (3.77s)
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'ExtensionApi' complete! (2.12s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/migueldeicaza/swiftgodot/v0.75.0/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/migueldeicaza/swiftgodot/v0.75.0/linkable-paths.json
55092
350 /Users/admin/builder/spi-builder-workspace/.docs/migueldeicaza/swiftgodot/v0.75.0
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/migueldeicaza/swiftgodot/v0.75.0
File count: 55092
Doc size: 350.0MB
Preparing doc bundle ...
Uploading prod-migueldeicaza-swiftgodot-v0.75.0-2205ca47.zip to s3://spi-docs-inbox/prod-migueldeicaza-swiftgodot-v0.75.0-2205ca47.zip
Copying... [10%]
Copying... [20%]
Copying... [30%]
Copying... [40%]
Copying... [50%]
Copying... [60%]
Copying... [70%]
Copying... [80%]
Copying... [90%]
Copying... [100%]
Done.