aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/display/components.rs14
-rw-r--r--src/display/systems.rs8
-rw-r--r--src/input/systems.rs2
-rw-r--r--src/lib.rs46
4 files changed, 31 insertions, 39 deletions
diff --git a/src/display/components.rs b/src/display/components.rs
index 4459325..1deb6f5 100644
--- a/src/display/components.rs
+++ b/src/display/components.rs
@@ -1,6 +1,6 @@
use bevy::{prelude::*, render::render_resource::{Extent3d, TextureDescriptor, TextureDimension, TextureFormat, TextureUsages}};
use bevy_dither_post_process::components::DitherPostProcessSettings;
-use bevy_framebuffer_extract::{components::{ExtractFramebufferBundle, FramebufferExtractDestination}, render_assets::FramebufferExtractSource};
+use bevy_headless_render::{components::{HeadlessRenderBundle, HeadlessRenderDestination}, render_assets::HeadlessRenderSource};
/// Marker component for terminal display
#[derive(Component)]
@@ -11,8 +11,8 @@ pub struct TerminalDisplay;
#[derive(Bundle)]
pub struct TerminalDisplayBundle {
_terminal_display: TerminalDisplay,
- extract_framebuffer_bundle: ExtractFramebufferBundle,
- dither_post_process_settings: DitherPostProcessSettings,
+ _headless_render_bundle: HeadlessRenderBundle,
+ _dither_post_process_settings: DitherPostProcessSettings,
image_handle: Handle<Image>,
}
@@ -48,16 +48,16 @@ impl TerminalDisplayBundle {
let image_handle = asset_server.add(image);
let framebuffer_extract_source =
- asset_server.add(FramebufferExtractSource(image_handle.clone()));
+ asset_server.add(HeadlessRenderSource(image_handle.clone()));
Self {
_terminal_display: TerminalDisplay,
- extract_framebuffer_bundle: ExtractFramebufferBundle {
+ _headless_render_bundle: HeadlessRenderBundle {
source: framebuffer_extract_source,
- dest: FramebufferExtractDestination::default(),
+ dest: HeadlessRenderDestination::default(),
},
image_handle,
- dither_post_process_settings: DitherPostProcessSettings::new(
+ _dither_post_process_settings: DitherPostProcessSettings::new(
dither_level,
asset_server,
),
diff --git a/src/display/systems.rs b/src/display/systems.rs
index 037f72d..9f8acb9 100644
--- a/src/display/systems.rs
+++ b/src/display/systems.rs
@@ -2,9 +2,7 @@ use bevy::{
prelude::*,
render::render_resource::{Extent3d, TextureFormat},
};
-use bevy_framebuffer_extract::{
- components::FramebufferExtractDestination, render_assets::FramebufferExtractSource,
-};
+use bevy_headless_render::{components::HeadlessRenderDestination, render_assets::HeadlessRenderSource};
use crossterm::event::Event;
use ratatui::{
style::Stylize,
@@ -27,7 +25,7 @@ const BRAILLE_DOT_BIT_POSITIONS: [u8; 8] = [0, 1, 2, 6, 3, 4, 5, 7];
/// Prints out the contents of a render image to the terminal as braille characters
pub fn print_to_terminal(
mut terminal: ResMut<Terminal>,
- image_exports: Query<&FramebufferExtractDestination>,
+ image_exports: Query<&HeadlessRenderDestination>,
mut widgets: Query<&mut Widget>,
) {
for image_export in image_exports.iter() {
@@ -108,7 +106,7 @@ fn braille_char(mask: u8) -> char {
/// Watches for terminal resize events and resizes the render image accordingly
pub fn resize_handling(
mut images: ResMut<Assets<Image>>,
- mut sources: ResMut<Assets<FramebufferExtractSource>>,
+ mut sources: ResMut<Assets<HeadlessRenderSource>>,
mut event_reader: EventReader<TerminalInputEvent>,
) {
for event in event_reader.read() {
diff --git a/src/input/systems.rs b/src/input/systems.rs
index 366ccba..9560e1e 100644
--- a/src/input/systems.rs
+++ b/src/input/systems.rs
@@ -51,4 +51,4 @@ pub fn input_handling(
_ => (),
}
}
-}
+} \ No newline at end of file
diff --git a/src/lib.rs b/src/lib.rs
index 11ee50c..f64bbd3 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -10,15 +10,13 @@ use std::{
use bevy::{
log::{
- tracing_subscriber::{self, prelude::*, Registry},
+ tracing_subscriber::{self, layer::SubscriberExt, EnvFilter, Layer, Registry},
Level, LogPlugin,
- },
- prelude::*,
- utils::tracing::level_filters::LevelFilter,
+ }, prelude::*, utils::tracing::{level_filters::LevelFilter, subscriber}
};
use bevy_dither_post_process::DitherPostProcessPlugin;
-use bevy_framebuffer_extract::FramebufferExtractPlugin;
+use bevy_headless_render::HeadlessRenderPlugin;
pub use crossterm;
use once_cell::sync::Lazy;
pub use ratatui;
@@ -53,29 +51,25 @@ impl Plugin for TerminalDisplayPlugin {
*LOG_PATH
.lock()
.expect("Failed to get lock on log path mutex") = self.log_path.clone();
+ let log_file = OpenOptions::new()
+ .write(true)
+ .create(true)
+ .truncate(true)
+ .open(
+ LOG_PATH
+ .lock()
+ .expect("Failed to get lock on log path mutex")
+ .clone(),
+ )
+ .unwrap();
+ let file_layer = tracing_subscriber::fmt::Layer::new()
+ .with_writer(log_file)
+ .with_filter(EnvFilter::builder().parse_lossy(format!("{},{}", Level::INFO, "wgpu=error,naga=warn")));
+ let subscriber = Registry::default().with(file_layer);
+ subscriber::set_global_default(subscriber).unwrap();
app.add_plugins((
DitherPostProcessPlugin,
- FramebufferExtractPlugin,
- LogPlugin {
- update_subscriber: Some(|_| {
- let log_file = OpenOptions::new()
- .write(true)
- .create(true)
- .truncate(true)
- .open(
- LOG_PATH
- .lock()
- .expect("Failed to get lock on log path mutex")
- .clone(),
- )
- .unwrap();
- let file_layer = tracing_subscriber::fmt::Layer::new()
- .with_writer(log_file)
- .with_filter(LevelFilter::from_level(Level::INFO));
- Box::new(Registry::default().with(file_layer))
- }),
- ..Default::default()
- },
+ HeadlessRenderPlugin,
))
.add_systems(Startup, input::systems::setup_input)
.add_systems(