This page documents the release history of the Entrenador de Carambola Guiada from the initial structured release (v160) through the current production build. Versions are grouped by milestone. Each group covers a cohesive phase of development — physics engine, mobile UX, full-screen mode, or production hardening.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/losyoguis/149tresbandas/llms.txt
Use this file to discover all available pages before exploring further.
Current Production — v230–v235
Current Production — v230–v235
v235 · Corner power assist
When the cue ball is near a corner or cushion edge and the cue stick exits the table boundary during the backswing, power distance calculation now amplifies the drag distance automatically. The shot direction continues to follow the user’s real touch/mouse point; only the power magnitude is assisted. Compatible with Mesa completa, mobile, desktop, GitHub Pages, and Google Sites.v234 · GitHub Pages + Google Sites production QA
All internal paths made fully relative (
index.html, css/styles.css, js/app.js, manifest.webmanifest, icons, assets). A .nojekyll file was added to prevent GitHub Pages from interfering with asset serving. The Service Worker registration is guarded against scope restrictions imposed by Google Sites iframes. Full-screen mode falls back gracefully to CSS-based mesa completa when the Fullscreen API is blocked.v233 · Free play without selecting a play
The app is now playable from the initial state without first selecting a carambola. The cue can be aimed and Tirar is active even when the dropdown shows “Selecciona la carambola”. Selecting a play switches to guided practice mode; leaving practice returns to free play.v232 · Tirar locked during animation (Bug 8)
Tirar and all shot-execution shortcuts are disabled the instant a shot begins. The button shows a visual waiting state and rejects double-tap, double-click, and keyboard repeats until the animation ends or the safety timeout fires.v231 · Free Mode button shows ON/OFF state (Bug 7)
The Modo libre button now displays Modo libre: ON or Modo libre: OFF so the current state is always visible. In compact or Mesa completa views it shows Libre ON / Libre OFF. The mobile Options modal proxy stays in sync.v230 · Reiniciar (Reset) button added to scoreboard (Bug 6)
A Reiniciar button appears in the main scoreboard. It resets Puntos, Intentos, and Bandas to zero without moving the balls. The same action is available inside the mobile Options modal as Reiniciar marcador.v220–v229
v220–v229
v229 · Dynamic guide no longer shows empty black box at load (Bug 5)
The dynamic guide panel now renders a default state on page load — an effect indicator and a mini reference scene — instead of an empty black canvas. Text explains that the guide will update when a play is selected or the cue is aimed at a ball. On mobile the panel remains hidden as configured.v228 · Cushion counter persists through replay (Bug 4)
The BANDAS counter no longer resets to 0 at the end of Ver replay. The accumulated cushion count from the last shot is preserved through the replay start and end events.v227 · Tirar disabled until play selected or Free Mode active (Bug 3 / v227)
Tirar is disabled at startup. It becomes active only after a practice play is loaded from the dropdown, or after Modo libre / Nueva posición is activated explicitly. Indirect triggers — double-tap, keyboard, remote — are also blocked until a valid play state exists.v226 · Play 080 disabled in dropdown; range clarified
The app clarifies the active range as 001–079 and 081–149 (148 plays). Play 080 appears in the selector as a disabled, unselectable option to prevent the sequence from appearing to skip a number. Browser title bar cleaned to plain Entrenador de Carambola Guiada.v223 · Auto-stop after carambola
After the second ball is touched and the carambola is confirmed, the app stops all ball motion after a 520 ms pause. This eliminates the need to wait for the balls to roll to a natural stop before starting the next attempt.v220–v222 · Mobile power: accumulative and reversible drag
Power on mobile Mesa completa can be built up across multiple drag gestures — pull back to 70%, release, pull back again to reach 120% without resetting. Pulling the cue toward the cue ball subtracts power. The 160% cap cannot stick anymore after v222 corrected a locking edge case.
v210–v219
v210–v219
v219 · Salir always visible in mobile Full-Screen
A dedicated Salir button is fixed top-right in mobile Mesa completa. Returning to the normal view no longer requires opening the Options modal.v216 · Mobile Full-Screen uses Options modal
On Android/iOS inside Mesa completa, all secondary controls (play selector, Guía, Repetir, Videotutorial, Demostración, Libre, Ubicar, Nueva posición, Salir) moved into a compact Opciones modal. Only Tirar and the effect ball remain permanently visible, maximizing table area.v213–v215 · Mobile control layout reorganized; cue sensitivity reduced
The left column shows Guía above the play selector; the right column stacks Libre, Ubicar, Repetir, and Salir. Cue angular sensitivity was reduced and a dead zone was added to ignore micro-movements. Power increase requires a longer drag stroke and updates with a smoothed progressive curve.v210 · Full-Screen mobile UI balanced — Tirar + effect ball anchored at bottom
Cue controls reorganized to avoid covering the table. Tirar is large and circular at bottom-right; the effect ball is the same size at bottom-left. Leftover CSS position overrides from earlier versions were cleared to prevent layout breakage on Android/iOS.
v200–v209
v200–v209
v207–v209 · Mobile Full-Screen: full table coverage, circular Tirar, external effect ball
The table fills the maximum available area. Tirar is a large circular button fixed at bottom-right. The effect ball control moves outside the table area to bottom-left on mobile so it cannot interfere with aiming. Play selector and secondary buttons float over the corners.v204 · Mobile video uses YouTube embed on Android/iOS
The Videotutorial modal detects mobile/touch screens and switches from the Google Drive iframe (desktop) to a YouTube embed sized at 16:9 with
dvh height and safe-area insets. This fixes the black cropped iframe seen on Android and iOS.v201 · Neon illumination — brief cyan/violet flash
When the predictive guide anticipates a carambola of three or more cushions, the app fires a brief cyan/violet neon flash on the table and highlights the cue ball with a bright halo. The animation is short and non-intrusive; the shot itself still uses real physics.v200 · Effect dot draggable again after physics isolation fix
The white visual ball in the effect control was made fully transparent to physics (v199) but lost its drag interaction. v200 restores full drag — mouse and touch — while keeping the visual body out of collision detection, guide calculation, and route validation.v190–v199
v190–v199
v197 · App renamed to Entrenador de Carambola Guiada
The public name changed from Sistema de Carambola Guiada (v195) to Entrenador de Carambola Guiada. HTML title, PWA manifest display name, short name for home screen, and Service Worker cache key all updated.v195 · App renamed to Sistema de Carambola Guiada
First official rename from the legacy Billar tres bandas Pro branding. Later superseded by v197.v191 · Video Guide button renamed to Videotutorial
The Video guía button was renamed to Videotutorial. Modal title, status text, and accessible labels updated consistently.v190 · Magnetic assist uses real physics instead of linear scripted route
The smart guide snap introduced in v184 was rebuilt. When the predictive guide aligns with the master route, the assist now corrects exit angle, power, and spin — but still fires through the professional physics engine with full cushion rebound, ball collisions, and spin decay. The shot is not scripted.
v180–v189
v180–v189
v189 · Full-Screen mode (Mesa completa) + TV remote keyboard support
A Mesa completa button enters a CSS-based full-screen mode compatible with Google Sites iframes (where the Fullscreen API is blocked). TV remote D-pad support added: left/right rotate cue, up/down adjust power, OK/Enter fires shot, Back/Escape exits. Focus rings added for TV navigation visibility.v187 · Assets moved to flat folder structure
Removed numbered subdirectories inside
assets/jugadas/. All 148 × 3 = 444 asset files now live flat inside assets/jugadas/ with the play number suffix: posicion_inicial_NNN.webp, recorrido_guia_NNN.webp, guia_referencia_NNN.png.v186 · Play load starts at slight offset from master route
When a play is selected, the cue starts slightly off the master route so the player must actively adjust direction, power, or spin before the magnetic snap activates. The green guide remains visible as a reference target.v184 · Smart magnetic guide snap introduced
When the yellow predictive line comes close to the green master route and trajectories are compatible, the guide snaps to the master path. Shooting while snapped fires the master-synchronized shot. Aiming away from the route preserves free physics.v181 · Instructions modal added
An Instrucciones button below the main title opens a modal listing the seven steps to execute a practice shot. The modal can be dismissed with Escape, the ✕, the Entendido button, or a click outside the panel. While open, Enter does not fire a shot.v180 · Master green guide persists during and after shot
The green master guide stays on the table at all times after a play is loaded — including during the shot animation and after the ball comes to rest. Modifying cue angle, power, spin, or ball positions shows the yellow predictive line alongside the persistent green reference.v174–v179
v174–v179
v177 · Predictive guide and Tirar physics fully synchronized
A desynced guide was corrected: the yellow predictive line and the actual shot now use identical physics parameters — same cloth friction, same cushion model, same spin decay, same ball collision correction. Long-shot mode no longer calculates differently between prediction and execution.v176 · Professional physics engine
The special friction and rebound overrides for “long shots” were removed. The entire table now uses one unified physics model:
- Cushion rebound depends on arrival angle, speed, tangential loss, and lateral spin
- Spin decays progressively through cloth, cushion, and ball contact
- Ball throw, sliding loss, and follow/draw transfer are modeled continuously
- The predictive guide uses the same engine, so what you see is what you get
css/styles.css and js/app.js extracted from index.html. Mobile layout corrected so the button bar no longer overlaps the table. Tirar always fires real physics; Demostración is the only path to the exact scripted route.