-
Notifications
You must be signed in to change notification settings - Fork 220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracked #311
Tracked #311
Conversation
To address reviewable comments (won't let me put them on the old reviewable :/)
Fixed this
Yep, since that is probably better than the cloning of the bitset.
I just wanted it just in case someone wanted a higher buffer capacity for a component. It shouldn't effect usability since it just defaults out.
Maybe, not entirely sure. I was thinking maybe we should have it open ended so someone could also use this trait to populate other structures with events. |
The problem I see with buffer overflows is that there will be things that depend on accuracy, e.g. a separate list of the components. If the insertions / deletions overflow, this could lead to serious bugs. |
Is this ready for review? Review status: 0 of 11 files reviewed at latest revision, all discussions resolved, some commit checks failed. Comments from Reviewable |
@torkleyy Yep |
Reviewed 5 of 11 files at r1. src/lib.rs, line 219 at r1 (raw file):
We really need some organization here! Comments from Reviewable |
src/lib.rs, line 219 at r1 (raw file): Previously, torkleyy (Thomas Schaller) wrote…
Should we maybe separate them into multiple Comments from Reviewable |
Probably not do unnecessary exports at all. Like keep most stuff in the modules and define a |
ccf85c1
to
9e40d6a
Compare
src/lib.rs, line 219 at r1 (raw file): Previously, Aceeri (Aceeri) wrote…
Added a prelude module for the stuff and made the modules public instead. We still might want to split up Comments from Reviewable |
Reviewed 1 of 11 files at r1, 40 of 40 files at r3. Cargo.toml, line 25 at r3 (raw file):
We'll need to change this once I released a new version; I'd like to do that before merging this PR, but also after merging the hibitset PRs. benches/parallel.rs, line 11 at r3 (raw file):
src/error.rs, line 64 at r3 (raw file):
Please don't change this. src/lib.rs, line 219 at r1 (raw file): Previously, Aceeri (Aceeri) wrote…
Thanks for changing the module structure; would prefer if you could split it up into two PRs next time. src/prelude.rs, line 7 at r3 (raw file):
src/prelude.rs, line 8 at r3 (raw file):
As I've said, src/prelude.rs, line 14 at r3 (raw file):
I would remove the flags, the src/prelude.rs, line 17 at r3 (raw file):
src/storage/flagged.rs, line 23 at r3 (raw file):
Still necessary? src/storage/flagged.rs, line 131 at r3 (raw file):
Err, so when would you emit an src/storage/mod.rs, line 12 at r3 (raw file):
We gotta split this module (later, not in this PR). src/storage/track.rs, line 69 at r3 (raw file):
Nice 👍 src/world/entity.rs, line 46 at r3 (raw file):
Please don't expose this, make it Comments from Reviewable |
Wow, this was a lot to review. |
src/error.rs, line 64 at r3 (raw file): Previously, torkleyy (Thomas Schaller) wrote…
Looks like rustfmt nightly decided to do this. Comments from Reviewable |
src/lib.rs, line 219 at r1 (raw file): Previously, torkleyy (Thomas Schaller) wrote…
Sorry about that, originally started working on it on this branch, then realized a bit late. Comments from Reviewable |
Reviewed 3 of 3 files at r4. src/world/entity.rs, line 46 at r3 (raw file): Previously, torkleyy (Thomas Schaller) wrote…
OK, thanks for resolving. Comments from Reviewable |
e5be25b
to
045b031
Compare
Great, thanks! Some more docs would be nice, yeah. Reviewed 22 of 22 files at r5. src/error.rs, line 64 at r3 (raw file): Previously, Aceeri (Aceeri) wrote…
Thanks for fixing! Comments from Reviewable |
Reviewed 10 of 10 files at r6. src/storage/flagged.rs, line 55 at r6 (raw file):
Maybe we should add here that it's not okay to just read the events in some interval because it would make shrev's buffer allocation go crazy. Comments from Reviewable |
src/storage/flagged.rs, line 131 at r3 (raw file): Previously, torkleyy (Thomas Schaller) wrote…
Removed it, was remnants of the Tracked/ChangedStorage Comments from Reviewable |
src/storage/flagged.rs, line 55 at r6 (raw file): Previously, torkleyy (Thomas Schaller) wrote…
Done. Comments from Reviewable |
src/storage/flagged.rs, line 23 at r3 (raw file): Previously, torkleyy (Thomas Schaller) wrote…
Done. Comments from Reviewable |
Looks good to me, but there are some conflicts you need to resolve. And please don't publish every comment separately next time :) Reviewed 1 of 1 files at r7. Comments from Reviewable |
@torkleyy Sorry, somewhat confused by the reviewable ui. |
Phew! looks like a solid step forward, although I reserve a few concerns ;) Reviewed 3 of 11 files at r1, 16 of 40 files at r3, 13 of 22 files at r5, 8 of 10 files at r6, 1 of 1 files at r7, 3 of 3 files at r8. CHANGELOG.md, line 3 at r8 (raw file):
let's have "in favor of the new specs-derive/src/lib.rs, line 62 at r8 (raw file):
isn't this a breaking change for this crate? src/common.rs, line 257 at r8 (raw file):
I like the new structure 👍 src/join.rs, line 13 at r8 (raw file):
oh, bonus points for the docs! src/storage/flagged.rs, line 128 at r8 (raw file):
Have you described somewhere the pros/cons of using events for flagging as opposed to the old bit set? It's not obvious to me that this is going to be an improvement perf-wise and complexity-wise. src/storage/track.rs, line 14 at r8 (raw file):
if the owner is supposed to just have those three channels for borrows, can we declare a struct with them and just expose this struct in pub struct TrackChannels {
pub modify: EventChannel<ModifiedFlag>,
pub insert: EventChannel<InsertedFlag>,
pub remove: EventChannel<RemovedFlag>,
} Comments from Reviewable |
specs-derive/src/lib.rs, line 62 at r8 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Well, internally it is, to anyone using it is it actually less breaking than if they implemented Component themselves. Comments from Reviewable |
Well we're changing the crate structure here, how could it not be breaking? |
So the version should become 0.2.0
… On Jan 1, 2018, at 23:48, Thomas Schaller ***@***.***> wrote:
Well we're changing the crate structure here, how could it not be breaking?
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub, or mute the thread.
|
I just mean that specs-derive isn't breaking (all the specs implementation stuff is internal for it, none of it is exposed to the user), specs itself is. |
Err but users of 0.10 will get the latest version of specs-derive once they update. That in turn will break their code. |
Review status: all files reviewed at latest revision, 6 unresolved discussions, some commit checks failed. src/storage/flagged.rs, line 128 at r8 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
The main motivation for this is that it's logically necessary to use events, otherwise you would miss events. Given two readers, A and B, imagine the following steps:
If B makes an changes, they will be cleared before A can read them. Comments from Reviewable |
Review status: 39 of 44 files reviewed at latest revision, 6 unresolved discussions, some commit checks failed. CHANGELOG.md, line 3 at r8 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Done. specs-derive/src/lib.rs, line 62 at r8 (raw file): Previously, Aceeri (Aceeri) wrote…
Never mind, I was being stupid about this. Incremented the minor version for it. src/storage/track.rs, line 14 at r8 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Good idea! :) Comments from Reviewable |
ccbf268
to
26d537f
Compare
Review status: 33 of 44 files reviewed at latest revision, 6 unresolved discussions. Cargo.toml, line 25 at r3 (raw file): Previously, torkleyy (Thomas Schaller) wrote…
Done. Comments from Reviewable |
Please review again @kvark Reviewed 4 of 8 files at r9, 7 of 7 files at r10. Comments from Reviewable |
some commits can probably be squashed, leaving for your discretion
Review status: all files reviewed at latest revision, 2 unresolved discussions. Comments from Reviewable |
✌️ Aceeri can now approve this pull request |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please squash commits and merge, @Aceeri
bors delegate+
…, formatting, etc.
bors r+ |
311: Tracked r=Aceeri a=Aceeri Somehow I managed to break github with that last PR... and now it won't let me re-open it so here's a new one. Old PR: #305 <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/slide-rs/specs/311) <!-- Reviewable:end -->
Build succeeded |
Somehow I managed to break github with that last PR... and now it won't let me re-open it so here's a new one.
Old PR: #305
This change is