Commit Graph

37 Commits

Author SHA1 Message Date
Rachel Powers
5cc935b826 refactor(vm) helpful codegen round 1~ 2024-05-07 21:59:06 -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
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
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
Rachel Powers
dbb2f71fdc feat:(slots UI): functional slots 2024-04-28 12:53:51 -07:00
Rachel Powers
c87d3f8bd8 feat(slots UI): better slot UI 2024-04-28 12:53:13 -07:00
Rachel Powers
16e11c5bce test generated enums have values + report parse errors 2024-04-22 13:14:07 -07:00
Rachel Powers
f1b68e18b8 move mutability within IC struct to limit borrow panics 2024-04-21 14:01:16 -07:00
Rachel Powers
cf1f3e15af use full vm state to restore backwards compatable links 2024-04-20 22:15:20 -07:00
Rachel Powers
9a374a4f73 save VM state 2024-04-19 20:06:19 -07:00
Rachel Powers
c63a1b3a4f pass along more generated types 2024-04-18 15:31:31 -07:00
Rachel Powers
3f65360811 refactor to make navigation easier 2024-04-18 15:03:17 -07:00
Rachel Powers
bd5695c415 make non derived readonly fields writable from the ui 2024-04-18 13:18:03 -07:00
Rachel Powers
c4a11bf696 let devices be removed 2024-04-17 19:22:43 -07:00
Rachel Powers
b60cc44580 fix: slotType serial + feaures
- fix slotType serialisation
- show slot images including class if no occupant
- filter/search device list
2024-04-17 14:23:21 -07:00
Rachel Powers
16cff30d7d flesh out dbentry to device templates on frontend 2024-04-15 23:43:34 -07:00
Rachel Powers
4e6ac09c5e device templates exist now 2024-04-15 21:30:05 -07:00
Rachel Powers
eed4f1f429 Allow the Id of a device to be changed, toast errors 2024-04-14 17:21:57 -07:00
Rachel Powers
fb192fbbe6 link error field, enhance networks, improve device update envents 2024-04-13 21:44:59 -07:00
Rachel Powers
d50eabe594 make slots account for having occupents. return logic fields that are deived form the device or slot occupant 2024-04-13 00:45:39 -07:00
Rachel Powers
3cdcc742b9 Device Cards
brings the rework inline were last efforts left off

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-09 21:01:12 -07:00
Rachel Powers
41a9e6da86 Registers and stack pages are back
(still need to hook for changing values)

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-08 01:55:15 -07:00
Rachel Powers
b609b2e94b device component with event to update state
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-07 22:44:15 -07:00
Rachel
cee8ddf8fc allow invalid -> nop parse, clean up
- new functions `*_with_invalid` and `set_code_invalid` create a
  program with invalid operations translated to Nop and the parse
  errors collected.

- `step` function refactored to be consistant about advancing the
  instrution pointer with errors. optional ignore erros and advance
  anyway.

Signed-off-by: Rachel <508861+Ryex@users.noreply.github.com>
2024-04-04 23:28:40 -07:00
Emil Gardström
c7c92a08d2 use a workspace 2024-04-02 12:19:42 +02:00
Rachel
a62643092a Beginings of Devices UI
- device summary
- start of offcanvas

Signed-off-by: Rachel <508861+Ryex@users.noreply.github.com>
2024-03-31 21:49:54 -07:00
Rachel
41cdf863c4 cargo/pnpm update 2024-03-31 16:16:38 -07:00
Rachel
60332b498d full typescript conversion 2024-03-31 16:12:21 -07:00
Rachel
5706c82553 better data 2024-03-29 16:33:09 -07:00
Rachel
5130fb1695 better production build 2024-03-29 15:13:46 -07:00
Rachel
2b9f9bab44 Fix deafult session Id, edit register values 2024-03-28 04:09:43 -07:00
Rachel
baf67b2c6a Vm working. simple interface built
- still need stack view
- still ned to work with devices
2024-03-28 01:31:09 -07:00
Rachel
9792fddf1f finished implimenting instrucitons 2024-03-26 21:03:19 -07:00
Rachel
bcc10adaf0 Nearly done with instruction impl 2024-03-26 01:43:31 -07:00
Rachel
e9df98a4c2 All branch/jump and set instructions impl
Signed-off-by: Rachel <508861+Ryex@users.noreply.github.com>
2024-03-25 15:54:03 -07:00
Rachel
93b5a7c4bf Move to a much more "simple" parser, start op impl
- wasm compiles in seconds instead of 20+ minutes wooo! (I'm looking at
  you rust-sitter)

Signed-off-by: Rachel <508861+Ryex@users.noreply.github.com>
2024-03-24 23:11:08 -07:00
Rachel
3ff8211028 add emu build to workflow 2024-03-17 16:14:55 -07:00