Kevin Reid
Kevin Reid
If it's that easy, perhaps this should be available as a _safe_ operation. Reopen this issue?
Another question is whether this should even be configurable, or just be the default. In other words: is there some situation where `present_with_transaction` should _not_ be true? (For example, does...
It’s possible for associated constants to contain nontrivial logic for which test coverage is as meaningful as for a function: ```rust pub struct Foo {} impl Foo { pub const...
> One possibility would be to re-define `Space` as a facade or marker type, which refers to the bundle of components required to having a functioning space in the abstract...
Commits 4d5b397a through 65d737f6 introduce the infrastructure for: * `Handle::read()` returning an arbitrarily chosen type. * Transactions being able to work on ECS data. There are no cases of this...
`try_modify()` will finally need to go away because there is no longer a single thing for it to give mutable access to.
As of 81e1bc89, it’s possible for an individual member type to opt in to having a different `Read` type than `&Self`, which means we can start building the facade types...
60cd8896 provides proof-of-concept of actually offering a facade type, `struct character::Read` distinct from `Character`. In bd612adf, `space::Mutation` gives us a better-defined alternative to `try_modify()`. That would be good even without...
b346a92f6a17954cd16d12467913c9e257773825 is, hopefully, the last big piece: `ReadTicket` supports fetching each member type’s read query. We'll need a trait shenanigan for generalizing `QueryBlockDataSources` past the current downcasting, but it shouldn’t...
Next step: Prove that multiple components work by splitting something. Some candidates: * `Space`. Requires defining a `Space` read facade type. * `Character`. Requires breaking up the direct `Character` mutation...