-
Notifications
You must be signed in to change notification settings - Fork 2
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
Vm rebuild #34
Vm rebuild #34
Conversation
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
…e stationpedia prefab enum Signed-off-by: Rachel Powers <[email protected]>
@ComputerDruid @Emilgardis if you want to stay away from this one I won't blame you. lots of macro work in these early stages. Suffice it to say that I've built a rather nice and clean macro derivable Ie. when I'm done as far as the VM is concerned a circuit housing is nothing more than an Object implementing the |
… special logic) Signed-off-by: Rachel Powers <[email protected]>
🚀 Deployed on https://deploy-preview-34--ic10emu.netlify.app |
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.
Looks great!
Ok(()) | ||
} | ||
|
||
pub fn parse_json<'a, T: serde::Deserialize<'a>>( |
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.
Hehe, i recognize this
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.
its' a very nice function, I wrote a much less friendly version once. I prefer this.
phew... finally getting close to parity after the rewrite. so much code...
at this point the VM and object system is stable, so if anyone wants to double check it for my sanity that would be great. |
pregenerate prefab templates -> locked behind crate feature
- let vm carry object dtabase - seperate frozen object info and templates
manic laughing commences I now have to remap the wasm bindings and fix the frontend |
😵 |
ic10emu/src/vm/instructions/enums.rs
Outdated
@@ -0,0 +1,1567 @@ | |||
use serde_derive::{Deserialize, Serialize}; |
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.
missing a big disclaimer that this is code-gen, I still feel like it should be put in a path like src/vm/instructions/codegen/
so that it's clear by just lookit at the file that it's code-gen, instead of only having to scroll up and seeing a disclaimer.
Same for traits.rs
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.
apparently quote
does not preserve comments. fixed
} | ||
} | ||
|
||
impl ObjectInfo { |
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.
should probably document these functions
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.
👍
fn get_radiation_factor(&self) -> f32; | ||
} | ||
|
||
pub trait IntegratedCircuit: Logicable + MemoryWritable + SourceCode + Item { |
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.
some documentation on these functions would be nice
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.
Is this what you were looking for? or should I be more in depth?
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.
looks good to me!
@@ -2626,80 +214,87 @@ pub fn i64_to_f64(i: i64) -> f64 { | |||
|
|||
#[cfg(test)] | |||
mod tests { | |||
use crate::vm::VMError; | |||
|
|||
use super::*; | |||
|
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.
don't forget these tests!
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.
opp! your right. I commented them out during the rebuild because the interface changed a lot.
Fixed and passing.
…ct mixin, proxy vm to webworker to avoid hogging main thread
- parse and map meory instructions - use FrozenObjectFull to propogate data out of VM to componates (far less wasm calls)
…ies of TSify are borken...
…body render untill VM is fully loaded
smaller DOM updates & easier data update paths. fix sl-select problems with force update on signal sub Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
…ization Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Goal here is to move the VM to using dynamic objects allowing the Game's logic to be modeled much more closely.