1024 Commits

Author SHA1 Message Date
Nova
3aa691475c Make all nodes thread safe 2022-06-14 19:34:27 -04:00
Nova
651fa5f012 refactor(node): defer setting client until adding to scenegraph 2022-06-14 18:18:22 -04:00
Nova
beaa3d0e6b refactor: remove all explicit lifetime specifiers 2022-06-14 04:09:42 -04:00
Nova
54f68577dd feat(main): add basic loop and clean up errors 2022-06-14 02:23:58 -04:00
Nova
559d969b10 fix: make all node aspects thread safe 2022-06-14 02:14:27 -04:00
Nova
2c5d9c3c7f feat(alias): add it 2022-06-14 01:27:48 -04:00
Nova
4ec27311a6 feat(node): send_remote_signal 2022-06-13 02:55:34 -04:00
Nova
aa356711a9 feat(client): get_messenger 2022-06-13 02:55:07 -04:00
Nova
c668498a6f fix(event loop): handle UnexpectedEOF to remove client when disconnected 2022-06-12 21:25:20 -04:00
Nova
2b5578a221 feat(node): unique identifier 2022-06-12 16:29:45 -04:00
Nova
a5027a9aab fix(node): use fxhasher for local signals/methods hashmaps 2022-06-12 12:20:57 -04:00
Nova
332cbf8b62 fix(error): use anyhow error instead of formatting 2022-06-12 11:47:36 -04:00
Nova
5a9a6afc51 fix(error): prefix internal errors with "Internal: " 2022-06-12 11:39:11 -04:00
Nova
2cdadcde95 fix(spatial): ensure node does not have a spatial aspect 2022-06-12 11:36:16 -04:00
Nova
5db13aa484 feat(scenegraph): use ScenegraphError signal/node errors 2022-06-12 11:35:52 -04:00
Nova
25edd845c1 fix(scenegraph): emit SignalNotFound error for signal 2022-06-12 11:15:29 -04:00
Nova
0a9643ca6c refactor(scenegraph): use super fast hasher 2022-06-12 02:36:44 -04:00
Nova
8a3dc83a93 refactor(scenegraph): use dashmap 2022-06-12 02:25:09 -04:00
Nova
8a34286a22 refactor(scenegraph): use parking_lot 2022-06-12 02:04:39 -04:00
Nova
66c6e2e3d4 refactor(registry): clean up and use parking_lot 2022-06-12 01:59:02 -04:00
Nova
57feb5a49b fix(field): clippy warnings 2022-06-12 01:52:22 -04:00
Nova
d308b88bb7 refactor: use parking_lot instead of std::sync 2022-06-12 01:51:12 -04:00
Nova
01971b5048 refactor(registry): use globals instead of storing in event loop 2022-06-12 00:51:12 -04:00
Nova
3ef45a1041 fix(pulse sender): add aspect to node 2022-06-11 23:52:13 -04:00
Nova
0c1a7af8a5 feat(data): pulse sender registry 2022-06-11 23:49:19 -04:00
Nova
be46bdfc22 feat(client): get_event_loop 2022-06-11 23:49:00 -04:00
Nova
5a54a1c40c fix(registry): make public 2022-06-11 23:21:25 -04:00
Nova
bd6589757c refactor(registry): don't require index for fn iterate() 2022-06-11 23:17:30 -04:00
Nova
d98dc1ee96 feat(client+eventloop): get arc reference to event loop in client 2022-06-11 23:16:59 -04:00
Nova
30a03f638f feat: basic registry 2022-06-11 22:43:50 -04:00
Nova
e140d82b1a refactor(field): use spatial_ref field trait internally instead of arg 2022-06-11 22:12:51 -04:00
Nova
84157fd7d6 fix(field): ensure node doesn't have a field when adding one 2022-06-11 21:58:45 -04:00
Nova
29c7ccc346 feat(field): cylinder field 2022-06-11 21:58:05 -04:00
Nova
ee854a9902 feat(field): box field 2022-06-11 16:43:39 -04:00
Nova
98a84c626f refactor(field): wrap all fields in an enum for storage and deref trait 2022-06-11 16:23:13 -04:00
Nova
02ca9467b5 feat(field): sphere field 2022-06-11 15:45:08 -04:00
Nova
8e5f8c0088 feat(field): interface 2022-06-11 15:44:56 -04:00
Nova
c0df71a40f refactor(spatial): return Rc<Spatial> from add_to 2022-06-11 15:44:05 -04:00
Nova
c325cb8595 feat: field 2022-06-11 15:34:45 -04:00
Nova
7fbf92daf0 refactor(spatial): remove explicit lifetime specifier 2022-06-11 14:39:26 -04:00
Nova
26f66fc5a4 refactor: clean up all warnings by commenting or refactoring 2022-06-11 00:52:54 -04:00
Nova
34a6e86685 feat(spatial): set_transform_flex and associated helper functions 2022-06-11 00:48:24 -04:00
Nova
27b78326da feat(spatial): get_transform local method 2022-06-10 20:28:46 -04:00
Nova
5ee5d0a802 feat(node): add_local_method method 2022-06-10 20:28:30 -04:00
Nova
459c96616a feat(spatial): space to space matrix function for relativity 2022-06-10 20:17:14 -04:00
Nova
50b7cc676c refactor(spatial): store parent as Rc<Spatial> 2022-06-10 20:16:30 -04:00
Nova
f9f36dd43a feat(node): destroy method 2022-06-08 17:28:27 -04:00
Nova
bb356f6cb1 refactor(node): use sized fn instead of dyn Fn for signals/methods 2022-06-06 23:34:44 -04:00
Nova
2c27e5728c refactor: fine-grained interior mutability for scenegraph 2022-06-06 21:34:42 -04:00
Nova
bb26038030 refactor(client): remove weak ref 2022-06-05 15:58:35 -04:00