{"record":{"id":"0cffec3211efd8b7","repo":"bevyengine/bevy","slug":"computed-coordinate-beyond-camera-s-near-plane","errorCode":null,"errorMessage":"computed coordinate beyond `Camera`'s near plane","messagePattern":"computed coordinate beyond `Camera`'s near plane","errorType":"exception","errorClass":"ViewportConversionError","httpStatus":null,"severity":"error","filePath":"crates/bevy_camera/src/camera.rs","lineNumber":345,"sourceCode":"/// Error returned when a conversion between world-space and viewport-space coordinates fails.\n///\n/// See [`world_to_viewport`][Camera::world_to_viewport] and [`viewport_to_world`][Camera::viewport_to_world].\n#[derive(Debug, Eq, PartialEq, Copy, Clone, Error)]\npub enum ViewportConversionError {\n    /// The pre-computed size of the viewport was not available.\n    ///\n    /// This may be because the `Camera` was just created and `camera_system` has not been executed\n    /// yet, or because the [`RenderTarget`] is misconfigured in one of the following ways:\n    ///   - it references the [`PrimaryWindow`](RenderTarget::Window) when there is none,\n    ///   - it references a [`Window`](RenderTarget::Window) entity that doesn't exist or doesn't actually have a `Window` component,\n    ///   - it references an [`Image`](RenderTarget::Image) that doesn't exist (invalid handle),\n    ///   - it references a [`TextureView`](RenderTarget::TextureView) that doesn't exist (invalid handle).\n    #[error(\"pre-computed size of viewport not available\")]\n    NoViewportSize,\n    /// The computed coordinate was beyond the `Camera`'s near plane.\n    ///\n    /// Only applicable when converting from world-space to viewport-space.\n    #[error(\"computed coordinate beyond `Camera`'s near plane\")]\n    PastNearPlane,\n    /// The computed coordinate was beyond the `Camera`'s far plane.\n    ///\n    /// Only applicable when converting from world-space to viewport-space.\n    #[error(\"computed coordinate beyond `Camera`'s far plane\")]\n    PastFarPlane,\n    /// The Normalized Device Coordinates could not be computed because the `camera_transform`, the\n    /// `world_position`, or the projection matrix defined by [`Projection`](super::projection::Projection)\n    /// contained `NAN` (see [`world_to_ndc`][Camera::world_to_ndc] and [`ndc_to_world`][Camera::ndc_to_world]).\n    #[error(\"found NaN while computing NDC\")]\n    InvalidData,\n}\n\n/// The defining [`Component`] for camera entities,\n/// storing information about how and what to render through this camera.\n///\n/// The [`Camera`] component is added to an entity to define the properties of the viewpoint from\n/// which rendering occurs. It defines the position of the view to render, the projection method","sourceCodeStart":327,"sourceCodeEnd":363,"githubUrl":"https://github.com/bevyengine/bevy/blob/396ca727080776bd313bb892423b7d94e03b81b4/crates/bevy_camera/src/camera.rs#L327-L363","documentation":"ViewportConversionError::BeyondNear: the world-space position being converted lies behind or exactly on the camera's near clipping plane, so projecting it to viewport (screen) coordinates is undefined and the conversion returns an error instead of garbage coordinates.","triggerScenarios":"Thrown at crates/bevy_camera/src/camera.rs:345 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Move the point in front of the camera (distance > near clip)","Increase the near plane distance if points legitimately sit very close","Treat entities behind the camera as off-screen and skip them"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"396ca727080776bd313bb892423b7d94e03b81b4","analyzedAt":"2026-08-20T16:12:39.808Z","contentChangedAt":"2026-08-20T16:12:39.808Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}