diff --git a/library/objects.json b/library/objects.json index da2b3d8..982c436 100644 --- a/library/objects.json +++ b/library/objects.json @@ -2,6 +2,244 @@ "library_version": 1, "note": "Editor-Kopie der offiziellen Bibliotheks-Registry (geschlossener Baukasten, PLAN Entscheidung 20). Quelle: scopedvr-match-server library/objects.json — beim Registrieren neuer Objekte DORT zuerst eintragen und hier synchron ziehen. 'poly' = Referenz-Dreieckszahl (Budget-Rechnung, map_format.md §4 V8); 'collision' = Approximation für Platzhalter-Darstellung im Viewport.", "objects": { + "barrier_001": { + "poly": 72, + "collision": { + "shape": "box", + "size": [ + 2.325, + 0.772, + 0.936 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_001.glb", + "kategorie": "barriers", + "name_de": "Absperrung 001 (Betonblock)" + }, + "barrier_002": { + "poly": 48, + "collision": { + "shape": "box", + "size": [ + 5.026, + 0.241, + 0.935 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_002.glb", + "kategorie": "barriers", + "name_de": "Absperrung 002 (Sperrbalken)" + }, + "barrier_003": { + "poly": 80, + "collision": { + "shape": "box", + "size": [ + 4.37, + 0.966, + 0.422 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_003.glb", + "kategorie": "barriers", + "name_de": "Absperrung 003 (Drahtsperre)" + }, + "barrier_004": { + "poly": 119, + "collision": { + "shape": "box", + "size": [ + 1.291, + 1.319, + 1.291 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_004.glb", + "kategorie": "barriers", + "name_de": "Absperrung 004 (Betonpoller)" + }, + "barrier_005": { + "poly": 119, + "collision": { + "shape": "box", + "size": [ + 1.291, + 1.319, + 1.291 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_005.glb", + "kategorie": "barriers", + "name_de": "Absperrung 005 (Betonpoller)" + }, + "barrier_006": { + "poly": 1560, + "collision": { + "shape": "box", + "size": [ + 4.953, + 1.105, + 2.194 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_006.glb", + "kategorie": "barriers", + "name_de": "Absperrung 006 (breite Sperre)" + }, + "barrier_007": { + "poly": 1320, + "collision": { + "shape": "box", + "size": [ + 5.863, + 1.07, + 0.485 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_007.glb", + "kategorie": "barriers", + "name_de": "Absperrung 007 (Drahtsperre lang)" + }, + "barrier_008": { + "poly": 60, + "collision": { + "shape": "box", + "size": [ + 0.909, + 0.287, + 0.445 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_008.glb", + "kategorie": "barriers", + "name_de": "Absperrung 008 (Bodensperre)" + }, + "barrier_009": { + "poly": 60, + "collision": { + "shape": "box", + "size": [ + 0.875, + 0.283, + 0.447 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_009.glb", + "kategorie": "barriers", + "name_de": "Absperrung 009 (Bodensperre)" + }, + "barrier_010": { + "poly": 1560, + "collision": { + "shape": "box", + "size": [ + 4.953, + 1.105, + 2.194 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_010.glb", + "kategorie": "barriers", + "name_de": "Absperrung 010 (breite Sperre)" + }, + "barrier_011": { + "poly": 60, + "collision": { + "shape": "box", + "size": [ + 0.909, + 0.287, + 0.445 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_011.glb", + "kategorie": "barriers", + "name_de": "Absperrung 011 (Bodensperre)" + }, + "barrier_012": { + "poly": 60, + "collision": { + "shape": "box", + "size": [ + 0.875, + 0.283, + 0.447 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_012.glb", + "kategorie": "barriers", + "name_de": "Absperrung 012 (Bodensperre)" + }, + "barrier_013": { + "poly": 1320, + "collision": { + "shape": "box", + "size": [ + 5.863, + 1.07, + 0.485 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_013.glb", + "kategorie": "barriers", + "name_de": "Absperrung 013 (Drahtsperre lang)" + }, + "barrier_014": { + "poly": 123, + "collision": { + "shape": "box", + "size": [ + 1.291, + 1.284, + 1.291 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_014.glb", + "kategorie": "barriers", + "name_de": "Absperrung 014 (Betonpoller)" + }, + "barrier_015": { + "poly": 123, + "collision": { + "shape": "box", + "size": [ + 1.291, + 1.284, + 1.291 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_015.glb", + "kategorie": "barriers", + "name_de": "Absperrung 015 (Betonpoller)" + }, + "barrier_016": { + "poly": 145, + "collision": { + "shape": "box", + "size": [ + 1.429, + 1.326, + 1.433 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_016.glb", + "kategorie": "barriers", + "name_de": "Absperrung 016 (Betonblock)" + }, + "barrier_017": { + "poly": 145, + "collision": { + "shape": "box", + "size": [ + 1.429, + 1.326, + 1.433 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/barrier_017.glb", + "kategorie": "barriers", + "name_de": "Absperrung 017 (Betonblock)" + }, "barrier_sandbag": { "poly": 36, "collision": { @@ -1256,6 +1494,146 @@ ] } }, + "obstacle_001": { + "poly": 276, + "collision": { + "shape": "box", + "size": [ + 12.936, + 0.998, + 2.176 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/obstacle_001.glb", + "kategorie": "barriers", + "name_de": "Hindernis 001 (Hindernisbahn flach)" + }, + "obstacle_002": { + "poly": 312, + "collision": { + "shape": "box", + "size": [ + 12.936, + 1.93, + 2.176 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/obstacle_002.glb", + "kategorie": "barriers", + "name_de": "Hindernis 002 (Hindernisbahn mittel)" + }, + "obstacle_003": { + "poly": 348, + "collision": { + "shape": "box", + "size": [ + 12.936, + 2.86, + 2.176 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/obstacle_003.glb", + "kategorie": "barriers", + "name_de": "Hindernis 003 (Hindernisbahn hoch)" + }, + "obstacle_004": { + "poly": 1032, + "collision": { + "shape": "box", + "size": [ + 3.87, + 1.188, + 10.499 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/obstacle_004.glb", + "kategorie": "barriers", + "name_de": "Hindernis 004 (Drahtzaun)" + }, + "obstacle_005": { + "poly": 92, + "collision": { + "shape": "box", + "size": [ + 1.846, + 2.577, + 3.105 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/obstacle_005.glb", + "kategorie": "barriers", + "name_de": "Hindernis 005 (Klettergeruest mit Leiter)" + }, + "obstacle_006": { + "poly": 114, + "collision": { + "shape": "box", + "size": [ + 3.625, + 2.887, + 4.856 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/obstacle_006.glb", + "kategorie": "barriers", + "name_de": "Hindernis 006 (Hinderniswand)" + }, + "obstacle_007": { + "poly": 240, + "collision": { + "shape": "box", + "size": [ + 2.214, + 2.433, + 7.42 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/obstacle_007.glb", + "kategorie": "barriers", + "name_de": "Hindernis 007 (Balancierbalken mit Leiter)" + }, + "obstacle_008": { + "poly": 50, + "collision": { + "shape": "box", + "size": [ + 3.135, + 1.838, + 0.303 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/obstacle_008.glb", + "kategorie": "barriers", + "name_de": "Hindernis 008 (Wand mit Durchschlupf)" + }, + "obstacle_009": { + "poly": 48, + "collision": { + "shape": "box", + "size": [ + 1.458, + 1.185, + 0.619 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/obstacle_009.glb", + "kategorie": "barriers", + "name_de": "Hindernis 009 (Hindernistafel)" + }, + "obstacle_010": { + "poly": 48, + "collision": { + "shape": "box", + "size": [ + 1.458, + 1.203, + 0.619 + ] + }, + "glb": "res://assets/objekte/military_desert/barriers/obstacle_010.glb", + "kategorie": "barriers", + "name_de": "Hindernis 010 (Hindernistafel)" + }, "pflanze_farn": { "poly": 288, "collision": { diff --git a/library/thumbs/barrier_001.png b/library/thumbs/barrier_001.png new file mode 100644 index 0000000..ce6f140 Binary files /dev/null and b/library/thumbs/barrier_001.png differ diff --git a/library/thumbs/barrier_001.png.import b/library/thumbs/barrier_001.png.import new file mode 100644 index 0000000..623bd0d --- /dev/null +++ b/library/thumbs/barrier_001.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4bow25wrxsuv" +path="res://.godot/imported/barrier_001.png-f4f9b068e708eb35cf4f0689fd3c6f74.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_001.png" +dest_files=["res://.godot/imported/barrier_001.png-f4f9b068e708eb35cf4f0689fd3c6f74.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_002.png b/library/thumbs/barrier_002.png new file mode 100644 index 0000000..17bba90 Binary files /dev/null and b/library/thumbs/barrier_002.png differ diff --git a/library/thumbs/barrier_002.png.import b/library/thumbs/barrier_002.png.import new file mode 100644 index 0000000..8d34b1f --- /dev/null +++ b/library/thumbs/barrier_002.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://do8u4gsq2vcio" +path="res://.godot/imported/barrier_002.png-226efbbe1880285f86c95e9a1be7518e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_002.png" +dest_files=["res://.godot/imported/barrier_002.png-226efbbe1880285f86c95e9a1be7518e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_003.png b/library/thumbs/barrier_003.png new file mode 100644 index 0000000..2386a3c Binary files /dev/null and b/library/thumbs/barrier_003.png differ diff --git a/library/thumbs/barrier_003.png.import b/library/thumbs/barrier_003.png.import new file mode 100644 index 0000000..fc3dbaf --- /dev/null +++ b/library/thumbs/barrier_003.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bdedbakl7ykr8" +path="res://.godot/imported/barrier_003.png-22cd5cdb2ab7396c5afef5360b5067dd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_003.png" +dest_files=["res://.godot/imported/barrier_003.png-22cd5cdb2ab7396c5afef5360b5067dd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_004.png b/library/thumbs/barrier_004.png new file mode 100644 index 0000000..81a789b Binary files /dev/null and b/library/thumbs/barrier_004.png differ diff --git a/library/thumbs/barrier_004.png.import b/library/thumbs/barrier_004.png.import new file mode 100644 index 0000000..91a313f --- /dev/null +++ b/library/thumbs/barrier_004.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://iiial467da1e" +path="res://.godot/imported/barrier_004.png-980b996df5a61642aa5a8982d9429ff5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_004.png" +dest_files=["res://.godot/imported/barrier_004.png-980b996df5a61642aa5a8982d9429ff5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_005.png b/library/thumbs/barrier_005.png new file mode 100644 index 0000000..81a789b Binary files /dev/null and b/library/thumbs/barrier_005.png differ diff --git a/library/thumbs/barrier_005.png.import b/library/thumbs/barrier_005.png.import new file mode 100644 index 0000000..f4842b1 --- /dev/null +++ b/library/thumbs/barrier_005.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b320temoxgo3i" +path="res://.godot/imported/barrier_005.png-9239fc40b7d66072393ec05a176a0899.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_005.png" +dest_files=["res://.godot/imported/barrier_005.png-9239fc40b7d66072393ec05a176a0899.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_006.png b/library/thumbs/barrier_006.png new file mode 100644 index 0000000..dbb8116 Binary files /dev/null and b/library/thumbs/barrier_006.png differ diff --git a/library/thumbs/barrier_006.png.import b/library/thumbs/barrier_006.png.import new file mode 100644 index 0000000..8499591 --- /dev/null +++ b/library/thumbs/barrier_006.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bniuittd4da0d" +path="res://.godot/imported/barrier_006.png-a42842c6692537da809bd937c042edfc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_006.png" +dest_files=["res://.godot/imported/barrier_006.png-a42842c6692537da809bd937c042edfc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_007.png b/library/thumbs/barrier_007.png new file mode 100644 index 0000000..f275471 Binary files /dev/null and b/library/thumbs/barrier_007.png differ diff --git a/library/thumbs/barrier_007.png.import b/library/thumbs/barrier_007.png.import new file mode 100644 index 0000000..5bbdbc9 --- /dev/null +++ b/library/thumbs/barrier_007.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn3nki1327488" +path="res://.godot/imported/barrier_007.png-18ef1a4c7bc9c8b4fdc1b04d8b91dad1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_007.png" +dest_files=["res://.godot/imported/barrier_007.png-18ef1a4c7bc9c8b4fdc1b04d8b91dad1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_008.png b/library/thumbs/barrier_008.png new file mode 100644 index 0000000..8b1c305 Binary files /dev/null and b/library/thumbs/barrier_008.png differ diff --git a/library/thumbs/barrier_008.png.import b/library/thumbs/barrier_008.png.import new file mode 100644 index 0000000..3494d9c --- /dev/null +++ b/library/thumbs/barrier_008.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://des3sd6jq7fjj" +path="res://.godot/imported/barrier_008.png-f615e24e39cbfa5c4030021171d3bcc5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_008.png" +dest_files=["res://.godot/imported/barrier_008.png-f615e24e39cbfa5c4030021171d3bcc5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_009.png b/library/thumbs/barrier_009.png new file mode 100644 index 0000000..f028e28 Binary files /dev/null and b/library/thumbs/barrier_009.png differ diff --git a/library/thumbs/barrier_009.png.import b/library/thumbs/barrier_009.png.import new file mode 100644 index 0000000..5a407a6 --- /dev/null +++ b/library/thumbs/barrier_009.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgnnvsx4lse64" +path="res://.godot/imported/barrier_009.png-f723a86b81fe9b5d3d1a1ae7a8338df0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_009.png" +dest_files=["res://.godot/imported/barrier_009.png-f723a86b81fe9b5d3d1a1ae7a8338df0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_010.png b/library/thumbs/barrier_010.png new file mode 100644 index 0000000..dbb8116 Binary files /dev/null and b/library/thumbs/barrier_010.png differ diff --git a/library/thumbs/barrier_010.png.import b/library/thumbs/barrier_010.png.import new file mode 100644 index 0000000..93865e5 --- /dev/null +++ b/library/thumbs/barrier_010.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqp4lh18nyw6g" +path="res://.godot/imported/barrier_010.png-eb2f5f66658412f8d13ad87794ce497c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_010.png" +dest_files=["res://.godot/imported/barrier_010.png-eb2f5f66658412f8d13ad87794ce497c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_011.png b/library/thumbs/barrier_011.png new file mode 100644 index 0000000..8b1c305 Binary files /dev/null and b/library/thumbs/barrier_011.png differ diff --git a/library/thumbs/barrier_011.png.import b/library/thumbs/barrier_011.png.import new file mode 100644 index 0000000..b47275e --- /dev/null +++ b/library/thumbs/barrier_011.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0h7q3b4br4tp" +path="res://.godot/imported/barrier_011.png-6f858b9fbbf01e80766f67abd167b690.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_011.png" +dest_files=["res://.godot/imported/barrier_011.png-6f858b9fbbf01e80766f67abd167b690.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_012.png b/library/thumbs/barrier_012.png new file mode 100644 index 0000000..f028e28 Binary files /dev/null and b/library/thumbs/barrier_012.png differ diff --git a/library/thumbs/barrier_012.png.import b/library/thumbs/barrier_012.png.import new file mode 100644 index 0000000..f85f5b8 --- /dev/null +++ b/library/thumbs/barrier_012.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwtpj0orksf5c" +path="res://.godot/imported/barrier_012.png-977a45ba313cbc8a3475c3b4dd181d97.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_012.png" +dest_files=["res://.godot/imported/barrier_012.png-977a45ba313cbc8a3475c3b4dd181d97.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_013.png b/library/thumbs/barrier_013.png new file mode 100644 index 0000000..f275471 Binary files /dev/null and b/library/thumbs/barrier_013.png differ diff --git a/library/thumbs/barrier_013.png.import b/library/thumbs/barrier_013.png.import new file mode 100644 index 0000000..5a4be5d --- /dev/null +++ b/library/thumbs/barrier_013.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ce01ak4bydyrk" +path="res://.godot/imported/barrier_013.png-873e6d19995610db66444c98f588223d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_013.png" +dest_files=["res://.godot/imported/barrier_013.png-873e6d19995610db66444c98f588223d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_014.png b/library/thumbs/barrier_014.png new file mode 100644 index 0000000..f636467 Binary files /dev/null and b/library/thumbs/barrier_014.png differ diff --git a/library/thumbs/barrier_014.png.import b/library/thumbs/barrier_014.png.import new file mode 100644 index 0000000..2c98832 --- /dev/null +++ b/library/thumbs/barrier_014.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dnw5vmx1alode" +path="res://.godot/imported/barrier_014.png-e442cc785a151929218fc114716542eb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_014.png" +dest_files=["res://.godot/imported/barrier_014.png-e442cc785a151929218fc114716542eb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_015.png b/library/thumbs/barrier_015.png new file mode 100644 index 0000000..f636467 Binary files /dev/null and b/library/thumbs/barrier_015.png differ diff --git a/library/thumbs/barrier_015.png.import b/library/thumbs/barrier_015.png.import new file mode 100644 index 0000000..4e22c7d --- /dev/null +++ b/library/thumbs/barrier_015.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4i20qo7fts4j" +path="res://.godot/imported/barrier_015.png-86f147870fb8e12c093ac67292be870c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_015.png" +dest_files=["res://.godot/imported/barrier_015.png-86f147870fb8e12c093ac67292be870c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_016.png b/library/thumbs/barrier_016.png new file mode 100644 index 0000000..1d40009 Binary files /dev/null and b/library/thumbs/barrier_016.png differ diff --git a/library/thumbs/barrier_016.png.import b/library/thumbs/barrier_016.png.import new file mode 100644 index 0000000..32d95d6 --- /dev/null +++ b/library/thumbs/barrier_016.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vxhhg57x3glt" +path="res://.godot/imported/barrier_016.png-3038acd7ed4790ba4581f5f0397bc15d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_016.png" +dest_files=["res://.godot/imported/barrier_016.png-3038acd7ed4790ba4581f5f0397bc15d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/barrier_017.png b/library/thumbs/barrier_017.png new file mode 100644 index 0000000..1d40009 Binary files /dev/null and b/library/thumbs/barrier_017.png differ diff --git a/library/thumbs/barrier_017.png.import b/library/thumbs/barrier_017.png.import new file mode 100644 index 0000000..6313a76 --- /dev/null +++ b/library/thumbs/barrier_017.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuybgegcb1m21" +path="res://.godot/imported/barrier_017.png-5da73739577e9b74184fd835032bda12.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/barrier_017.png" +dest_files=["res://.godot/imported/barrier_017.png-5da73739577e9b74184fd835032bda12.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/obstacle_001.png b/library/thumbs/obstacle_001.png new file mode 100644 index 0000000..eb11217 Binary files /dev/null and b/library/thumbs/obstacle_001.png differ diff --git a/library/thumbs/obstacle_001.png.import b/library/thumbs/obstacle_001.png.import new file mode 100644 index 0000000..e837f3d --- /dev/null +++ b/library/thumbs/obstacle_001.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cf5fev7c8out3" +path="res://.godot/imported/obstacle_001.png-3021b85a3bac580a2b2e3766a57a66c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/obstacle_001.png" +dest_files=["res://.godot/imported/obstacle_001.png-3021b85a3bac580a2b2e3766a57a66c3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/obstacle_002.png b/library/thumbs/obstacle_002.png new file mode 100644 index 0000000..d6d0145 Binary files /dev/null and b/library/thumbs/obstacle_002.png differ diff --git a/library/thumbs/obstacle_002.png.import b/library/thumbs/obstacle_002.png.import new file mode 100644 index 0000000..15ba37e --- /dev/null +++ b/library/thumbs/obstacle_002.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2dkeowwt4uvr" +path="res://.godot/imported/obstacle_002.png-c4ad31398e160b997446f9f780c6954f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/obstacle_002.png" +dest_files=["res://.godot/imported/obstacle_002.png-c4ad31398e160b997446f9f780c6954f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/obstacle_003.png b/library/thumbs/obstacle_003.png new file mode 100644 index 0000000..22d2a83 Binary files /dev/null and b/library/thumbs/obstacle_003.png differ diff --git a/library/thumbs/obstacle_003.png.import b/library/thumbs/obstacle_003.png.import new file mode 100644 index 0000000..34a1011 --- /dev/null +++ b/library/thumbs/obstacle_003.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhhd8qcy2y4l5" +path="res://.godot/imported/obstacle_003.png-dc0c167f635d3846efbce47f1a4d7293.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/obstacle_003.png" +dest_files=["res://.godot/imported/obstacle_003.png-dc0c167f635d3846efbce47f1a4d7293.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/obstacle_004.png b/library/thumbs/obstacle_004.png new file mode 100644 index 0000000..d74c9e5 Binary files /dev/null and b/library/thumbs/obstacle_004.png differ diff --git a/library/thumbs/obstacle_004.png.import b/library/thumbs/obstacle_004.png.import new file mode 100644 index 0000000..3e75819 --- /dev/null +++ b/library/thumbs/obstacle_004.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2gvj4dpl7kp4" +path="res://.godot/imported/obstacle_004.png-2d3f262f72281c2fee4b42b5c89c798a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/obstacle_004.png" +dest_files=["res://.godot/imported/obstacle_004.png-2d3f262f72281c2fee4b42b5c89c798a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/obstacle_005.png b/library/thumbs/obstacle_005.png new file mode 100644 index 0000000..d3915f2 Binary files /dev/null and b/library/thumbs/obstacle_005.png differ diff --git a/library/thumbs/obstacle_005.png.import b/library/thumbs/obstacle_005.png.import new file mode 100644 index 0000000..8b96d7e --- /dev/null +++ b/library/thumbs/obstacle_005.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nn2if4w573uc" +path="res://.godot/imported/obstacle_005.png-26c09b94401d6835c5cb54ae56b3777a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/obstacle_005.png" +dest_files=["res://.godot/imported/obstacle_005.png-26c09b94401d6835c5cb54ae56b3777a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/obstacle_006.png b/library/thumbs/obstacle_006.png new file mode 100644 index 0000000..1bfc3f5 Binary files /dev/null and b/library/thumbs/obstacle_006.png differ diff --git a/library/thumbs/obstacle_006.png.import b/library/thumbs/obstacle_006.png.import new file mode 100644 index 0000000..2e1800f --- /dev/null +++ b/library/thumbs/obstacle_006.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cnetjbnd4cvnc" +path="res://.godot/imported/obstacle_006.png-5babc26643ec6b2274882f229a5b0bd5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/obstacle_006.png" +dest_files=["res://.godot/imported/obstacle_006.png-5babc26643ec6b2274882f229a5b0bd5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/obstacle_007.png b/library/thumbs/obstacle_007.png new file mode 100644 index 0000000..4a5bdd6 Binary files /dev/null and b/library/thumbs/obstacle_007.png differ diff --git a/library/thumbs/obstacle_007.png.import b/library/thumbs/obstacle_007.png.import new file mode 100644 index 0000000..dbdc9a7 --- /dev/null +++ b/library/thumbs/obstacle_007.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6k7tlyy7gtwi" +path="res://.godot/imported/obstacle_007.png-b43a588a90e749088f048b2f07a766b8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/obstacle_007.png" +dest_files=["res://.godot/imported/obstacle_007.png-b43a588a90e749088f048b2f07a766b8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/obstacle_008.png b/library/thumbs/obstacle_008.png new file mode 100644 index 0000000..5b2eefa Binary files /dev/null and b/library/thumbs/obstacle_008.png differ diff --git a/library/thumbs/obstacle_008.png.import b/library/thumbs/obstacle_008.png.import new file mode 100644 index 0000000..e302239 --- /dev/null +++ b/library/thumbs/obstacle_008.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhguwsrehfxl" +path="res://.godot/imported/obstacle_008.png-7ae4876c971358c1303e82d316d4ffa6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/obstacle_008.png" +dest_files=["res://.godot/imported/obstacle_008.png-7ae4876c971358c1303e82d316d4ffa6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/obstacle_009.png b/library/thumbs/obstacle_009.png new file mode 100644 index 0000000..5a224a8 Binary files /dev/null and b/library/thumbs/obstacle_009.png differ diff --git a/library/thumbs/obstacle_009.png.import b/library/thumbs/obstacle_009.png.import new file mode 100644 index 0000000..39666a5 --- /dev/null +++ b/library/thumbs/obstacle_009.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dum6niwulhgrg" +path="res://.godot/imported/obstacle_009.png-db55beebf207ae287791f8dbef16af0e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/obstacle_009.png" +dest_files=["res://.godot/imported/obstacle_009.png-db55beebf207ae287791f8dbef16af0e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/library/thumbs/obstacle_010.png b/library/thumbs/obstacle_010.png new file mode 100644 index 0000000..950a4c3 Binary files /dev/null and b/library/thumbs/obstacle_010.png differ diff --git a/library/thumbs/obstacle_010.png.import b/library/thumbs/obstacle_010.png.import new file mode 100644 index 0000000..0ac7af5 --- /dev/null +++ b/library/thumbs/obstacle_010.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbvcmlbhgw4dn" +path="res://.godot/imported/obstacle_010.png-3630ea64fc3652f281e6a2d49636427a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://library/thumbs/obstacle_010.png" +dest_files=["res://.godot/imported/obstacle_010.png-3630ea64fc3652f281e6a2d49636427a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tests/probe_d2_barriers_render.gd b/tests/probe_d2_barriers_render.gd new file mode 100644 index 0000000..d1c6b3d --- /dev/null +++ b/tests/probe_d2_barriers_render.gd @@ -0,0 +1,173 @@ +extends SceneTree +## D2-Renderprobe (Karte t_33250710): Map-Builder-Beweis — drei Absperrungen/ +## Hindernisse aus dem Military-Pack werden über den ECHTEN Editor-Viewport-Bauer +## (src/viewport/map_view_builder.gd) auf flachem Boden platziert, perspektivisch +## gerendert und als PNG gespeichert (visuelle Prüfung: stehen die Objekte auf +## dem Boden?). Zusätzlich wird je Objekt gemessen: Unterkante vs. Bodenhöhe, +## Mesh-Größe vs. collision.size. +## +## BRAUCHT Rendering (nicht --headless): +## xvfb-run -a /opt/data/home/bin/godot4 --path . --rendering-driver opengl3 \ +## -s res://tests/probe_d2_barriers_render.gd +## Ausgabe: PROBE_D2_RENDER_OK / PROBE_D2_RENDER_FAIL + +const OUT_DIR := "/opt/data/kanban/workspaces/t_33250710/artifacts" +const OBJEKTE := [ + {"id": "barrier_001", "pos": [-7.0, 0.0, 0.0], "rot_y_deg": 0.0, "scale": 1.0}, + {"id": "obstacle_004", "pos": [0.0, 0.0, -1.0], "rot_y_deg": 90.0, "scale": 1.0}, + {"id": "obstacle_008", "pos": [8.0, 0.0, 1.0], "rot_y_deg": 45.0, "scale": 1.0}, +] +const W := 1280 +const H := 720 + +var fehler: Array = [] + + +func _initialize() -> void: + _run() + + +func _run() -> void: + await process_frame + await process_frame + DirAccess.make_dir_recursive_absolute(OUT_DIR) + var manifest: Dictionary = JSON.parse_string( + FileAccess.get_file_as_string(SvmapIO.MANIFEST_PATH)) + if manifest.is_empty(): + fehler.append("Bibliothek (library/objects.json) nicht ladbar") + var lib: Dictionary = manifest.get("objects", {}) + print("Bibliothek: %d Objekte" % lib.size()) + + var vp := SubViewport.new() + vp.size = Vector2i(W, H) + vp.own_world_3d = true + vp.render_target_update_mode = SubViewport.UPDATE_ALWAYS + root.add_child(vp) + + var builder := Node3D.new() + builder.set_script(load("res://src/viewport/map_view_builder.gd")) + vp.add_child(builder) + builder.call("rebuild", _doku(), manifest) + + var cam := Camera3D.new() + vp.add_child(cam) + cam.position = Vector3(0.0, 7.0, 17.0) + cam.look_at(Vector3(0.0, 0.8, 0.0)) + cam.current = true + + print("fehlende GLBs (Platzhalter): %s" % str(builder.get("fehlende_glbs"))) + for o in OBJEKTE: + if not lib.has(o["id"]): + fehler.append("%s fehlt in der Bibliothek" % o["id"]) + continue + _pruefe(builder, lib[o["id"]], o) + if not builder.get("fehlende_glbs").is_empty(): + fehler.append("Platzhalter statt GLB: %s" % str(builder.get("fehlende_glbs"))) + + await process_frame + await process_frame + await RenderingServer.frame_post_draw + await process_frame + var img := vp.get_texture().get_image() + var pfad := OUT_DIR + "/d2_barriers_map_builder.png" + img.save_png(pfad) + print("PROBE_SAVED %s (%dx%d)" % [pfad, img.get_width(), img.get_height()]) + _check_bild(img) + + for f in fehler: + print(" FEHLER: %s" % f) + print("PROBE_D2_RENDER_%s" % ("FAIL" if not fehler.is_empty() else "OK")) + quit(0 if fehler.is_empty() else 1) + + +func _pruefe(builder: Node, eintrag: Dictionary, obj: Dictionary) -> void: + var oid := str(obj["id"]) + var markers: Array = builder.get("object_markers") + var marker: Node3D = null + var idx := -1 + for i in OBJEKTE.size(): + if str(OBJEKTE[i]["id"]) == oid and i < markers.size(): + marker = markers[i] + idx = i + if marker == null: + fehler.append("%s: kein Marker im Viewport-Bauer" % oid) + return + var box := _mesh_aabb(marker, marker) + var col: Dictionary = eintrag.get("collision", {}) + var csize: Array = col.get("size", []) + var dmax := 0.0 + for k in 3: + dmax = maxf(dmax, absf(box.size[k] - float(csize[k]))) + var echt: bool = bool(marker.get_meta("glb", false)) + print("--- %s (Marker %d): echtes GLB=%s" % [oid, idx, str(echt)]) + print(" Mesh-AABB lokal: pos=%s size=%s" % [str(box.position), str(box.size)]) + print(" Unterkante y=%.3f (Boden %.3f, Marker y=%.3f) | size-Abweichung %.3f m" + % [box.position.y, 0.0, marker.position.y, dmax]) + if not echt: + fehler.append("%s: Platzhalter statt GLB im Editor" % oid) + if absf(box.position.y) > 0.02: + fehler.append("%s: Unterkante liegt %.3f m neben dem Boden" % [oid, box.position.y]) + if dmax > 0.02: + fehler.append("%s: Mesh-Größe weicht %.3f m von collision.size ab" % [oid, dmax]) + + +## Grobe Sichtprüfung im Bild: es muss Struktur (helle Pixel) geben und das +## Objektband in der Bildmitte muss sich vom Himmel/Untergrund unterscheiden. +func _check_bild(img: Image) -> void: + var w := img.get_width() + var h := img.get_height() + var hell := 0 + var band := 0 + for y in range(0, h, 2): + for x in range(0, w, 2): + var c := img.get_pixel(x, y) + var lum := (c.r + c.g + c.b) / 3.0 + if lum > 0.55: + hell += 1 + if y > int(h * 0.35) and y < int(h * 0.85): + band += 1 + print("Bild: helle Pixel %d, davon im Objektband %d" % [hell, band]) + if hell < 200: + fehler.append("Renderbild zeigt fast nichts (helle Pixel %d) — Objekte unsichtbar?" % hell) + if band < 50: + fehler.append("kein Objekt im erwarteten Bildband (helle Pixel %d)" % band) + + +func _mesh_aabb(n: Node, bezug: Node = null) -> AABB: + var box := AABB() + var erst := true + var basis: Transform3D = Transform3D.IDENTITY if bezug == null else bezug.global_transform.affine_inverse() + for k in n.get_children(): + if k is MeshInstance3D and (k as MeshInstance3D).mesh != null: + var aabb: AABB = (k as MeshInstance3D).mesh.get_aabb() + aabb = (basis * (k as MeshInstance3D).global_transform) * aabb + box = aabb if erst else box.merge(aabb) + erst = false + var kind := _mesh_aabb(k, bezug) + if kind.size != Vector3.ZERO: + box = kind if erst else box.merge(kind) + erst = false + return box + + +## Flaches Bodenfeld (17², 0 m) — Objekte stehen direkt auf y=0. +func _doku() -> Dictionary: + var res := 17 + var raw := PackedByteArray() + raw.resize(res * res * 2) + return { + "format_version": 2, + "info": {"name": "D2 Absperrungen", "author": "Tests", "version": 1}, + "terrain": { + "type": "heightmap", + "resolution": res, + "size_x_m": 64.0, + "size_z_m": 64.0, + "min_height_m": 0.0, + "max_height_m": 4.0, + "heightmap_r16_b64": Marshalls.raw_to_base64(raw), + }, + "weather": "mittag", + "objects": OBJEKTE, + "spawns": [], + } diff --git a/tests/probe_d2_barriers_render.gd.uid b/tests/probe_d2_barriers_render.gd.uid new file mode 100644 index 0000000..d9e5200 --- /dev/null +++ b/tests/probe_d2_barriers_render.gd.uid @@ -0,0 +1 @@ +uid://c41jvxtxfgern