Commit Graph
130 Commits
Author SHA1 Message Date
lobo 718bc28bd0 feat(pathfinding): add A* vs Dijkstra compare mode
Show A* and Dijkstra side by side on the same grid with visited count and path length. Also clamp typed grid sizes above the max instead of crashing.
2026-10-14 15:40:20 +02:00
lobo ce7db0f376 fix(pathfinding): use real cost in A* instead of greedy heuristic
updateNeighborNode overwrote gScore with the heuristic, so A* behaved like greedy best-first search and found longer paths than Dijkstra.
2026-10-14 15:40:20 +02:00
lobo 8681508cb6 feat(projects): rewrite project texts with verified facts
Build, Test & Push Frontend / quality-check (push) Successful in 1m18s
Build, Test & Push Frontend / docker (push) Successful in 50s
Old copy was generic and did not match the code. Texts now describe
the real features: PlayStation sync, file imports, tests, security.
Add per-game itch.io links, new chips, and a test that checks every
About project key exists in en and de.
2026-10-14 11:03:54 +02:00
lobo 106d39453d fix(about): show original company logos again
Remove the logo invert added in 07a9b8b and its test.
The inverted logos were not wanted, so the originals show again.
2026-10-14 09:04:46 +02:00
lobo 07a9b8bc11 fix(site): remove canvas frame, invert logos, new footer text
The canvas had a 1px frame. The company logos are opaque white, so
invert them to match the dark tiles. Core fetches the Auth public key
(JWKS), so the To Be Played diagram now shows that arrow.
2026-10-14 08:49:00 +02:00
lobo 93e9c59436 feat(projects): add architecture diagrams, align project texts
Add diagrams to three projects. A tap opens them full size.
Align en/de texts: no versions, Gitea not GitHub, Portainer, home
server + VPS. Make To Be Played the featured project.
Remove the Hostinger logo image.
2026-10-14 08:18:18 +02:00
lobo 449e2d430a chore(contact): use info@andreas-dahm.eu as contact email
Build, Test & Push Frontend / quality-check (push) Successful in 1m15s
Build, Test & Push Frontend / docker (push) Successful in 49s
The old private address is no longer used. Update the imprint
page, the mail button and the README.
2026-10-14 07:53:04 +02:00
lobo 034e397864 refactor(algorithms): move algorithm logic out of components
Build, Test & Push Frontend / quality-check (push) Successful in 1m25s
Build, Test & Push Frontend / docker (push) Successful in 51s
Move logic from 5 components into services and pure modules, with a
shared animator for pathfinding and labyrinth. Add specs for them and
for pendulum and cloth physics.
Fix Game of Life crash: clamp rows and cols to the max.
Fix random pathfinding on 2 columns: in bounds, start not equal end.
2026-10-13 11:49:17 +02:00
lobo dc9f09bede refactor(components): use OnPush and signals in components
Angular 22 defaults to OnPush, so Eager is removed.
Template state is now signals, so sorting needs no detectChanges.
Game of Life execution time now updates live.
Remove the unused ImageDialogComponent and turn the OnPush lint rule
back on.
2026-10-13 11:10:04 +02:00
lobo 4e59770e53 build(test): run unit tests with vitest and jsdom
Karma needed headless Chrome. Vitest with jsdom runs with no browser.
Lighthouse CI now gets Chrome from @puppeteer/browsers.
Two CSS font tests are dropped: jsdom does not apply real CSS.
2026-10-13 09:02:45 +02:00
lobo dd7c9f6e3d fix(projects): register swiper custom elements in project dialog
The slider never ran because Swiper custom elements were not registered.
Use the bundle build so the navigation and pagination modules are included.
Add a spec that checks the registration.
2026-10-13 08:18:22 +02:00
lobo 775845b801 build(angular): upgrade to angular 22, add to-be-played project
Build, Test & Push Frontend / quality-check (push) Failing after 35s
Build, Test & Push Frontend / docker (push) Skipped
Move to Angular 22 and update all dependencies. TypeScript stays on 6.0
(7 is blocked by Angular 22). Drop the ip-address override, add
fast-uri and basic-ftp overrides for audit fixes.
Set ChangeDetectionStrategy.Eager on components, as the ng update
migration does, and turn off the new OnPush lint rule.
Add the To Be Played project to the projects page and the about page.
2026-10-12 09:48:29 +02:00
Andreas Dahm 6121fa553a Fixed problems
Build, Test & Push Frontend / quality-check (push) Successful in 1m16s
Build, Test & Push Frontend / docker (push) Successful in 2m45s
2026-09-18 15:39:43 +02:00
Andreas Dahm 5c2b6ed8a2 Changed link to git
Build, Test & Push Frontend / quality-check (push) Failing after 1m20s
Build, Test & Push Frontend / docker (push) Skipped
2026-09-18 15:20:06 +02:00
Andreas Dahm 16142178f4 Some clean up stuff
Build, Test & Push Frontend / quality-check (pull_request) Successful in 1m18s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-08-26 11:43:53 +02:00
Andreas Dahm 888fb6289d pimped the site a little but and fixed impress 2026-08-26 10:48:39 +02:00
Andreas Dahm f543a5e2f3 Upgraded dependencies and extended stopwatch
Build, Test & Push Frontend / docker (pull_request) Has been cancelled
Build, Test & Push Frontend / quality-check (pull_request) Has been cancelled
2026-08-20 12:00:39 +02:00
Andreas Dahm a26443af8f Lots of technical improvements
Build, Test & Push Frontend / quality-check (pull_request) Failing after 41s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-06-02 15:48:31 +02:00
Andreas Dahm fb911b897a Added update for tabbar
Build, Test & Push Frontend / quality-check (push) Successful in 1m31s
Build, Test & Push Frontend / docker (push) Successful in 58s
2026-05-08 13:31:10 +02:00
Andreas Dahm 39b90a0b81 Added timer component
Build, Test & Push Frontend / quality-check (pull_request) Successful in 1m30s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-05-06 10:46:57 +02:00
Andreas Dahm 9a6e91ea9d Using tailwind instead of scss as much as possible
Build, Test & Push Frontend / docker (pull_request) Has been cancelled
Build, Test & Push Frontend / quality-check (pull_request) Has been cancelled
2026-04-16 11:58:16 +02:00
Andreas Dahm f9797493ce Removed unused parameter 2026-04-16 10:06:57 +02:00
Andreas Dahm a349f630c6 Updated the webgpu stuff to have webgl as fallback 2026-04-16 10:04:48 +02:00
Andreas Dahm 2d82cdfd6b 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
2026-03-26 09:09:25 +01:00
Andreas Dahm 00ebedfc90 Updated about page 2026-03-26 09:09:15 +01:00
lobo ab730f8f3b removed unused method
Build, Test & Push Frontend / docker (pull_request) Has been cancelled
Build, Test & Push Frontend / quality-check (pull_request) Has been cancelled
2026-03-08 11:09:57 +01:00
lobo 0104bad59f optimized limits a little bit 2026-03-08 11:08:11 +01:00
lobo 54b33daa40 Add Four-Color algorithm page
Introduce an interactive Four Color Theorem demo: add FourColorComponent (template, styles, standalone component) with canvas-based grid, region generation, adjacency detection and a backtracking solver; include models for nodes/regions and grid constants. Wire up route and RouterConstants/UrlConstants, add menu entry in AlgorithmsService, and add i18n entries for English and German. Also add global color styles in styles.scss and a few minor i18n text adjustments.
2026-03-08 11:01:14 +01:00
lobo 64842d388b fixed linting issues
Build, Test & Push Frontend / quality-check (push) Successful in 1m36s
Build, Test & Push Frontend / docker (push) Successful in 1m6s
2026-03-07 17:30:29 +01:00
lobo 66643d8e18 Added sound oszilator for search display
Build, Test & Push Frontend / docker (pull_request) Has been cancelled
Build, Test & Push Frontend / quality-check (pull_request) Has been cancelled
2026-03-07 17:19:53 +01:00
lobo 2ab1d2dd85 Topbar active links, algorithm icons & styles
Add active state support to topbar links (routerLinkActive) and CSS underline/hover styling; expose icons for algorithm categories and render them in the algorithms list. Update AlgorithmCategory interface and AlgorithmsService to include icon names, import MatIconModule where needed, and adjust algorithms template to show icon, title and description layout. Global style tweaks: dark theme background, canvas shadows, card hover/gradient accents, and new styles for algorithm cards and page title for improved visual polish.
2026-03-07 17:02:40 +01:00
lobo 150306333e Added one cloth parameter elongation 2026-03-07 16:53:36 +01:00
lobo 7ff59bf734 Add TimSort implementation and UI entries
Introduce TimSort support across the app: add TIM_SORT_WIKI to UrlConstants, implement timSort (with insertionSortRange and mergeRanges) in SortingService to produce SortSnapshot sequences (uses RUN=32, sorts runs then merges, marks comparing/unsorted/sorted states), and wire the algorithm into SortingComponent (UI entry and case branch). Also add TIMSORT_EXPLANATION translations in de.json and en.json, and add a few UI label keys (STIFFNESS, ELONGATION, RESTART_SIMULATION) to both locale files.
2026-03-07 16:38:39 +01:00
lobo 5c97667ec1 Use loadComponent for routes and cleanup
Switch route definitions to lazy-load components via loadComponent dynamic imports and remove direct component references from RouterConstants. Remove several components' standalone flags and adjust component metadata (styleUrl vs styleUrls) and imports accordingly. Make AlgorithmsService and AlgorithmsComponent synchronous (getCategories() now returns an array and template iterates categories directly). Replace alert in PathfindingComponent with MatSnackBar and inject it. Simplify LanguageService initialization to use existing translate configuration. Remove unused ReloadService. Make GenericGridComponent.lastCell protected. Miscellaneous tidy-ups across related files.
2026-03-07 16:12:16 +01:00
Andreas Dahm 24c4dd3290 Fixed problem if webgpu is not available and added alert to show the problem. Maybe somewhere in the future i will use toasts for this.
Build, Test & Push Frontend / docker (pull_request) Has been cancelled
Build, Test & Push Frontend / quality-check (pull_request) Has been cancelled
2026-03-05 10:57:07 +01:00
Andreas Dahm a3ec68acc5 Added new position
Build, Test & Push Frontend / quality-check (pull_request) Successful in 1m44s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-03-04 20:37:04 +01:00
lobo 0037502b00 src/app/pages/projects/projects.component.ts aktualisiert
Build, Test & Push Frontend / quality-check (push) Successful in 1m34s
Build, Test & Push Frontend / docker (push) Successful in 1m7s
2026-02-26 07:12:19 +01:00
lobo 5485e57bdb Updated wiki links
Build, Test & Push Frontend / quality-check (push) Successful in 1m35s
Build, Test & Push Frontend / docker (push) Successful in 1m9s
2026-02-25 09:10:41 +01:00
lobo f4104d02e8 Bump deps and refactor layouts/styles
Build, Test & Push Frontend / quality-check (push) Successful in 1m40s
Build, Test & Push Frontend / docker (push) Successful in 1m8s
Update package-lock with multiple dependency bumps (Angular CLI/DevKit/schematics to 21.1.5, ajv to 8.18.0, minimatch/brace-expansion updates, tar, qs, swiper, hono, etc.). Wrap the generic grid canvas in a container and clean up HTML structure/indentation in algorithms and pathfinding templates (add card-grid wrapper and reformat content). Adjust global styles: refine .algo-container and app-root margins/gaps, and refactor hero/photo/intro styles for responsive layout. Changes are primarily dependency updates and UI/layout refinements.
2026-02-25 08:50:28 +01:00
lobo ab3bca4395 Cloth: add info, outline, diagonals, shader
Build, Test & Push Frontend / quality-check (pull_request) Successful in 2m1s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
Add an informational panel and mesh-outline toggle to the cloth demo, plus richer physics and shading. The cloth component now provides AlgorithmInformation to an <app-information> view and a toggleMesh() that flips the mesh wireframe. Constraint generation was extended with four diagonal phases (constraintsP4..P7) and the solver loop was generalized to iterate solver pipelines, improving parallel XPBD constraint handling. The WGSL vertex/fragment shaders were updated to pass world positions, compute normals, add simple lighting and a grid-based base color. Also update information template/model to support optional translated entry names and expand i18n (DE/EN) with cloth texts and a Docker key.
2026-02-24 09:28:16 +01:00
lobo 12411e58bf Refactored the cloth class for better reading 2026-02-24 08:51:53 +01:00
lobo 14d7a78ac4 Added wind to cloth simulation 2026-02-24 08:46:57 +01:00
lobo ed0e370e9d Fixed some styling issues 2026-02-24 08:27:59 +01:00
lobo f656206691 Refactor cloth component and shaders
Improve readability, typing and structure for the cloth simulation component and WGSL shaders. Changes include: formatted imports, added file/header JSDoc and inline comments, made renderConfig and lifecycle methods public with explicit types, renamed component selector to 'app-cloth', converted several functions to typed helpers (e.g. createAndPopulateBuffer, addConstraint), consolidated buffer creation, and cleaned up compute shader binding mappings. Shader file receives file header and minor comment clarifications and a bounds check comment; overall changes are stylistic and organizational to increase maintainability and clarity without altering core algorithm behavior.
2026-02-23 11:30:05 +01:00
lobo 728dbc047f Use 4-phase graph-coloring for constraints
Split cloth constraints into 4 graph-colored phases (horizontal even/odd, vertical even/odd) instead of one big constraints array. Create dynamic JS arrays (constraintsP0..P3) with an addConstraint helper, allocate four GPU constraint buffers and four corresponding solve compute shaders (csSolve0..csSolve3) via a createSolver helper, and dispatch them per substep to avoid write-write races. Update integrate/velocity shader bindings setup and dispatch logic; keep positions/prevPositions/velocities buffers as before. In WGSL, mark constraints as read-only and use arrayLength(&constraints) to bound-check the constraint index instead of relying on a CPU-side count. Also tweak sim parameter (compliance lowered) and minor refactors/cleanups for clarity and consistency.
2026-02-23 11:19:28 +01:00
lobo 746022c48d Update cloth.component.ts 2026-02-23 11:07:09 +01:00
lobo 954211b3cf Add cloth simulation page with WGSL shaders
Introduce a new cloth simulation feature: adds ClothComponent (TS/HTML/SCSS) and WGSL compute/vertex/fragment shaders implementing an XPBD-based cloth sim. Wire up routing and RouterConstants, add the cloth entry to the algorithms list, and add English/German i18n strings. Also include small refactors/renames for algorithm-category and algorithms.service imports and update BabylonCanvas to tolerate optional shader configuration and avoid null access during setup.
2026-02-23 11:02:54 +01:00
lobo aceb0ea24e optimized pendulum visual
Build, Test & Push Frontend / quality-check (pull_request) Successful in 1m58s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-02-23 09:43:34 +01:00
lobo c160fb4bc8 overworked the project detail pages 2026-02-23 09:37:26 +01:00
lobo 45c11e42cd Added an image for the playground project 2026-02-23 09:11:16 +01:00