Back to Raylib Rs

raylib 6.0 ↔ safe-binding parity checklist

docs/superpowers/parity-checklist.md

6.0.019.5 KB
Original Source

raylib 6.0 ↔ safe-binding parity checklist

Generated by find_unimplemented.py. 508 implemented · 43 wont-impl (std/shim) · 49 TODO of 600 RLAPI fns.

Legend: [x] wrapped · [~] intentionally skipped (Rust std / see reason) · [ ] TODO

raylib.h — RLAPI surface

  • InitWindow
  • CloseWindow
  • WindowShouldClose
  • IsWindowReady
  • IsWindowFullscreen
  • IsWindowHidden
  • IsWindowMinimized
  • IsWindowMaximized
  • IsWindowFocused
  • IsWindowResized
  • IsWindowState
  • SetWindowState
  • ClearWindowState
  • ToggleFullscreen
  • ToggleBorderlessWindowed
  • MaximizeWindow
  • MinimizeWindow
  • RestoreWindow
  • SetWindowIcon
  • SetWindowIcons
  • SetWindowTitle
  • SetWindowPosition
  • SetWindowMonitor
  • SetWindowMinSize
  • SetWindowMaxSize
  • SetWindowSize
  • SetWindowOpacity
  • SetWindowFocused
  • GetWindowHandle
  • GetScreenWidth
  • GetScreenHeight
  • GetRenderWidth
  • GetRenderHeight
  • GetMonitorCount
  • GetCurrentMonitor
  • GetMonitorPosition
  • GetMonitorWidth
  • GetMonitorHeight
  • GetMonitorPhysicalWidth
  • GetMonitorPhysicalHeight
  • GetMonitorRefreshRate
  • GetWindowPosition
  • GetWindowScaleDPI
  • GetMonitorName
  • SetClipboardText
  • GetClipboardText
  • GetClipboardImage
  • EnableEventWaiting
  • DisableEventWaiting
  • ShowCursor
  • HideCursor
  • IsCursorHidden
  • EnableCursor
  • DisableCursor
  • IsCursorOnScreen
  • ClearBackground
  • BeginDrawing
  • EndDrawing
  • BeginMode2D
  • EndMode2D
  • BeginMode3D
  • EndMode3D
  • BeginTextureMode
  • EndTextureMode
  • BeginShaderMode
  • EndShaderMode
  • BeginBlendMode
  • EndBlendMode
  • BeginScissorMode
  • EndScissorMode
  • BeginVrStereoMode
  • EndVrStereoMode

VR stereo config functions for VR simulator

  • LoadVrStereoConfig
  • UnloadVrStereoConfig

Shader management functions

  • LoadShader
  • LoadShaderFromMemory
  • IsShaderValid
  • GetShaderLocation
  • GetShaderLocationAttrib
  • SetShaderValue
  • SetShaderValueV
  • SetShaderValueMatrix
  • SetShaderValueTexture
  • UnloadShader
  • GetScreenToWorldRay
  • GetScreenToWorldRayEx
  • GetWorldToScreen
  • GetWorldToScreenEx
  • GetWorldToScreen2D
  • GetScreenToWorld2D
  • GetCameraMatrix
  • GetCameraMatrix2D
  • SetTargetFPS
  • GetFrameTime
  • GetTime
  • GetFPS

Custom frame control functions

  • SwapScreenBuffer
  • PollInputEvents
  • WaitTime

Random values generation functions

  • SetRandomSeed
  • GetRandomValue
  • LoadRandomSequence
  • UnloadRandomSequence

Misc. functions

  • TakeScreenshot
  • SetConfigFlags
  • OpenURL
  • SetTraceLogLevel
  • TraceLog
  • [~] SetTraceLogCallback — implemented via C shim; not detected by the ffi:: scan
  • MemAlloc
  • [~] MemRealloc — not needed
  • MemFree

File system management functions

  • [~] LoadFileData — std::fs::read
  • [~] UnloadFileData — Drop
  • [~] SaveFileData — std::fs::write
  • ExportDataAsCode
  • [~] LoadFileText — std::fs::read_to_string
  • [~] UnloadFileText — Drop
  • [~] SaveFileText — std::fs::write
  • SetLoadFileDataCallback
  • SetSaveFileDataCallback
  • SetLoadFileTextCallback
  • SetSaveFileTextCallback
  • FileRename
  • FileRemove
  • FileCopy
  • FileMove
  • FileTextReplace
  • FileTextFindIndex
  • [~] FileExists — Path::exists
  • [~] DirectoryExists — Path::is_dir
  • IsFileExtension
  • GetFileLength
  • [~] GetFileModTime — fs::Metadata::modified
  • [~] GetFileExtension — Path::extension
  • [~] GetFileName — Path::file_name
  • [~] GetFileNameWithoutExt — Path::file_stem
  • [~] GetDirectoryPath — Path::parent
  • [~] GetPrevDirectoryPath — Path ops
  • [~] GetWorkingDirectory — std::env::current_dir
  • GetApplicationDirectory
  • [~] MakeDirectory — std::fs::create_dir_all
  • [~] ChangeDirectory — std::env::set_current_dir
  • IsPathFile
  • [~] IsFileNameValid — Rust path validation
  • LoadDirectoryFiles
  • LoadDirectoryFilesEx
  • UnloadDirectoryFiles
  • IsFileDropped
  • LoadDroppedFiles
  • UnloadDroppedFiles
  • GetDirectoryFileCount
  • GetDirectoryFileCountEx

Compression/Encoding functionality

  • CompressData
  • DecompressData
  • EncodeDataBase64
  • DecodeDataBase64
  • ComputeCRC32
  • ComputeMD5
  • ComputeSHA1
  • ComputeSHA256

Automation events functionality

  • LoadAutomationEventList
  • UnloadAutomationEventList
  • ExportAutomationEventList
  • SetAutomationEventList
  • SetAutomationEventBaseFrame
  • StartAutomationEventRecording
  • StopAutomationEventRecording
  • PlayAutomationEvent
  • IsKeyPressed
  • IsKeyPressedRepeat
  • IsKeyDown
  • IsKeyReleased
  • IsKeyUp
  • GetKeyPressed
  • GetCharPressed
  • GetKeyName
  • SetExitKey
  • IsGamepadAvailable
  • GetGamepadName
  • IsGamepadButtonPressed
  • IsGamepadButtonDown
  • IsGamepadButtonReleased
  • IsGamepadButtonUp
  • GetGamepadButtonPressed
  • GetGamepadAxisCount
  • GetGamepadAxisMovement
  • SetGamepadMappings
  • SetGamepadVibration
  • IsMouseButtonPressed
  • IsMouseButtonDown
  • IsMouseButtonReleased
  • IsMouseButtonUp
  • GetMouseX
  • GetMouseY
  • GetMousePosition
  • GetMouseDelta
  • SetMousePosition
  • SetMouseOffset
  • SetMouseScale
  • GetMouseWheelMove
  • GetMouseWheelMoveV
  • SetMouseCursor
  • GetTouchX
  • GetTouchY
  • GetTouchPosition
  • GetTouchPointId
  • GetTouchPointCount

Gestures and Touch Handling Functions (Module: rgestures)

  • SetGesturesEnabled
  • IsGestureDetected
  • GetGestureDetected
  • GetGestureHoldDuration
  • GetGestureDragVector
  • GetGestureDragAngle
  • GetGesturePinchVector
  • GetGesturePinchAngle

Camera System Functions (Module: rcamera)

  • UpdateCamera
  • UpdateCameraPro

Basic Shapes Drawing Functions (Module: shapes)

  • SetShapesTexture
  • GetShapesTexture
  • GetShapesTextureRectangle

Basic shapes drawing functions

  • DrawPixel
  • DrawPixelV
  • DrawLine
  • DrawLineV
  • DrawLineEx
  • DrawLineStrip
  • DrawLineBezier
  • DrawLineDashed
  • DrawCircle
  • DrawCircleV
  • DrawCircleGradient
  • DrawCircleSector
  • DrawCircleSectorLines
  • DrawCircleLines
  • DrawCircleLinesV
  • DrawEllipse
  • DrawEllipseV
  • DrawEllipseLines
  • DrawEllipseLinesV
  • DrawRing
  • DrawRingLines
  • DrawRectangle
  • DrawRectangleV
  • DrawRectangleRec
  • DrawRectanglePro
  • DrawRectangleGradientV
  • DrawRectangleGradientH
  • DrawRectangleGradientEx
  • DrawRectangleLines
  • DrawRectangleLinesEx
  • DrawRectangleRounded
  • DrawRectangleRoundedLines
  • DrawRectangleRoundedLinesEx
  • DrawTriangle
  • DrawTriangleLines
  • DrawTriangleFan
  • DrawTriangleStrip
  • DrawPoly
  • DrawPolyLines
  • DrawPolyLinesEx

Splines drawing functions

  • DrawSplineLinear
  • DrawSplineBasis
  • DrawSplineCatmullRom
  • DrawSplineBezierQuadratic
  • DrawSplineBezierCubic
  • DrawSplineSegmentLinear
  • DrawSplineSegmentBasis
  • DrawSplineSegmentCatmullRom
  • DrawSplineSegmentBezierQuadratic
  • DrawSplineSegmentBezierCubic

Spline segment point evaluation functions, for a given t [0.0f .. 1.0f]

  • GetSplinePointLinear
  • GetSplinePointBasis
  • GetSplinePointCatmullRom
  • GetSplinePointBezierQuad
  • GetSplinePointBezierCubic

Basic shapes collision detection functions

  • CheckCollisionRecs
  • CheckCollisionCircles
  • CheckCollisionCircleRec
  • CheckCollisionCircleLine
  • CheckCollisionPointRec
  • CheckCollisionPointCircle
  • CheckCollisionPointTriangle
  • CheckCollisionPointLine
  • CheckCollisionPointPoly
  • CheckCollisionLines
  • GetCollisionRec

Image loading functions

  • LoadImage
  • LoadImageRaw
  • LoadImageAnim
  • LoadImageAnimFromMemory
  • LoadImageFromMemory
  • LoadImageFromTexture
  • LoadImageFromScreen
  • IsImageValid
  • UnloadImage
  • ExportImage
  • ExportImageToMemory
  • ExportImageAsCode

Image generation functions

  • GenImageColor
  • GenImageGradientLinear
  • GenImageGradientRadial
  • GenImageGradientSquare
  • GenImageChecked
  • GenImageWhiteNoise
  • GenImagePerlinNoise
  • GenImageCellular
  • GenImageText

Image manipulation functions

  • ImageCopy
  • ImageFromImage
  • ImageFromChannel
  • ImageText
  • ImageTextEx
  • ImageFormat
  • ImageToPOT
  • ImageCrop
  • ImageAlphaCrop
  • ImageAlphaClear
  • ImageAlphaMask
  • ImageAlphaPremultiply
  • ImageBlurGaussian
  • ImageKernelConvolution
  • ImageResize
  • ImageResizeNN
  • ImageResizeCanvas
  • ImageMipmaps
  • ImageDither
  • ImageFlipVertical
  • ImageFlipHorizontal
  • ImageRotate
  • ImageRotateCW
  • ImageRotateCCW
  • ImageColorTint
  • ImageColorInvert
  • ImageColorGrayscale
  • ImageColorContrast
  • ImageColorBrightness
  • ImageColorReplace
  • LoadImageColors
  • LoadImagePalette
  • UnloadImageColors
  • UnloadImagePalette
  • GetImageAlphaBorder
  • GetImageColor

Image drawing functions

  • ImageClearBackground
  • ImageDrawPixel
  • ImageDrawPixelV
  • ImageDrawLine
  • ImageDrawLineV
  • ImageDrawLineEx
  • ImageDrawCircle
  • ImageDrawCircleV
  • ImageDrawCircleLines
  • ImageDrawCircleLinesV
  • ImageDrawRectangle
  • ImageDrawRectangleV
  • ImageDrawRectangleRec
  • ImageDrawRectangleLines
  • ImageDrawTriangle
  • ImageDrawTriangleEx
  • ImageDrawTriangleLines
  • ImageDrawTriangleFan
  • ImageDrawTriangleStrip
  • ImageDraw
  • ImageDrawText
  • ImageDrawTextEx

Texture loading functions

  • LoadTexture
  • LoadTextureFromImage
  • LoadTextureCubemap
  • LoadRenderTexture
  • IsTextureValid
  • UnloadTexture
  • IsRenderTextureValid
  • UnloadRenderTexture
  • UpdateTexture
  • UpdateTextureRec

Texture configuration functions

  • GenTextureMipmaps
  • SetTextureFilter
  • SetTextureWrap

Texture drawing functions

  • DrawTexture
  • DrawTextureV
  • DrawTextureEx
  • DrawTextureRec
  • DrawTexturePro
  • DrawTextureNPatch
  • ColorIsEqual
  • Fade
  • ColorToInt
  • ColorNormalize
  • ColorFromNormalized
  • ColorToHSV
  • ColorFromHSV
  • ColorTint
  • ColorBrightness
  • ColorContrast
  • ColorAlpha
  • ColorAlphaBlend
  • ColorLerp
  • GetColor
  • GetPixelColor
  • SetPixelColor
  • GetPixelDataSize

Font loading/unloading functions

  • GetFontDefault
  • LoadFont
  • LoadFontEx
  • LoadFontFromImage
  • LoadFontFromMemory
  • IsFontValid
  • LoadFontData
  • GenImageFontAtlas
  • UnloadFontData
  • UnloadFont
  • ExportFontAsCode

Text drawing functions

  • DrawFPS
  • DrawText
  • DrawTextEx
  • DrawTextPro
  • DrawTextCodepoint
  • DrawTextCodepoints

Text font info functions

  • SetTextLineSpacing
  • MeasureText
  • MeasureTextEx
  • MeasureTextCodepoints
  • GetGlyphIndex
  • GetGlyphInfo
  • GetGlyphAtlasRec

Text codepoints management functions (unicode characters)

  • [~] LoadUTF8 — String/str
  • [~] UnloadUTF8 — String/str
  • LoadCodepoints
  • UnloadCodepoints
  • GetCodepointCount
  • GetCodepoint
  • [~] GetCodepointNext — Rust str/char iteration
  • [~] GetCodepointPrevious — Rust str/char iteration
  • [~] CodepointToUTF8 — char::encode_utf8

Text strings management functions (no UTF-8 strings, only byte chars)

  • LoadTextLines
  • UnloadTextLines
  • [~] TextCopy — String
  • [~] TextIsEqual — str ==
  • [~] TextLength — str::len
  • [~] TextFormat — format!
  • [~] TextSubtext — str slicing
  • TextRemoveSpaces
  • GetTextBetween
  • [~] TextReplace — str::replace
  • TextReplaceAlloc
  • TextReplaceBetween
  • TextReplaceBetweenAlloc
  • [~] TextInsert — String::insert_str
  • TextInsertAlloc
  • [~] TextJoin — [T]::join
  • [~] TextSplit — str::split
  • [~] TextAppend — String::push_str
  • [~] TextFindIndex — str::find
  • [~] TextToUpper — str::to_uppercase
  • [~] TextToLower — str::to_lowercase
  • [~] TextToPascal — Rust string ops
  • [~] TextToSnake — Rust string ops
  • [~] TextToCamel — Rust string ops
  • [~] TextToInteger — str::parse
  • [~] TextToFloat — str::parse

Basic geometric 3D shapes drawing functions

  • DrawLine3D
  • DrawPoint3D
  • DrawCircle3D
  • DrawTriangle3D
  • DrawTriangleStrip3D
  • DrawCube
  • DrawCubeV
  • DrawCubeWires
  • DrawCubeWiresV
  • DrawSphere
  • DrawSphereEx
  • DrawSphereWires
  • DrawCylinder
  • DrawCylinderEx
  • DrawCylinderWires
  • DrawCylinderWiresEx
  • DrawCapsule
  • DrawCapsuleWires
  • DrawPlane
  • DrawRay
  • DrawGrid

Model management functions

  • LoadModel
  • LoadModelFromMesh
  • IsModelValid
  • UnloadModel
  • GetModelBoundingBox

Model drawing functions

  • DrawModel
  • DrawModelEx
  • DrawModelWires
  • DrawModelWiresEx
  • DrawBoundingBox
  • DrawBillboard
  • DrawBillboardRec
  • DrawBillboardPro

Mesh management functions

  • UploadMesh
  • UpdateMeshBuffer
  • UnloadMesh
  • DrawMesh
  • DrawMeshInstanced
  • GetMeshBoundingBox
  • GenMeshTangents
  • ExportMesh
  • ExportMeshAsCode

Mesh generation functions

  • GenMeshPoly
  • GenMeshPlane
  • GenMeshCube
  • GenMeshSphere
  • GenMeshHemiSphere
  • GenMeshCylinder
  • GenMeshCone
  • GenMeshTorus
  • GenMeshKnot
  • GenMeshHeightmap
  • GenMeshCubicmap

Material loading/unloading functions

  • LoadMaterials
  • LoadMaterialDefault
  • IsMaterialValid
  • UnloadMaterial
  • SetMaterialTexture
  • SetModelMeshMaterial

Model animations loading/unloading functions

  • LoadModelAnimations
  • UpdateModelAnimation
  • UpdateModelAnimationEx
  • UnloadModelAnimations
  • IsModelAnimationValid

Collision detection functions

  • CheckCollisionSpheres
  • CheckCollisionBoxes
  • CheckCollisionBoxSphere
  • GetRayCollisionSphere
  • GetRayCollisionBox
  • GetRayCollisionMesh
  • GetRayCollisionTriangle
  • GetRayCollisionQuad

Audio device management functions

  • InitAudioDevice
  • CloseAudioDevice
  • IsAudioDeviceReady
  • SetMasterVolume
  • GetMasterVolume

Wave/Sound loading/unloading functions

  • LoadWave
  • LoadWaveFromMemory
  • IsWaveValid
  • LoadSound
  • LoadSoundFromWave
  • LoadSoundAlias
  • IsSoundValid
  • UpdateSound
  • UnloadWave
  • UnloadSound
  • UnloadSoundAlias
  • ExportWave
  • ExportWaveAsCode

Wave/Sound management functions

  • PlaySound
  • StopSound
  • PauseSound
  • ResumeSound
  • IsSoundPlaying
  • SetSoundVolume
  • SetSoundPitch
  • SetSoundPan
  • WaveCopy
  • WaveCrop
  • WaveFormat
  • LoadWaveSamples
  • UnloadWaveSamples

Music management functions

  • LoadMusicStream
  • LoadMusicStreamFromMemory
  • IsMusicValid
  • UnloadMusicStream
  • PlayMusicStream
  • IsMusicStreamPlaying
  • UpdateMusicStream
  • StopMusicStream
  • PauseMusicStream
  • ResumeMusicStream
  • SeekMusicStream
  • SetMusicVolume
  • SetMusicPitch
  • SetMusicPan
  • GetMusicTimeLength
  • GetMusicTimePlayed

AudioStream management functions

  • LoadAudioStream
  • IsAudioStreamValid
  • UnloadAudioStream
  • UpdateAudioStream
  • IsAudioStreamProcessed
  • PlayAudioStream
  • PauseAudioStream
  • ResumeAudioStream
  • IsAudioStreamPlaying
  • StopAudioStream
  • SetAudioStreamVolume
  • SetAudioStreamPitch
  • SetAudioStreamPan
  • SetAudioStreamBufferSizeDefault
  • SetAudioStreamCallback
  • AttachAudioStreamProcessor
  • DetachAudioStreamProcessor
  • AttachAudioMixedProcessor
  • DetachAudioMixedProcessor

raygui.h — RAYGUIAPI surface

Raygui parity completed in WS5a (broad rework: impl AsRef<str> + scratch-buffer convention, module split into grouped sub-traits).

57 implemented · 0 wont-impl · 0 TODO of 57 RAYGUIAPI fns.

Deferred: GuiLoadStyleFromMemory (PR #296) — the symbol is absent from the vendored raylib-sys/binding/raygui.h; revisit when the vendored raygui advances (per inventory.md).

Global gui state control functions

  • GuiEnable
  • GuiDisable
  • GuiLock
  • GuiUnlock
  • GuiIsLocked
  • GuiSetAlpha
  • GuiSetState
  • GuiGetState

Font set/get functions

  • GuiSetFont
  • GuiGetFont

Style set/get functions

  • GuiSetStyle
  • GuiGetStyle

Styles loading functions

  • GuiLoadStyle
  • GuiLoadStyleDefault

Tooltips management functions

  • GuiEnableTooltip
  • GuiDisableTooltip
  • GuiSetTooltip

Icons functionality

  • GuiIconText
  • GuiSetIconScale
  • GuiGetIcons — safe gui_get_icons(&self) -> &[[u32; 8]; 256] + gui_get_icons_mut(&mut self); _raw removed (breaking)
  • GuiLoadIcons — safe abstraction deferred to Task 6 (gui_load_icons / gui_load_icons_with_names); _raw removed (breaking)
  • GuiDrawIcon

Container/separator controls, useful for controls organization

  • GuiWindowBox
  • GuiGroupBox
  • GuiLine
  • GuiPanel
  • GuiTabBar
  • GuiScrollPanel

Basic controls set

  • GuiLabel
  • GuiButton
  • GuiLabelButton
  • GuiToggle
  • GuiToggleGroup
  • GuiToggleSlider
  • GuiCheckBox
  • GuiComboBox
  • GuiDropdownBox
  • GuiSpinner
  • GuiValueBox
  • GuiValueBoxFloat
  • GuiTextBox
  • GuiSlider
  • GuiSliderBar
  • GuiProgressBar
  • GuiStatusBar
  • GuiDummyRec
  • GuiGrid

Advance controls set

  • GuiListView
  • GuiListViewEx
  • GuiMessageBox
  • GuiTextInputBox
  • GuiColorPicker
  • GuiColorPanel
  • GuiColorBarAlpha
  • GuiColorBarHue
  • GuiColorPickerHSV
  • GuiColorPanelHSV