Commit Graph

  • 880af293ef log: primer missatge 'Game start', últim 'Bye!' JailDesigner 2026-05-22 12:50:53 +02:00
  • 67c59992c9 Merge branch 'feat/sdl-callbacks': migració a SDL_MAIN_USE_CALLBACKS JailDesigner 2026-05-22 12:48:39 +02:00
  • be3d696f60 feat(main): activa SDL_MAIN_USE_CALLBACKS JailDesigner 2026-05-22 12:45:12 +02:00
  • 6b8f6a267d refactor(director): migra la persistència ConfigYaml al Director JailDesigner 2026-05-22 12:41:05 +02:00
  • 120b8ada38 refactor(director): extreu iterate/handleEvent/advanceScene del runFrameLoop JailDesigner 2026-05-22 12:38:16 +02:00
  • 8bb052981d refactor(director): locals de run() a membres unique_ptr JailDesigner 2026-05-22 12:35:19 +02:00
  • 7fc8e48596 Merge branch 'feat/title-3d': escena del títol migrada a 3D real JailDesigner 2026-05-22 12:12:22 +02:00
  • ff518195f8 fix(title): comentari trencat per la substitució sed del cleanup JailDesigner 2026-05-22 12:06:48 +02:00
  • 54d3e683a1 refactor(title): la 3D és l'única — elimina backup 2D i renomena als noms canònics JailDesigner 2026-05-22 12:04:16 +02:00
  • a29c2b9cc2 fix(ship-3d): exit convergeix al VP sense travessar-lo (sense creuament entre naus) JailDesigner 2026-05-22 11:57:16 +02:00
  • 85e7e70767 feat(title-3d): horitzó ampliat (starfield Z=1500, naus exiting travessen el VP) JailDesigner 2026-05-22 11:50:26 +02:00
  • 3f10c61e22 tweak(ship-3d): SHIP_FLOAT_SCALE a 2.0 v2-title-3d JailDesigner 2026-05-22 11:40:47 +02:00
  • 5de9a5003b tweak(ship-3d): descans més amunt i naus més grans (FLOAT_SCALE 1.5, TARGET_DIST 480) JailDesigner 2026-05-22 11:30:54 +02:00
  • d3076fbdec tweak(ship-3d): descans prop de P-PRESS / Y-PLAY, més mida, pitch +14° lift v1-title-3d JailDesigner 2026-05-22 10:20:39 +02:00
  • 26c6decd74 fix(ship-3d): path únic VP→les7/les5 perquè initial, target i VP siguen col·lineals JailDesigner 2026-05-22 10:06:06 +02:00
  • 54702a5afe feat(ship-3d): look-at dinàmic, naus alineades amb el path (punta+cul) JailDesigner 2026-05-22 09:52:14 +02:00
  • b45390a8d1 tweak(ship-3d): tornar a extruir amb depth 1.0 (més baixa que 1.5) JailDesigner 2026-05-22 09:48:57 +02:00
  • 2faa3ede84 tweak(ship-3d): pitch -120° i naus planes (sense extrusió) JailDesigner 2026-05-22 09:39:19 +02:00
  • 85e1933a83 fix(ship-3d): oscil·lació contínua entre ENTERING i FLOATING (sense salt) JailDesigner 2026-05-22 09:31:28 +02:00
  • 07788ab3b6 tweak(ship-3d): pitch -108°, Z 90, X 25 (més inclinació, més lluny) JailDesigner 2026-05-22 09:30:39 +02:00
  • 2ed7463069 tweak(ship-3d): pitch a -100° per inclinar el cul avall i veure el dors JailDesigner 2026-05-22 09:24:53 +02:00
  • e533387ce5 fix(title-3d): naus rotades cap al VP, alçada mínima, eix X de càmera corregit JailDesigner 2026-05-22 09:11:26 +02:00
  • b654fd0428 feat(title-3d): TitleScene3D, SceneType::TITLE_3D i trigger ORNI_TITLE_3D JailDesigner 2026-05-22 08:22:36 +02:00
  • 7a3a71e1dc feat(ship-animator3d): animador 3D de naus per al títol amb extrusió de ship.shp JailDesigner 2026-05-22 08:14:29 +02:00
  • 8722a46d06 feat(starfield3d): camp d'estrelles 3D amb octaedres rotants cap a càmera JailDesigner 2026-05-22 08:10:52 +02:00
  • e20bdec470 feat(wireframe3d): mesh3d + drawWireframe + factories octaedre i extrusió JailDesigner 2026-05-22 08:07:47 +02:00
  • 86708e0ed5 feat(camera3d): afig Vec3 i Camera3D amb projecció perspectiva en CPU JailDesigner 2026-05-22 08:04:45 +02:00
  • 51797e0ea7 Merge branch 'feat/playfield-reactions': el playfield reacciona al pas de la nau i als fireworks JailDesigner 2026-05-21 23:04:25 +02:00
  • 20f5b83649 feat(playfield): reaccions orbit al pas de la nau i pulse al spawn de fireworks JailDesigner 2026-05-21 23:03:48 +02:00
  • ffeff3d69d Merge branch 'feat/border-bumps': border amb reaccions a impactes i explosions JailDesigner 2026-05-21 22:49:42 +02:00
  • a44748c0c4 feat(border): bump del border per explosions properes a la paret JailDesigner 2026-05-21 22:48:49 +02:00
  • e678f8d538 feat(border): refactor a Graphics::Border amb bumps i flash verd clar per impactes contra les parets JailDesigner 2026-05-21 22:39:08 +02:00
  • ccda7113c1 Merge branch 'feat/playfield-grid': fons playfield amb graella animada JailDesigner 2026-05-21 22:06:08 +02:00
  • 5c8a583e24 tune(playfield): ona diagonal amb easing i cap brillant JailDesigner 2026-05-21 22:06:02 +02:00
  • 07985228b2 feat(playfield): refactor a Playfield amb animació de creació durant l'INIT_HUD JailDesigner 2026-05-21 20:44:17 +02:00
  • dc389037f8 feat(grid): sub-graella amb 5 subdivisions i ajust de brillos JailDesigner 2026-05-21 20:21:46 +02:00
  • f30b195778 feat(grid): graella verda fosca de fons al playfield (16x8) JailDesigner 2026-05-21 20:16:44 +02:00
  • 95ac4606d5 Merge branch 'enhancements': debug overlay, àudio a 48000 i typewriter ràpid JailDesigner 2026-05-21 20:04:43 +02:00
  • 2bc07f8e8d tune(stage): typewriter ràpid però visible al missatge de nivell completat JailDesigner 2026-05-21 20:02:02 +02:00
  • ca6f863c0f tune(audio): efectes a 48000 Hz u8 mono i ajust de volums per defecte JailDesigner 2026-05-21 19:58:45 +02:00
  • 66faa07c00 tune(debug): overlay més endins del playfield i en color daurat JailDesigner 2026-05-21 19:50:45 +02:00
  • 72158c7c3f Merge branch 'fix/p2-join-physics': el P2 ja pot accelerar després de fer join JailDesigner 2026-05-21 19:44:52 +02:00
  • 8b32a0a404 fix(join): registrar el cos físic del jugador al món quan s'uneix JailDesigner 2026-05-21 19:44:29 +02:00
  • abb7b8fe8c Merge branch 'feat/ship-trail': estela de partícules daurada/vermella darrere la nau JailDesigner 2026-05-21 19:40:36 +02:00
  • 51308fa25e tune(trail): vida més llarga, offset darrere i paleta vermella per al P2 JailDesigner 2026-05-21 19:40:15 +02:00
  • 74d855357d feat(trail): estela daurada de partícules quan la nau accelera JailDesigner 2026-05-21 19:29:32 +02:00
  • a9593a0fd9 Merge branch 'tune/gameplay': balas, velocitat, stage 1 i so hit JailDesigner 2026-05-21 19:05:53 +02:00
  • dec72340de feat(audio): so hit.wav quan l'enemic passa a ferit JailDesigner 2026-05-21 19:05:42 +02:00
  • 7646daef3d tune(stages): stage 1 a 50 enemics i puja el cap de validació a 200 JailDesigner 2026-05-21 18:58:33 +02:00
  • 1c1fd1273b tune(ship): puja MAX_VELOCITY de 120 a 180 px/s JailDesigner 2026-05-21 18:55:01 +02:00
  • e6eaf870c6 tune(bullets): puja MAX_BALES a 50 i deshardcoded el slot per jugador JailDesigner 2026-05-21 18:51:55 +02:00
  • 23eff1585c chore: neteja de notes obsoletes a l'arrel JailDesigner 2026-05-21 18:46:55 +02:00
  • 4d51c13e46 Merge branch 'tune/glow': bloom separable + preserve-core + paleta neon + F6 toggle JailDesigner 2026-05-21 18:46:20 +02:00
  • 625cb19cba feat(postfx): toggle F6 per activar/desactivar el postprocessat JailDesigner 2026-05-21 18:45:29 +02:00
  • ae946b578e feat(bloom): glow separable two-pass amb composite preserve-core i paleta neon JailDesigner 2026-05-21 18:39:16 +02:00
  • 8b4683b77b Merge branch 'feat/fireworks': starburst d'explosió d'enemic JailDesigner 2026-05-21 17:41:52 +02:00
  • 0cc1f7623a feat(fireworks): burst radial blanc al explotar enemic + tuning JailDesigner 2026-05-21 17:41:10 +02:00
  • 56ce1a3236 feat(fireworks): infraestructura (manager + pool + render, sin spawn aún) JailDesigner 2026-05-21 17:22:46 +02:00
  • 5aab26f2ca Merge branch 'feat/enemy-death': muerte d'enemics amb herida prèvia + debris físic JailDesigner 2026-05-21 17:16:16 +02:00
  • 2869c63517 tune(debris): N=1, shrink completo y sin herencia angular en enemigos JailDesigner 2026-05-21 17:11:08 +02:00
  • 87b96b8226 fix(debris): bugs rotacion cuadratica y shrink exponencial (geometria autoritativa) JailDesigner 2026-05-21 14:05:10 +02:00
  • 7505de074c feat(debris): rebote contra los limites del playarea (restitution 0.7) JailDesigner 2026-05-21 13:55:32 +02:00
  • ae1d1397b1 revert: vuelve al modelo de efd18ff + ENEMY_LIFETIME 3.0 -> 4.5 JailDesigner 2026-05-21 13:46:25 +02:00
  • 0c8a9b744e tune(debris): un poco mas de rotacion + shrink mas rapido (1.4s) JailDesigner 2026-05-21 13:41:20 +02:00
  • 9b25e875f3 fix(debris): bug rotacion cuadratica + shrink exponencial; geometria autoritativa JailDesigner 2026-05-21 13:37:12 +02:00
  • e84f555a66 fix(debris): rotación visual decae con fricción + modulada por size_factor JailDesigner 2026-05-21 13:23:16 +02:00
  • 048263a1d0 feat(debris): modelo INTACTO→MENGUANDO→0 (sin pop, fade-out por tamaño) JailDesigner 2026-05-21 12:53:01 +02:00
  • efd18ff852 feat(debris): vida híbrida (mínima + umbral velocidad) + multiplier para enemigos JailDesigner 2026-05-21 12:07:50 +02:00
  • 44aa4e76e2 fix(physics): salta body-body collision quan algun cos té radius=0 JailDesignerandClaude Opus 4.7 2026-05-21 11:45:59 +02:00
  • e3af88ea8c tune(enemy): més empenta + cos inert quan està herit JailDesignerandClaude Opus 4.7 2026-05-21 11:33:03 +02:00
  • ff5dfab94d tune(bullet): empuje cuasi-físico (momento real de la bala) JailDesignerandClaude Opus 4.7 2026-05-21 10:37:23 +02:00
  • 2cf5292b16 feat(collision): cadena herit→sa via fregada física (Fase 6) JailDesignerandClaude Opus 4.7 2026-05-21 10:29:29 +02:00
  • 7b24bfae94 feat(enemy): parpadeig dorat quan està herit (Fase 4) JailDesignerandClaude Opus 4.7 2026-05-21 10:27:56 +02:00
  • 5cb547db0a feat(collision): primer impacte fereix, segon mata; mort diferida via timer (Fase 3) JailDesignerandClaude Opus 4.7 2026-05-21 10:26:13 +02:00
  • dc2824a095 feat(collision): la bala transmet impulse mass-aware al enemic (Fase 2) JailDesignerandClaude Opus 4.7 2026-05-21 10:22:25 +02:00
  • d169a1997c feat(enemy): afegeix estat "wounded" amb timer i API base (Fase 1) JailDesignerandClaude Opus 4.7 2026-05-21 10:20:42 +02:00
  • 23bcd0816f tune(bullet): augmenta velocitat de la bala (×5) JailDesigner 2026-05-21 09:55:07 +02:00
  • 93baead066 Merge branch 'feat/centralize-defaults' JailDesigner 2026-05-21 09:51:02 +02:00
  • bb21191c5b refactor(defaults): substitueix els 999.0F restants per HIT_TIMER_INACTIVE_PLAYER JailDesigner 2026-05-21 09:48:20 +02:00
  • 7139dea7f6 refactor(defaults): centralitza init hud, tips, hit timer, line thickness i debug overlay JailDesigner 2026-05-21 09:45:55 +02:00
  • 08100f60e8 refactor(defaults): centralitza constants de bullet, ship, enemy, hud i notifier JailDesigner 2026-05-21 09:39:36 +02:00
  • 61ae211dab chore(iwyu): subheaders concrets i pragma exports al umbrella JailDesigner 2026-05-21 08:52:19 +02:00
  • 5d1dae1d86 feat(render): resolució d'offscreen configurable via YAML JailDesigner 2026-05-21 08:46:22 +02:00
  • 4252f3327f fix(notifier): ESC només confirma sobre el propi prompt de sortida JailDesigner 2026-05-21 08:24:22 +02:00
  • 9a79fb9774 chore(shaders): regenera postfx_frag_spv.h JailDesigner 2026-05-21 08:18:12 +02:00
  • 6629e9b9aa fix(warnings): cast RAND_MAX a float per evitar conversió implícita JailDesigner 2026-05-21 08:16:55 +02:00
  • afc91425bc Merge branch 'feat/metal-msl-support': suport Metal/MSL a macOS JailDesigner 2026-05-20 23:07:57 +02:00
  • 6259f594c8 feat(gpu): suport Metal/MSL a macOS i shaders SPIR-V embedits JailDesigner 2026-05-20 23:07:49 +02:00
  • ac5434fc30 Merge branch 'feat/notifications': sistema de notificacions toast JailDesigner 2026-05-20 22:30:49 +02:00
  • d1ca0df1ab tune(notifier): notifyInfo en cian i text una mica més gran JailDesignerandClaude Opus 4.7 2026-05-20 22:30:36 +02:00
  • 9eb8c58d87 feat(notifier): doble pulsació d'ESC per confirmar sortida JailDesignerandClaude Opus 4.7 2026-05-20 22:11:43 +02:00
  • 470d2b85a4 feat(notifier): notificacions visuals als toggles F1-F5 JailDesignerandClaude Opus 4.7 2026-05-20 22:10:24 +02:00
  • 81330f8432 feat(notifier): infrastructura del sistema de notificacions toast JailDesignerandClaude Opus 4.7 2026-05-20 22:07:56 +02:00
  • 799a97930c Merge branch 'fix/vsync-fullscreen-antialias': viewport fullscreen, VSync fallback i AA geomètric JailDesigner 2026-05-20 21:42:53 +02:00
  • 1ef9ca551f feat(antialias): toggle F5 i indicador AA al debug overlay JailDesigner 2026-05-20 21:39:24 +02:00
  • b10f2da647 feat(antialias): AA geomètric a les línies amb edge attribute i smoothstep JailDesigner 2026-05-20 20:25:12 +02:00
  • 6063309932 fix(vsync): comprovar suport de present mode i loggejar el mode efectiu JailDesigner 2026-05-20 20:17:28 +02:00
  • 7c2499cd91 fix(fullscreen): preservar zoom_factor_ de windowed durant transicions a fullscreen JailDesigner 2026-05-20 20:15:28 +02:00
  • e0f8cf78ee fix(fullscreen): seleccionar mode 'borderless desktop' explícitament en toggleFullscreen JailDesigner 2026-05-20 20:12:33 +02:00
  • 20cfadeb0b fix(viewport): deslligar el viewport de zoom_factor_ (aspect-fit per pantalla física) JailDesigner 2026-05-20 20:10:10 +02:00