What's everyone working on this week (16/2019)?


New week, new Rust! What are you folks up to?


Still happily contributing to https://github.com/svenstaro/miniserve

My focus this week will be to revamp the errors, and to eliminate all calls to unwrap and display nice error messages to the user instead of panics in unexpected cases.


Still working on https://github.com/notriddle/more-interesting

Next step will be to apply some more refactoring suggestions, like moving to boxed queries.


I recently started looking into issue #41 and extending the current parser to deal with Include lines/statements. While investigating I thought it might be a good time for a complete re-write of the parsing code. Instead of changing the Rust code for the main executable rs_pbrt I introduced another example program called parse_pbrt_file (there is another experimental one called parse_ass_file which deals with Arnold’s scene description). Both basically call API functions while parsing to create the scene, when done reading the scene an acceleration structure gets built, and finally the scene gets rendered. My current test scene contains only 36 lines, but includes another file with 1.5 million curves:

> pwd
> grep Include f3-15_no_exrs.pbrt
Include "geometry/bunnyfur.pbrt"
> wc -l f3-15_no_exrs.pbrt
36 f3-15_no_exrs.pbrt
> wc -l geometry/bunnyfur.pbrt
1508665 geometry/bunnyfur.pbrt

The resulting image looks like this:

So, I think I will test the new parser vs. the old parser this week and once I’m convinced it works as expected I replace the old Rust parsing code by the new one (so the main executable will still be called rs_pbrt). That might be a good time for a new release


I’m continuing to contribute to Miri. I’m working on adding proper panic unwinding support, which should allow a greater variety of Rust programs to run successfully under Miri.


Announced libz blitz for uuid: https://internals.rust-lang.org/t/out-of-band-crate-evaluation-for-2019-04-19-uuid/9848 :smiley:


Got basic configurable control input working for my game, so players can specify what sequence characters will execute upon:

  • Button press: for instant sequences, such as punch, shoot
  • Button hold: for continuous sequences such as lasers
  • Button release: for powered up moves, such as a charge shot release (mega buster)