Commit Graph

64 Commits

Author SHA1 Message Date
Nick Fisher
1c500fe925 require dispose() on InputHandlerDelegate and update sample implementations 2025-06-02 12:58:26 +08:00
Nick Fisher
2191f9d44b require dispose() on InputHandlerDelegate and update sample implementations 2025-06-02 12:57:45 +08:00
Nick Fisher
87b63301f2 require dispose() on InputHandlerDelegate and update sample implementations 2025-06-02 12:57:22 +08:00
Nick Fisher
873244879f when batch is true in DelegateInputHandler, filter simultaneous keydown/keyup 2025-06-02 12:14:05 +08:00
Nick Fisher
2ab1732b6b add synthesized property to KeyEvent and add additional keys 2025-06-02 12:12:51 +08:00
Nick Fisher
9a6bacc73f pass both logical key & physical key to input handler on keyboard keypress 2025-05-21 12:01:50 +08:00
Nick Fisher
1afd5ff257 clean up FixedOrbitCameraDelegate 2025-05-18 15:11:52 +08:00
Nick Fisher
66f3e20489 copy input events before passing to delegate 2025-05-18 15:11:52 +08:00
Nick Fisher
460000308a remove custom camera delegate 2025-05-18 15:08:47 +08:00
Nick Fisher
170fb4bf6d removing processing check in DelegateInputHandler 2025-05-13 16:41:58 +08:00
Nick Fisher
0794e0ad84 comments 2025-05-12 09:36:12 +08:00
Nick Fisher
3f0f15b441 add _ready check to FixedOrbitCameraDelegate 2025-05-10 12:16:49 +08:00
Nick Fisher
8311c95100 update delegates to accept a List<InputEvent>, not Set 2025-05-10 09:08:59 +08:00
Nick Fisher
12a96cceee InputHandler now accepts a List of events, not a Set
add batch argument to DelegateInputHandler
2025-05-10 09:07:28 +08:00
Nick Fisher
1ddeac2d31 refactor InputHandler interface/DelegateInputHandler implementation 2025-05-09 11:18:07 +08:00
Nick Fisher
2f16908992 feat! js_interop improvements 2025-05-07 17:06:38 +08:00
Nick Fisher
86779cb629 reinstate GizmoInputHandler 2025-04-17 13:35:22 +08:00
Nick Fisher
dfda0eb476 update DefaultPickDelegate to use pick() on view 2025-04-16 14:00:47 +08:00
Nick Fisher
dcf13fd53f cleanup imports 2025-03-28 11:48:00 +08:00
Nick Fisher
0cbbc058e0 refactoring 2025-03-22 10:49:24 +08:00
Nick Fisher
124f923720 refactor 2025-03-19 16:06:55 +08:00
Nick Fisher
102429e090 refactoring 2025-03-19 15:42:11 +08:00
Nick Fisher
627447f8b0 refactoring 2025-03-19 12:27:13 +08:00
Nick Fisher
d7d7fa7c0b use scale directly for DelegateInputHandler 2025-03-01 11:56:34 +08:00
Nick Fisher
0b1da2a15d feat!: use raw pointer scale (>1 meaning zoom in, <1 meaning zoom out) rather than binary -1/1 for DelegateInputHandler 2025-01-08 11:39:40 +08:00
Nick Fisher
4e64c4976f refactor!: rename removeAsset to destroyAsset
use render thread methods for lights
2025-01-07 08:25:48 +08:00
Nick Fisher
31e453a4e6 refactor: dont require GizmoInputHandler to wrap an existing InputHandler (you can do this by creating your own InputHandler that wraps two children 2025-01-07 08:25:48 +08:00
Nick Fisher
9b988537e0 internal: allow InputHandler methods to return null 2025-01-07 08:25:48 +08:00
Nick Fisher
584ace23b4 refactor: gizmo/input handler improvements 2025-01-07 08:25:48 +08:00
Nick Fisher
9f9b34f662 feat: expose attached entity as Stream on GizmoInputHandler 2025-01-07 08:25:48 +08:00
Nick Fisher
7cf1468f38 feat: more rotation gizmo improvements 2025-01-07 08:25:48 +08:00
Nick Fisher
62cd85c148 feat: rotation gizmo improvements 2025-01-07 08:25:48 +08:00
Nick Fisher
def85614d8 feat: add rotation gizmo 2025-01-07 08:25:48 +08:00
Nick Fisher
aa7350c419 gizmo & picking improvements 2025-01-07 08:25:48 +08:00
Nick Fisher
ed444b0615 feature!:
This is a breaking change needed to fully implement instancing and stencil highlighting.

Previously, users would work directly with entities (on the Dart side, ThermionEntity), e.g.

final entity = await viewer.loadGlb("some.glb");

However, Filament "entities" are a lower-level abstraction.

Loading a glTF file, for example, inserts multiple entities into the scene.

For example, each mesh, light, and camera within a glTF asset will be assigned an entity. A top-level (non-renderable) entity will also be created for the glTF asset, which can be used to transform the entire hierarchy.

"Asset" is a better representation for loading/inserting objects into the scene; think of this as a bundle of entities.

Unless you need to work directly with transforms, instancing, materials and renderables, you can work directly with ThermionAsset.
2024-11-27 15:02:37 +11:00
Nick Fisher
9692c07da9 chore: free flight handler cleanup 2024-11-21 10:03:48 +08:00
Nick Fisher
2860db3fbd feat: use InputAction.ZOOM for scroll wheel in free flight handler 2024-11-21 08:44:36 +08:00
Nick Fisher
1ce5bd3bcf feat: free flight camera improvements 2024-11-19 16:30:35 +08:00
Nick Fisher
8c2b8a6cba feat: expose zoomSensitivity argument for flight input handler 2024-11-02 10:23:35 +08:00
Nick Fisher
2b4a73f355 feat: add SCALE2_MOVE InputType 2024-10-25 10:37:57 +08:00
Nick Fisher
6f648702e9 feat: add SCALE2_ROTATE to InputHandler 2024-10-24 12:52:14 +08:00
Nick Fisher
5e17e0c6d1 feat!: expose velocity, rotation and timestamp for scale events in listener. accept rotationSensitivity/zoomSensitivity for FixedOrbitRotateInputHandlerDelegate 2024-10-24 10:07:32 +08:00
Nick Fisher
74b7c938a8 feat: set SCALE2:InputAction.ZOOM by default 2024-10-23 14:36:47 +08:00
Nick Fisher
4371dbda3c feat: track zoom delta for DelegateInputHandler 2024-10-23 14:10:41 +08:00
Nick Fisher
c6640cef96 feat: set InputType.SCALE1 to ROTATE by default for DelegateInputHandler.fixedOrbit 2024-10-23 14:03:47 +08:00
Nick Fisher
9689690730 feat: simplify FixedOrbitCameraRotationDelegate 2024-10-22 22:23:35 +08:00
Nick Fisher
a08620d7c9 rename gestureHandler to inputHandler 2024-10-22 22:23:13 +08:00
Nick Fisher
f180c1018f mobile gesture handler 2024-10-11 15:37:03 +08:00
Nick Fisher
5441dedcf4 add fall-through for InputAction.ZOOM for Third Person camera delegate 2024-10-10 20:47:00 +08:00
Nick Fisher
254b6d8af2 move zoom delta to InputAction.ZOOM for FreeFlight rotation delegate 2024-10-10 20:46:34 +08:00