Commit Graph
250 Commits
Author SHA1 Message Date
lobo 24e7b42896 feat(physarum): add slime mold network demo
Add a Physarum route with a GPU trail map and a CPU fallback.
Tick the Physarum item in ROADMAP.md.
2026-10-23 08:42:02 +02:00
lobo 108cea0491 feat(boids): add boids and particle life demo
Add linkLabel to AlgorithmEntry. The info panel shows it instead of
"Wikipedia" when set, for links that are not Wikipedia.
Tick the boids item in ROADMAP.md and add a Boids 3D item.
2026-10-23 07:46:09 +02:00
lobo 2224774e00 fix(four-color): stop solver freeze on large maps
Build, Test & Push Frontend / quality-check (push) Successful in 2m20s
Build, Test & Push Frontend / docker (push) Successful in 49s
Plain backtracking froze the tab on big maps. Pick the most
constrained region first (DSATUR), and stop after 100,000 attempts.
Measured on 52,000 maps (38x38): max 48 ms, about 1 in 2,900 give up.
2026-10-21 15:07:34 +02:00
lobo 07e0fc1192 fix(fractal): keep non-escaping points black
Points that never escape kept the last loop index as iter, so they
never reached the black color. Start iter at maxIterations and set it
only when a point escapes. Update the ITEM_4 text (en, de) to match.
2026-10-21 14:43:52 +02:00
lobo 833e1ec8dc feat(algorithms): add live metrics to algorithm pages
Each algorithm page shows its numbers with app-metrics.
FpsCounter publishes a rate every 500 ms, not every frame.
Fractal 2D reset now also resets the zoom slider.
2026-10-21 14:35:15 +02:00
lobo 4b19245c6c feat(algorithms): add how-it-works and source links
Add idea, complexity, data structures, GPU use to 10 algorithm pages.
Link logic files on Gitea; a spec fails on a missing path.
Fix wrong texts: cloth phases, pendulum dt, fractal lighting, typos.
2026-10-21 11:51:15 +02:00
lobo 0857ce482b feat(projects): add decisions and result to project dialog
Build, Test & Push Frontend / quality-check (push) Successful in 2m18s
Build, Test & Push Frontend / docker (push) Successful in 50s
Add optional Decisions and Result blocks to the project dialog.
Fill them for ToBePlayed, Tribble, Claude-in-a-Box and Playground.
Remove Portainer and the Google Drive backup claims from Tribble.
2026-10-21 10:39:30 +02:00
lobo 1cff9e6eb2 fix(algorithms): render sliders only after first browser render
ngx-slider throws during prerender (no layout APIs on the server).
Its ngOnDestroy then calls disconnect() on null, so about 1 in 10
prerender builds failed. Gate fractal and pendulum sliders on a
signal set by afterNextRender.
2026-10-21 08:34:39 +02:00
lobo 82228e9141 docs(projects): update claude-in-a-box project text and diagram
The box now runs an agent pipeline, assist mode and evals.
The old card and diagram only described rule loading and the commit hook.
2026-10-21 08:27:27 +02:00
lobo 910822028b feat(projects): add playground architecture diagram and notes
Update the Playground entry on the projects page: diagram,
prerender, privacy and operations bullets, one challenge,
one learning, and the Traefik, nginx and Tailscale technologies.
2026-10-21 08:04:25 +02:00
lobo e13db8c1de docs(about): shorten role title and describe MIDO tool
Build, Test & Push Frontend / quality-check (push) Successful in 2m22s
Build, Test & Push Frontend / docker (push) Successful in 1m8s
Keep the role line short. Give the MIDO highlight concrete scope
in de and en.
2026-10-20 16:01:35 +02:00
lobo ee9caf71cb chore(privacy): disable nginx access log, update hosting text
Privacy page says no visitor IPs are stored.
Hosting text now names Hostinger and its DPA.
Remove the TODO placeholders in de and en.
2026-10-20 15:56:12 +02:00
lobo 54b93055ba feat(app): add prerender, self-hosted fonts and privacy page
Fonts come from npm, not Google, so no third-party font requests.
Pages are prerendered at build time; browser-only code is guarded.
nginx serves per-route HTML, a real 404 and gzip.
2026-10-20 15:43:31 +02:00
lobo 57f861510e feat(fourier): add dog head preset
Build, Test & Push Frontend / quality-check (push) Successful in 1m21s
Build, Test & Push Frontend / docker (push) Successful in 1m29s
Build the dog outline from one mirrored right half.
Smooth it with Chaikin corner cutting (3 passes).
Also add a ROADMAP note for the circles slider thumb.
2026-10-14 16:29:17 +02:00
lobo 52375e5ab1 feat(fourier): add epicycles algorithm demo
Build, Test & Push Frontend / quality-check (push) Successful in 1m25s
Build, Test & Push Frontend / docker (push) Successful in 53s
Draw a shape or pick a preset, then rebuild it with a direct DFT.
Each frequency becomes one circle. Circles are sorted by radius, and
the circles slider keeps the biggest N. Also tick the ROADMAP item and
add the FOURIER SEO key.
2026-10-14 16:05:54 +02:00
lobo dc23023b32 docs: add ROADMAP.md 2026-10-14 15:40:20 +02:00
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 331d653ae6 docs(i18n): fix german wording in project and about texts
Build, Test & Push Frontend / quality-check (push) Successful in 1m15s
Build, Test & Push Frontend / docker (push) Successful in 50s
Fix wrong meanings in the diploma text and the AdGuard line.
Make other sentences natural German.
2026-10-14 15:32:13 +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 2abc7c31e2 perf(assets): convert images to webp and check asset paths
Convert 26 PNG/JPG assets to WebP: max 1600 px, q80, diagrams lossless.
src/assets shrinks from 8.3 MB to 4.2 MB.
Use me.jpg for og:image and twitter:image; some crawlers skip WebP.
Add scripts/check-assets.mjs to lint, so a wrong asset path fails lint,
not only at runtime.
2026-10-13 09:13:58 +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 c70dd59400 ci(frontend): use latest Node 22 patch release
Build, Test & Push Frontend / quality-check (push) Successful in 1m20s
Build, Test & Push Frontend / docker (push) Successful in 58s
Angular CLI 22 needs Node >=22.22.3. The runner cache had 22.22.0.
check-latest makes setup-node fetch the newest 22.x release.
2026-10-13 07:55:48 +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
lobo b5d8e32626 Merge pull request 'feature/Update' (#38) from feature/Update into main
Build, Test & Push Frontend / quality-check (push) Successful in 1m10s
Build, Test & Push Frontend / docker (push) Successful in 49s
Reviewed-on: #38
2026-08-26 11:44:44 +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 db2bc7ab97 Imporved the site 2026-08-26 11:26:00 +02:00
Andreas Dahm 888fb6289d pimped the site a little but and fixed impress 2026-08-26 10:48:39 +02:00
lobo 1de7f33097 Merge pull request 'Upgraded dependencies and extended stopwatch' (#37) from feature/Update into main
Build, Test & Push Frontend / quality-check (push) Successful in 1m26s
Build, Test & Push Frontend / docker (push) Successful in 1m20s
Reviewed-on: #37
2026-08-20 12:01:33 +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
lobo 3f1093e3c8 Merge pull request 'Lots of technical improvements' (#36) from feat/technical-improvements into main
Build, Test & Push Frontend / quality-check (push) Successful in 1m37s
Build, Test & Push Frontend / docker (push) Successful in 1m4s
Reviewed-on: #36
2026-06-02 15:59:05 +02:00
Andreas Dahm 1087fc40e0 Try to fix test
Build, Test & Push Frontend / quality-check (pull_request) Successful in 1m45s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
2026-06-02 15:56:15 +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 102cdfcb52 Added ai info
Build, Test & Push Frontend / quality-check (push) Failing after 1m21s
Build, Test & Push Frontend / docker (push) Has been skipped
2026-05-22 11:36:50 +02:00
lobo 01cf680f79 README.md aktualisiert
Build, Test & Push Frontend / quality-check (push) Failing after 1m22s
Build, Test & Push Frontend / docker (push) Has been skipped
2026-05-20 11:28:05 +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
lobo e20aa11927 Merge pull request 'Added timer component' (#35) from feat/online-timer into main
Build, Test & Push Frontend / quality-check (push) Successful in 1m28s
Build, Test & Push Frontend / docker (push) Successful in 1m2s
Reviewed-on: #35
2026-05-06 10:47:20 +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
lobo b47bce16b5 Merge pull request 'fix(deps): override ip-address to ^10.1.1 to patch XSS vulnerability' (#34) from fix/dependency-vulnerabilities into main
Build, Test & Push Frontend / quality-check (push) Successful in 59s
Build, Test & Push Frontend / docker (push) Successful in 44s
Reviewed-on: #34
2026-05-06 08:07:43 +02:00
Andreas DahmandClaude Opus 4.7 da44d3816e fix(deps): override ip-address to ^10.1.1 to patch XSS vulnerability
Build, Test & Push Frontend / quality-check (pull_request) Successful in 1m6s
Build, Test & Push Frontend / docker (pull_request) Has been skipped
Resolves 4 moderate npm audit findings stemming from ip-address <=10.1.0
(GHSA-v2v4-37r5-5v8g) reaching the tree via
@angular/cli -> @modelcontextprotocol/sdk -> express-rate-limit -> ip-address.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 08:07:12 +02:00
lobo ffe7bbb25e Merge pull request 'AI-tryouts' (#33) from AI-tryouts into main
Build, Test & Push Frontend / quality-check (push) Successful in 10m49s
Build, Test & Push Frontend / docker (push) Successful in 55s
Reviewed-on: #33
2026-04-16 13:26:41 +02:00