Commit Graph

31 Commits

Author SHA1 Message Date
Rachel Powers
6c26a37ca0 refactor(vm, frontend): turns out that the serde_wasm_bindgen facilities of TSify are borken... 2024-06-01 04:22:58 -07:00
Rachel Powers
d618f7b091 refactor(vm, frontend): internally tag template enum, finish remap frontend 2024-05-31 21:41:09 -07:00
Rachel Powers
10997d4185 refactor(frontend): fix base template component 2024-05-30 17:53:48 -07:00
Rachel Powers
7b6909a323 refactor(vm, frontend): memory instructions, baseObject
- parse and map meory instructions
- use FrozenObjectFull to propogate  data out of VM to componates (far
  less wasm calls)
2024-05-29 20:08:16 -07:00
Rachel Powers
c1f4cb23d4 refactor(frontend): use new frozen object to fill values for baseObject mixin, proxy vm to webworker to avoid hogging main thread 2024-05-29 00:27:28 -07:00
Rachel Powers
096e272b07 refactor(vm) use generated enums wherever possible 2024-05-09 13:58:28 -07: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
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
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
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
d240095020 refactor device.ts to split up code 2024-04-22 18:28:59 -07:00
Rachel Powers
d7d84fa7e6 move to rsbuild over webpack 2024-04-20 14:56:53 -07:00
Rachel Powers
29d7a10f47 ensure all numeric values preserve across session 2024-04-20 10:58:42 -07:00
Rachel Powers
e4d42d69a5 persist vm session 2024-04-20 01:39:10 -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
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
ad55b65755 stablize device order, fix UI desync when devices are added or removed 2024-04-16 15:54:36 -07:00
Rachel Powers
18095d0136 refine UI events with multiple devices in play 2024-04-16 14:13:41 -07:00
Rachel Powers
a103049616 add reagents to devicedb 2024-04-15 16:01:03 -07:00
Rachel Powers
f29f4d7adc pull even more device data 2024-04-14 22:32:22 -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
fac6616b2c code review + esbuild for faster bundle (1.7x boost) 2024-04-12 12:59:12 -07:00
Rachel Powers
d63f8dff36 Device db fuzy search!
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-11 14:48:10 -07:00
Rachel Powers
d1812696f4 emit events from VM Global when changing device values
cleanup old UI code

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-04-10 02:30:06 -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
ef0d2e6327 rename js folder to ts 2024-04-08 12:27:26 -07:00