summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormagnus <magnus@am.my.domain>2026-07-13 10:29:45 +0300
committermagnus <magnus@am.my.domain>2026-07-13 10:29:45 +0300
commit0ba8b891530a569f73ecad62f786365e1085f1bd (patch)
treeea76d95f2be5ebccdb206c892b8b83de3d9bc5ba
parent757381dd3a1608c00bc343c633b4cae264d9129d (diff)
added smoke test to notebook to gauge effectivenessHEADmain
-rw-r--r--assets/prototypes/material_prototype_paths.json42
-rw-r--r--assets/prototypes/materials/aluminum_01.jpgbin0 -> 184912 bytes
-rw-r--r--assets/prototypes/materials/brick_01.jpgbin0 -> 294415 bytes
-rw-r--r--assets/prototypes/materials/brick_02.jpgbin0 -> 371446 bytes
-rw-r--r--assets/prototypes/materials/brick_03.jpgbin0 -> 2882947 bytes
-rw-r--r--assets/prototypes/materials/brick_04.jpgbin0 -> 295561 bytes
-rw-r--r--assets/prototypes/materials/brick_05.jpgbin0 -> 188221 bytes
-rw-r--r--assets/prototypes/materials/ceramic_01.jpgbin0 -> 369609 bytes
-rw-r--r--assets/prototypes/materials/concrete_01.jpgbin0 -> 91206 bytes
-rw-r--r--assets/prototypes/materials/concrete_02.jpgbin0 -> 364975 bytes
-rw-r--r--assets/prototypes/materials/concrete_03.jpgbin0 -> 1923685 bytes
-rw-r--r--assets/prototypes/materials/concrete_04.jpgbin0 -> 143486 bytes
-rw-r--r--assets/prototypes/materials/concrete_05.jpgbin0 -> 138842 bytes
-rw-r--r--assets/prototypes/materials/glass_01.jpgbin0 -> 305081 bytes
-rw-r--r--assets/prototypes/materials/gypsum_01.jpgbin0 -> 8611 bytes
-rw-r--r--assets/prototypes/materials/insulation_wool_01.jpgbin0 -> 239651 bytes
-rw-r--r--assets/prototypes/materials/plastic_01.jpgbin0 -> 212574 bytes
-rw-r--r--assets/prototypes/materials/steel_01.jpgbin0 -> 107383 bytes
-rw-r--r--assets/prototypes/materials/wood_01.jpgbin0 -> 312977 bytes
-rw-r--r--assets/prototypes/materials/wood_02.jpgbin0 -> 297892 bytes
-rw-r--r--assets/prototypes/materials/wood_03.jpgbin0 -> 310567 bytes
-rw-r--r--assets/prototypes/object_prototype_paths.json26
-rw-r--r--assets/prototypes/objects/beam_01.jpgbin0 -> 123770 bytes
-rw-r--r--assets/prototypes/objects/column_01.jpgbin0 -> 206806 bytes
-rw-r--r--assets/prototypes/objects/door_01.jpgbin0 -> 284618 bytes
-rw-r--r--assets/prototypes/objects/floor_01.jpgbin0 -> 421083 bytes
-rw-r--r--assets/prototypes/objects/pipe_01.jpgbin0 -> 163371 bytes
-rw-r--r--assets/prototypes/objects/roof_01.jpgbin0 -> 49153 bytes
-rw-r--r--assets/prototypes/objects/wall_01.jpgbin0 -> 396490 bytes
-rw-r--r--assets/prototypes/objects/window_01.jpgbin0 -> 218629 bytes
-rw-r--r--assets/prototypes/prototype_manifest.json275
-rw-r--r--poc_eval_notebook.ipynb34
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
new file mode 100644
index 0000000..0f73afa
--- /dev/null
+++ b/assets/prototypes/materials/aluminum_01.jpg
Binary files differ
diff --git a/assets/prototypes/materials/brick_01.jpg b/assets/prototypes/materials/brick_01.jpg
new file mode 100644
index 0000000..e003476
--- /dev/null
+++ b/assets/prototypes/materials/brick_01.jpg
Binary files differ
diff --git a/assets/prototypes/materials/brick_02.jpg b/assets/prototypes/materials/brick_02.jpg
new file mode 100644
index 0000000..991ae9d
--- /dev/null
+++ b/assets/prototypes/materials/brick_02.jpg
Binary files differ
diff --git a/assets/prototypes/materials/brick_03.jpg b/assets/prototypes/materials/brick_03.jpg
new file mode 100644
index 0000000..42eeefc
--- /dev/null
+++ b/assets/prototypes/materials/brick_03.jpg
Binary files differ
diff --git a/assets/prototypes/materials/brick_04.jpg b/assets/prototypes/materials/brick_04.jpg
new file mode 100644
index 0000000..2b6efdd
--- /dev/null
+++ b/assets/prototypes/materials/brick_04.jpg
Binary files differ
diff --git a/assets/prototypes/materials/brick_05.jpg b/assets/prototypes/materials/brick_05.jpg
new file mode 100644
index 0000000..9c409e5
--- /dev/null
+++ b/assets/prototypes/materials/brick_05.jpg
Binary files differ
diff --git a/assets/prototypes/materials/ceramic_01.jpg b/assets/prototypes/materials/ceramic_01.jpg
new file mode 100644
index 0000000..1648b4b
--- /dev/null
+++ b/assets/prototypes/materials/ceramic_01.jpg
Binary files differ
diff --git a/assets/prototypes/materials/concrete_01.jpg b/assets/prototypes/materials/concrete_01.jpg
new file mode 100644
index 0000000..f930ded
--- /dev/null
+++ b/assets/prototypes/materials/concrete_01.jpg
Binary files differ
diff --git a/assets/prototypes/materials/concrete_02.jpg b/assets/prototypes/materials/concrete_02.jpg
new file mode 100644
index 0000000..cd795d9
--- /dev/null
+++ b/assets/prototypes/materials/concrete_02.jpg
Binary files differ
diff --git a/assets/prototypes/materials/concrete_03.jpg b/assets/prototypes/materials/concrete_03.jpg
new file mode 100644
index 0000000..067acc6
--- /dev/null
+++ b/assets/prototypes/materials/concrete_03.jpg
Binary files differ
diff --git a/assets/prototypes/materials/concrete_04.jpg b/assets/prototypes/materials/concrete_04.jpg
new file mode 100644
index 0000000..a080cc2
--- /dev/null
+++ b/assets/prototypes/materials/concrete_04.jpg
Binary files differ
diff --git a/assets/prototypes/materials/concrete_05.jpg b/assets/prototypes/materials/concrete_05.jpg
new file mode 100644
index 0000000..9607fe7
--- /dev/null
+++ b/assets/prototypes/materials/concrete_05.jpg
Binary files differ
diff --git a/assets/prototypes/materials/glass_01.jpg b/assets/prototypes/materials/glass_01.jpg
new file mode 100644
index 0000000..c03c56a
--- /dev/null
+++ b/assets/prototypes/materials/glass_01.jpg
Binary files differ
diff --git a/assets/prototypes/materials/gypsum_01.jpg b/assets/prototypes/materials/gypsum_01.jpg
new file mode 100644
index 0000000..326d418
--- /dev/null
+++ b/assets/prototypes/materials/gypsum_01.jpg
Binary files differ
diff --git a/assets/prototypes/materials/insulation_wool_01.jpg b/assets/prototypes/materials/insulation_wool_01.jpg
new file mode 100644
index 0000000..fb39231
--- /dev/null
+++ b/assets/prototypes/materials/insulation_wool_01.jpg
Binary files differ
diff --git a/assets/prototypes/materials/plastic_01.jpg b/assets/prototypes/materials/plastic_01.jpg
new file mode 100644
index 0000000..9bd6014
--- /dev/null
+++ b/assets/prototypes/materials/plastic_01.jpg
Binary files differ
diff --git a/assets/prototypes/materials/steel_01.jpg b/assets/prototypes/materials/steel_01.jpg
new file mode 100644
index 0000000..44bd907
--- /dev/null
+++ b/assets/prototypes/materials/steel_01.jpg
Binary files differ
diff --git a/assets/prototypes/materials/wood_01.jpg b/assets/prototypes/materials/wood_01.jpg
new file mode 100644
index 0000000..e1ecbd4
--- /dev/null
+++ b/assets/prototypes/materials/wood_01.jpg
Binary files differ
diff --git a/assets/prototypes/materials/wood_02.jpg b/assets/prototypes/materials/wood_02.jpg
new file mode 100644
index 0000000..535446c
--- /dev/null
+++ b/assets/prototypes/materials/wood_02.jpg
Binary files differ
diff --git a/assets/prototypes/materials/wood_03.jpg b/assets/prototypes/materials/wood_03.jpg
new file mode 100644
index 0000000..8f5f563
--- /dev/null
+++ b/assets/prototypes/materials/wood_03.jpg
Binary files differ
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
new file mode 100644
index 0000000..736bf45
--- /dev/null
+++ b/assets/prototypes/objects/beam_01.jpg
Binary files differ
diff --git a/assets/prototypes/objects/column_01.jpg b/assets/prototypes/objects/column_01.jpg
new file mode 100644
index 0000000..720a6eb
--- /dev/null
+++ b/assets/prototypes/objects/column_01.jpg
Binary files differ
diff --git a/assets/prototypes/objects/door_01.jpg b/assets/prototypes/objects/door_01.jpg
new file mode 100644
index 0000000..31b6e4b
--- /dev/null
+++ b/assets/prototypes/objects/door_01.jpg
Binary files differ
diff --git a/assets/prototypes/objects/floor_01.jpg b/assets/prototypes/objects/floor_01.jpg
new file mode 100644
index 0000000..3d956a6
--- /dev/null
+++ b/assets/prototypes/objects/floor_01.jpg
Binary files differ
diff --git a/assets/prototypes/objects/pipe_01.jpg b/assets/prototypes/objects/pipe_01.jpg
new file mode 100644
index 0000000..7a85a03
--- /dev/null
+++ b/assets/prototypes/objects/pipe_01.jpg
Binary files differ
diff --git a/assets/prototypes/objects/roof_01.jpg b/assets/prototypes/objects/roof_01.jpg
new file mode 100644
index 0000000..3014158
--- /dev/null
+++ b/assets/prototypes/objects/roof_01.jpg
Binary files differ
diff --git a/assets/prototypes/objects/wall_01.jpg b/assets/prototypes/objects/wall_01.jpg
new file mode 100644
index 0000000..845a011
--- /dev/null
+++ b/assets/prototypes/objects/wall_01.jpg
Binary files differ
diff --git a/assets/prototypes/objects/window_01.jpg b/assets/prototypes/objects/window_01.jpg
new file mode 100644
index 0000000..32511d8
--- /dev/null
+++ b/assets/prototypes/objects/window_01.jpg
Binary files differ
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
+}