Skip to content

Tracking issue for builtin feature-completeness #310

@lilizoey

Description

@lilizoey

More detailed breakdown of the builtin types than present in #24.

Similar to #209 and #143, there are more builtins missing functions, here's a list of our progress when it comes to implementing all functionality.

The missing functionality here is largely going to be easy to reimplement, unless otherwise specified. We should try to reimplement what we can in rust, but for many types (like for instance the stringy types) it's likely not going to be very easy to do so. In those cases we can simply make a wrapper around a call to the InnerX type, (for instance InnerGString for GString). Which simply makes a call to godot to call that function.

For anything labelled ❔ it would be good to check if all the godot methods are implemented yet. Feel free to leave a comment on this post if you do. Keep in mind that not everything is directly implemented as a method in rust, some things for instance are trait implementations, for instance Projection(Transform3D from) was reimplemented as a impl From<Transform3D> for Projection { .. }.

Legend

🟥 bare-bones, missing almost everything
🟡 most functions re-implemented
💚 all planned functions re-implemented, (could still mean there are QOL things we could add)
🚧 work already in progress
❔ to be confirmed if everything is re-implemented

Stringy Types

Bounding Boxes

Matrices

Vectors

  • Vector2 💚
    • missing documentation
    • todo note - compare slerp with gdnative
  • Vector2i 💚
  • Vector3 💚
  • Vector3i 💚
  • Vector4 💚
  • Vector4i 💚
  • snapped for int vectors 🟥

Misc Math

Arrays

  • Packed*Array 💚
  • PackedByteArray 🟡
    • compress/decompress should likely just defer to godot implementation
    • encode_*/decode_* and get_string_from_* can be done through slice(), is this sufficient?
    • has_encoded_var
    • hex_encode

Standard Collections

  • Dictionary 🟡
    • Consider whether we should include the read-only semantics with is_read_only() and make_read_only()
  • Array 🟡
    • [x]bsearch_custom()
    • sort_custom()
    • Consider whether we should include the read-only semantics with is_read_only() and make_read_only()

Other

Metadata

Metadata

Assignees

No one assigned

    Labels

    c: coreCore componentsfeatureAdds functionality to the librarygood first issueGood for newcomerstrackerGroups a list of related issues and tracks progress

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions