EDIT MODE

Background

So I was finally bugged enough times to put the old Light Gray/Dark Gray colors back in :)

First an explanation of how we got here. When I was first experimenting with how the site would work and if it could even be done, I noticed that the Light Gray parts had stopped being produced around 2003 and were replaced by Light Bluish Gray parts. Similarly for Dark Gray. 2003 was during my dark ages period so I hadn’t noticed it earlier! This was going to make it nearly impossible for a pre-2003 set to get a high match with any post-2003 set, causing much frustration for me.

I came up with the idea of equating similar colors. This was to improve the % of matching parts between sets during the build calculations. Whenever the algorithms came across an old color it would simply use the new color instead. I set this up for LG-LBG and DG-DBG only, thinking if I came across any other examples I could do the same thing.

After all, they look similar right?

Light Gray and Light Bluish Gray:

Dark Gray and Dark Bluish Gray:

This made a nice improvement in the average % matching scores during my testing so I decided to keep it.

The problems started once I introduced the My Parts feature allowing people to store their loose parts. Little did I realise the passion of the LEGO community in maintaining a pure record of their parts!

Options

There are 2710 sets that have had Light Gray or Dark Gray changed to Light Bluish Gray or Dark Bluish Gray, and 125761 parts in total that potentially need changing.

I had two options:

1. Manually update the table data. The side effect of making Rebrickable’s complex calculations fast is that there is a lot of redundant and pre-calculated data spread out over many tables. So making a change in one place requires changes in several other places, and due to the layers of computation already done on the data makes this extremely difficult. It is a huge problem to solve with a high chance of buggering it all up.

2. Use the existing code that does these part/color transformations and re-apply it without the color mappings. This will cover nearly every scenario except for some early site problems which didn’t keep track of every change very well. So other than a few sets that were manually updated over a year ago, most sets should turn out correct. However this option is very resource intensive as every set that is updated needs to perform a lot of repeated calculations, and will take a long time to get through all the affected sets.

Solution

I looked into option 1 for a while to try and come up with a quick fix, but gave up eventually. So, I have started implementing option 2 already. I have the list of 2710 impacted sets and will be re-processing each of them one by one over a period of weeks.

You should start to see some parts show up in the old colors already, and in the coming weeks it will become more complete.

As a result of the update, any build calculations performed using the “Exact” color matching will start to produce different (probably worse) results than previously. Any calculations performed using the “Close” or “Ignore” color matching will have no difference as the old and new colors are considered close in the algorithms.

In addition to fixing the existing data, the code for mapping the old to new colors has already been disabled. This means you can import the old colors into your own MOCs and My Parts list without them being automatically converted.

I will provide an update when it is complete!

Update: It’s done.

6 COMMENTS

  • 4 years, 1 month ago thea (38175) Inventory Admin ADMIN
    Wouldn't you know it!!! I am NOT a technic person but I thought I could do the gears anyway. So the first one I am trying to figure out has 24 teeth and 3 axle holes and I know it's an old one. Looking at the pictures, I can't find any that look like it, so I went to BrickLink catalog and found the part number is x187. Come back here and discover why I couldn't recognize it. The picture for x187 is NOT a gear. Looks like an axle maybe.
    • 4 years, 1 month ago theskirrid (83748) Inventory Admin ADMIN
      Use 3648a for old style and 3648 for new style [one axle hole] 24 toothers. They map to the BL x187's, and the pictures aren't weird :-)
  • 4 years, 1 month ago thea (38175) Inventory Admin ADMIN
    Just read this and have gone and gotten a tray of my son's old Technic gears to add to myparts. Thank you from one of those bug-ees!
  • 4 years, 2 months ago biodreamer (19004) MOC Designer
    Shouldn't there be something like this for almost the same parts also like 3001 vs 3001old, or windows with solid stud vs windows with hollowed out studs... you can usually build them even if you don't own the oldest part version.

    and visually it has less impact then changing the colour of the pieces.
  • 4 years, 2 months ago HobbieGoofy (73)
    Nathan,

    Thanks on behalf of myself and all the other AFOL who are purist. Now, once we get our additional parts inventory into the system, (which will take time)we will have a much better idea of what we have on-going and that is a good thing.
to your account to add or reply to comments.