diff options
| author | magnus <magnus@am.my.domain> | 2026-07-13 10:29:45 +0300 |
|---|---|---|
| committer | magnus <magnus@am.my.domain> | 2026-07-13 10:29:45 +0300 |
| commit | 0ba8b891530a569f73ecad62f786365e1085f1bd (patch) | |
| tree | ea76d95f2be5ebccdb206c892b8b83de3d9bc5ba | |
| parent | 757381dd3a1608c00bc343c633b4cae264d9129d (diff) | |
32 files changed, 372 insertions, 5 deletions
diff --git a/assets/prototypes/material_prototype_paths.json b/assets/prototypes/material_prototype_paths.json new file mode 100644 index 0000000..f032b3c --- /dev/null +++ b/assets/prototypes/material_prototype_paths.json @@ -0,0 +1,42 @@ +{ + "concrete": [ + "assets/prototypes/materials/concrete_01.jpg", + "assets/prototypes/materials/concrete_02.jpg", + "assets/prototypes/materials/concrete_03.jpg", + "assets/prototypes/materials/concrete_04.jpg", + "assets/prototypes/materials/concrete_05.jpg" + ], + "brick": [ + "assets/prototypes/materials/brick_01.jpg", + "assets/prototypes/materials/brick_02.jpg", + "assets/prototypes/materials/brick_03.jpg", + "assets/prototypes/materials/brick_04.jpg", + "assets/prototypes/materials/brick_05.jpg" + ], + "wood": [ + "assets/prototypes/materials/wood_01.jpg", + "assets/prototypes/materials/wood_02.jpg", + "assets/prototypes/materials/wood_03.jpg" + ], + "steel": [ + "assets/prototypes/materials/steel_01.jpg" + ], + "aluminum": [ + "assets/prototypes/materials/aluminum_01.jpg" + ], + "glass": [ + "assets/prototypes/materials/glass_01.jpg" + ], + "plastic": [ + "assets/prototypes/materials/plastic_01.jpg" + ], + "ceramic": [ + "assets/prototypes/materials/ceramic_01.jpg" + ], + "gypsum": [ + "assets/prototypes/materials/gypsum_01.jpg" + ], + "insulation_wool": [ + "assets/prototypes/materials/insulation_wool_01.jpg" + ] +} diff --git a/assets/prototypes/materials/aluminum_01.jpg b/assets/prototypes/materials/aluminum_01.jpg Binary files differnew file mode 100644 index 0000000..0f73afa --- /dev/null +++ b/assets/prototypes/materials/aluminum_01.jpg diff --git a/assets/prototypes/materials/brick_01.jpg b/assets/prototypes/materials/brick_01.jpg Binary files differnew file mode 100644 index 0000000..e003476 --- /dev/null +++ b/assets/prototypes/materials/brick_01.jpg diff --git a/assets/prototypes/materials/brick_02.jpg b/assets/prototypes/materials/brick_02.jpg Binary files differnew file mode 100644 index 0000000..991ae9d --- /dev/null +++ b/assets/prototypes/materials/brick_02.jpg diff --git a/assets/prototypes/materials/brick_03.jpg b/assets/prototypes/materials/brick_03.jpg Binary files differnew file mode 100644 index 0000000..42eeefc --- /dev/null +++ b/assets/prototypes/materials/brick_03.jpg diff --git a/assets/prototypes/materials/brick_04.jpg b/assets/prototypes/materials/brick_04.jpg Binary files differnew file mode 100644 index 0000000..2b6efdd --- /dev/null +++ b/assets/prototypes/materials/brick_04.jpg diff --git a/assets/prototypes/materials/brick_05.jpg b/assets/prototypes/materials/brick_05.jpg Binary files differnew file mode 100644 index 0000000..9c409e5 --- /dev/null +++ b/assets/prototypes/materials/brick_05.jpg diff --git a/assets/prototypes/materials/ceramic_01.jpg b/assets/prototypes/materials/ceramic_01.jpg Binary files differnew file mode 100644 index 0000000..1648b4b --- /dev/null +++ b/assets/prototypes/materials/ceramic_01.jpg diff --git a/assets/prototypes/materials/concrete_01.jpg b/assets/prototypes/materials/concrete_01.jpg Binary files differnew file mode 100644 index 0000000..f930ded --- /dev/null +++ b/assets/prototypes/materials/concrete_01.jpg diff --git a/assets/prototypes/materials/concrete_02.jpg b/assets/prototypes/materials/concrete_02.jpg Binary files differnew file mode 100644 index 0000000..cd795d9 --- /dev/null +++ b/assets/prototypes/materials/concrete_02.jpg diff --git a/assets/prototypes/materials/concrete_03.jpg b/assets/prototypes/materials/concrete_03.jpg Binary files differnew file mode 100644 index 0000000..067acc6 --- /dev/null +++ b/assets/prototypes/materials/concrete_03.jpg diff --git a/assets/prototypes/materials/concrete_04.jpg b/assets/prototypes/materials/concrete_04.jpg Binary files differnew file mode 100644 index 0000000..a080cc2 --- /dev/null +++ b/assets/prototypes/materials/concrete_04.jpg diff --git a/assets/prototypes/materials/concrete_05.jpg b/assets/prototypes/materials/concrete_05.jpg Binary files differnew file mode 100644 index 0000000..9607fe7 --- /dev/null +++ b/assets/prototypes/materials/concrete_05.jpg diff --git a/assets/prototypes/materials/glass_01.jpg b/assets/prototypes/materials/glass_01.jpg Binary files differnew file mode 100644 index 0000000..c03c56a --- /dev/null +++ b/assets/prototypes/materials/glass_01.jpg diff --git a/assets/prototypes/materials/gypsum_01.jpg b/assets/prototypes/materials/gypsum_01.jpg Binary files differnew file mode 100644 index 0000000..326d418 --- /dev/null +++ b/assets/prototypes/materials/gypsum_01.jpg diff --git a/assets/prototypes/materials/insulation_wool_01.jpg b/assets/prototypes/materials/insulation_wool_01.jpg Binary files differnew file mode 100644 index 0000000..fb39231 --- /dev/null +++ b/assets/prototypes/materials/insulation_wool_01.jpg diff --git a/assets/prototypes/materials/plastic_01.jpg b/assets/prototypes/materials/plastic_01.jpg Binary files differnew file mode 100644 index 0000000..9bd6014 --- /dev/null +++ b/assets/prototypes/materials/plastic_01.jpg diff --git a/assets/prototypes/materials/steel_01.jpg b/assets/prototypes/materials/steel_01.jpg Binary files differnew file mode 100644 index 0000000..44bd907 --- /dev/null +++ b/assets/prototypes/materials/steel_01.jpg diff --git a/assets/prototypes/materials/wood_01.jpg b/assets/prototypes/materials/wood_01.jpg Binary files differnew file mode 100644 index 0000000..e1ecbd4 --- /dev/null +++ b/assets/prototypes/materials/wood_01.jpg diff --git a/assets/prototypes/materials/wood_02.jpg b/assets/prototypes/materials/wood_02.jpg Binary files differnew file mode 100644 index 0000000..535446c --- /dev/null +++ b/assets/prototypes/materials/wood_02.jpg diff --git a/assets/prototypes/materials/wood_03.jpg b/assets/prototypes/materials/wood_03.jpg Binary files differnew file mode 100644 index 0000000..8f5f563 --- /dev/null +++ b/assets/prototypes/materials/wood_03.jpg diff --git a/assets/prototypes/object_prototype_paths.json b/assets/prototypes/object_prototype_paths.json new file mode 100644 index 0000000..2ec585e --- /dev/null +++ b/assets/prototypes/object_prototype_paths.json @@ -0,0 +1,26 @@ +{ + "window": [ + "assets/prototypes/objects/window_01.jpg" + ], + "door": [ + "assets/prototypes/objects/door_01.jpg" + ], + "wall": [ + "assets/prototypes/objects/wall_01.jpg" + ], + "floor": [ + "assets/prototypes/objects/floor_01.jpg" + ], + "roof": [ + "assets/prototypes/objects/roof_01.jpg" + ], + "pipe": [ + "assets/prototypes/objects/pipe_01.jpg" + ], + "beam": [ + "assets/prototypes/objects/beam_01.jpg" + ], + "column": [ + "assets/prototypes/objects/column_01.jpg" + ] +} diff --git a/assets/prototypes/objects/beam_01.jpg b/assets/prototypes/objects/beam_01.jpg Binary files differnew file mode 100644 index 0000000..736bf45 --- /dev/null +++ b/assets/prototypes/objects/beam_01.jpg diff --git a/assets/prototypes/objects/column_01.jpg b/assets/prototypes/objects/column_01.jpg Binary files differnew file mode 100644 index 0000000..720a6eb --- /dev/null +++ b/assets/prototypes/objects/column_01.jpg diff --git a/assets/prototypes/objects/door_01.jpg b/assets/prototypes/objects/door_01.jpg Binary files differnew file mode 100644 index 0000000..31b6e4b --- /dev/null +++ b/assets/prototypes/objects/door_01.jpg diff --git a/assets/prototypes/objects/floor_01.jpg b/assets/prototypes/objects/floor_01.jpg Binary files differnew file mode 100644 index 0000000..3d956a6 --- /dev/null +++ b/assets/prototypes/objects/floor_01.jpg diff --git a/assets/prototypes/objects/pipe_01.jpg b/assets/prototypes/objects/pipe_01.jpg Binary files differnew file mode 100644 index 0000000..7a85a03 --- /dev/null +++ b/assets/prototypes/objects/pipe_01.jpg diff --git a/assets/prototypes/objects/roof_01.jpg b/assets/prototypes/objects/roof_01.jpg Binary files differnew file mode 100644 index 0000000..3014158 --- /dev/null +++ b/assets/prototypes/objects/roof_01.jpg diff --git a/assets/prototypes/objects/wall_01.jpg b/assets/prototypes/objects/wall_01.jpg Binary files differnew file mode 100644 index 0000000..845a011 --- /dev/null +++ b/assets/prototypes/objects/wall_01.jpg diff --git a/assets/prototypes/objects/window_01.jpg b/assets/prototypes/objects/window_01.jpg Binary files differnew file mode 100644 index 0000000..32511d8 --- /dev/null +++ b/assets/prototypes/objects/window_01.jpg diff --git a/assets/prototypes/prototype_manifest.json b/assets/prototypes/prototype_manifest.json new file mode 100644 index 0000000..f3b1e3f --- /dev/null +++ b/assets/prototypes/prototype_manifest.json @@ -0,0 +1,275 @@ +{ + "provider": "Wikimedia Commons API", + "materials": { + "concrete": { + "status": "ok", + "entries": [ + { + "status": "ok", + "file": "assets/prototypes/materials/concrete_01.jpg", + "source_title": "File:Brown brushed painted slightly worn aged seamless concrete building wall texture.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Brown_brushed_painted_slightly_worn_aged_seamless_concrete_building_wall_texture.jpg/960px-Brown_brushed_painted_slightly_worn_aged_seamless_concrete_building_wall_texture.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Brown_brushed_painted_slightly_worn_aged_seamless_concrete_building_wall_texture.jpg", + "query": "concrete wall texture", + "mime": "image/jpeg" + }, + { + "status": "ok", + "file": "assets/prototypes/materials/concrete_02.jpg", + "source_title": "File:Old concrete wall.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d1/Old_concrete_wall.jpg/960px-Old_concrete_wall.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Old_concrete_wall.jpg", + "query": "exposed aggregate concrete", + "mime": "image/jpeg" + }, + { + "status": "ok", + "file": "assets/prototypes/materials/concrete_03.png", + "source_title": "File:Concrete040 8K Color.png", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Concrete040_8K_Color.png/960px-Concrete040_8K_Color.png", + "source_page": "https://commons.wikimedia.org/wiki/File:Concrete040_8K_Color.png", + "query": "exposed aggregate concrete", + "mime": "image/png" + }, + { + "status": "ok", + "file": "assets/prototypes/materials/concrete_04.jpg", + "source_title": "File:Concrete aggregate grinding.JPG", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/Concrete_aggregate_grinding.JPG/960px-Concrete_aggregate_grinding.JPG", + "source_page": "https://commons.wikimedia.org/wiki/File:Concrete_aggregate_grinding.JPG", + "query": "exposed aggregate concrete", + "mime": "image/jpeg" + }, + { + "status": "ok", + "file": "assets/prototypes/materials/concrete_05.jpg", + "source_title": "File:Bloczek betonowy.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/b/b4/Bloczek_betonowy.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Bloczek_betonowy.jpg", + "query": "exposed aggregate concrete", + "mime": "image/jpeg" + } + ] + }, + "brick": { + "status": "ok", + "entries": [ + { + "status": "ok", + "file": "assets/prototypes/materials/brick_01.jpg", + "source_title": "File:087 Red brick wall background, brick wall texture free photo with attribution.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/087_Red_brick_wall_background%2C_brick_wall_texture_free_photo_with_attribution.jpg/960px-087_Red_brick_wall_background%2C_brick_wall_texture_free_photo_with_attribution.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:087_Red_brick_wall_background,_brick_wall_texture_free_photo_with_attribution.jpg", + "query": "brick wall texture", + "mime": "image/jpeg" + }, + { + "status": "ok", + "file": "assets/prototypes/materials/brick_02.img", + "provider": "unknown" + }, + { + "status": "ok", + "file": "assets/prototypes/materials/brick_03.png", + "provider": "unknown" + }, + { + "status": "ok", + "file": "assets/prototypes/materials/brick_04.jpg", + "provider": "unknown" + }, + { + "status": "ok", + "file": "assets/prototypes/materials/brick_05.jpg", + "provider": "unknown" + } + ] + }, + "wood": { + "status": "ok", + "entries": [ + { + "status": "ok", + "file": "assets/prototypes/materials/wood_01.jpg", + "source_title": "File:Kirschholzbrett -- 2021 -- 7656.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Kirschholzbrett_--_2021_--_7656.jpg/960px-Kirschholzbrett_--_2021_--_7656.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Kirschholzbrett_--_2021_--_7656.jpg", + "query": "wood plank texture", + "mime": "image/jpeg" + } + ] + }, + "steel": { + "status": "ok", + "entries": [ + { + "status": "ok", + "file": "assets/prototypes/materials/steel_01.jpg", + "source_title": "File:Dark grey stainless steel heavily scratched worn indented top edge metal surface texture.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/Dark_grey_stainless_steel_heavily_scratched_worn_indented_top_edge_metal_surface_texture.jpg/960px-Dark_grey_stainless_steel_heavily_scratched_worn_indented_top_edge_metal_surface_texture.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Dark_grey_stainless_steel_heavily_scratched_worn_indented_top_edge_metal_surface_texture.jpg", + "query": "steel surface texture", + "mime": "image/jpeg" + } + ] + }, + "aluminum": { + "status": "ok", + "entries": [ + { + "status": "ok", + "file": "assets/prototypes/materials/aluminum_01.jpg", + "source_title": "File:Aluminium foam sandwich.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Aluminium_foam_sandwich.jpg/960px-Aluminium_foam_sandwich.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Aluminium_foam_sandwich.jpg", + "query": "aluminium sheet texture", + "mime": "image/jpeg" + } + ] + }, + "glass": { + "status": "ok", + "entries": [ + { + "status": "ok", + "file": "assets/prototypes/materials/glass_01.jpg", + "source_title": "File:1 Pane Stained Glass Staircase Window Eldridge Street Synagogue.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/30/1_Pane_Stained_Glass_Staircase_Window_Eldridge_Street_Synagogue.jpg/960px-1_Pane_Stained_Glass_Staircase_Window_Eldridge_Street_Synagogue.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:1_Pane_Stained_Glass_Staircase_Window_Eldridge_Street_Synagogue.jpg", + "query": "window glass pane", + "mime": "image/jpeg" + } + ] + }, + "plastic": { + "status": "ok", + "entries": [ + { + "status": "ok", + "file": "assets/prototypes/materials/plastic_01.jpg", + "source_title": "File:Closeup of Weathered FRP Panel Texture.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Closeup_of_Weathered_FRP_Panel_Texture.jpg/960px-Closeup_of_Weathered_FRP_Panel_Texture.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Closeup_of_Weathered_FRP_Panel_Texture.jpg", + "query": "plastic surface texture", + "mime": "image/jpeg" + } + ] + }, + "ceramic": { + "status": "ok", + "entries": [ + { + "status": "ok", + "file": "assets/prototypes/materials/ceramic_01.jpg", + "source_title": "File:Blue Tiles - Free For Commercial Use - FFCU (26777905945).jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Blue_Tiles_-_Free_For_Commercial_Use_-_FFCU_%2826777905945%29.jpg/960px-Blue_Tiles_-_Free_For_Commercial_Use_-_FFCU_%2826777905945%29.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Blue_Tiles_-_Free_For_Commercial_Use_-_FFCU_(26777905945).jpg", + "query": "ceramic tile texture", + "mime": "image/jpeg" + } + ] + }, + "gypsum": { + "status": "ok", + "entries": [ + { + "status": "ok", + "file": "assets/prototypes/materials/gypsum_01.jpg", + "source_title": "File:Drywall.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/3/3e/Drywall.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Drywall.jpg", + "query": "drywall gypsum board", + "mime": "image/jpeg" + } + ] + }, + "insulation_wool": { + "status": "ok", + "entries": [ + { + "status": "ok", + "file": "assets/prototypes/materials/insulation_wool_01.jpg", + "source_title": "File:06 Thermal insulation retrofit works on a department store building with mineral wool and Aluthermo aluminium composite mat.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/06_Thermal_insulation_retrofit_works_on_a_department_store_building_with_mineral_wool_and_Aluthermo_aluminium_composite_mat.jpg/960px-06_Thermal_insulation_retrofit_works_on_a_department_store_building_with_mineral_wool_and_Aluthermo_aluminium_composite_mat.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:06_Thermal_insulation_retrofit_works_on_a_department_store_building_with_mineral_wool_and_Aluthermo_aluminium_composite_mat.jpg", + "query": "mineral wool insulation", + "mime": "image/jpeg" + } + ] + } + }, + "objects": { + "window": { + "status": "ok", + "file": "assets/prototypes/objects/window_01.jpg", + "source_title": "File:34-35 Whitefriargate Window Closeup, Kingston upon Hull Dec24.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/6/69/34-35_Whitefriargate_Window_Closeup%2C_Kingston_upon_Hull_Dec24.jpg/960px-34-35_Whitefriargate_Window_Closeup%2C_Kingston_upon_Hull_Dec24.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:34-35_Whitefriargate_Window_Closeup,_Kingston_upon_Hull_Dec24.jpg", + "query": "building window closeup", + "mime": "image/jpeg" + }, + "door": { + "status": "ok", + "file": "assets/prototypes/objects/door_01.jpg", + "source_title": "File:Conjoined circles on the door to a back staircase at the Hartwell Tavern (a3ca2679-7a01-487c-8fa3-6f9fd36e76e3).JPG", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Conjoined_circles_on_the_door_to_a_back_staircase_at_the_Hartwell_Tavern_%28a3ca2679-7a01-487c-8fa3-6f9fd36e76e3%29.JPG/960px-Conjoined_circles_on_the_door_to_a_back_staircase_at_the_Hartwell_Tavern_%28a3ca2679-7a01-487c-8fa3-6f9fd36e76e3%29.JPG", + "source_page": "https://commons.wikimedia.org/wiki/File:Conjoined_circles_on_the_door_to_a_back_staircase_at_the_Hartwell_Tavern_(a3ca2679-7a01-487c-8fa3-6f9fd36e76e3).JPG", + "query": "wooden door closeup", + "mime": "image/jpeg" + }, + "wall": { + "status": "ok", + "file": "assets/prototypes/objects/wall_01.jpg", + "source_title": "File:Common hop on former factory wall, Ursus (Warsaw), 2024-07-20.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Common_hop_on_former_factory_wall%2C_Ursus_%28Warsaw%29%2C_2024-07-20.jpg/960px-Common_hop_on_former_factory_wall%2C_Ursus_%28Warsaw%29%2C_2024-07-20.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Common_hop_on_former_factory_wall,_Ursus_(Warsaw),_2024-07-20.jpg", + "query": "building wall facade", + "mime": "image/jpeg" + }, + "floor": { + "status": "ok", + "file": "assets/prototypes/objects/floor_01.jpg", + "source_title": "File:Gravel concrete 04 ao 8k (Dimitrios Savva via Poly Haven).jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Gravel_concrete_04_ao_8k_%28Dimitrios_Savva_via_Poly_Haven%29.jpg/960px-Gravel_concrete_04_ao_8k_%28Dimitrios_Savva_via_Poly_Haven%29.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Gravel_concrete_04_ao_8k_(Dimitrios_Savva_via_Poly_Haven).jpg", + "query": "concrete floor surface", + "mime": "image/jpeg" + }, + "roof": { + "status": "ok", + "file": "assets/prototypes/objects/roof_01.jpg", + "source_title": "File:A silhouette of a dog sitting on top of a metal sheet roof in the evening..jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/A_silhouette_of_a_dog_sitting_on_top_of_a_metal_sheet_roof_in_the_evening..jpg/960px-A_silhouette_of_a_dog_sitting_on_top_of_a_metal_sheet_roof_in_the_evening..jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:A_silhouette_of_a_dog_sitting_on_top_of_a_metal_sheet_roof_in_the_evening..jpg", + "query": "metal roof sheet", + "mime": "image/jpeg" + }, + "pipe": { + "status": "ok", + "file": "assets/prototypes/objects/pipe_01.jpg", + "source_title": "File:Exeter (Devon, UK), Cathedral Church of Saint Peter -- 2013 -- 3.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/00/Exeter_%28Devon%2C_UK%29%2C_Cathedral_Church_of_Saint_Peter_--_2013_--_3.jpg/960px-Exeter_%28Devon%2C_UK%29%2C_Cathedral_Church_of_Saint_Peter_--_2013_--_3.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:Exeter_(Devon,_UK),_Cathedral_Church_of_Saint_Peter_--_2013_--_3.jpg", + "query": "metal pipe closeup", + "mime": "image/jpeg" + }, + "beam": { + "status": "ok", + "file": "assets/prototypes/objects/beam_01.jpg", + "source_title": "File:'Cell form' steel beams. - geograph.org.uk - 486902.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/2/25/%27Cell_form%27_steel_beams._-_geograph.org.uk_-_486902.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:'Cell_form'_steel_beams._-_geograph.org.uk_-_486902.jpg", + "query": "steel beam construction", + "mime": "image/jpeg" + }, + "column": { + "status": "ok", + "file": "assets/prototypes/objects/column_01.jpg", + "source_title": "File:2012.08 - 'Concrete & old brick foundation under Central Station Amsterdam', urban photo of construction activities, Fons Heijnsbroek (12101703396).jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e2/2012.08_-_%27Concrete_%26_old_brick_foundation_under_Central_Station_Amsterdam%27%2C_urban_photo_of_construction_activities%2C_Fons_Heijnsbroek_%2812101703396%29.jpg/960px-2012.08_-_%27Concrete_%26_old_brick_foundation_under_Central_Station_Amsterdam%27%2C_urban_photo_of_construction_activities%2C_Fons_Heijnsbroek_%2812101703396%29.jpg", + "source_page": "https://commons.wikimedia.org/wiki/File:2012.08_-_'Concrete_&_old_brick_foundation_under_Central_Station_Amsterdam',_urban_photo_of_construction_activities,_Fons_Heijnsbroek_(12101703396).jpg", + "query": "concrete column construction", + "mime": "image/jpeg" + } + } +}
\ No newline at end of file diff --git a/poc_eval_notebook.ipynb b/poc_eval_notebook.ipynb index a1cfd46..3064193 100644 --- a/poc_eval_notebook.ipynb +++ b/poc_eval_notebook.ipynb @@ -79,10 +79,34 @@ "MIXED_MARGIN_THRESHOLD = 0.15\n", "MAX_MIXED_ENTRIES = 3\n", "MIN_MIXED_PERCENT = 10\n", - "MATERIAL_PROTOTYPE_IMAGE_PATHS = {\n", - " # \"wood\": [\"/content/prototypes/wood_01.jpg\", \"/content/prototypes/wood_02.jpg\"],\n", - " # \"steel\": [\"/content/prototypes/steel_01.jpg\"],\n", - "}\n", + "MATERIAL_PROTOTYPE_PATHS_JSON = os.getenv(\"MATERIAL_PROTOTYPE_PATHS_JSON\", \"\").strip()\n", + "MATERIAL_PROTOTYPE_PATHS_CANDIDATES = [\n", + " Path(MATERIAL_PROTOTYPE_PATHS_JSON) if MATERIAL_PROTOTYPE_PATHS_JSON else None,\n", + " Path(\"assets/prototypes/material_prototype_paths.json\"),\n", + " Path(\"/content/material-hunters/assets/prototypes/material_prototype_paths.json\"),\n", + "]\n", + "\n", + "def _resolve_material_prototype_paths(path_map_file: Path):\n", + " repo_root_guess = path_map_file.parents[2] if len(path_map_file.parents) >= 3 else path_map_file.parent\n", + " mapping = json.loads(path_map_file.read_text(encoding=\"utf-8\"))\n", + " resolved = {}\n", + " for material, paths in mapping.items():\n", + " fixed = []\n", + " for p in paths:\n", + " pp = Path(p)\n", + " cand = [pp, Path.cwd() / pp, repo_root_guess / pp] if not pp.is_absolute() else [pp]\n", + " chosen = next((c for c in cand if c.exists()), cand[-1])\n", + " fixed.append(str(chosen))\n", + " resolved[material] = fixed\n", + " return resolved\n", + "\n", + "_prototype_map_file = next((p for p in MATERIAL_PROTOTYPE_PATHS_CANDIDATES if p is not None and p.exists()), None)\n", + "MATERIAL_PROTOTYPE_IMAGE_PATHS = _resolve_material_prototype_paths(_prototype_map_file) if _prototype_map_file else {}\n", + "print(\n", + " f\"Loaded prototype path map from {_prototype_map_file} with {sum(len(v) for v in MATERIAL_PROTOTYPE_IMAGE_PATHS.values())} images\"\n", + " if _prototype_map_file\n", + " else \"No prototype path map found; DINOv3 will run without prototype support.\"\n", + ")\n", "SIGCLIP_MODEL_ID = \"google/siglip-base-patch16-224\"\n", "\n", "CSV_PATH = Path(\"/content/poc_eval_sheet.csv\")\n", @@ -1882,4 +1906,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -}
\ No newline at end of file +} |
