Repository navigation
Aura3D 4.3.3
Pre-release
Pre-release
Superseded. This version is deprecated. Upgrade to Aura3D 4.7.10.
- The Hoops, Diamond, Links and FC athletes have a neck again (games). The shared torso-tube rebuild closed the collar under the chin, which left the head floating 5 to 7 cm above the shoulders in every clip.
tools/aura-athletes/add-neck.tsappends a short skin tube from inside the collar into the base of the head (Chest to Head weight ramp, skin colour); it only adds vertices, so palm points and head-bone positions are unchanged and every shipped clip still stretches at most 1.6x. - Aura Diamond 3D: the batter stands and swings like a baseball hitter, not a barbell across the head. The grip was right but the pose was not: the bat lay at 30 degrees across the back of the head with the arms straight out. The ready stance is now a real one: feet a little wider than the shoulders, knees bent, weight on the back leg, chest turned toward the plate, head turned to the pitcher, hands together 20 cm in front of and above the rear shoulder, rear elbow out at shoulder height, bat upright (67 degrees) and leaning back over the rear shoulder (never closer than 25 cm to the head). The swing runs load (hands back, front foot lifts, bat 50 degrees), stride (foot lands), slot (hips and chest open first, hands lead, barrel lags), contact (bat level in front of the front hip, any pitch within reach), through and a high finish with the bat wrapped over the front shoulder. Hand targets are interpolated in the turning chest's own frame and kept off the shoulder and inside the arm's reachable cone, so no elbow folds. Legs are IK-planted (
legBonesinsrc/batter-pose.ts) with a front-foot stride; the walk-up still plays the clip.tests/unit/aura-diamond/batter-pose.test.tsasserts the pose (bat elevation 55 to 80 degrees in the stance, barrel above hands and rear shoulder, 8 cm head clearance, both hands on the handle). Evidence:evidence/aura-diamond-3d/bat-fix/pose/. - Grounding sweep of every game for the Hoops "origin as centre" bug (games).
tests/browser/fit-grounding-sweep.spec.tsloads all 25 live games on the remote runner and lists every runtime node with its position and drawn box; the staticfit-groundingcheck covers the literal pattern. Found and fixed beyond Hoops: the Aura FC ball (a fitted model placed at its centre height, so it rolled 11 cm above the pitch; the node is now placed so its centre is the sim ball whatever its spin), the Aura Links golf ball (resting 5 cm above the turf), the Aura Diamond ball (about 7 cm high at rest and on the ground) and the Cumulus Dash rolling boulders (a 3.8 m fitted rock drawn 1.9 m above the road, pivoting about its base). Checked and left as they were: Slingshot Siege, Pips' Big Leap, Bunker Zero, Iron Crown, Top Tennis, Teleoperator, Drift and Deliver, Shadowstep Gauntlet and Last Train (their actors already stand on their floor). game-checksgainsfit-grounding. It flags fitted (scaleMode: "fit") models placed at half their height (the Hoops origin-as-centre bug) and models moved by a constant equal to half their height; the Hoops ball rack and trophy case and the Diamond ivy trophy no longer hover.- Particle emission and life are proven frame-rate independent (test).
tests/qr/prd07/unit/emitter-frame-rate-invariance.test.tsruns the CPU emitter and the runtime effect system at 30, 60, 120 and 144 fps and asserts the same particles per second for a continuous emitter and the same peak with nothing alive past the design life for every one-shot preset. The emitter already used time-based emission with fixed sub-steps; frame-rate dependence is not the cause of the floating bubbles. - Impact-preset particles have a maximum on-screen size (engine, rendering).
app.effectspresets now carrymaxScreen, the largest particle diameter as a share of the viewport height (5% by default, 6% for aura-burst, 12 to 20% for explosions and flashes), clamped in the particle vertex shader so a soft glow disc can never grow into a bubble at any distance, resolution or pixel ratio. Authoredeffects.particlesnodes acceptmaxScreentoo; absent or 0 leaves them uncapped. - Dev diagnostics for effects that outlive their design (engine). A runtime emitter still emitting 5 s after it was spawned reports
VFX_UNSTOPPED_EMITTER, and more than 24 runtime particles alive 3 s after the last spawn reportVFX_LINGERING_PARTICLES(both appear in the effect diagnostics report; one-shot presets never trip them). On a live page,?vfx=offdrops every runtime-spawned effect (to show whether floating dots come from impact effects or from the scene) and?vfxdebug=1publisheswindow.__AURA_VFX_DEBUG__()with each live runtime emitter, its age and particle count. Note: the production frames read at DPR 1 on the software-GL runner (Links, FC, Iron Crown idle) showed no bubble columns; the owner's real-GPU frames did, so the source on a real GPU is still unconfirmed. tools/real-gpu: capture the live games on a real GPU. Every earlier visual check ran on software GL, which hid the real-browser regressions of 4.3.0.tools/real-gpu/run.sh(andcapture.mjs, per-gamescenarios.json) opens production in Chrome at DPR 2, probes the WebGL renderer string, refuses to run on SwiftShader/llvmpipe, and writes screenshots plusreport.json(console and page errors, failed or 4xx requests). It runs on a Mac or on a GPU VM; seetools/real-gpu/README.md.