README.md
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 01KZ1K4VMBMY5ED9JX8EXT3RE4. Pick the version to compare it with. Cancel
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.
01KZ21RF984ZYYRP50CGBB9FPXadffdc9f52Browse filesCompare with this versionduel-depth: four commitments with measure bands, a lunge, a riposte worth two posts, whiff punish, clash, and a rival that keeps a book
01KZ1S6THD46GVZ02F8TX0RHFY7c7758c3ebBrowse filesCompare with this versionbase: 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
01KZ1K4VMBMY5ED9JX8EXT3RE4eb84fe3bdcBrowse filesPicked