Commit Graph

125 Commits

Author SHA1 Message Date
5691cb408d Merge pull request 'Changed slider handling for 2d' (#23) from debug/fractalsliderProblem into main
All checks were successful
Build, Test & Push Frontend / quality-check (push) Successful in 1m0s
Build, Test & Push Frontend / docker (push) Successful in 53s
Reviewed-on: #23
2026-02-13 14:15:45 +01:00
c2ad2ae992 Changed slider handling for 2d
All checks were successful
Build, Test & Push Frontend / quality-check (pull_request) Successful in 1m5s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-13 14:15:22 +01:00
1e8ba020e2 Merge pull request 'Imporoved pinching for 3d fractals' (#22) from bugfix/betterPinching into main
All checks were successful
Build, Test & Push Frontend / quality-check (push) Successful in 17m23s
Build, Test & Push Frontend / docker (push) Successful in 53s
Reviewed-on: #22
2026-02-12 21:13:01 +01:00
4685a94f1d Imporoved pinching for 3d fractals
Some checks failed
Build, Test & Push Frontend / docker (pull_request) Has been cancelled
Build, Test & Push Frontend / quality-check (pull_request) Has been cancelled
2026-02-12 21:12:40 +01:00
d45b651d2d Merge pull request 'feature/portToBabylon' (#21) from feature/portToBabylon into main
All checks were successful
Build, Test & Push Frontend / quality-check (push) Successful in 1m2s
Build, Test & Push Frontend / docker (push) Successful in 54s
Reviewed-on: #21
2026-02-12 10:14:58 +01:00
c409cd08b1 Changed 2d fractals to webgl for more performance
Some checks failed
Build, Test & Push Frontend / docker (pull_request) Has been cancelled
Build, Test & Push Frontend / quality-check (pull_request) Has been cancelled
2026-02-12 10:14:22 +01:00
cc6997e732 Excluded the rendering in an own component 2026-02-12 09:13:35 +01:00
ea15e66c50 optimized handling a little bit and fixed small scss problems 2026-02-12 08:35:26 +01:00
085201913f Merge pull request 'Update angular.json' (#20) from bugfix/budget into main
All checks were successful
Build, Test & Push Frontend / quality-check (push) Successful in 1m2s
Build, Test & Push Frontend / docker (push) Successful in 57s
Reviewed-on: #20
2026-02-11 11:15:40 +01:00
525bec30fe Update angular.json
Some checks failed
Build, Test & Push Frontend / docker (pull_request) Has been cancelled
Build, Test & Push Frontend / quality-check (pull_request) Has been cancelled
2026-02-11 11:15:07 +01:00
d01a6b0c6b Merge pull request 'festuare/fractal3d' (#19) from festuare/fractal3d into main
Some checks failed
Build, Test & Push Frontend / quality-check (push) Failing after 48s
Build, Test & Push Frontend / docker (push) Has been skipped
Reviewed-on: #19
2026-02-11 11:09:45 +01:00
159d82d602 Finally added 3d fractals
Some checks failed
Build, Test & Push Frontend / quality-check (pull_request) Failing after 43s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-11 11:09:07 +01:00
ba3dc4d928 First image of fractal
Next the nasty stuff like movement and ui :-D
2026-02-11 08:31:27 +01:00
12ebbb09ce Merge pull request 'feature/3dFractal' (#18) from feature/3dFractal into main
Some checks failed
Build, Test & Push Frontend / quality-check (push) Failing after 28s
Build, Test & Push Frontend / docker (push) Has been skipped
Reviewed-on: #18
2026-02-11 08:12:10 +01:00
07b6296294 Added new component
Some checks failed
Build, Test & Push Frontend / quality-check (pull_request) Failing after 30s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-11 08:11:42 +01:00
6cb033bd9f updated package json and low vulnerability issues 2026-02-11 07:56:00 +01:00
42c86ecb70 Merge pull request 'Add fractal visualization feature' (#17) from feature/fractals into main
All checks were successful
Build, Test & Push Frontend / quality-check (push) Successful in 58s
Build, Test & Push Frontend / docker (push) Successful in 45s
Reviewed-on: #17
2026-02-10 14:52:22 +01:00
5d162b57ab Add fractal visualization feature
All checks were successful
Build, Test & Push Frontend / quality-check (pull_request) Successful in 55s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
Introduce a new Fractal visualization: adds FractalComponent (template, styles, TS), FractalService (rendering, palettes, Mandelbrot/Julia/Burning Ship/Newton implementations), and Fractal model/types. Wire up routing and router constants (route and component import), add wiki links to UrlConstants, and expose the new algorithm in AlgorithmsService. Also add i18n entries (en/de) for UI labels and explanations. Component supports canvas zoom/drag, color schemes and iteration controls.
2026-02-10 14:49:17 +01:00
dab7c51b90 Merge pull request 'fesature/maze-gen' (#16) from fesature/maze-gen into main
All checks were successful
Build, Test & Push Frontend / quality-check (push) Successful in 50s
Build, Test & Push Frontend / docker (push) Successful in 49s
Reviewed-on: #16
2026-02-09 14:57:36 +01:00
e8354bfecd Add Prim/Kruskal maze gen & nodeData refactor
All checks were successful
Build, Test & Push Frontend / quality-check (pull_request) Successful in 1m10s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
Implement Prim and Kruskal maze generation in the Labyrinth component with animated generation and UI guards. Introduces isAnimationRunning signal, mazeAnimationSpeed, maze node order tracking and animateMazeGeneration; createRandom(now takes a boolean) triggers either Prim or Kruskal flow, sets random start/end, and animates. Refactor Node.distance -> nodeData across models, components and the PathfindingService (Dijkstra/A*) to use nodeData for g-scores/ids. Add SharedFunctions.shuffleArray utility and update i18n (EN/DE) with labels for Prim/Kruskal. Misc: minor cleanup/init changes and drawing logic adjustments to support the new maze flows.
2026-02-09 14:55:05 +01:00
bbec113f5d Add labyrinth maze generator and integrate routes
Introduce a new Labyrinth feature: add LabyrinthComponent (TS/HTML/SCSS) implementing maze generation (Prim's/Kruskal) and visualization using the existing generic grid. Wire the component into RouterConstants and app.routes, and add the algorithm entry to AlgorithmsService. Refactor pathfinding internals: rename Node.previousNode -> Node.linkedNode and update PathfindingService and PathfindingComponent accordingly. Add SharedFunctions.random helpers and replace local random utilities. Rename Conway component files/class to ConwayGolComponent and update template path. Add i18n entries for labyrinth (en/de). Minor housekeeping: bump package version to 1.0.0 and disable @typescript-eslint/prefer-for-of in ESLint config.
2026-02-09 10:57:24 +01:00
950ec75f07 Merge pull request 'Update en.json' (#15) from bugfix/translationbuf into main
All checks were successful
Build, Test & Push Frontend / quality-check (push) Successful in 52s
Build, Test & Push Frontend / docker (push) Successful in 47s
Reviewed-on: #15
2026-02-08 14:03:19 +01:00
854d558e6b Update en.json
All checks were successful
Build, Test & Push Frontend / quality-check (pull_request) Successful in 54s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-08 14:02:52 +01:00
bc740af0bf Merge pull request 'feature/optimize' (#14) from feature/optimize into main
All checks were successful
Build, Test & Push Frontend / quality-check (push) Successful in 52s
Build, Test & Push Frontend / docker (push) Successful in 45s
Reviewed-on: #14
2026-02-07 11:14:32 +01:00
f6ed2057a4 lighthouserc.json aktualisiert
All checks were successful
Build, Test & Push Frontend / quality-check (pull_request) Successful in 56s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-07 11:12:19 +01:00
a6d8405916 .gitea/workflows/build-Frontend-a.yml aktualisiert
Some checks failed
Build, Test & Push Frontend / quality-check (pull_request) Failing after 49s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-07 11:01:54 +01:00
41ec7a862f lighthouserc.json aktualisiert
Some checks failed
Build, Test & Push Frontend / quality-check (pull_request) Failing after 7s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-07 10:50:01 +01:00
b9f6564771 .gitea/workflows/build-Frontend-a.yml aktualisiert
Some checks failed
Build, Test & Push Frontend / quality-check (pull_request) Failing after 8s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-07 10:49:39 +01:00
d8611b0968 .gitea/workflows/build-Frontend-a.yml aktualisiert
Some checks failed
Build, Test & Push Frontend / quality-check (pull_request) Failing after 1m42s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-07 10:45:06 +01:00
4d27643d74 .gitea/workflows/build-Frontend-a.yml aktualisiert
Some checks failed
Build, Test & Push Frontend / quality-check (pull_request) Failing after 16s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-07 10:43:43 +01:00
48e74ed3e8 .gitea/workflows/build-Frontend-a.yml aktualisiert
Some checks failed
Build, Test & Push Frontend / quality-check (pull_request) Failing after 16s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-07 10:42:20 +01:00
e1b1643eb2 .gitea/workflows/build-Frontend-a.yml aktualisiert
Some checks failed
Build, Test & Push Frontend / quality-check (pull_request) Failing after 17s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-07 10:39:47 +01:00
0e520ead26 Add Lighthouse CI and expand frontend CI/CD
Some checks failed
Build, Test & Push Frontend / quality-check (pull_request) Failing after 48s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
Replace the previous frontend workflow with an expanded Build, Test & Push workflow. Adds a quality-check job (runs on push and PRs to main) that sets up Node.js, installs deps, runs lint/type checks, unit tests (ChromeHeadless), production build and runs LHCI. The docker job now depends on the quality-check job and only runs on pushes to main. Added lighthouserc.json and ignored .lighthouseci, relaxed two ESLint rules (@typescript-eslint/no-inferrable-types and no-explicit-any), and updated package.json (and lock) to include LHCI tooling.
2026-02-07 10:32:00 +01:00
70ed047059 Optimize Conway and generic grid rendering
Conway GOL: add executionTime tracking and display; switch to double-buffered read/write grids with structuredClone initialization; refactor life update logic (checkLifeRules, swapGrids) to avoid mutating the source while computing the next generation; adjust per-frame delay to account for execution time; increase MAX_GRID_SIZE from 100 to 200; fix grid binding to use readGrid so UI reflects internal state.

Generic grid: add backgroundColor input and use it to clear canvas each frame; only draw cells whose color differs from background and draw grid lines conditionally based on node size to reduce overdraw; adjust drawNode to only stroke borders for larger nodes.

Templates: set backgroundColor='lightgray' for Conway and Pathfinding grid usages; display execution time in Conway UI.

Misc: remove a debug console.log in sorting component. These changes improve rendering performance, reduce flicker, and surface per-frame timing for tuning the Game of Life simulation.
2026-02-07 09:52:58 +01:00
16cc8afd4a Merge pull request 'Increase default grid and rename simple scene' (#13) from bugfix/smallFix into main
All checks were successful
Build & Push Frontend A / docker (push) Successful in 44s
Reviewed-on: #13
2026-02-06 22:06:31 +01:00
2a808c1d96 Increase default grid and rename simple scene
Raise default Conway's Game of Life grid size from 40x40 to 50x50 (src/app/pages/algorithms/conway-gol/conway-gol.models.ts) to provide a larger initial viewport. Update i18n labels for the simple scene to 'Glider'/'Gleiter' in English and German respectively (src/assets/i18n/en.json, src/assets/i18n/de.json) for clearer naming.
2026-02-06 22:06:02 +01:00
5d48118add Merge pull request 'feature/gameOfLife' (#12) from feature/gameOfLife into main
All checks were successful
Build & Push Frontend A / docker (push) Successful in 42s
Reviewed-on: #12
2026-02-06 22:03:48 +01:00
bf46c57db0 Conway GOL: add scenarios & start/pause loop
Add predefined scenarios (SIMPLE, PULSAR, GUN) and UI controls to generate them; introduce a start/pause game loop driven by an Angular signal. Reduce default grid to 40x40 and max grid to 100, speed up default generation to 30ms, and pause the game when grid size changes. Implement scenario setup helpers (simple, pulsar, glider gun), life-rule evaluation, neighbor counting, grid swapping and a delay helper. Update template to show scenario buttons and conditional start/pause button, and add corresponding i18n entries for English and German.
2026-02-06 22:03:18 +01:00
930f0110b0 Extract generic grid component and refactor uses
Add a reusable GenericGridComponent (canvas + input handling) and migrate Conway Game of Life and Pathfinding pages to use it. New files: shared/components/generic-grid/{html,scss,ts} implement canvas rendering, resizing, input listeners and a callback API (createNodeFn, getNodeColorFn, applySelectionFn, initializationFn) plus gridChange events. Updated templates to replace raw <canvas> with <app-generic-grid> and switched grid size inputs to ngModelChange bindings. Conway and Pathfinding components: remove direct canvas/mouse handling, wire the generic grid callbacks, keep algorithm-specific logic (node creation, coloring, selection, scenarios and animations) but delegate drawing and interaction to GenericGridComponent. This centralizes grid rendering/interaction and simplifies per-algorithm components.
2026-02-06 20:59:56 +01:00
3795090cea Refactor controls UI, styles; bump deps
Consolidate and refactor component styling and markup: remove component-specific SCSS for Conway's Game of Life and Pathfinding and drop their styleUrls, rename per-component .controls blocks to .controls-panel in pathfinding and sorting templates, and move the outer container class onto the mat-card. Add global styles in src/styles.scss for .controls-panel, grid/form sizing, container max-width, and sorting visualization (bar states and transitions). Also update package-lock.json with minor/patch dependency bumps for Angular CLI/devkit/schematics/@schematics/angular, @modelcontextprotocol/sdk and several transitive packages.
2026-02-06 15:06:54 +01:00
59148db295 Enhance Conway's Game of Life UI & interaction
Add interactive controls and drawing support for Conway's Game of Life: introduce Node.alive, Scenario enum, spawn/speed/time constants, random/empty generation, and mouse/touch drawing (click-drag/touch to toggle cells). Update template to include control buttons, speed input, legend, and expose Scenario constants. Implement grid initialization, random seeding, grid position mapping, and optimized node drawing/color logic.

Also update i18n (de/en) with GOL strings and move GRID label keys to ALGORITHM, switch some label usages accordingly. Move generic container/legend styles into global styles.scss (adjust canvas border color), and simplify component SCSS files. Change CONWAYS_WIKI URL to German wiki and remove now-unused UrlConstants references from components.
2026-02-06 14:40:49 +01:00
a22dd17869 Created default build up
- next make grid be a own component with a lot of callbacks
- after this start the game implementtion
2026-02-06 11:52:17 +01:00
da43213808 Created new component and refactored
- Created new component to display the game of life algo
- created an algo info component to combine the algo header for all algos
2026-02-06 09:59:12 +01:00
ff1ee9b5f6 Merge pull request 'feature/pathfinding-finetuning' (#11) from feature/pathfinding-finetuning into main
All checks were successful
Build & Push Frontend A / docker (push) Successful in 50s
Reviewed-on: #11
2026-02-05 09:25:41 +01:00
52f0e371ee Add random scenario and refactor case handling
Consolidate scenario creation by replacing separate normal/edge/clear handlers with createCase({withWalls, scenario}). Add a new 'random' scenario that picks random start/end positions and places random walls (controlled by MAX_RANDOM_WALLS_FACTORS). Change pathLength to a string and display "∞" for empty paths. Update applyGridSize logic to avoid unnecessary resets when dimensions unchanged and to initialize with the new API. Add random helper and MAX_RANDOM_WALLS_FACTORS constant, update template buttons to call createCase, and add i18n entries for the random case and updated clear-board label.
2026-02-05 09:24:44 +01:00
f385a154d5 Update pathfinding.component.ts
Created new normal case
2026-02-05 08:35:34 +01:00
38bf7edd53 Unify pathfinding visualize; update About CSS
Consolidate separate visualizeDijkstra/visualizeAStar into a single visualize(algorithm) method and update the template buttons to call visualize('dijkstra') or visualize('astar'). The new method dispatches to the appropriate pathfindingService method, centralizes timing/animation handling, and reduces duplicated logic. Also apply minor About page styling tweaks: add left margin to the Experience h2 and remove the .xp-list rules from the SCSS (small cleanup/reformat).
2026-02-05 08:27:19 +01:00
b52790c9a1 Merge pull request 'Mark sorted bounds and clamp array size' (#10) from bugfix/sorting_fix into main
All checks were successful
Build & Push Frontend A / docker (push) Successful in 45s
Reviewed-on: #10
2026-02-04 16:01:44 +01:00
e3d835300b Mark sorted bounds and clamp array size
In the sorting service, mark boundary elements as 'sorted' after each forward/backward pass and push snapshots to capture those states; also adjust the backward loop to start at end-1 to avoid rechecking the already-placed element. In the component, clamp new array size to the MIN_ARRAY_SIZE..MAX_ARRAY_SIZE range in newArraySizeSet. Adds an import for MIN from @angular/forms/signals.
2026-02-04 16:01:18 +01:00
6b64c5f4e9 Merge pull request 'feature/OneMoreSorting' (#9) from feature/OneMoreSorting into main
All checks were successful
Build & Push Frontend A / docker (push) Successful in 43s
Reviewed-on: #9
2026-02-04 15:34:18 +01:00