bevy/crates
Chris Juchem c620eb7833
Return Results from Camera's world/viewport conversion methods (#14989)
# Objective

- Fixes https://github.com/bevyengine/bevy/issues/14593.

## Solution

- Add `ViewportConversionError` and return it from viewport conversion
methods on Camera.

## Testing

- I successfully compiled and ran all changed examples.

## Migration Guide

The following methods on `Camera` now return a `Result` instead of an
`Option` so that they can provide more information about failures:
 - `world_to_viewport`
 - `world_to_viewport_with_depth`
 - `viewport_to_world`
 - `viewport_to_world_2d`

Call `.ok()` on the `Result` to turn it back into an `Option`, or handle
the `Result` directly.

---------

Co-authored-by: Lixou <82600264+DasLixou@users.noreply.github.com>
Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
Co-authored-by: Zachary Harrold <zac@harrold.com.au>
2024-09-03 19:45:15 +00:00
..
bevy_a11y Add Reflect derive to bevy_a11y::Focus (#14763) 2024-08-15 17:33:20 +00:00
bevy_animation Implement animation masks, allowing fine control of the targets that animations affect. (#15013) 2024-09-02 17:10:34 +00:00
bevy_app Migrated NonZero* to NonZero<*> (#14978) 2024-08-30 02:37:47 +00:00
bevy_asset Use CowArc::Static (#14981) 2024-08-30 01:22:11 +00:00
bevy_audio Generate links to definition in source code pages on docs.rs and dev-docs.bevyengine.org (#12965) 2024-07-29 23:10:16 +00:00
bevy_color Color gradient curve (#14976) 2024-09-02 23:26:30 +00:00
bevy_core Generate links to definition in source code pages on docs.rs and dev-docs.bevyengine.org (#12965) 2024-07-29 23:10:16 +00:00
bevy_core_pipeline Migrated NonZero* to NonZero<*> (#14978) 2024-08-30 02:37:47 +00:00
bevy_derive Remove deprecated bevy_dynamic_plugin (#14534) 2024-07-30 15:31:08 +00:00
bevy_dev_tools Return Results from Camera's world/viewport conversion methods (#14989) 2024-09-03 19:45:15 +00:00
bevy_diagnostic Apply unused_qualifications lint (#14828) 2024-08-21 12:29:33 +00:00
bevy_dylib Generate links to definition in source code pages on docs.rs and dev-docs.bevyengine.org (#12965) 2024-07-29 23:10:16 +00:00
bevy_ecs Bump crate-ci/typos from 1.24.1 to 1.24.3 (#15024) 2024-09-03 00:57:41 +00:00
bevy_encase_derive Generate links to definition in source code pages on docs.rs and dev-docs.bevyengine.org (#12965) 2024-07-29 23:10:16 +00:00
bevy_gilrs Generate links to definition in source code pages on docs.rs and dev-docs.bevyengine.org (#12965) 2024-07-29 23:10:16 +00:00
bevy_gizmos Curve gizmos integration (#14971) 2024-08-29 16:48:22 +00:00
bevy_gltf Apply unused_qualifications lint (#14828) 2024-08-21 12:29:33 +00:00
bevy_hierarchy Fix with_child not inserting Parent component (#15009) 2024-09-02 22:47:25 +00:00
bevy_input Fix common capitalization errors in documentation (#14562) 2024-07-31 21:16:05 +00:00
bevy_internal Add bevy_picking sprite backend (#14757) 2024-08-26 18:01:32 +00:00
bevy_log Updated LogPlugin Documentation with Performance Warning (#14984) 2024-09-03 00:48:19 +00:00
bevy_macro_utils Generate links to definition in source code pages on docs.rs and dev-docs.bevyengine.org (#12965) 2024-07-29 23:10:16 +00:00
bevy_math Curve gizmos integration (#14971) 2024-08-29 16:48:22 +00:00
bevy_mikktspace Fix underflow panic in InitTriInfo (#14893) 2024-08-25 14:13:23 +00:00
bevy_pbr Migrated NonZero* to NonZero<*> (#14978) 2024-08-30 02:37:47 +00:00
bevy_picking Return Results from Camera's world/viewport conversion methods (#14989) 2024-09-03 19:45:15 +00:00
bevy_ptr Migrated NonZero* to NonZero<*> (#14978) 2024-08-30 02:37:47 +00:00
bevy_reflect Reflect SmolStr's De/Serialize implementation (#14982) 2024-09-02 22:35:17 +00:00
bevy_render Return Results from Camera's world/viewport conversion methods (#14989) 2024-09-03 19:45:15 +00:00
bevy_scene reflect: implement the unique reflect rfc (#7207) 2024-08-12 17:01:41 +00:00
bevy_sprite Return Results from Camera's world/viewport conversion methods (#14989) 2024-09-03 19:45:15 +00:00
bevy_state Fix compile error caused by incorrect feature flag in bevy_state (#14987) 2024-08-30 18:57:08 +00:00
bevy_tasks Migrated NonZero* to NonZero<*> (#14978) 2024-08-30 02:37:47 +00:00
bevy_text Avoid reallocating spans buffer in TextPipeline (#15012) 2024-09-02 17:02:06 +00:00
bevy_time Allow ordering variable timesteps around fixed timesteps (#14881) 2024-08-23 16:19:42 +00:00
bevy_transform Generate links to definition in source code pages on docs.rs and dev-docs.bevyengine.org (#12965) 2024-07-29 23:10:16 +00:00
bevy_ui Return Results from Camera's world/viewport conversion methods (#14989) 2024-09-03 19:45:15 +00:00
bevy_utils Replace bevy_utils::CowArc with atomicow (#14977) 2024-08-30 00:43:07 +00:00
bevy_window Migrated NonZero* to NonZero<*> (#14978) 2024-08-30 02:37:47 +00:00
bevy_winit Have EntityCommands methods consume self for easier chaining (#14897) 2024-08-26 18:24:59 +00:00