It has been some time since I floated the idea in here, but I have finally added functionality to buildinginstructions.js and by extension, the website BrickHub.org which checks for OMR compliance, and in most cases, can fix errors directly on the site. here is a video showing how to use it
I do not expect that I have found all OMR checks, and some of my checks might even be erroneous. This is why I am creating this thread. Let's discuss OMR checks and fixes
The checks and fixes are currently implemented in this Javascript file: LDROMR.js
Here are the checks that I have implemented:
I do not expect that I have found all OMR checks, and some of my checks might even be erroneous. This is why I am creating this thread. Let's discuss OMR checks and fixes

The checks and fixes are currently implemented in this Javascript file: LDROMR.js
Here are the checks that I have implemented:
- Check and fix individual file headers read "0 FILE <set number> - <name>.ldr" then "0 <name>", followed by "0 Name:<set number> - <name>.ldr".
- Ensure the file name is "<set number> - <name>.mpd"
- Check and fix moved parts: If a part is named "~Moved <name>" then replace its usages with "<name>.dat"
- Check and fix placements: If a part is placed with more than three decimals in any coordinate, then round the placement to three decimals. Example: "1 16 0.0001 0 0 ..." becomes "1 16 0 0 0 ...".
- Check and fix all author lines: Ensure all authors are the same and read "!Author First name Last name [username]"
- Check and fix all license lines to read "Redistributable under CCAL version 2.0 : see CAreadme.txt"
- Set all "0 LDRAW_ORG" lines to read either "Model" or "Unofficial_Model".
- Ensure all unofficial parts are copied into the MPD file and named with the set number prefix in the "0 FILE" and "0 Name:" lines.
- If the set is from 2007 or after and contains old colors (6, 7, or 8), then replace them with the newer colored parts.
- If the set is from before 2007 and contains new colors (70, 71, or 72), then replace them with the old colored parts.
- Verify that "Theme" lines correctly identify a theme.
- Verify that "History" lines are well formed.
- Verify that "History" lines are in the correct order.