From dcfb2e8e020332934e42b9eaf62a1079074dac5a Mon Sep 17 00:00:00 2001 From: Hans Kokx Date: Mon, 23 Mar 2026 16:12:03 +0100 Subject: [PATCH] refactor: Moved renderer package into Flutter package Signed-off-by: Hans Kokx --- apps/wolf_3d_gui/lib/screens/game_screen.dart | 6 +- .../lib/screens/sprite_gallery.dart | 2 +- apps/wolf_3d_gui/lib/screens/vga_gallery.dart | 2 +- .../lib/screens/wolf_menu_shell.dart | 2 +- apps/wolf_3d_gui/pubspec.yaml | 1 - .../lib/renderer}/base_renderer.dart | 0 .../lib/renderer}/wolf_3d_ascii_renderer.dart | 2 +- .../lib/renderer}/wolf_3d_asset_painter.dart | 0 .../renderer}/wolf_3d_flutter_renderer.dart | 4 +- .../lib/renderer}/wolf_3d_glsl_renderer.dart | 6 +- packages/wolf_3d_flutter/pubspec.yaml | 2 + .../shaders/wolf_world.frag | 0 packages/wolf_3d_renderer/.gitignore | 31 ---------- packages/wolf_3d_renderer/.metadata | 10 ---- packages/wolf_3d_renderer/CHANGELOG.md | 3 - packages/wolf_3d_renderer/LICENSE | 1 - packages/wolf_3d_renderer/README.md | 39 ------------ .../wolf_3d_renderer/analysis_options.yaml | 7 --- packages/wolf_3d_renderer/pubspec.yaml | 60 ------------------- pubspec.yaml | 1 - 20 files changed, 14 insertions(+), 165 deletions(-) rename packages/{wolf_3d_renderer/lib => wolf_3d_flutter/lib/renderer}/base_renderer.dart (100%) rename packages/{wolf_3d_renderer/lib => wolf_3d_flutter/lib/renderer}/wolf_3d_ascii_renderer.dart (98%) rename packages/{wolf_3d_renderer/lib => wolf_3d_flutter/lib/renderer}/wolf_3d_asset_painter.dart (100%) rename packages/{wolf_3d_renderer/lib => wolf_3d_flutter/lib/renderer}/wolf_3d_flutter_renderer.dart (95%) rename packages/{wolf_3d_renderer/lib => wolf_3d_flutter/lib/renderer}/wolf_3d_glsl_renderer.dart (96%) rename packages/{wolf_3d_renderer => wolf_3d_flutter}/shaders/wolf_world.frag (100%) delete mode 100644 packages/wolf_3d_renderer/.gitignore delete mode 100644 packages/wolf_3d_renderer/.metadata delete mode 100644 packages/wolf_3d_renderer/CHANGELOG.md delete mode 100644 packages/wolf_3d_renderer/LICENSE delete mode 100644 packages/wolf_3d_renderer/README.md delete mode 100644 packages/wolf_3d_renderer/analysis_options.yaml delete mode 100644 packages/wolf_3d_renderer/pubspec.yaml diff --git a/apps/wolf_3d_gui/lib/screens/game_screen.dart b/apps/wolf_3d_gui/lib/screens/game_screen.dart index 29cb163..5e41a0f 100644 --- a/apps/wolf_3d_gui/lib/screens/game_screen.dart +++ b/apps/wolf_3d_gui/lib/screens/game_screen.dart @@ -10,14 +10,14 @@ import 'package:window_manager/window_manager.dart'; import 'package:wolf_3d_dart/wolf_3d_engine.dart'; import 'package:wolf_3d_dart/wolf_3d_input.dart'; import 'package:wolf_3d_dart/wolf_3d_renderer.dart'; +import 'package:wolf_3d_flutter/renderer/wolf_3d_ascii_renderer.dart'; +import 'package:wolf_3d_flutter/renderer/wolf_3d_flutter_renderer.dart'; +import 'package:wolf_3d_flutter/renderer/wolf_3d_glsl_renderer.dart'; import 'package:wolf_3d_flutter/renderer_settings_persistence_flutter.dart'; import 'package:wolf_3d_flutter/save_game_persistence_flutter.dart'; import 'package:wolf_3d_flutter/wolf_3d_flutter.dart'; import 'package:wolf_3d_flutter/wolf_3d_input_flutter.dart'; import 'package:wolf_3d_gui/screens/debug_tools_screen.dart'; -import 'package:wolf_3d_renderer/wolf_3d_ascii_renderer.dart'; -import 'package:wolf_3d_renderer/wolf_3d_flutter_renderer.dart'; -import 'package:wolf_3d_renderer/wolf_3d_glsl_renderer.dart'; enum RendererMode { /// Software pixel renderer presented via decoded framebuffer images. diff --git a/apps/wolf_3d_gui/lib/screens/sprite_gallery.dart b/apps/wolf_3d_gui/lib/screens/sprite_gallery.dart index d9e6c38..eebfc6b 100644 --- a/apps/wolf_3d_gui/lib/screens/sprite_gallery.dart +++ b/apps/wolf_3d_gui/lib/screens/sprite_gallery.dart @@ -4,9 +4,9 @@ library; import 'package:flutter/material.dart'; import 'package:wolf_3d_dart/wolf_3d_data_types.dart'; import 'package:wolf_3d_dart/wolf_3d_entities.dart'; +import 'package:wolf_3d_flutter/renderer/wolf_3d_asset_painter.dart'; import 'package:wolf_3d_flutter/wolf_3d_flutter.dart'; import 'package:wolf_3d_gui/screens/gallery_game_selector.dart'; -import 'package:wolf_3d_renderer/wolf_3d_asset_painter.dart'; /// Displays every sprite frame in the active game along with enemy metadata. class SpriteGallery extends StatefulWidget { diff --git a/apps/wolf_3d_gui/lib/screens/vga_gallery.dart b/apps/wolf_3d_gui/lib/screens/vga_gallery.dart index 6c895b5..46de5eb 100644 --- a/apps/wolf_3d_gui/lib/screens/vga_gallery.dart +++ b/apps/wolf_3d_gui/lib/screens/vga_gallery.dart @@ -3,9 +3,9 @@ library; import 'package:flutter/material.dart'; import 'package:wolf_3d_dart/wolf_3d_data_types.dart'; +import 'package:wolf_3d_flutter/renderer/wolf_3d_asset_painter.dart'; import 'package:wolf_3d_flutter/wolf_3d_flutter.dart'; import 'package:wolf_3d_gui/screens/gallery_game_selector.dart'; -import 'package:wolf_3d_renderer/wolf_3d_asset_painter.dart'; /// Shows each VGA image extracted from the currently selected game data set. class VgaGallery extends StatefulWidget { diff --git a/apps/wolf_3d_gui/lib/screens/wolf_menu_shell.dart b/apps/wolf_3d_gui/lib/screens/wolf_menu_shell.dart index 90af24f..e7f1bc5 100644 --- a/apps/wolf_3d_gui/lib/screens/wolf_menu_shell.dart +++ b/apps/wolf_3d_gui/lib/screens/wolf_menu_shell.dart @@ -3,7 +3,7 @@ library; import 'package:flutter/material.dart'; import 'package:wolf_3d_dart/wolf_3d_data_types.dart'; -import 'package:wolf_3d_renderer/wolf_3d_asset_painter.dart'; +import 'package:wolf_3d_flutter/renderer/wolf_3d_asset_painter.dart'; /// Provides a common menu layout with panel framing and optional bottom art. class WolfMenuShell extends StatelessWidget { diff --git a/apps/wolf_3d_gui/pubspec.yaml b/apps/wolf_3d_gui/pubspec.yaml index 4e47cdf..14cb286 100644 --- a/apps/wolf_3d_gui/pubspec.yaml +++ b/apps/wolf_3d_gui/pubspec.yaml @@ -10,7 +10,6 @@ resolution: workspace dependencies: wolf_3d_dart: - wolf_3d_renderer: any wolf_3d_flutter: any window_manager: ^0.5.1 diff --git a/packages/wolf_3d_renderer/lib/base_renderer.dart b/packages/wolf_3d_flutter/lib/renderer/base_renderer.dart similarity index 100% rename from packages/wolf_3d_renderer/lib/base_renderer.dart rename to packages/wolf_3d_flutter/lib/renderer/base_renderer.dart diff --git a/packages/wolf_3d_renderer/lib/wolf_3d_ascii_renderer.dart b/packages/wolf_3d_flutter/lib/renderer/wolf_3d_ascii_renderer.dart similarity index 98% rename from packages/wolf_3d_renderer/lib/wolf_3d_ascii_renderer.dart rename to packages/wolf_3d_flutter/lib/renderer/wolf_3d_ascii_renderer.dart index 0234b66..62efbb5 100644 --- a/packages/wolf_3d_renderer/lib/wolf_3d_ascii_renderer.dart +++ b/packages/wolf_3d_flutter/lib/renderer/wolf_3d_ascii_renderer.dart @@ -3,7 +3,7 @@ library; import 'package:flutter/material.dart'; import 'package:wolf_3d_dart/wolf_3d_renderer.dart'; -import 'package:wolf_3d_renderer/base_renderer.dart'; +import 'package:wolf_3d_flutter/renderer/base_renderer.dart'; /// Displays the game using a text-mode approximation of the original renderer. class WolfAsciiRenderer extends BaseWolfRenderer { diff --git a/packages/wolf_3d_renderer/lib/wolf_3d_asset_painter.dart b/packages/wolf_3d_flutter/lib/renderer/wolf_3d_asset_painter.dart similarity index 100% rename from packages/wolf_3d_renderer/lib/wolf_3d_asset_painter.dart rename to packages/wolf_3d_flutter/lib/renderer/wolf_3d_asset_painter.dart diff --git a/packages/wolf_3d_renderer/lib/wolf_3d_flutter_renderer.dart b/packages/wolf_3d_flutter/lib/renderer/wolf_3d_flutter_renderer.dart similarity index 95% rename from packages/wolf_3d_renderer/lib/wolf_3d_flutter_renderer.dart rename to packages/wolf_3d_flutter/lib/renderer/wolf_3d_flutter_renderer.dart index 3cc1188..51aa195 100644 --- a/packages/wolf_3d_renderer/lib/wolf_3d_flutter_renderer.dart +++ b/packages/wolf_3d_flutter/lib/renderer/wolf_3d_flutter_renderer.dart @@ -6,8 +6,8 @@ import 'dart:ui' as ui; import 'package:flutter/material.dart'; import 'package:wolf_3d_dart/wolf_3d_data_types.dart'; import 'package:wolf_3d_dart/wolf_3d_renderer.dart'; -import 'package:wolf_3d_renderer/base_renderer.dart'; -import 'package:wolf_3d_renderer/wolf_3d_asset_painter.dart'; +import 'package:wolf_3d_flutter/renderer/base_renderer.dart'; +import 'package:wolf_3d_flutter/renderer/wolf_3d_asset_painter.dart'; /// Presents the software renderer output by decoding the shared framebuffer. class WolfFlutterRenderer extends BaseWolfRenderer { diff --git a/packages/wolf_3d_renderer/lib/wolf_3d_glsl_renderer.dart b/packages/wolf_3d_flutter/lib/renderer/wolf_3d_glsl_renderer.dart similarity index 96% rename from packages/wolf_3d_renderer/lib/wolf_3d_glsl_renderer.dart rename to packages/wolf_3d_flutter/lib/renderer/wolf_3d_glsl_renderer.dart index 46607ce..4fcf4b5 100644 --- a/packages/wolf_3d_renderer/lib/wolf_3d_glsl_renderer.dart +++ b/packages/wolf_3d_flutter/lib/renderer/wolf_3d_glsl_renderer.dart @@ -6,8 +6,8 @@ import 'dart:ui' as ui; import 'package:flutter/material.dart'; import 'package:wolf_3d_dart/wolf_3d_data_types.dart'; import 'package:wolf_3d_dart/wolf_3d_renderer.dart'; -import 'package:wolf_3d_renderer/base_renderer.dart'; -import 'package:wolf_3d_renderer/wolf_3d_asset_painter.dart'; +import 'package:wolf_3d_flutter/renderer/base_renderer.dart'; +import 'package:wolf_3d_flutter/renderer/wolf_3d_asset_painter.dart'; /// Displays software-rendered frames through a GLSL post-processing pass. class WolfGlslRenderer extends BaseWolfRenderer { @@ -131,7 +131,7 @@ class _WolfGlslRendererState extends BaseWolfRendererState { Future _loadShader() async { try { final ui.FragmentProgram program = await ui.FragmentProgram.fromAsset( - 'packages/wolf_3d_renderer/shaders/wolf_world.frag', + 'packages/wolf_3d_flutter/shaders/wolf_world.frag', ); if (!mounted) { return; diff --git a/packages/wolf_3d_flutter/pubspec.yaml b/packages/wolf_3d_flutter/pubspec.yaml index 495ca47..859f0d6 100644 --- a/packages/wolf_3d_flutter/pubspec.yaml +++ b/packages/wolf_3d_flutter/pubspec.yaml @@ -25,6 +25,8 @@ dev_dependencies: # The following section is specific to Flutter packages. flutter: + shaders: + - shaders/wolf_world.frag # To add assets to your package, add an assets section, like this: # assets: diff --git a/packages/wolf_3d_renderer/shaders/wolf_world.frag b/packages/wolf_3d_flutter/shaders/wolf_world.frag similarity index 100% rename from packages/wolf_3d_renderer/shaders/wolf_world.frag rename to packages/wolf_3d_flutter/shaders/wolf_world.frag diff --git a/packages/wolf_3d_renderer/.gitignore b/packages/wolf_3d_renderer/.gitignore deleted file mode 100644 index dd5eb98..0000000 --- a/packages/wolf_3d_renderer/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. -/pubspec.lock -**/doc/api/ -.dart_tool/ -.flutter-plugins-dependencies -/build/ -/coverage/ diff --git a/packages/wolf_3d_renderer/.metadata b/packages/wolf_3d_renderer/.metadata deleted file mode 100644 index 37c1556..0000000 --- a/packages/wolf_3d_renderer/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: "ff37bef603469fb030f2b72995ab929ccfc227f0" - channel: "stable" - -project_type: package diff --git a/packages/wolf_3d_renderer/CHANGELOG.md b/packages/wolf_3d_renderer/CHANGELOG.md deleted file mode 100644 index 41cc7d8..0000000 --- a/packages/wolf_3d_renderer/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -## 0.0.1 - -* TODO: Describe initial release. diff --git a/packages/wolf_3d_renderer/LICENSE b/packages/wolf_3d_renderer/LICENSE deleted file mode 100644 index ba75c69..0000000 --- a/packages/wolf_3d_renderer/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TODO: Add your license here. diff --git a/packages/wolf_3d_renderer/README.md b/packages/wolf_3d_renderer/README.md deleted file mode 100644 index 4a260d8..0000000 --- a/packages/wolf_3d_renderer/README.md +++ /dev/null @@ -1,39 +0,0 @@ - - -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. - -## Features - -TODO: List what your package can do. Maybe include images, gifs, or videos. - -## Getting started - -TODO: List prerequisites and provide or point to information on how to -start using the package. - -## Usage - -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. diff --git a/packages/wolf_3d_renderer/analysis_options.yaml b/packages/wolf_3d_renderer/analysis_options.yaml deleted file mode 100644 index 5e91e85..0000000 --- a/packages/wolf_3d_renderer/analysis_options.yaml +++ /dev/null @@ -1,7 +0,0 @@ -include: package:flutter_lints/flutter.yaml - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options - -formatter: - trailing_commas: preserve diff --git a/packages/wolf_3d_renderer/pubspec.yaml b/packages/wolf_3d_renderer/pubspec.yaml deleted file mode 100644 index 5a14fb3..0000000 --- a/packages/wolf_3d_renderer/pubspec.yaml +++ /dev/null @@ -1,60 +0,0 @@ -name: wolf_3d_renderer -description: "A new Flutter package project." -version: 0.0.1 -homepage: - -environment: - sdk: ^3.11.1 - flutter: ">=1.17.0" - -resolution: workspace - -dependencies: - wolf_3d_dart: - flutter: - sdk: flutter - wolf_3d_flutter: any - -dev_dependencies: - flutter_test: - sdk: flutter - flutter_lints: ^6.0.0 - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter packages. -flutter: - shaders: - - shaders/wolf_world.frag - - # To add assets to your package, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - # - # For details regarding assets in packages, see - # https://flutter.dev/to/asset-from-package - # - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/to/resolution-aware-images - - # To add custom fonts to your package, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts in packages, see - # https://flutter.dev/to/font-from-package diff --git a/pubspec.yaml b/pubspec.yaml index 0a68be9..e915047 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,6 +7,5 @@ workspace: - apps/wolf_3d_gui/ - apps/wolf_3d_cli/ - packages/wolf_3d_dart/ - - packages/wolf_3d_renderer/ - packages/wolf_3d_flutter/ - packages/wolf_3d_assets/