Benjamin Saunders

Results 198 issues of Benjamin Saunders

Exiting a client or server (e.g. due to SIGINT or window close button pressed) should cause the network connection to be gracefully closed before the process terminates, allowing the peer...

enhancement
tech debt

enhancement
performance

This is necessary to prevent trivial man-in-the-middle attacks on clients. However, care is necessary to ensure servers can be easily hosted on a LAN and from servers that lack a...

enhancement

Fixes #334. TODO: - [ ] Work out why this machinery is 10x slower in the `iterate_mut_100k` benchmark than `query_mut` in master. Nothing's jumping out at me in the disassembly;...

Proof-of-concept for #19. Currently blocked by an ICE in the doctest: ``` error: internal compiler error: src/librustc/traits/codegen/mod.rs:55: Encountered error `OutputTypeParameterMismatch(Binder(>::Item }))` selecting `Binder()` during codegen ```

Common patterns involve iterating over a query and adding, adding if absent, or removing a component from every entity. This presently requires a somewhat awkward and suboptimal dance where operations...

enhancement

Currently, each query checks compatibility with each known archetype. This works pretty well in practice because the number of archetypes doesn't tend to be astronomical and checking is fast, but...

enhancement

Most hecs queries yield exactly their `Query::Item` with a dummy `'static` lifetime. The `derive(Query)` macro takes advantage of this to make both the query type and its item literally the...

hecs could be extended with support for executing queries constructed at runtime rather than specified statically in types. This could be useful for e.g. interactively user-specified queries or for running...

enhancement