Commit Graph

220 Commits

Author SHA1 Message Date
Rachel Powers
7efcec9194 refactor(wasm): remap wasm interface (rust side) 2024-05-28 01:00:49 -07:00
Rachel Powers
1843bdbfce refactor(vm): cleanup, trait docs, reenable interpreter tests 2024-05-27 22:12:06 -07:00
Rachel Powers
dae6be9f4a refactor(vm): make wasmbindings build again, use tsify for types 2024-05-27 04:11:40 -07:00
Rachel Powers
88ff2d1bdb refactor(vm): freeze concreet ic, add "humans", tsify feature 2024-05-27 01:10:59 -07:00
Rachel Powers
d70d3a2431 refactor(vm): generic circuit holder + suit impl 2024-05-26 00:54:19 -07:00
Rachel Powers
24778b21b7 refactor(vm): rework object freazing
- let vm carry object dtabase
 - seperate frozen object info and templates
2024-05-23 23:04:42 -07:00
Rachel Powers
d79726a794 refactor(vm): drop null fields from json 2024-05-20 22:59:30 -07:00
Rachel Powers
bc84200105 refactor(vm): update prefab database with new data 2024-05-20 22:18:12 -07:00
Rachel Powers
4346bc5302 refactor(vm): pull generated data into new crate
pregenerate prefab templates -> locked behind crate feature
2024-05-19 21:44:15 -07:00
Rachel Powers
b0bdc37a8a chore(clippy): sweep sweep sweep 2024-05-18 04:28:30 -07:00
Rachel Powers
29ef54ca04 refactor(vm): impl circuit holder, impl ObjectRef/Mut 2024-05-18 04:11:38 -07:00
Rachel Powers
cc6cc355dc refactor(vm): cleanup borrow usage, impl slot logic 2024-05-15 22:32:46 -07:00
Rachel Powers
e928813c0e rafactor(vm): end instruction impl 2024-05-15 16:43:37 -07:00
Rachel Powers
0c5e2b29a8 refactor(vm): more ic10 instruction impls 2024-05-14 23:52:16 -07:00
Rachel Powers
25b7046ed2 refactor(vm): update up codegen, remove duplicated enums 2024-05-14 16:26:23 -07:00
Rachel Powers
708d68e38a refactor(vm): re impl freezing VM using ObjectTemplates 2024-05-14 14:55:07 -07:00
Rachel Powers
7b8523d2ea chore(vm): clean up spelling and RC usage 2024-05-14 05:23:00 -07:00
Rachel Powers
de2698c2e2 refactor(vm): VMObjects should carry around a VM reference 2024-05-14 05:13:12 -07:00
Rachel Powers
d6ebbcf7e0 refactor(vm): use From<T> in freeze object 2024-05-14 00:10:48 -07:00
Rachel Powers
347f5f1d59 refactor(vm): start freezeing objects impl 2024-05-12 23:44:28 -07:00
Rachel Powers
8288d8ae6f refactor(vm) start reimpl of VM struct using object trait 2024-05-12 02:08:25 -07:00
Rachel Powers
17bde04c86 refactor(vm) start impl of IC trait function 2024-05-10 13:57:51 -07:00
Rachel Powers
095e17a4fb refactor(vm) checkup - ensure tests pass 2024-05-09 14:41:32 -07:00
Rachel Powers
096e272b07 refactor(vm) use generated enums wherever possible 2024-05-09 13:58:28 -07:00
Rachel Powers
371167db45 refactor(vm) cleanup serde_derive usage 2024-05-09 09:49:26 -07:00
Rachel Powers
48fbe671ff refactor(vm) cleanup errors 2024-05-07 23:09:08 -07:00
Rachel Powers
5cc935b826 refactor(vm) helpful codegen round 1~ 2024-05-07 21:59:06 -07:00
Rachel Powers
2d8b35c5b2 refactor(vm): generic impls for generic Objects (not implimented with special logic)
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-05-01 16:17:24 -07:00
Rachel Powers
c3182035ae refactor(vm): use proper repr on generated enums if possible, generate stationpedia prefab enum
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-30 21:15:13 -07:00
Rachel Powers
6bdc6f210b refactor(vm::objects): Establixh base object macros and traits
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-30 17:57:43 -07:00
Rachel Powers
a3321636b8 refactor: intorduction of a macro enabled Object trait
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-30 11:26:40 -07:00
Rachel Powers
2536af81e2 start building macros for VMObject trait
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-30 11:26:33 -07:00
Rachel Powers
e39a3171c7 bump version to 0.2.3
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-29 22:31:41 -07:00
Rachel Powers
0510ab057f Merge pull request #32 from Emilgardis/fix-mod
Fix `mod` instruction and bit-wise operations
2024-04-29 18:07:36 -07:00
Emil Gardström
ed8cdb575c fix bitwise operations 2024-04-29 17:30:01 +02:00
Emil Gardström
a6af244080 use more correct logic for mod 2024-04-29 13:23:28 +02:00
Rachel Powers
078e2bb05a make sure device pins can be set and fix device update events for device removal 2024-04-28 14:56:49 -07:00
Rachel Powers
fc0729cad3 Merge pull request #30 from Ryex/slots-inprovment
Slots inprovment
2024-04-28 13:54:01 -07:00
Rachel Powers
7c05e841ae chore: update Changelog 2024-04-28 13:20:27 -07:00
Rachel Powers
8564709e68 chore: changelog tools 2024-04-28 12:55:54 -07:00
Rachel Powers
4ac823a1bc fix: device id change UI event chain fixed; changing the Active IC's ID no longer breaks the UI 2024-04-28 12:55:02 -07:00
Rachel Powers
f580cb2c53 Cleanup
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-28 12:55:00 -07:00
Rachel Powers
e33022e93b slot component needs prefabName
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-28 12:55:00 -07:00
Rachel Powers
e2cf366e5f ci: fix actions perms
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-28 12:54:52 -07:00
Rachel Powers
f1ef88a367 prevent git comment, also tag status
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-28 12:54:51 -07:00
Rachel Powers
1af36b5631 issues permissions
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-28 12:54:50 -07:00
Rachel Powers
4e3dcda035 ci: use new preview deploy action
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-28 12:54:36 -07:00
Rachel Powers
cfa240c579 perf: performance improvments
- switch to BTreeMap for consistant ordering of fields (less UI updates)
- cache calls to expensive getters in the vm via witha Proxy on
  DeviceRefs
- have DeviceMixin explicitly subscribe to device property changes to
  limit updates
- split fields into seperate componate to avoid rerender of other
  components
- speedup ic10emu_wasm DeviceRef::get_slots by only calling serde once.

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-28 12:54:24 -07:00
Rachel Powers
2480a08ada exchange quantity input for clear button
- slight speed up, prevent unneeded deviceMixin updates

In future need to let Mixin component subscribe to changes they care
about

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-28 12:54:21 -07:00
Rachel Powers
6cc2189921 perf: vastly improve load speed
- delay render non visable device tabs

in the future there are some significant speed gains to be made by
limiting calls into the rust VM for data. serialize it all up front.

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-28 12:54:13 -07:00