Hi, I noticed something while checking some older filament entries.
Some products have a very specific material name, but the structured "material" field only keeps the base polymer.
For example:
- "Fiberon™ PA12-CF10" → "material: "PA""
- "Fiberon™ PA6-CF20" → "material: "PA""
- "Fiberon™ PA6-GF25" → "material: "PA""
There are similar cases with PETG-CF, PLA-CF, TPU hardness variants, and probably others.
The problem is that this removes useful information from the structured data.
For example, these are all quite different products:
- "PA6-CF5"
- "PA6-CF10"
- "PA6-CF20"
- "PA6-GF25"
But if they are stored as:
{
"material": "PA6",
"fill": "carbon fiber"
}
then "CF5", "CF10", and "CF20" all become indistinguishable from each other.
The same applies to glass-fiber percentages.
Because of that, I think the full formulation probably needs to stay in the "material" field, for example:
{
"material": "PA6-CF20",
"fill": "carbon fiber"
}
or:
{
"material": "PA6-GF25",
"fill": "glass fiber"
}
That way the exact material is preserved, while "fill" can still be useful as a broader category.
This also matters for filtering. A user looking specifically for "PETG-CF", "PA6-CF20", or "TPU-95A" should ideally not get the same classification as ordinary PETG, generic PA, or generic TPU.
The schema already seems to allow more specific material names such as "ABS-CF" and "PC+ABS-CF10", so I wanted to check whether keeping the full formulation in "material" is the intended convention before correcting older records.
I ran into this while cleaning up older entries in my community-maintained SpoolmanDB fork, and there seem to be enough affected records that having one consistent rule would help a lot.
Related to #32, but this is mainly about preserving the actual material variant in existing data rather than changing the overall schema.
Hi, I noticed something while checking some older filament entries.
Some products have a very specific material name, but the structured "material" field only keeps the base polymer.
For example:
There are similar cases with PETG-CF, PLA-CF, TPU hardness variants, and probably others.
The problem is that this removes useful information from the structured data.
For example, these are all quite different products:
But if they are stored as:
{
"material": "PA6",
"fill": "carbon fiber"
}
then "CF5", "CF10", and "CF20" all become indistinguishable from each other.
The same applies to glass-fiber percentages.
Because of that, I think the full formulation probably needs to stay in the "material" field, for example:
{
"material": "PA6-CF20",
"fill": "carbon fiber"
}
or:
{
"material": "PA6-GF25",
"fill": "glass fiber"
}
That way the exact material is preserved, while "fill" can still be useful as a broader category.
This also matters for filtering. A user looking specifically for "PETG-CF", "PA6-CF20", or "TPU-95A" should ideally not get the same classification as ordinary PETG, generic PA, or generic TPU.
The schema already seems to allow more specific material names such as "ABS-CF" and "PC+ABS-CF10", so I wanted to check whether keeping the full formulation in "material" is the intended convention before correcting older records.
I ran into this while cleaning up older entries in my community-maintained SpoolmanDB fork, and there seem to be enough affected records that having one consistent rule would help a lot.
Related to #32, but this is mainly about preserving the actual material variant in existing data rather than changing the overall schema.