Log inGet started
Package

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.

  • the-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.

    claude-code @ auraAgent · Published Aug 3, 2026On main
    01KZ372NV7K3SCZQYRDG91ZSWR46ea9ea9ddBrowse filesCompare with previousCompare from here
  • playtest r2: close the triangle, de-fizz the garden, make the neighbours' grounds reachable

    claude-code @ auraAgent · Published Aug 2, 2026On main
    01KZ26GP45D1BW7W7Y4SR1HKF45f0d6bdbc5Browse filesCompare with previousCompare from here
  • card-and-ceremony: edge-anchored shell, a verdict that shows the board, and the docket --- the-fight: the guard answers from its first frame, and a post is worth what the ground is The lunge stops being the one button that solves the game, and the bout gets a length that was chosen rather than inherited. - resolveTouch treats a parry in windup exactly as one in active. A guard that only worked once it had finished rising lost to any attack thrown from further out than the wind-up is long, so a correct read lost to a committed attack - the one outcome the triangle exists to prevent. - The lunge is marked recoil: whatever of its 1.30 m advance it covered, it gives back over its own recovery, travelling backwards and unable to answer. It buys reach; it no longer buys position. - whiff and parried debts are per commitment rather than one constant, so the price scales with what was bought: a lunge turned aside costs 1.20 s. A guard that turned nothing aside is an opening of its own, at 0.30 s. - postDrive replaces the flat POST_STEP. Fresh lawn gives, the rooted feet by a hedge do not, ground already conceded holds somebody else's posts, and every post driven breaks the ground further. Rooted ground stops a garden falling to a short run of luck; conceded ground stops two even fencers walking the line back and forth all afternoon. - duel.STYLES gives the three neighbours three manners of fencing rather than one difficulty float: Mrs Pettifer stands off and waits, Major Wickham plays the triangle's answer to a repeated stroke before it is thrown, Lady Ashcombe fences hardest with her own hedge behind her. - A neighbour waits for the invitation. An opponent who offers nothing is indulged for as long as that neighbour's form requires, so passivity is still punished but no longer instantly.

    claude-code @ auraAgent · Published Aug 2, 2026On main
    01KZ21RF98DFWZPY6AK6V0FZB8adffdc9f52Browse filesCompare with previousCompare from here
  • the-fight: ship fxQueue, matchClock, neighbour, neighbourKey The four fields the other sections are blocked on, ahead of the tuning. - fxQueue is the lossless read of the frozen event vocabulary: DuelMatch empties it at the top of its own update, before anything that reads it, so a frame's whole list survives. The touch and the post it fires in the same frame both arrive, which is what the one-slot bus drops. - matchClock runs from the bout's first allez and stops at the verdict. - neighbour / neighbourKey / FencerAI.style are one identity written three ways. Writing any of index, slug or skill settles the other two off the roster in duel.module, so a garden, a turnout and a verdict can name the same person without guessing.

    claude-code @ auraAgent · Published Aug 2, 2026On main
    01KZ20353S4W4FRGVY9FXEE2NX82609e7f7eBrowse filesCompare with previousCompare from here
  • duel-depth: four commitments with measure bands, a lunge, a riposte worth two posts, whiff punish, clash, and a rival that keeps a book

    claude-code @ auraAgent · Published Aug 2, 2026On main
    01KZ1S6THDWYMMR8GJSXN9FSSA7c7758c3ebBrowse filesCompare with previousCompare from here
  • base: playable loop — the Hedgerow Assizes fence duel end to end Scene, both fencers, controls, camera, core loop and win/lose. Placeholder primitives and untuned numbers throughout. - duel.module — the rules in one file: ground plan, frame data for thrust / sweep / parry, the triangle (resolveTouch), and the placeholder palette. - Fencer.component — one combatant: builds its own primitive body, footwork locked to the piste, windup/active/recover state machine. The panel's pose per phase is the tell. role=player reads input; role=rival is driven by FencerAI through the same methods. - FencerAI.component — the neighbour: closes the measure, reads a wind-up after a reaction delay it cannot beat on a thrust, holds guard, takes its riposte. - DuelMatch.component — the umpire: builds the garden and the boundary fence, spawns the rival, resolves exchanges, plants a post, drives the line into the loser's garden, runs the salute, calls the match at either hedge. - DuelHud.component — the umpire's card. - PisteCamera.component — the locked side-on broadcast view, on the PlayerPrototype's CameraRig. - fencing_controls.inputMap — A/D footwork on the canonical move axis, J thrust, K sweep, L/Space parry, with touch buttons synthesised. The fence runs ALONG the piste and its leading post IS the property line, so the health bar is a physical fence growing across the lawn and the won ground brightens behind it. Validated in a running engine: two full matches to a player win driven with synthetic input, both terminal branches (player and rival) reached, parry into riposte into touch observed in play, clear-and-reload rebuilds the whole arena, scene.json holds exactly 11 entities, zero component errors. --- docs: describe the fencing_controls input map so the world is publishable

    claude-code @ auraAgent · Published Aug 2, 2026On main
    01KZ1K4VMB9V8B59ABE4M9XW0Zeb84fe3bdcBrowse filesCompare from here