first version of EU AI Act game

This commit is contained in:
Anna Hiemenz
2026-05-26 21:46:46 +02:00
commit d370249649
1735 changed files with 79828 additions and 0 deletions
+292
View File
@@ -0,0 +1,292 @@
[gd_scene load_steps=10 format=3 uid="uid://b0nf2m2olu4jf"]
[ext_resource type="Script" uid="uid://bap8us47qcmmu" path="res://addons/godot_llama/demo/demo_wasm.gd" id="1_ujr2t"]
[ext_resource type="Texture2D" uid="uid://vbw4jtf02rrj" path="res://assets/Images/helper_2d.png" id="2_ujr2t"]
[ext_resource type="PackedScene" uid="uid://dl4nljdcflehk" path="res://helper.tscn" id="3_h7bxb"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ujr2t"]
bg_color = Color(0.2231029, 0.2231029, 0.22310278, 1)
border_width_left = 10
border_width_top = 10
border_width_right = 10
border_width_bottom = 10
border_blend = true
[sub_resource type="Animation" id="Animation_cqsco"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("base_node/helper:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(-0.4379573, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("base_node/helper:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
[sub_resource type="Animation" id="Animation_h7bxb"]
resource_name = "walk_helper"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("base_node/helper:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(-0.4379573, 0, 0), Vector3(0.17161465, 0, 0), Vector3(-0.4379573, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("base_node/helper:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.95, 1, 1.89, 2),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [Vector3(0, 0.7853982, 0), Vector3(0, 0.7853982, 0), Vector3(0, -0.7853982, 0), Vector3(0, -0.7853982, 0), Vector3(0, 0.7853982, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_i485n"]
_data = {
&"RESET": SubResource("Animation_cqsco"),
&"walk_helper": SubResource("Animation_h7bxb")
}
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_h7bxb"]
draw_center = false
border_width_left = 8
border_width_top = 8
border_width_right = 8
border_width_bottom = 8
border_blend = true
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cqsco"]
draw_center = false
border_width_left = 8
border_width_top = 8
border_width_right = 8
border_width_bottom = 8
border_blend = true
[node name="Main" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_ujr2t")
[node name="ColorRect" type="Panel" parent="."]
z_index = -4
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_ujr2t")
[node name="RichTextLabel" type="RichTextLabel" parent="."]
layout_mode = 0
offset_left = 1230.0
offset_top = 950.0
offset_right = 1930.0
offset_bottom = 1050.0
theme_override_font_sizes/normal_font_size = 27
text = "Bitte beachten: Sie sprechen mit einer künstlichen Intelligenz. Verlassen Sie sich nie auf die Antworten."
fit_content = true
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 0
offset_top = 600.0
offset_right = 1920.0
offset_bottom = 1112.0
[node name="SubViewportContainer" type="SubViewportContainer" parent="VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="SubViewport" type="SubViewport" parent="VBoxContainer/SubViewportContainer"]
transparent_bg = true
handle_input_locally = false
render_target_update_mode = 4
[node name="AnimationPlayer" type="AnimationPlayer" parent="VBoxContainer/SubViewportContainer/SubViewport"]
libraries = {
&"": SubResource("AnimationLibrary_i485n")
}
[node name="base_node" type="Node3D" parent="VBoxContainer/SubViewportContainer/SubViewport"]
transform = Transform3D(-0.999866, -0.011394239, -0.011754247, 0, 0.718017, -0.6960256, 0.01637043, -0.6959323, -0.7179208, 0, 2.067563, 3.6948166)
[node name="helper" parent="VBoxContainer/SubViewportContainer/SubViewport/base_node" instance=ExtResource("3_h7bxb")]
transform = Transform3D(0.9999999, 0, 0, 0, 1, 0, 0, 0, 0.9999999, -0.4379573, 0, 0)
[node name="Camera3D" type="Camera3D" parent="VBoxContainer/SubViewportContainer/SubViewport/base_node"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5216391, 1.5290761)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="VBoxContainer/SubViewportContainer/SubViewport/base_node"]
transform = Transform3D(1, 0, 0, 0, 0.8110842, 0.58492947, 0, -0.58492947, 0.8110842, 0, 2.1413004, 2.5036023)
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 16.0
offset_top = 16.0
offset_right = -16.0
offset_bottom = -16.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 12
theme_override_constants/margin_top = 12
theme_override_constants/margin_right = 12
theme_override_constants/margin_bottom = 12
[node name="Scroll" type="ScrollContainer" parent="MarginContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
horizontal_scroll_mode = 0
[node name="VBox" type="VBoxContainer" parent="MarginContainer/Scroll"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 8
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/Scroll/VBox"]
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Scroll/VBox/HBoxContainer"]
visible = false
layout_mode = 2
texture = ExtResource("2_ujr2t")
[node name="Title" type="Label" parent="MarginContainer/Scroll/VBox/HBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 30
text = "Frag mich etwas zum EU AI Act und ich versuche es dir zu beantworten! "
horizontal_alignment = 1
[node name="Label" type="Label" parent="MarginContainer/Scroll/VBox"]
layout_mode = 2
text = "Wähle ein Kapitel des EU AI Acts, zu dem du eine Frage hast:"
[node name="OptionButton" type="OptionButton" parent="MarginContainer/Scroll/VBox"]
layout_mode = 2
size_flags_horizontal = 0
selected = 0
allow_reselect = true
item_count = 16
popup/item_0/text = "Kapitelübersicht und Kurzfassung"
popup/item_0/id = 0
popup/item_1/text = "Erwägungsgründe"
popup/item_1/id = 1
popup/item_2/text = "Kapitel 1 - Allgemeine Bestimmungen"
popup/item_2/id = 2
popup/item_3/text = "Kapitel 2 - Verbotene Praktiken im KI-Bereich"
popup/item_3/id = 3
popup/item_4/text = "Kapitel 3 - Hochrisiko-KI-Systeme"
popup/item_4/id = 4
popup/item_5/text = "Kapitel 4 - Transparenzpflichten für Anbieter und Betreiber bestimmter KI-Systeme"
popup/item_5/id = 5
popup/item_6/text = "Kapitel 5 - KI-Modelle mit allgemeinem Verwendungszweck"
popup/item_6/id = 6
popup/item_7/text = "Kapitel 6 - Massnahmen zur Innovationsförderung"
popup/item_7/id = 7
popup/item_8/text = "Kapitel 7 - Governance"
popup/item_8/id = 8
popup/item_9/text = "Kapitel 8 - EU-Datenbank für Hochrisiko-KI-Systeme"
popup/item_9/id = 9
popup/item_10/text = "Kapitel 9 - Beobachtung nach dem Inverkehrbringen, Informationsaustausch und Marktüberwachung"
popup/item_10/id = 10
popup/item_11/text = "Kapitel 10 - Verhaltenskodizes und Leitlinien"
popup/item_11/id = 11
popup/item_12/text = "Kapitel 11 - Befugnisübertragung und Ausschussverfahren"
popup/item_12/id = 12
popup/item_13/text = "Kapitel 12 - Sanktionen"
popup/item_13/id = 13
popup/item_14/text = "Kapitel 13 - Schlussbestimmungen"
popup/item_14/id = 14
popup/item_15/text = "Anhang"
popup/item_15/id = 15
[node name="PromptLabel" type="Label" parent="MarginContainer/Scroll/VBox"]
layout_mode = 2
text = "Frage:"
[node name="PromptEdit" type="TextEdit" parent="MarginContainer/Scroll/VBox"]
custom_minimum_size = Vector2(0, 140)
layout_mode = 2
theme_override_styles/normal = SubResource("StyleBoxFlat_h7bxb")
placeholder_text = "Schreib hier deine Frage..."
tab_input_mode = false
[node name="GenerateRow" type="HBoxContainer" parent="MarginContainer/Scroll/VBox"]
layout_mode = 2
theme_override_constants/separation = 8
[node name="GenerateButton" type="Button" parent="MarginContainer/Scroll/VBox/GenerateRow"]
z_index = 999
layout_mode = 2
text = "Enter"
[node name="OutputLabel" type="Label" parent="MarginContainer/Scroll/VBox"]
layout_mode = 2
text = "Antwort"
[node name="OutputText" type="RichTextLabel" parent="MarginContainer/Scroll/VBox"]
custom_minimum_size = Vector2(0, 220)
layout_mode = 2
theme_override_styles/normal = SubResource("StyleBoxFlat_cqsco")
[node name="GenerateRow2" type="HBoxContainer" parent="MarginContainer/Scroll/VBox"]
layout_mode = 2
theme_override_constants/separation = 8
[node name="CloseButton" type="Button" parent="MarginContainer/Scroll/VBox/GenerateRow2"]
z_index = 999
layout_mode = 2
text = "Schließen"
[node name="StatusLabel" type="Label" parent="MarginContainer/Scroll/VBox"]
layout_mode = 2
text = "Status: ready"
[node name="ModelFileDialog" type="FileDialog" parent="."]
title = "Open a File"
size = Vector2i(900, 560)
ok_button_text = "Select"
file_mode = 0
access = 2
filters = PackedStringArray("*.gguf ; GGUF model files")
[node name="HTTPRequest" type="HTTPRequest" parent="."]
[connection signal="gui_input" from="MarginContainer/Scroll/VBox/PromptEdit" to="." method="_on_prompt_edit_gui_input"]
[connection signal="pressed" from="MarginContainer/Scroll/VBox/GenerateRow/GenerateButton" to="." method="_on_generate_pressed"]
[connection signal="pressed" from="MarginContainer/Scroll/VBox/GenerateRow2/CloseButton" to="." method="_on_close_pressed"]