Commit Graph

238 Commits

Author SHA1 Message Date
35251f5a7f coremem_types: move Vec3u under the vec:: namespace
it's conceivable that Vec3u could be merged with Vec3 someday.
best to keep them in the same namespace, to make any such effort easier.
2022-07-18 14:23:35 -07:00
21483111cd Vec2, Vec3: remove default R parameter 2022-07-18 14:10:17 -07:00
536a09f7b8 spirv_bindings: remove custom Material trait
ffi version is now compatible with main coremem library without
conversion
2022-07-18 13:57:25 -07:00
19f00c9076 spirv_backend: remove Vec3Std and use coremem_types::Vec3 everywhere 2022-07-18 13:51:11 -07:00
d7d8be62d1 spirv_backend: remove UVec3Std in favor of Vec3u 2022-07-18 13:39:15 -07:00
b4783df134 spirv_backend: remove dead-code 2022-07-18 13:34:10 -07:00
4378f33eb9 spirv_backend: strip out the glam stuff, except for the lib.rs interface 2022-07-18 01:48:19 -07:00
d92089ae23 coremem_types: add a 'fmt' feature, so Real/Vec/friends can be used in fmt-less spirv 2022-07-18 01:31:00 -07:00
97c2813c9d coremem_types: hide Serialize/Deserialize behind a serde feature flag
- this flag is disabled in spirv_backend.
- spirv_backend currently errors in core::fmt stuff. may try hiding fmt
  behind a feature_flag.
2022-07-17 23:44:14 -07:00
19849c2428 fix test compilation failures from vec migration 2022-07-17 22:41:39 -07:00
8c3a26e798 move vec, vecu into coremem_types
- this will allow it to be used from within the spirv code.
- had to change some coremem code which was previously peering into
  privates or now-unrestricted constraints.
- may need to put the serde stuff behind a feature flag (or force
  nostd?)
2022-07-17 21:50:38 -07:00
4c0a87281b real: optimize Finite::from_{f32,f64} 2022-07-17 18:48:07 -07:00
253eb65f8f real: remove the remaining decorum dependencies 2022-07-17 18:46:25 -07:00
866aa2882b real: remove some, but not all, decorum stuff 2022-07-17 18:18:09 -07:00
57273ed430 coremem_types: remove dead num dependency 2022-07-17 17:33:29 -07:00
9d102e0152 split real out into its own crate
this is a move toward reusing some of the coremem helper types in the
spirv backend.
2022-07-17 17:32:35 -07:00
ac3895c432 fix broken doctest. it's a diagram, and shouldn't be run :| 2022-07-17 16:40:02 -07:00
a2d35782a1 lift the post-processing tools (viewer, csv, decimate) into their own crate
- these tools shouldn't need access to coremem internals.
- lifting them out reduces some dependencies in coremem-the-library.
- separation allows faster iteration in the coremem library while
  temporarily breaking the post-processing tools (specifically,
  those tools could take deps on a specific coremem version and thereby
  we split the update process into two, smaller steps).
2022-07-17 15:47:39 -07:00
89be8bf8dd multi_core_inverter: add documentation for running/viewing results 2022-07-17 14:58:42 -07:00
ccbaa39fcf lib: add init_debug to configure better debugging defaults (e.g. parallelism) 2022-07-17 13:58:16 -07:00
82e72e9e14 fix output directories (out/applications/...) 2022-07-17 13:05:41 -07:00
193e17e2c8 buffer_proto5: auto-create the output directories (and fix them to out/applications) 2022-07-17 13:03:38 -07:00
87ff2f2329 multi_core_inverter: add the last core(s) and the sense wire 2022-07-15 22:15:47 -07:00
559cec3894 multi_core_inverter: add coupling wires 2022-07-15 22:12:40 -07:00
6a316a2f6f multi_core_inverter: add the second core 2022-07-15 22:03:19 -07:00
7f3893c0db multi_core_inverter: add the drive input 2022-07-15 21:56:12 -07:00
6c63c7dc7d multi_core_inverter: add the ctl wire loop 2022-07-15 21:53:34 -07:00
0d199445f1 multi_core_inverter: populate with a single core, no wires
i'll add the rest later. i can't see this on the viewer, but maybe the
viewer just doesn't differentiate vacuum from non-vacuum when the fields
are identical?
2022-07-15 20:16:57 -07:00
b778acfd28 add a new crate where i'll explicitly simulate the inverter i hypothesize in an upcoming blog about this project 2022-07-15 17:13:41 -07:00
99e7306ae9 make all the examples be their own binary crates
this achieves a few things:
- trivial way to get these shipped as the default nix package
- better dependency management
- ability to split large applications into multiple files

the README probably needs some updating.
2022-07-06 01:30:31 -07:00
5f03cfbec0 remove unused spirv_backend/src/main.rs file 2022-07-06 00:29:05 -07:00
4dce151e9c remove spirv_backend_lib
this was a hack from earlier where we needed a different lib types
based on whethere we were targeting the native host or the spirv
backend.

at some point we no longer needed different lib types. so the _lib piece
is unnecessary.
2022-07-06 00:26:54 -07:00
791e465dd8 sim/spirv: remove unused import 2022-07-06 00:22:20 -07:00
0d98c46b37 Cargo.toml: lock the spirv_backend_builder dependencies using better syntax 2022-07-06 00:20:47 -07:00
721fea4866 update benches
this is mostly to verify that the rustc and nix updates are actually
working.
2022-07-06 00:14:23 -07:00
029a278177 simplify spirv builder 2022-07-05 23:01:41 -07:00
de7da0540d fix up the builder so that this works as a nix expression 2022-07-05 23:01:27 -07:00
5b99d30cda restructure this multi-crate project to use Cargo's "workspace" feature
this solves an issue in the Nix build, where managing multiple
Cargo.lock files is otherwise tricky. it causes (or fails to fix?) an adjacent issue where
the spirv builder doesn't seem to have everything it needs vendored.
2022-07-05 17:34:21 -07:00