Compare commits
4 Commits
thermion_d
...
thermion_f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e47332ce8 | ||
|
|
ffe8bee98b | ||
|
|
1e07486017 | ||
|
|
58da196876 |
54
CHANGELOG.md
54
CHANGELOG.md
@@ -3,6 +3,60 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## 2024-09-25
|
||||
|
||||
### Changes
|
||||
|
||||
---
|
||||
|
||||
Packages with breaking changes:
|
||||
|
||||
- [`thermion_dart` - `v0.2.0-dev.6.0`](#thermion_dart---v020-dev60)
|
||||
|
||||
Packages with other changes:
|
||||
|
||||
- [`thermion_flutter_web` - `v0.1.0-dev.6.0`](#thermion_flutter_web---v010-dev60)
|
||||
- [`thermion_flutter` - `v0.2.0-dev.6.0`](#thermion_flutter---v020-dev60)
|
||||
- [`thermion_flutter_platform_interface` - `v0.2.0-dev.6.0`](#thermion_flutter_platform_interface---v020-dev60)
|
||||
- [`thermion_flutter_ffi` - `v0.2.0-dev.6.0`](#thermion_flutter_ffi---v020-dev60)
|
||||
|
||||
Packages with dependency updates only:
|
||||
|
||||
> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
|
||||
|
||||
- `thermion_flutter_web` - `v0.1.0-dev.6.0`
|
||||
- `thermion_flutter` - `v0.2.0-dev.6.0`
|
||||
- `thermion_flutter_platform_interface` - `v0.2.0-dev.6.0`
|
||||
- `thermion_flutter_ffi` - `v0.2.0-dev.6.0`
|
||||
|
||||
---
|
||||
|
||||
#### `thermion_dart` - `v0.2.0-dev.6.0`
|
||||
|
||||
- **BREAKING** **CHORE**: cleanup deleted export.
|
||||
|
||||
|
||||
## 2024-09-25
|
||||
|
||||
### Changes
|
||||
|
||||
---
|
||||
|
||||
Packages with breaking changes:
|
||||
|
||||
- [`thermion_flutter` - `v0.2.0-dev.6.0`](#thermion_flutter---v020-dev60)
|
||||
|
||||
Packages with other changes:
|
||||
|
||||
- There are no other changes in this release.
|
||||
|
||||
---
|
||||
|
||||
#### `thermion_flutter` - `v0.2.0-dev.6.0`
|
||||
|
||||
- **BREAKING** **CHORE**: remove superseded HardwareKeyboard* classes.
|
||||
|
||||
|
||||
## 2024-09-25
|
||||
|
||||
### Changes
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
## 0.2.0-dev.6.0
|
||||
|
||||
> Note: This release has breaking changes.
|
||||
|
||||
- **BREAKING** **CHORE**: cleanup deleted export.
|
||||
|
||||
## 0.2.0-dev.5.0
|
||||
|
||||
> Note: This release has breaking changes.
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
library filament_dart;
|
||||
|
||||
export 'thermion_dart/thermion_viewer.dart';
|
||||
export 'thermion_dart/entities/entity_transform_controller.dart';
|
||||
export 'thermion_dart/utils/geometry.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: thermion_dart
|
||||
description: 3D rendering toolkit for Dart.
|
||||
version: 0.2.0-dev.5.0
|
||||
version: 0.2.0-dev.6.0
|
||||
homepage: https://thermion.dev
|
||||
repository: https://github.com/nmfisher/thermion
|
||||
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
## 0.2.0-dev.6.0
|
||||
|
||||
- Update a dependency to the latest release.
|
||||
|
||||
## 0.2.0-dev.6.0
|
||||
|
||||
> Note: This release has breaking changes.
|
||||
|
||||
- **BREAKING** **CHORE**: remove superseded HardwareKeyboard* classes.
|
||||
|
||||
## 0.2.0-dev.5.0
|
||||
|
||||
- Update a dependency to the latest release.
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
import 'package:thermion_dart/thermion_dart/entities/entity_transform_controller.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
class HardwareKeyboardListener {
|
||||
final EntityTransformController _controller;
|
||||
var _listening = true;
|
||||
HardwareKeyboardListener(this._controller) {
|
||||
// Get the global handler.
|
||||
final KeyMessageHandler? existing =
|
||||
ServicesBinding.instance.keyEventManager.keyMessageHandler;
|
||||
// The handler is guaranteed non-null since
|
||||
// `FallbackKeyEventRegistrar.instance` is only called during
|
||||
// `Focus.onFocusChange`, at which time `ServicesBinding.instance` must
|
||||
// have been called somewhere.
|
||||
assert(existing != null);
|
||||
// Assign the global handler with a patched handler.
|
||||
ServicesBinding.instance.keyEventManager.keyMessageHandler = (keyMessage) {
|
||||
if (keyMessage.rawEvent == null) {
|
||||
return false;
|
||||
}
|
||||
if (!_listening) {
|
||||
return false;
|
||||
}
|
||||
var event = keyMessage.rawEvent!;
|
||||
switch (event.logicalKey) {
|
||||
case LogicalKeyboardKey.escape:
|
||||
_listening = false;
|
||||
break;
|
||||
case LogicalKeyboardKey.keyW:
|
||||
(event is RawKeyDownEvent)
|
||||
? _controller.forwardPressed()
|
||||
: _controller.forwardReleased();
|
||||
break;
|
||||
case LogicalKeyboardKey.keyA:
|
||||
event is RawKeyDownEvent
|
||||
? _controller.strafeLeftPressed()
|
||||
: _controller.strafeLeftReleased();
|
||||
break;
|
||||
case LogicalKeyboardKey.keyS:
|
||||
event is RawKeyDownEvent
|
||||
? _controller.backPressed()
|
||||
: _controller.backReleased();
|
||||
break;
|
||||
case LogicalKeyboardKey.keyD:
|
||||
event is RawKeyDownEvent
|
||||
? _controller.strafeRightPressed()
|
||||
: _controller.strafeRightReleased();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
ServicesBinding.instance.keyEventManager.keyMessageHandler = null;
|
||||
_controller.dispose();
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
import 'dart:async';
|
||||
import 'package:thermion_dart/thermion_dart/entities/entity_transform_controller.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
class HardwareKeyboardPoll {
|
||||
final EntityTransformController _controller;
|
||||
late Timer _timer;
|
||||
HardwareKeyboardPoll(this._controller) {
|
||||
_timer = Timer.periodic(const Duration(milliseconds: 16), (_) {
|
||||
if (RawKeyboard.instance.keysPressed.contains(LogicalKeyboardKey.keyW)) {
|
||||
_controller.forwardPressed();
|
||||
} else {
|
||||
_controller.forwardReleased();
|
||||
}
|
||||
|
||||
if (RawKeyboard.instance.keysPressed.contains(LogicalKeyboardKey.keyS)) {
|
||||
_controller.backPressed();
|
||||
} else {
|
||||
_controller.backReleased();
|
||||
}
|
||||
|
||||
if (RawKeyboard.instance.keysPressed.contains(LogicalKeyboardKey.keyA)) {
|
||||
_controller.strafeLeftPressed();
|
||||
} else {
|
||||
_controller.strafeLeftReleased();
|
||||
}
|
||||
|
||||
if (RawKeyboard.instance.keysPressed.contains(LogicalKeyboardKey.keyD)) {
|
||||
_controller.strafeRightPressed();
|
||||
} else {
|
||||
_controller.strafeRightReleased();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
_timer.cancel();
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
name: thermion_flutter
|
||||
description: Flutter plugin for 3D rendering with the Thermion toolkit.
|
||||
version: 0.2.0-dev.5.0
|
||||
version: 0.2.0-dev.6.0
|
||||
homepage: https://thermion.dev
|
||||
repository: https://github.com/nmfisher/thermion
|
||||
|
||||
@@ -17,10 +17,10 @@ dependencies:
|
||||
plugin_platform_interface: ^2.0.0
|
||||
ffi: ^2.1.2
|
||||
animation_tools_dart: ^0.0.4
|
||||
thermion_dart: ^0.2.0-dev.5.0
|
||||
thermion_flutter_platform_interface: ^0.2.0-dev.5.0
|
||||
thermion_flutter_ffi: ^0.2.0-dev.5.0
|
||||
thermion_flutter_web: ^0.1.0-dev.5.0
|
||||
thermion_dart: ^0.2.0-dev.6.0
|
||||
thermion_flutter_platform_interface: ^0.2.0-dev.6.0
|
||||
thermion_flutter_ffi: ^0.2.0-dev.6.0
|
||||
thermion_flutter_web: ^0.1.0-dev.6.0
|
||||
logging: ^1.2.0
|
||||
web: ^1.0.0
|
||||
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 0.2.0-dev.6.0
|
||||
|
||||
- Update a dependency to the latest release.
|
||||
|
||||
## 0.2.0-dev.5.0
|
||||
|
||||
- Update a dependency to the latest release.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: thermion_flutter_ffi
|
||||
description: An FFI interface for the thermion_flutter plugin (all platforms except web).
|
||||
repository: https://github.com/nmfisher/thermion_flutter/thermion_flutter
|
||||
version: 0.2.0-dev.5.0
|
||||
version: 0.2.0-dev.6.0
|
||||
|
||||
environment:
|
||||
sdk: ">=3.3.0 <4.0.0"
|
||||
@@ -22,8 +22,8 @@ dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
plugin_platform_interface: ^2.1.0
|
||||
thermion_flutter_platform_interface: ^0.2.0-dev.5.0
|
||||
thermion_dart: ^0.2.0-dev.5.0
|
||||
thermion_flutter_platform_interface: ^0.2.0-dev.6.0
|
||||
thermion_dart: ^0.2.0-dev.6.0
|
||||
logging: ^1.2.0
|
||||
|
||||
dev_dependencies:
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 0.2.0-dev.6.0
|
||||
|
||||
- Update a dependency to the latest release.
|
||||
|
||||
## 0.2.0-dev.5.0
|
||||
|
||||
- Update a dependency to the latest release.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: thermion_flutter_platform_interface
|
||||
description: A common platform interface for the thermion_flutter plugin.
|
||||
repository: https://github.com/nmfisher/thermion_flutter/thermion_flutter
|
||||
version: 0.2.0-dev.5.0
|
||||
version: 0.2.0-dev.6.0
|
||||
|
||||
environment:
|
||||
sdk: ">=3.3.0 <4.0.0"
|
||||
@@ -11,7 +11,7 @@ dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
plugin_platform_interface: ^2.1.0
|
||||
thermion_dart: ^0.2.0-dev.5.0
|
||||
thermion_dart: ^0.2.0-dev.6.0
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 0.1.0-dev.6.0
|
||||
|
||||
- Update a dependency to the latest release.
|
||||
|
||||
## 0.1.0-dev.5.0
|
||||
|
||||
- Update a dependency to the latest release.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: thermion_flutter_web
|
||||
description: A web platform interface for the thermion_flutter plugin.
|
||||
repository: https://github.com/nmfisher/thermion_flutter/thermion_flutter
|
||||
version: 0.1.0-dev.5.0
|
||||
version: 0.1.0-dev.6.0
|
||||
|
||||
environment:
|
||||
sdk: ">=3.3.0 <4.0.0"
|
||||
@@ -20,8 +20,8 @@ dependencies:
|
||||
sdk: flutter
|
||||
plugin_platform_interface: ^2.1.0
|
||||
web: ^1.0.0
|
||||
thermion_dart: ^0.2.0-dev.5.0
|
||||
thermion_flutter_platform_interface: ^0.2.0-dev.5.0
|
||||
thermion_dart: ^0.2.0-dev.6.0
|
||||
thermion_flutter_platform_interface: ^0.2.0-dev.6.0
|
||||
flutter_web_plugins:
|
||||
sdk: flutter
|
||||
|
||||
|
||||
Reference in New Issue
Block a user