init.luau
Versions
Every version of this package its world published, newest first by when it first appeared. A version published again later keeps its place.
Comparing from 01KZ1QQ6C9DBJ776B91ZS7WGBZ. Pick the version to compare it with. Cancel
contact-and-ceremony: one frame of a touch says who struck whom, and the umpire stops repeating himself The broadcast holds its side-on framing for every frame the two are fencing - contactPct is 0 through all of state == fence and fencerFramePct never leaves 39.28781 there - and takes the umpire's own stop to make contact readable. For the length of that stop the station swings 19 deg off the piste axis toward the fencer who took the touch, cranes 0.22 m, closes to a distance solved from the pair's own span, and holds 0.42 s past the stop. Every dial is a fraction or an offset of the shot's own dials, because scene.json carries an authored PisteCamera prop block and a station fixed in metres is a different shot in every scene that loads. Over 120 samples of live play: fencerFramePct mean 40.575 (min 39.288) and lawnBelowPct mean 14.685, against 39.29 / 15.80. A landed stroke leaves the panel's whitewash in the air for the length of the hold, and the shape it leaves is which stroke it was: a thrust one level line, a lunge a long low one off the back foot, a sweep a falling quarter circle, a riposte the crossed guard and the answer out of it. It runs from the striker to the struck, so which way the blow went is in the picture. Beside it, contactHold pins recoil, spin, lean, overreach and jam at the values the blow gave them, because a reaction that decays in 0.3 s is gone inside one frame of this build. The post is driven rather than moved: the surveyor's cord walks from where the line stood to where it now runs, carrying a post held clear of the turf, and three mallet blows seat it flush with the boundary's own post. Fifteen new umpire calls through a new Fx.call, which writes a call as a list of syllables rather than a stack of primitives. Each ceremony beat draws from its own bag, narrowed by the bout: the score only when it is level, the last post only when one post ends the assize, arret and touche only on a ground that stands on form. Over one full bout of 67 lines the largest share is 13.4 %. The bell counts one strike to open and three to close, both men breathe in the pause, and each of the six neighbours has their own throat. Measured: two KeyR-driven bouts to a verdict, engine.timeScale sampled 891 and 101 times, badRecovery 0 in both and max 1.0; busProduced - busTaken 0 on the second. DuelFx 0.60 -> 0.91 ms and PisteCamera 0.23 -> 0.30 ms, medians of eight samples each under the same load.
01KZ376G8BA0YWF0Y7HBVKSRWM65f522211cBrowse filesCompare with this versionthe-garden: the garden takes light, and there are six of them lib.hedge_leaf writes a real PBR G-buffer, so pass:albedo and pass:final differ completely on every hedge, topiary, orchard and treeline surface and pass:roughness reports a value instead of magenta. Every foliage material is authored against a lit surface rather than an emitter, and the same hedge run with the sun behind it is visibly darker than with the sun on it. lib.garden_turf is new: the lawn is a lit surface whose mown bands wander instead of meeting along a ruler, with a clump register for the sward, a blade register so it does not go flat close up, and a wear register for the ground either side of the piste. Ten lawn materials moved onto it, each carrying its own roller width - 1.65m and almost no wander for the Major's parade ground, 7.5m and 3m of wander for a field mown twice a year. The stripe slabs and the stripe style fields are gone with it. Three more grounds and three more turnouts: Sixpenny Nursery, the Old Rectory and Gallows Piece, with Mr Quilty, the Revd. Brasenose and Young Tibb. Mrs Pettifer is a bottle-green bell under a wide pale brim now, because straw over straw against a player in whites is one figure and not two. The counter-fill is removed. A second directional light contributes nothing to the shaded result - the same frame at fill 0.0 and fill 8.0 is pixel-identical, filed as #8139 - so the shade side was always ambient alone, and the rig says so now: one key and one hemisphere, five moods re-solved on it, and the shadow re-arm hack that existed only to survive the second light went with it. The treeline stands at 44m instead of 31m in eleven irregular crowns, because a 9m crown at 31m is twenty degrees of backdrop before anything in the game is drawn. GardenDressing's repair loop runs twice a second instead of five times: 0.07ms a frame against 0.52ms.
01KZ372NV70QQRK7Q7H78RYC9D46ea9ea9ddBrowse filesCompare with this versionimpact-and-audio: four commitments that land differently, a lossless bus, and a lawn with places in it The outline flash drew as an orange rectangle in the grass because a fencer is eighteen separate boxes and every one of them was rimmed. A per-model rim on a part that stands ON the lawn draws its rim IN the lawn, and the fence panel drew a rectangle in the air beside the man. The flash marks the body now, skipping what a fencer stands on and what they are holding, by name - a rig part's position and scale are rewritten every frame by fencer_body.pose, so a geometric gate answers differently depending on which frame you ask it. Over 12 seconds and five touches the only models that ever carried a rim were the eleven body parts; panel, shoes, stockings and legs never once. One PROFILE row per commitment drives recoil, spin, shove, hitstop, camera, dust and sound. Only a sweep turns the struck fencer off the line and lands on panel_crunch; only a lunge gives up three times the ground and tears a grit trail from the back foot to the contact; a thrust is a narrow plume and is over; a riposte rings. Which one landed is parsed out of lastExchange, so a fifth commitment gets the default weight and says so rather than being mis-sold. SHORT and CROWDED never reach the bus - the umpire writes their record and returns - so fx derives both. Their feedback is built from the opposite parts of the vocabulary from a touch on purpose: the reaction is on the attacker, there is no hitstop, no flash and no rim, and the shape left behind is a flat scuff disc lying on the piste. The reader drains fxQueue and counts fxSeq against what it took, so the difference is exactly what never arrived: 990 missed before this round, 0 over two clean bouts driven by real key presses. Twelve new synthesised clips give the lawn places. The player's orchard at the west end and the neighbour's walled end at the east crossfade on where the fight has got to; the bell hangs on the garden wall and the wall gives it back 0.40 s later; the umpire walks the piste and has a voice, built from a new formant primitive. Footfall knows the raked gravel of the piste from the spoil thrown out around a driven post. probe_tone is gone. Everything was tuned at a measured 104 ms frame, 9.6 fps, and every window is in real seconds so it survives the frame rate coming up. DuelFx costs 0.48 ms under driven play against 1.56 ms at the start of the round.
01KZ237JMTJAK9R47WXX4TR6XZc26f4de9e0Browse filesCompare with this versionfeel-and-sound: the turf puff returns to zero and blooms instead of shrinking The puff stopped being written once its life reached zero, so it kept the last live frame's scale and a full-size dome sat on the lawn from the first post onward. The fade now rides in the scale itself, and holds full size while the puff spreads so it blooms rather than collapsing on frame one.
01KZ1QQ6C9DBJ776B91ZS7WGBZabb2b0e3c9Browse filesPickedfeel-and-sound: impact, camera reactions, and a synthesised sound bed DuelFx turns the umpire's verdicts into something you feel: recoil, shove and an outline flash on the struck fencer, follow-through on the striker, a contact bloom, a turf puff when the post goes in, and a hitstop that always releases. PisteCamera now frames by extent rather than by separation, so both fencers and the boundary post stay in shot at the nearest distance that covers them. A fencer reads 38% of frame height at measure, up from 31%, and 22% in the worst case, up from 18%. fx.module carries the event source over the umpire's bus (with a derivation that recovers the events its one slot coalesces), the shared easing, and an offline synthesiser. Twelve soundClips under /source/audio are rendered by it from sines, noise and envelopes: the assize bell, panel on panel, the touch, gravel underfoot, a tell for each of the four commitments, the riposte ring, the post going in, a whiff, and the garden's own nine-second loop.
01KZ1QGA2YQFN0JY3660JC3PMJ38bd3231a1Browse filesCompare with this version