Merge remote-tracking branch 'origin/main'
Build, Test & Push Frontend / quality-check (push) Successful in 1m21s
Build, Test & Push Frontend / docker (push) Successful in 1m16s

This commit is contained in:
Andreas Dahm committed 2026-03-26 09:09:25 +01:00
commit 2d82cdfd6b
40 files changed
+2146 -2343

No files matched your search

+43
View File
@@ -371,6 +371,8 @@
"START": "Start Sorting",
"RESET": "Reset",
"GENERATE_NEW_ARRAY": "Generate New Array",
"SOUND_ON": "Sound On",
"SOUND_OFF": "Sound Off",
"EXECUTION_TIME": "Execution Time",
"ARRAY_SIZE": "Number of Bars",
"EXPLANATION": {
@@ -378,6 +380,7 @@
"BUBBLE_SORT_EXPLANATION": "repeatedly compares adjacent elements and swaps them if they are in the wrong order. The largest element \"bubbles\" to the end of the list like an air bubble. Advantage: Extremely simple to understand and implement; detects already sorted lists very quickly. Disadvantage: Very inefficient for large lists (runtime O(n²)). Rarely used in practice.",
"QUICK_SORT_EXPLANATION": "follows the \"divide and conquer\" principle. A \"pivot\" element is selected, and the array is divided into two halves: elements smaller than the pivot and elements larger than the pivot. Advantage: On average one of the fastest sorting algorithms (O(n log n)); requires no additional memory (in-place). Disadvantage: Slow in the worst case (O(n²)) if the pivot is chosen poorly. Is not stable (changes order of equal elements).",
"HEAP_SORT_EXPLANATION": "organizes the data initially into a special tree structure (Binary Heap). The largest element (the root) is extracted and sorted to the end, then the tree is repaired. Advantage: Guarantees a fast runtime of O(n log n), even in the worst case. Requires almost no additional memory. Disadvantage: Often slightly slower than Quick Sort in practice because the jumps in memory (heap structure) utilize the CPU cache less effectively.",
"TIMSORT_EXPLANATION": "is a hybrid sorting algorithm derived from Merge Sort and Insertion Sort. It divides the array into small 'runs' and sorts each using Insertion Sort, then merges them step by step using Merge Sort. Advantage: Extremely efficient on real-world data that is often partially sorted — O(n log n) in the worst case and O(n) in the best case. It is the standard sorting algorithm in Python and Java. Disadvantage: More complex to implement than a pure algorithm and requires additional memory for the merge step.",
"DISCLAIMER": "The choice of the \"best\" sorting algorithm depends heavily on the data and the constraints. In computer science, three scenarios are often considered:",
"DISCLAIMER_1": "Best Case: The data is already nearly sorted (Bubble Sort shines here, for example).",
"DISCLAIMER_2": "Average Case: The statistical norm.",
@@ -489,6 +492,9 @@
"WIND_OFF": "Wind Off",
"OUTLINE_ON": "Show Mesh",
"OUTLINE_OFF": "Hide Mesh",
"STIFFNESS": "Stiffness",
"ELONGATION": "Elongation",
"RESTART_SIMULATION": "Restart Simulation",
"EXPLANATION": {
"TITLE": "Real-time Cloth Simulation on the GPU",
"CLOTH_SIMULATION_EXPLANATION_TITLE": "Cloth Simulation",
@@ -506,6 +512,9 @@
"DISCLAIMER_4": "The XPBD Compromise: XPBD completely bypasses this complex matrix problem by acting as a local solver. It combines the absolute stability of an implicit solver with the enormous speed, parallelizability, and dynamic adaptability of an explicit system."
}
},
"WEBGPU": {
"NOT_SUPPORTED": "WebGPU could not be started. Please check if your browser supports WebGPU."
},
"ALGORITHM": {
"TITLE": "Algorithms",
"PATHFINDING": {
@@ -524,6 +533,10 @@
"TITLE": "Maze Generation",
"DESCRIPTION": "Visualizing various maze generation algorithms."
},
"FOUR_COLOR": {
"TITLE": "Four Color Theorem",
"DESCRIPTION": "The four color theorem states that any map in a plane can be colored using at most four colors in such a way that regions sharing a common boundary (other than a single point) do not share the same color."
},
"FRACTAL": {
"TITLE": "Fractals",
"DESCRIPTION": "Visualisation of complex geometric patterns that resemble each other on increasingly smaller scales (self-similarity)."
@@ -543,5 +556,35 @@
"NOTE": "Note",
"GRID_HEIGHT": "Height",
"GRID_WIDTH": "Width"
},
"FOUR_COLOR": {
"TITLE": "Four Color Theorem",
"GENERATE": "Generate Map",
"SOLVE": "Auto Solve",
"CLEAR": "Clear Colors",
"COLOR_1": "Color 1",
"COLOR_2": "Color 2",
"COLOR_3": "Color 3",
"COLOR_4": "Color 4",
"EXECUTION_TIME": "Execution Time",
"STATUS": {
"LABEL": "Status",
"INCOMPLETE": "Map is not fully colored yet.",
"SOLVED": "Congratulations! You solved the map correctly!",
"CONFLICTS": "Warning: Adjacent regions have the same color!",
"INVALID": "Map is fully colored, but contains conflicts."
},
"EXPLANATION": { "TITLE": "Four Color Theorem",
"EXPLANATION": "The four color theorem states that any map in a plane can be colored using at most four colors in such a way that regions sharing a common boundary (other than a single point) do not share the same color.",
"DISCLAIMER": "This algorithm uses backtracking to find a valid coloring for the generated regions.",
"DISCLAIMER_1": "Map Generation: Regions are generated using a random seed growth algorithm (Voronoi-like) on a grid.",
"DISCLAIMER_2": "Adjacency: Two regions are considered neighbors if they share at least one edge in the grid.",
"DISCLAIMER_3": "Backtracking: The solver tries colors 1-4 for each region, backtracking when a conflict is found.",
"DISCLAIMER_4": "Interactive: You can also click on regions to cycle through colors manually.",
"DISCLAIMER_BOTTOM": "Click to color the region. Click again to change the color."
},
"ALERT": {
"NO_SOLUTION": "No solution found (this should not happen for a planar map!)."
}
}
}