18
edits
(Added back the project :)) |
|||
Line 132: | Line 132: | ||
| [mailto:marco@mozilla.com Marco (:marco)] (Mozilla) | | [mailto:marco@mozilla.com Marco (:marco)] (Mozilla) | ||
| The project involves collecting data (screenshots of websites in different browsers), labeling it, training a neural network to automatically detect when a website is rendered differently in different browsers. | | The project involves collecting data (screenshots of websites in different browsers), labeling it, training a neural network to automatically detect when a website is rendered differently in different browsers. | ||
|- | |||
| Autogeneration of style structs in Servo's style system | |||
| Prototype how to run [https://github.com/rlhunt/cbindgen cbindgen] on Servo's style system [https://github.com/servo/servo/tree/master/components/style/values values module] to auto-generate style struct definitions for C++ and Rust, which would enable the removal of 5k+ [https://github.com/servo/servo/blob/master/components/style/properties/gecko.mako.rs lines] of unsafe and slow Rust <-> C++ conversion code. This can be done on a per-struct basis, so prototyping the general mechanism with a simple one like [https://github.com/servo/servo/blob/master/components/style/properties/longhand/color.mako.rs color] would be the first step, migrating more and more as time goes on. | |||
| Primarily Rust (though no need to be really advanced), probably a bit Python for build system integration, and basic C++ since it needs to get generated. | |||
| It may need to move the style::values component into a standalone crate as a prerequisite for some of the most complex structs, but that should be easy. | |||
| [https://github.com/emilio emilio] | |||
| [https://github.com/emilio emilio] | |||
| | |||
|- | |- | ||
| ..your project here! | | ..your project here! |
edits