Filter
Exclude
Time range
-
Near
And a Contract (truncated here): # GAME CONTRACT — "Medieval Survivors", a 3D medieval survival RTS Stack: TypeScript strict Three.js 0.170 Vite. Zero external assets: every mesh is procedural low-poly built from primitives in src/meshes/common.ts. Single-player, runs in browser. Pitch: build a village economy (wood/stone/gold/iron wheat->flour->bread food chain, hunting, berries), raise an army, survive 10 escalating night raids. Lose if the Town Hall falls. ## Conventions - Y up. World is WORLD.size x WORLD.size units centered at origin (x,z in [-128, 128]). Every entity sits at y = ctx.terrain.getHeight(x, z). - Grid: WORLD.gridCells=128 cells/side, cellSize=2. Cell (cx,cz) spans world x in [cx*2-128, cx*2-126]. Cell center x = cx*2 - 128 1. - Buildings occupy size x size cells, (cx,cz) = MIN corner. Building center world x = (cx size/2)*2 - 128, same formula for z. Footprint world width = size*2. - Humans are ~1.8 units tall. Units face movement direction: group.rotation.y = Math.atan2(dx, dz) (rotation 0 faces Z). - Interaction ranges (dist measured in XZ plane): gather node when dist <= node.radius 1.5; build/repair when dist <= building.size 1.8 (size in cells = half footprint in world units); melee hit when dist <= attackRange target.radius. - update(ctx, dt): dt is game-seconds, pre-scaled by speed, 0 while paused. Called every frame. - Cross-module references use the interfaces in src/types.ts. Concrete class imports allowed ONLY where this contract names them. - Resources are floats internally; UI displays Math.floor. ## File-by-file contract ### src/core/eventBus.ts export class EventBus implements IEventBus — Map of event name to Set of callbacks. ### src/core/input.ts export class InputManager implements IInput. constructor(dom: HTMLElement). Tracks held keys lowercase. Left mouse: < 6px movement = click (onClick); >= 6px = drag-select — while dragging, position/size the #select-box div (display block, left/top/width/height px), on mouseup hide it and fire onDragSelect with NDC min/max corners. Right click fires onRightClick and suppresses contextmenu. pointer NDC kept current on mousemove. onKeyDown fires with e.key.toLowerCase() (e.g. 'escape', ' ', 'f1'). ### src/core/cameraController.ts export class CameraController implements ICameraController. constructor(camera: THREE.PerspectiveCamera, dom: HTMLElement, keys: Set<string>). Classic RTS rig orbiting a ground target point: yaw rotates with q/e, zoom distance 25..110 via wheel, pitch ~0.9 rad. Pan with wasd/arrow keys relative to current yaw, plus edge-of-screen pan (within 14px of window edge) — pan speed proportional to zoom. panTo(x,z) recenters. Clamp target to /-(WORLD.size/2 - 10). update(dt) receives REAL unscaled dt (camera works while paused). Camera position = target spherical offset; camera.lookAt(target). ### src/core/sound.ts export class SoundManager implements ISound. Pure WebAudio synthesis (oscillators, noise buffers, gain envelopes) — distinct character per SoundName: chop=woody knock, mine=stone clink, build=hammer tap, place=thud, train=short fanfare blip, attack=swish, arrow=whoosh, death=low groan, horn=long low brass swell (wave warning), coin=bright ding, error=dull buzz, click=tick, victory=rising fanfare, defeat=falling minor phrase, upgrade=anvil ring, harvest=rustle. AudioContext created/resumed lazily on first pointerdown/keydown (addEventListener on window). 80ms per-name throttle. Master gain 0.18. toggleMute() returns new muted state. ### src/world/noise.ts export function makeNoise2D(seed: number): (x: number, y: number) => number — seeded value noise, smooth interpolation, output [-1,1]. export function fbm(n: (x: number, y: number) => number, x: number, y: number, octaves?: number, lacunarity?: number, gain?: number): number — defaults 4/2/0.5, output approx [-1,1]. ### src/world/terrain.ts export class Terrain implements ITerrain. constructor(seed: number). A continuous private heightAt(x,z) built from fbm (scale so hills roll gently, height 0..WORLD.maxTerrainHeight); flatten toward height 3.2 within WORLD.startClearRadius*1.4 of origin (fully flat inside startClearRadius); carve one lake in a quadrant far from center by smoothly depressing heights below WORLD.waterLevel. mesh = PlaneGeometry(WORLD.size, WORLD.size, 160, 160) rotated flat, vertex y from heightAt, VERTEX COLORS: sandy near water level, grass greens with noise-driven dirt patches, gray rock on steep slopes, lighter dry grass on high ground. material MeshLambertMaterial vertexColors. receiveShadow true, castShadow false. getHeight(x,z) = heightAt (same function = mesh matches exactly). isWater(x,z) = heightAt < WORLD.waterLevel. ### src/world/water.ts export class Water. constructor(). mesh: PlaneGeometry(WORLD.size, WORLD.size, 32, 32) at y = WORLD.waterLevel - 0.05, MeshLambertMaterial color PALETTE.water transparent opacity 0.78. update(dt): gently undulate a few vertices / bob y by -0.04 for a living-water feel. ### src/world/grid.ts export class Grid implements IGrid. constructor(terrain: ITerrain). Precompute per-cell terrainOk: cell center not water AND |slope| ok (max height difference between center and samples -cellSize < 2.2). occupancy = Int32Array(cells*cells) of entity id or 0. isWalkable = inBounds && terrainOk && occupancy 0. canPlace(cx,cz,size) = every footprint cell inBounds && terrainOk && unoccupied. occupy/free write the footprint. blockerAt returns occupancy value. ### src/world/dayNight.ts export class DayNightCycle implements IDayNight. constructor(scene: THREE.Scene). Owns: HemisphereLight ambient, sun DirectionalLight (castShadow, 2048 map, ortho frustum ~ -110, bias tuned ~-0.0005), dim bluish moon DirectionalLight (no shadow), scene.background THREE.Color and scene.fog (new THREE.Fog) lerped through dawn/noon/dusk/night palettes, a Points starfield only visible at night (transparent material, opacity fades), small glowing sun & moon sphere meshes orbiting the sky far out. day starts at 1, time starts 0.25 (morning). update(ctx, dt): time = dt/TIME.dayLength; on wrap past 1: time -= 1, day , emit bus dayChanged; when crossing (1 - TIME.nightFraction) emit nightFell. isNight = time > 1 - TIME.nightFraction. lightLevel: smooth 1.0 at midday -> 0.12 deep night. Sun shadow camera recentered on ctx.cameraCtrl.target each frame (snap to whole units to avoid shimmer). ### src/world/worldGen.ts export function generateWorld(ctx: IGameCtx, seed: number): void. Uses rng(seed) from common.ts. MAY import concrete classes ResourceNode (src/entities/resourceNode) and Animal (src/entities/animal). Spawns via ctx.addNode / ctx.addAnimal (game handles grid occupancy scene add). Placement guards: skip water cells, skip dist<WORLD.startClearRadius from origin (except berry/sheep noted), skip already-occupied cells. Content: WORLD.treeCount trees in organic clusters of 8-20 (pineRatio of them pine, pines favor higher ground); WORLD.rockCount rocks in small outcrop groups; goldMines ironDeposits scattered mid-distance (45-110 from center); berryClusters of bushesPerBerryCluster bushes at 30-55 from center; deerHerds of deerPerHerd boars roaming far; sheep near start (12-22 from center); WORLD.propCount decorative props (flowers/bushes/mushrooms/logs — NOT entities: build prop groups, set position terrain height, add directly to ctx.scene, no occupancy). ### src/meshes/props.ts All return THREE.Group, statically baked via bakeGroup for single draw call. exports: makeTree(variant: number), makePine(variant: number), makeRock(variant: number), makeGoldMine(), makeIronDeposit(), makeBerryBush(), makeCarcass(kind: AnimalKind), makeCropField(stage: number, size: number), makeProp(variant: number), makeStump(). Trees 4-6u tall, trunk 2-3 foliage blobs, per-variant randomness via rng(variant). Pine = stacked cones. Goldmine: rock mound gold nuggets dark entrance timber supports (radius ~2.2 visual). Iron deposit: gray rock metallic chunks. Berry bush: green blob berry dots. Carcass: lying animal form, bone accents. makeCropField: rows of wheat stalks on dirt — stage 0 bare tilled rows, 1 green sprouts, 2 waist-high green, 3 tall golden wheat; field spans size x size world units centered on origin of the group. makeProp variants: flower patch, shrub, mushrooms, fallen log. ### src/meshes/buildings.ts export function makeBuildingMesh(kind: BuildingKind): THREE.Group — DETAILED and distinctive, 15-40 primitives each, scaled to footprint (def size*2 world units): townhall = grand two-story timber-framed hall, stone base, banners, torch posts; house = cottage w/ thatched roof chimney; farm = low fence enclosing a dirt field tiny tool shed, and group.userData.cropAnchor = a THREE.Object3D placed at the field center (crop visuals get attached there by the Building entity; field clear span ~4.2u); mill = stone tower windmill with a 4-blade rotor — rotor NOT baked, group.userData.animate = (t: number) => rotor rotates; bakery = stone oven dome chimney awning; granary = raised storehouse on stilts sacks; lumbercamp = log piles saw bench; quarry = stone piles cart; barracks = squat stone fort banner weapon rack; archery = open range with target butts fence; stable = barn paddock fence; blacksmith = open forge: anvil, orange glowing forge (MeshLambertMaterial w/ emissive orange; userData.animate pulses emissiveIntensity); wall = 2u-wide stone wall segment ~2.6u tall w/ crenellation; tower = slim stone watchtower ~7u tall, crenellated platform; well = stone ring little roof bucket; market = colorful awning stalls crates barrels. Static parts composed then baked with bakeGroup; animated subparts (rotor, forge glow) added to the returned group AFTER baking so they stay live. Every group origin = footprint center at ground level. export function makeConstructionSite(size: number): THREE.Group — wooden scaffold poles planks roughly covering a size*2 footprint. Animation convention: group.userData.animate?: (t: number) => void — game calls it each frame with ctx.time for every BUILT building. ### src/meshes/units.ts export function makeHumanoid(kind: UnitKind | EnemyKind): HumanoidRig. Blocky humanoid ~1.8u: head, torso, 2 arms, 2 legs — arms/legs are pivot Groups anchored at shoulder/hip so rotation.x swings naturally. Distinct outfits: villager tunic straw hat; swordsman iron helm round shield on left arm; archer green hood back quiver; knight full plate plume, bulkier; raider dark furs warpaint; brute oversized shoulder spikes; shaman robe skull mask; warlord large horned helm red cape. kind 'wolf' returns a gray quadruped rig instead (same HumanoidRig interface; setTool/setCarry are no-ops for it). setWalkPhase(p): legs/arms swing ~sin(p); setIdle(): limbs ease to rest; setAttackPhase(q in 0..1): right (tool) arm winds up and swings through; setTool attaches the named tool mesh to the right hand (axe pick hammer sword bow scythe club staff; null removes); setCarry shows a sack/log bundle held in front (null removes). export function makeAnimal(kind: AnimalKind): AnimalRig — deer slender antlers, boar stocky tusks, sheep wool blob; 4 leg pivots; setWalkPhase trots, setIdle rests. ### src/meshes/fx.ts export function makeSelectionRing(radius: number, color?: number): THREE.Mesh — RingGeometry flat on ground (rotation.x = -PI/2), y 0.06, depthWrite false, default green 0x66ff66. export function makeHealthBar(width?: number): IHealthBar — THREE.Sprite using a small canvas texture; set(frac) repaints green->yellow->red fill; setVisible toggles. export function makeArrow(): THREE.Group — fletched arrow ~0.9u pointing Z. export class Particles implements IParticles — pool of ~300 small colored boxes; burst(pos,color,count=10,speed=6) launches with random velocity gravity, shrink/fade, auto-recycle; update(dt). Constructor takes scene: THREE.Scene and adds itself. export function makeRallyFlag(): THREE.Group — small pennant on a pole. export function makeGhostMaterials(): { valid: THREE.Material; invalid: THREE.Material } — transparent green / red (opacity ~0.55, depthWrite false). ### src/entities/entity.ts export abstract class Entity implements IEntity. Static id counter. constructor builds group; subclass attaches meshes. healthBar (makeHealthBar) floated above (per-entity height offset), visible only when hp < maxHp or selected. setSelected adds/removes selection ring (makeSelectionRing(radius 0.4)) and toggles bar. takeDamage: amount * ctx.effectiveArmorMult(faction) when faction player; clamps, sets dead at <= 0; spark fxBurst. get pos() returns group.position. Helpers: dist2D(p: THREE.Vector3), faceToward(p). ### src/entities/resourceNode.ts export class ResourceNode extends Entity implements IResourceNode. constructor(ctx: IGameCtx, nodeKind: NodeKind, x: number, z: number). Mesh from props factories (variant = id). radius: tree/pine 0.8, rock 1.6, goldmine 2.2, irondeposit 1.8, berrybush 1.2, carcass 1.0. remaining = NODES[kind].amount (caller may override for carcass). harvest(amount: number): number — returns min(remaining, amount), decrements, dead when 0. update: carcass decays CARCASS_DECAY*dt. Not attackable (takeDamage no-op), selectable true (info). hp/maxHp mirror remaining/initial for the panel. ### src/entities/building.ts export class Building extends Entity implements IBuilding. constructor(ctx: IGameCtx, kind: BuildingKind, cx: number, cz: number, opts?: { built?: boolean }). Position at footprint-center formula, y = terrain height (use height at center). Visual: built ? full mesh : constructionSite building mesh with scale.y = 0.08 0.92*buildProgress. Construction: each frame count player villagers in state 'building' whose buildTarget is this and within range -> progress = (count ? Math.sqrt(count) : 0) * dt / def.buildTime; at 1: built=true, remove scaffold, restore scale, hp=maxHp, emit buildingComplete bus message (name " completed"), sound build. Repair: same builders on a BUILT damaged building heal hp at maxHp / (buildTime*2) per builder-sqrt rate. Farm: cropAnchor children swapped to makeCropField(stage, 4.2) when stage changes; growth: if workerId set -> validate via ctx.unitById (alive, state farming/toFarm targeting this) else clear workerId; while a live farmer is adjacent in state farming: cropProgress = dt; cropStage = min(3, floor(cropProgress / (FARMING.growTime/3))). Reset progress/stage to 0 after a harvest is taken (farmer FSM calls a public takeHarvest(): boolean — true if stage 3, resets to 0). Training: if built && trainQueue.length: head.remaining -= dt, at 0 spawn new Unit at pathfinder.nearestFreeAround(rally ?? front-of-building), emit unitTrained, sound train (import Unit from ./unit). addToQueue: queue cap 5, requires state.pop UNITS[kind].pop <= popCap AND payCost, push {kind, remaining: trainTime, total: trainTime}. Tower: if def.attack && built: attackTimer -= dt, find ctx.findNearestEnemyOf('player', pos, range), spawnProjectile from pos (0, 6.2, 0), damage = ctx.effectiveDamage(def.attack.damage, 'player'), reset cooldown. Well: heal player units within radius by rate*dt (cap at maxHp). Townhall/walls: nothing special beyond above. Death: handled by game removal pass. ### src/entities/unit.ts export class Unit extends Entity implements IUnit. constructor(ctx: IGameCtx, kind: UnitKind, x: number, z: number). def = UNITS[kind]; radius 0.55 (knight 0.8). rig = makeHumanoid(kind); setTool(def.tool). Movement: path: THREE.Vector3[] from ctx.pathfinder; advance at def.speed, pop waypoint < 0.35, y = terrain.getHeight, face heading, rig.setWalkPhase(accumulated distance * 2.2); path end -> arrival logic per state. Orders (each clears previous, computes path; unreachable -> stay idle): orderMove -> moving; orderGather(node) -> toNode (walk to pathfinder.nearestFreeAround(node.pos)); orderBuild(b) -> toBuild; orderAttack(t) -> toAttack; orderFarm(farm) -> toFarm (also farm.workerId = this.id). FSM: toNode: in gather range -> gathering (face node, tool: wood axe, stone/gold/iron pick, food-from-bush/carcass axe; swing loop via setAttackPhase; sound chop/mine throttled): carry.amount = NODES[node.nodeKind].gatherRate * ctx.gatherRateMult() * dt via node.harvest; full at GATHER.carryCapacity ctx.carryBonus() OR node dead -> returning: walk to ctx.findDropOff(pos, type) (none -> idle); arrive -> ctx.addResource(type, amount, true), sound harvest, carry = null -> back toNode (node dead -> nearest same-nodeKind node within 24, else idle). toBuild/building: in range -> building w/ hammer swings (Building counts builders); building.built && hp full -> idle. toFarm/farming: stand near cropAnchor w/ scythe; farm.cropStage 3 -> 3s harvest timer -> farm.takeHarvest() -> carry {wheat, FARMING.wheatYield} -> returning to wheat dropOff -> toFarm again. Lost farm (destroyed/reassigned) -> idle. toAttack/attacking: chase target (repath if target moved > 3 from path end, throttle 0.8s), in range (def.range target.radius) -> swing on attackCooldown: melee target.takeDamage(ctx, ctx.effectiveDamage(def.damage, 'player'), this); archer: ctx.spawnProjectile(pos (0,1.4,0), target, dmg, this), sound arrow. Target dead -> villager: nearest carcass node within 8 -> orderGather, else idle; military: re-acquire ctx.findNearestEnemyOf('player', pos, aggroRange) else idle. idle: military scan every 0.5s aggro; villager scan every 1s for carcass within 8 (auto-harvest hunts). Villager hit while in a non-combat state -> flee: orderMove toward townhall. Carry visual rig.setCarry. setWalkPhase only while moving, setIdle when stationary. ### src/entities/enemy.ts export class EnemyUnit extends Entity implements IEnemy. constructor(ctx: IGameCtx, kind: EnemyKind, x: number, z: number). faction enemy. rig makeHumanoid(kind); tools: raider club, brute club, shaman staff, warlord sword. Retarget think every 0.4s (stagger by id): target = nearest player unit OR building within aggroRange, else townhall, else nearest player building, else nearest player unit anywhere; path via pathfinder.nearestFreeAround(target.pos); findPath null -> pick nearest player building by straight-line (walls count) and path adjacent to it. Attack in range target.radius on cooldown: melee swing (setAttackPhase) or shaman: ctx.spawnProjectile (range 13). Wolf: targets nearest player unit OR animal within aggroRange (else wanders); when ctx.dayNight.isNight false -> dies quietly (no bounty: set a public diedQuietly flag the game checks). Movement identical to Unit (shared style, but implement locally). All damage to player passes through their takeDamage (armor applied there). ### src/entities/animal.ts export class Animal extends Entity implements IAnimal. constructor(ctx: IGameCtx, kind: AnimalKind, x: number, z: number). faction wild. rig makeAnimal(kind). Wander: every 2-5s pick random walkable point within 12 and steer directly (no A*; if next cell unwalkable pick new target). Deer/sheep: on takeDamage flee 8u directly away from attacker, then graze 2s (deer is catchable because of the pauses). Boar: on damage, attack the attacker (melee ANIMALS.boar.damage, cooldown 1.3s) until it dies or is 25u away. foodYield -> game spawns carcass on death. ### src/systems/pathfinding.ts export class Pathfinder implements IPathfinder. constructor(grid: IGrid, terrain: ITerrain). A* 8-directional (diagonal blocked if either orthogonal neighbor blocked), octile heuristic, iteration cap 20000. Start/goal snapped to nearest walkable cell (spiral search). Smooth result by line-of-sight waypoint skipping (grid walk between cell centers). Returns world-space Vector3 waypoints with terrain heights, or null. nearestFreeAround(target, radius=6 cells): spiral outward, first walkable cell center as Vector3 (null if none). ### src/systems/combat.ts export class CombatSystem. constructor(scene: THREE.Scene). spawn(from: THREE.Vector3, target: IEntity, damage: number, attacker: IEntity, ctx: IGameCtx): void — arrow mesh (makeArrow), flight time dist/22, lerp from->target current pos with parabolic arc (peak ~dist*0.15), orient along velocity; on arrival: target alive -> target.takeDamage(ctx, damage, attacker); recycle. update(ctx, dt) advances all projectiles. (ctx.spawnProjectile delegates here.) ### src/systems/waves.ts export class WaveSystem. constructor(). update(ctx, dt). Schedule from WAVES (then endlessWave(n) forever after). Nightfall moment = day fraction (1 - TIME.nightFraction). secondsUntil next wave = ((waveDay - day) * 1 (nightStart - time)) * TIME.dayLength (only when positive). Emit waveIncoming ONCE per wave at <= WAVE_WARNING_SECONDS remaining ( horn sound bus message warning). At nightfall of the wave day: spawn composition split across spec.sides distinct random map edges — spawn points = walkable cells within 3 cells of the border, clustered per side; create EnemyUnit per entry (import EnemyUnit from ../entities/enemy), track their ids; emit waveStarted message. While active: all dead -> ctx.state.wave = n, emit waveEnded success message. Also owns night wolves: on nightFell with day >= WOLVES.firstDay, chance WOLVES.nightlyChance -> pack of packMin..packMax wolves at one random edge (not tracked as wave). And wildlife respawn: on dayChanged spawn WILDLIFE_RESPAWN.deerPerDay deer at random edges (import Animal). getNextWaveInfo(ctx): { wave: number; secondsUntil: number } | null. ...

1
225
Crop Progress - June 15th: 🌽 Corn 68% rated G/E, slightly below last year's 72%. Iowa leading at 79% G/E with favorable early season conditions. 🌱 Soybeans 66% rated G/E, matching last year. Iowa 77%, Minnesota 80%. 🌾 Winter Wheat Only 27% rated G/E vs 52% last year. Nebraska at just 4%. Harvest 25% complete, well ahead of the 13% average. Oklahoma already 73% harvested. lakefrontfutures.com/briefin… #cropprogress #usda #nass
1
111
Mid-Day Markets - June 15, 2026 This Morning's Top Story The macro landscape has shifted dramatically into a full risk-off liquidation cycle today, June 15, 2026, as geopolitical stress completely deflates across global desks. Rumors of a structured resolution in the Middle East gulf have solidified into a tangible peace agreement framework. While official texts remain tightly held, capital markets have waste no time pricing in the immediate de-escalation: crude oil has broken sharply below its previous spring baselines, and commercial shipping channels are preparing to resume normal transit through critical global chokepoints. This aggressive removal of the global inflation premium is clashing directly with a highly productive domestic weather setup across the U.S. Corn Belt. Last week’s widespread regional rain systems have given way to dry, warming early-summer conditions that favor rapid crop development. With speculative fund managers systematically cutting back long positions ahead of this afternoon's weekly USDA Crop Progress report, front-month agricultural paper is facing an intense technical wash out, dragging the commodity complex down toward major psychological support baselines. Market News (Performance Review & Rebalancing) Early-session fund rebalancing is fast-tracking a broad macro retreat, forcing both row crops and livestock to recalibrate to shifting supply baselines. Crude Oil Plummets on Peace News: WTI crude futures are leading the macro decline today, crashing down to trade near $84.80 per barrel. The sudden collapse of regional hostilities and expectations of normalizing ocean traffic have completely vaporized the geopolitical war premium, dragging down broader energy-linked agricultural margins—most notably across the domestic ethanol and biofuel complexes. Grains Enter New Low Territories: The row-crop complex is trading with an incredibly heavy tone as near-perfect growing conditions erase summer weather premiums. July Corn has broken critical technical support, sliding down to $4.08 per bushel at mid-session despite a relatively neutral June WASDE print that left baseline demand projections unchanged. July Soybeans have followed the downward slide, trading soft at $11.08 as improved midwestern moisture models overshadow minor storm and wind damage in localized pockets of Iowa. Livestock Hits a Wall: The meat complex has run into a severe technical barrier at mid-session, completely stalling out early-morning momentum to trade lower. August Live Cattle are under pressure near $239.50, while the CME Feeder Index has pulled back to $368.01. The corrective action follows a highly restricted weekly slaughter of just 524,000 head one of the lowest non-holiday volumes seen in a long time proving packers are actively cutting operations to revive retail box beef prices. At the same time, analytical consensus indicates that while the Texas screwworm crisis slows herd rebuilding, it will not derail the underlying high-weight structure of current feedyard inventories. Key Levels (The Map) Grains Corn (/ZC): Support 400 - Resistance 420 - Status: Sharp Decline; July contract breaking below previous support to $4.08 as the combination of lower crude oil and cooperative weather isolates bulls. Soybeans (/ZS): Support 1100 - Resistance 1135 - Status: Soft; July beans falling to $11.08, testing major psychological support as regional moisture runs remain highly favorable. Wheat (/ZW): Support 570 - Resistance 600 - Status: Steady to Lower; July Chicago wheat holding at $5.84, attempting to establish a baseline even as winter harvest progress tops 10% in core areas. Livestock Live Cattle (/LE): Support 238.00 - Resistance 242.00 - Status: Technical Reversal; August contracts losing grip on early gains to trade at $239.50 as restricted packer slaughter volumes limit near-term cash bids. Lean Hogs (/HE): Support 93.00 - Resistance 97.00 - Status: Firming; Lean hog equivalents show solid cash premium jumps, keeping front-month contracts supported near 95.80 cents. Energy & Metals Crude Oil (/CL): Support 82.00 - Resistance 86.00 - Status: Heavy Liquidation; WTI crude sliding to $84.88 as the return of open gulf shipping structures dries up speculative energy weights. Gold (/GC): Support 4350 - Resistance 4420 - Status: Quietly Lower; Feeling minor pressure as the sudden drop in geopolitical risks reduces systemic safe-haven demand. Chart of the Day: July Corn (/CN26) Technical Setup Action: Enforce Short Hedges / Defer Unpriced Old-Crop Sales. Why: July Corn has breached its structural defensive boundary, tumbling to a contract low of $4.08. Seasonality trends typically peak around mid-June, but the combination of a massive 183 bu/acre trendline yield baseline and the complete collapse of energy-linked inflation has triggered heavy institutional long-liquidation. Tactical Note: The contract is rapidly descending toward the critical $4.00 psychological shelf. Until automated CTA models signal that net-short positioning has reached complete exhaustion, any temporary intraday bounces should be viewed as resistance retests rather than structural trend shifts. Market Pulse & Strategy The smart money is moving with aggressive seasonal efficiency today. Automated asset managers are aggressively dumping long commodity exposure to adjust for the structural shift in global crude transport. With row-crop planting fully finalized across the Midwest and early-season emergence running at a clean pace, systematic capital is abandoning risk premiums entirely. Commercial buyers are retreating to the sidelines, content to let the market bleed lower until a genuine high-summer heat or dryness threat emerges on the weather maps. Pro Takeaway: The entire landscape has reset. The fact that packers dropped slaughter volumes down to 524,000 head proves they have zero intention of chasing high-priced live cattle while wholesale margins are tight. Do not misinterpret the ongoing screwworm headlines as an immediate reason to abandon your protection—manage your livestock hedges with extreme care because near-term packer demand is highly restricted. Mode The bears are completely driving the bus in the grain room today. Seeing July Corn crack down to $4.08 tells you everything you need to know about what happens when perfect early-season weather collides with a massive drop in crude oil. The bulls have run out of arguments, and everyone is bracing for a highly uniform initial condition score on the afternoon crop progress tape. Over in the cattle complex, the screen ran straight into a wall today. Packers are playing defense by letting the kill numbers drop to non-holiday lows, keeping a firm lid on what feedlots can secure in the country. Keep your defensive strategy completely intact. Notes The Slaughter Squeeze: The dramatic reduction in weekly slaughter volume down to 524,000 head 36,000 head below last year's pace is a major warning shot for feedlots. Packers are successfully using reduced operations to artificially support box beef prices without having to pay up for physical cash cattle. With feedlot inventories still carrying high average weights, this operational slowdown transfers all intermediate holding pressure directly back onto the producer. The Rest of the Week Monday, June 15 (4:00 PM Eastern): USDA Weekly Crop Progress report. This print will deliver highly scrutinized updates on early-season row-crop conditions across the Corn Belt. Wednesday, June 17: Regular weekly EIA crude and ethanol inventory data. Watch closely to see how hard the crude oil price drop hits domestic ethanol blending volumes. Trader Strategy: Hold aggressive trailing stops on all remaining old-crop grain layers, recognizing that a breach of $4.00 corn could quickly fast-track automated fund selling. In livestock, treat any minor technical recovery as a strategic opportunity to reinforce baseline hedges, keeping your downside safety nets closely tied to the reality of reduced packer slaughter schedules. #CornFutures #CrudeOilCollapse #LiveCattle #CropProgress Futures Trading Disclaimer: Merchant Creek, LLC, and its employees are not financial advisors. Futures trading involves significant risk. Information provided is for educational purposes only.
141
💥 BLAST-ing ahead! 💥 This Blast white bean field is progressing well in a strip-till system, showing strong early growth and excellent stand establishment. Strip-till continues to deliver the benefits of improved soil structure, moisture conservation, and residue management for edible bean production. Here's to keeping the momentum going through the growing season! 🌱🚜 #WhiteBeans #Blast #GentecSeeds #StripTill #FieldUpdate #CropProgress #OntarioAg #HensallCoop @hdcagronomy
2
6
487
Nebraska Cash Grain Markets Friday, June 12, 2026 Grain markets across Nebraska faced extended downward momentum this week as favorable row-crop weather forecasts took significant risk premium out of the markets. A steady stream of non-threatening midsummer weather outlooks across the wider Corn Belt triggered a continuation of heavy fund liquidation, leaving local cash bids highly vulnerable as buyers defensive mode intensified through Friday's final bell. Beyond row crop progress, extreme seasonal weather patterns are causing a deep fracture between livestock and small grain outlooks across the state. A catastrophic combination of multi-year drought and late-spring weather has decimated the regional winter wheat crop, with the USDA rating a staggering 84% of Nebraska's wheat in poor to very poor condition. This intense dryness has similarly withered pastures leaving 79% of the state's range and pasture land in poor to very poor shape and forcing a wave of early cattle liquidations across western counties as ranchers run out of viable forage heading into June. Nebraska Cash Bids & Weekly Changes (Calculated since Monday Open) Trend: $3.68 – $4.16 (#2 Yellow Corn) Down $0.05 Trend: $10.05 – $10.97 (#1 Yellow Soybeans) Down $0.13 Trend: $5.40 – $6.03 (HRW Wheat) Down $0.15 Trend: $2.76 – $3.26 (Milo Sorghum) Down $0.05 Local Elevator Breakdown Regional levels compared to Monday Open: East / Southeast (Lincoln & Beatrice) Trend: $3.76 – $4.03 (Corn) Down $0.05 Trend: $10.77 – $10.97 (Soybeans) Down $0.13 Northeast (Battle Creek & Newman Grove) Trend: $3.84 – $3.95 (Corn) Down $0.05 Trend: $10.75 – $10.94 (Soybeans) Down $0.13 West / Northwest (Lodgepole & Sidney) Trend: $3.68 – $3.98 (Corn) Down $0.05 Trend: $10.05 – $10.42 (Soybeans) Down $0.13 Grain Futures Corn (ZC) (July '26) – Open: $4.18 0/4, Close: $4.12 6/4, -$0.04 3/4, Trend: Bearish (Contract Lows Checked), Support: $4.10, Resistance: $4.22 Soybeans (ZS) (July '26) – Open: $11.36 4/4, Close: $11.23 2/4, -$0.11 2/4, Trend: Weakening (Losing Streak Extended), Support: $11.10, Resistance: $11.40 Wheat (ZW) (July '26) – Open: $6.01 4/4, Close: $5.85 4/4, -$0.15 6/4, Trend: Bearish (Double-Digit Losses), Support: $5.80, Resistance: $5.98 In the livestock markets, June Live Cattle edged up $0.25 to settle at $251.47 as firm cash cattle markets and delivery-month re-convergence squeezed front-month shorts. Feeder Cattle futures softer into the weekend, sliding from an early high of $264.00 down to close at $261.00 on technical friction. Meanwhile, Lean Hogs caught a mixed tone, pulling back late in the week to finish at $96.62 on long liquidations. Behind the Market Movement The primary driver behind this week's heavy down-trending price action is the combination of ideal planting completion and comfortable midsummer outlooks. The market completely pivoted its focus over the horizon, digesting weather forecasts reaching out into early July that show zero significant weather perils for the U.S. row crop. This complete removal of the early summer risk premium accelerated automated fund liquidation in Chicago. Locally, old crop basis remains defensive and completely unchanged, as elevators remain very well-covered by the ongoing liquidation of the record 2025 harvest volume. Tip for Sellers With old crop cash bins facing significant heat, New Crop carry protection remains your strongest tool. December corn contracts are attempting to carve out technical support near the $4.45 region, holding onto an attractive premium compared to nearby cash bleed. If physical space is needed ahead of small grain harvest, take advantage of localized afternoon processor basis adjustments rather than expecting a flat-price recovery. Weekly Market Outlook Looking ahead to next week, the trade will focus heavily on initial crop condition percentage benchmarks. With planting practically completed across the Western Corn Belt, the focus completely shifts to early stands. Attention should remain glued to the $4.10 support on July corn and the $11.10 zone on July soybeans; a break below these levels will likely provoke elevators to aggressively widen out basis. Any shift toward hot, dry trends in the extended forecasts will be mandatory to spark short-covering. #AgMarket #CropProgress #NebAg
123
Soybean Futures Weekly Outlook - June 8-12, 2026 Top News Story: Friendly Rains and Static WASDE Keep Bears in Control The downward momentum that gripped the soybean complex last week carried directly into mid-June, cementing bearish control over the board. While the market found a temporary, short-covering breath ahead of Thursday’s World Agricultural Supply and Demand Estimates (WASDE) report, the USDA ultimately delivered a non-event that offered zero friendly surprises. Domestic balance sheets for both old and new crop ending stocks were left completely unchanged on the bottom line. With the regulatory agency punting any major production adjustments down the road, traders quickly turned their focus right back to highly favorable Corn Belt weather models. Continued timely rainfall across central growing regions has successfully minimized early-season drought anxiety, forcing July futures to leak lower into Friday's close and hover uncomfortably near four-month lows. Market Notes The domestic production engine is running on all cylinders with very few operational speed bumps. Monday’s USDA Crop Progress report showed national soybean planting advancing to 92% complete, remaining ahead of the 88% five-year average. Emergence rocketed to 79%, pacing well clear of the long-term historical trend line. Initial crop anxieties have eased significantly, though the condition numbers did show minor adjustments. The USDA dialed national soybean ratings down one single point to 65% good-to-excellent. This nominal trim reflects localized ponding and oversaturated pockets in parts of the Eastern Corn Belt, contrasting sharply with the pristine, timely moisture hitting the western states. Locally, Nebraska fields are entirely planted and emergence is largely finalized. The topsoil moisture deficits that threatened early root development in May have been temporarily stabilized by recent precipitation runs. Barring a major high-pressure ridge forming over the Midwest late this month, supply-side logistics point to an incredibly healthy start to the summer canopy. On the cash front, domestic processor demand remains an active safety net, though country elevator basis wide across the river has felt the drag of the broader board decline. Watchlist Performance Speculative liquidation paused briefly mid-week but resumed ahead of the weekend as macro energy markers softened and technical floor support layers buckled. Performance since Monday's open: Contract Last Day Change Since Monday Open July 2026 (ZSN26)$11.13 4/0-$0.04 4/0-$0.16 0/0 August 2026 (ZSQ26)$11.18 6/0-$0.03 6/0-$0.13 6/0 September 2026 (ZSU26)$11.12 2/0-$0.02 4/0-$0.08 6/0 November 2026 (ZSX26)$11.32 0/0-$0.02 2/0 $0.14 4/0 Trend: The performance metrics reveal a distinct divergence between old-crop and new-crop dynamics. Nearby July futures bled another 16 cents this week as prompt physical demand remains stagnant. Conversely, the new-crop November contract managed to build back 14 cents of risk premium from Monday's open, proving the trade is beginning to demand a price cushion for the upcoming pod-setting months. Cash Trade: The DTN National Soybean Index finished the week consolidating near $10.62, with national average basis hovering around 53 cents under the July contract. Technical Note: Spot July futures spent the week scraping along the lower bounds of its recent collapse. A minor short-covering bounce stalled out mid-week, leaving the $11.00 psychological number as the primary line of defense. Key Market Factors Supply Constraints: Planting progress at 92% means the physical window for acreage shifts or spring delays is functionally closed. Supply risk is currently minor, though traders are keeping a close eye on the June 30 Acreage report to see if final acreage counts expand beyond early spring intentions. Demand Drivers: The June WASDE highlighted stagnant international interest, cutting old-crop export projections by 20 million bushels due to the ongoing absence of aggressive Chinese buying. However, that decline was perfectly offset by an identical 20 million bushel increase to domestic crush, proving that local biomass diesel mandates continue to pull massive physical volume out of country channels. External Influences: Macro conditions injected notable volatility. Geopolitical headlines regarding potential U.S.-Iran peace framework adjustments briefly tugged at commodities, but crude oil futures ultimately slipped lower toward the low 90s. This energy drop, alongside a hot domestic equity market, kept non-grain fund allocations defensive. Technicals: July support is established at $11.00. A clean breach beneath that level opens a downside void toward $10.85. Overhead technical resistance is firmly positioned at $11.35. Upcoming USDA Reports Expectations With the June WASDE now in the rearview mirror, the agricultural complex is entering its most critical data window of the summer. The trade is actively building position models for the highly anticipated June 30 Acreage and Quarterly Grain Stocks releases. Nearer term, the market will dissect Monday’s June 15 Crop Progress report to monitor planting wrap-up details and watch if regional rain patterns lift the national condition scores back above 65%. Funds Activity Managed money participants held a heavily net-short posture through the week, refusing to chase minor mid-week technical bounces. Automated trend-following models are firmly dialed into the short side of the market, viewing the friendly rain forecasts as a green light to maintain pressure. Expect funds to keep their short exposure largely intact until the June 30 acreage data forces an allocation review. Outlook for the Week Ahead Weather maps will continue to dictate everyday price discovery as we cross the middle of June. If the current 7-to-15 day outlook holds its pattern of moderate temperatures and consistent rainfall across the center of the Corn Belt, nearby futures will likely grind down to test the major $11.00 threshold. Any temporary upside action will be driven by minor geopolitical energy swings or localized hot spots rather than a structural change in market fundamentals. Key Events: Weekly Crop Progress & Updates (June 15); Weekly Export Sales Summaries (June 18); Late-June Weather Model Adjustments. Strategy: For producers with old-crop inventory still sitting in bins, the export cuts in the WASDE prove that waiting for a dramatic late-summer demand rally is a losing bet. Utilize any temporary, weather-driven short-covering bounces that carry July back toward $11.30 to finalize remaining old-crop clearouts. For new-crop, the premium expansion on November contracts presents a flexible opportunity; keep resting orders active to secure initial floor coverage if a brief dry spell pushes November over $11.50. #Soybeans #CropProgress #AgTrade #FuturesMarket
184
Corn Futures Weekly Outlook - June 8–12, 2026 Top News Story: Corn Crashes to New Contract Lows as June WASDE Offers No Bullish Surprises The corn market faced intense selling pressure this week, culminating in a dramatic slide to fresh contract lows following the release of the USDA’s June WASDE report. The agency left the domestic 2026/27 balance sheet virtually untouched, maintaining its hefty new-crop ending stocks projection at 1.96 billion bushels and keeping the season-average farm price flat at 4.40 dollars per bushel. Lacking any bullish supply adjustments to spark an anxious trade, futures tumbled into a broad rout. The market remains heavily defensive as a highly favorable summer weather pattern delivers widespread rainfall across the central Corn Belt, erasing any remaining early-season production risk premiums. Executive Summary The trading week ending June 12, 2026, was defined by a major technical breakdown as front-month contracts punctured long-standing support levels. The July contract (ZCN26) plunged through previous baselines to touch a new contract low of 4.10-2 before closing the week down significantly at 4.10-4. In the fields, the domestic crop is essentially established; Monday's Crop Progress report showed national planting reaching 97 percent complete, with emergence jumping to 86 percent right on track with the five-year average. Initial quality ratings held steady with 67 percent of the crop scored good-to-excellent. On the processing side, the June 10 EIA data offered a solid structural backstop, showing weekly ethanol production holding firm at a robust 1.108 million barrels per day, while total stocks drew down by 1 percent and weekly export volumes climbed an impressive 15 percent. Price Summary and Recent Movements CME Group Data as of Friday, June 12, 2026: July 2026 (ZCN26): 4.10-4 (Change Week: -0.30-6) September 2026 (ZCU26): 4.15-2 (Change Week: -0.31-2) December 2026 (ZCZ26): 4.31-4 (Change Week: -0.32-0) Cash Trade and Technicals: Settlement Prices: July corn took a massive hit post-WASDE, sliding roughly 7 cents on Thursday alone as non-commercial accounts aggressively liquidated length. National Avg Cash Price: 3.98 (Breaching the psychological 4.00 mark as cash positions track the board's swift decline). Local Basis (O’Neill, NE): Cash bids dropped in tandem with futures, though local processor basis remains historically narrow to incentivize the final tranches of old-crop farmer movement. Technical Levels: 1st Resistance: 4.22; 1st Support: 4.08. RSI Indicator: 28.4 (Deeply embedded in oversold territory, signaling extreme short-term structural exhaustion). Key Market Factors Unchanged June WASDE: The USDA chose not to adjust new-crop U.S. corn production or demand, keeping ending stocks pinned at a burdensome 1.96 billion bushels and reinforcing a comfortable supply narrative. Solid Crop Establishment: National planting stands at 97 percent complete, with 86 percent emerged. The initial 67 percent good-to-excellent rating stayed perfectly steady, keeping early-season production potential optimized. Biofuel Demand Integrity: Daily ethanol output held unchanged at 1.108 million barrels per day, while weekly exports jumped 15 percent to 155,000 barrels per day, confirming healthy domestic grind and global blending needs. South American Inventory Bulk: The USDA trimmed global stocks slightly less than expected, confirming massive South American production pipelines with Argentina at 61 million metric tons and Brazil at 138 million metric tons. Upcoming USDA Reports Expectations With the June WASDE now in the rearview mirror, the trade pivots entirely to acreage adjustments and mid-summer crop development: Weekly Crop Progress (June 15): The market expects national planting to be marked officially complete, with critical focus on how recent widespread rains impact the next crop condition score. June Acreage and Grain Stocks (June 30): This looms as the next major market-moving data point, where actual certified spring acreage figures will dictate the true baseline for the 2026 balance sheet. Funds Activity Institutional desks expanded their bearish posture this week, viewing the status-quo USDA data and favorable weather maps as an invitation to pile into short positions. Net Position: Managed money accounts aggressively added to their net short structure, accelerating the multi-cent contract liquidation across all row-crop complexes. Sentiment: Speculative money sees no immediate reason to defend the long side of the board. With the U.S. crop getting a clean start and favorable moisture rolling through previously dry areas of the Western Corn Belt, funds are content to press the market lower until a legitimate summer heat or dryness threat emerges. Current Bias: Strongly Bearish. Outlook for the Week Ahead The market is completely locked into a defensive, weather-dominated trading structure. Given the deeply oversold technical readings, the July contract will likely attempt to forge a temporary consolidation floor between 4.08 and 4.20. While robust domestic ethanol grind and active export shipments provide a firm baseline for physical consumption, sustainable price recoveries will remain severely capped. The board will require a major, unexpected shift in late-June weather models or a significant acreage reduction in the upcoming June 30 report to spark a meaningful short-covering rally. Key Events: June 15: USDA Weekly Crop Progress (Tracking condition trends following recent rains). June 17: EIA Weekly Petroleum Status Report (Monitoring ethanol grind and inventory draws). June 18: USDA Weekly Export Sales. Trend: Lower/Consolidating. For operations across north-central Nebraska tracking early vegetative growth, this deep break underscores a highly comfortable balance sheet. With cash bids slipping, lock down remaining old-crop bins on any temporary, technical short-covering bounces, and hold off on new-crop pricing strategies until December futures can show signs of stabilization back toward the 4.55 level. #WASDE #CropProgress #CornFutures #AgMarkets
154
Mid-States Cash Grain Today Tuesday, June 9, 2026 The planting window remains active across the region, though progress varies significantly by location. While national corn planting has reached approximately 97%, heavy precipitation in the Great Lakes and Eastern Corn Belt has slowed field work compared to the more aggressive pace seen in parts of the High Plains. USDA Crop Progress and Planting Update As of the June 8, 2026 USDA report, national corn planting nearly wrapped up at 97% completion, pacing right alongside the five-year average of 96%. Nationally, corn emergence advanced quickly to 86%, while the initial crop condition holding steady at 67% good-to-excellent. Soybean planting progressed ahead of schedule at 92% complete compared to the 88% average, with 79% of the crop successfully out of the ground and carrying a 65% good-to-excellent quality rating. Despite the efficient planting clip, ongoing operational concerns remain centered on high agricultural input overhead including diesel prices consistently tracking above $5.00 per gallon keeping seasonal farm margins highly compressed compared to previous cycles. Wheat Market Volatility Winter wheat numbers reflect severe multi-year stress, with national good-to-excellent ratings languishing at just 25%. Crop shock dominates the Plains as persistent drought and early freeze damage have left nearly half of the domestic winter wheat crop categorized in poor or very poor condition. Physiologically, 92% of the crop has headed, and the national winter wheat harvest has pushed forward to 11% complete. In Kansas, the nation’s largest producer, conditions are highly critical with 57% of the crop rated poor to very poor (26% very poor and 31% poor) as cutting begins under extensive regional stress. National spring wheat planting has reached 98% complete with 87% emerged. Drought and Soil Moisture Deepening drought continues to plague the central and western reaches of Nebraska and Northwest Kansas, maintaining a severe grip west of Highway 281. While erratic weather patterns delivered varying degrees of scattered rainfall to central and eastern production zones, the western High Plains remain structurally dry. In Kansas, topsoil moisture is tracking at 33% short to very short, while subsoil profiles remain 42% short to very short, keeping field potential heavily capped ahead of intense mid-summer heat. The deeper subsoil deficits are keeping regional pasture and range conditions under extreme duress across the primary hard red winter wheat belt. Biofuel and Ethanol Support The domestic ethanol complex remains a cornerstone for local cash corn bids, driven by robust industrial processing and favorable long-term baseline estimates. Interior plants continue to maintain high blending demand, underpinned by favorable domestic capacity utilization. While recent monthly data noted minor seasonal dips due to routine spring facility maintenance, processing volumes continue to track ahead of last year’s pace. This ongoing industrial demand keeps local basis highly competitive at processing hubs, helping establish a firm floor for physical grain values near key transportation lines. Nebraska West / Northwest (Lodgepole and Sidney) Trend: $3.90 – $4.20 (Corn) Down $0.05 Trend: $10.33 – $10.63 (Soybeans) Down $0.12 Trend: $5.66 – $6.06 (Wheat) Down $0.09 Central / East (Columbus and Norfolk) Trend: $4.02 – $4.32 (Corn) Down $0.04 Trend: $11.00 – $11.20 (Soybeans) Down $0.12 Iowa Statewide Average: $4.21 (Corn) Down $0.05 Statewide Average: $10.95 (Soybeans) Down $0.12 Central / River (Cedar Rapids and Clinton) Trend: $4.24 – $4.39 (Corn) Down $0.06 Trend: $11.02 – $11.28 (Soybeans) Down $0.12 Kansas Regional Focus (Republic and Asherville) Trend: $3.91 – $4.20 (Corn) Down $0.06 Trend: $10.83 – $11.38 (Soybeans) Down $0.12 Trend: $6.06 – $6.21 (Wheat) Down $0.09 Missouri Regional Focus (St. Joseph and Kansas City) Trend: $4.11 – $4.50 (Corn) Down $0.06 Trend: $11.20 – $11.65 (Soybeans) Down $0.12 Trend: $5.67 – $5.97 (Wheat) Down $0.09 South Dakota Regional Focus (Alpena and Bowdle) Trend: $3.87 – $4.11 (Corn) Down $0.06 Trend: $10.85 – $11.20 (Soybeans) Down $0.12 Trend: $5.92 – $6.17 (Wheat) Down $0.09 North Dakota Statewide Focus (Fargo and Grand Forks) Trend: $3.80 – $4.04 (Corn) Down $0.06 Trend: $10.40 – $11.00 (Soybeans) Down $0.12 Trend: $14.57 – $15.32 (Canola) Down $0.20 Minnesota Regional Focus (Willmar and Dawson) Trend: $3.85 – $4.07 (Corn) Down $0.06 Trend: $10.95 – $11.30 (Soybeans) Down $0.12 Illinois Eastern / Central (Champaign and Casey) Trend: $4.26 – $4.40 (Corn) Down $0.06 Trend: $11.20 – $11.50 (Soybeans) Down $0.12 Indiana Statewide Progress Focus Trend: $4.28 – $4.40 (Corn) Down $0.06 Trend: $11.23 – $11.45 (Soybeans) Down $0.12 Trading: News and Information Ag Futures Convergence: Row crop futures experienced a down-day as traders digested largely stable corn and soybean condition ratings from the USDA. Favorable near-term rainfall patterns across major growing belts added additional technical pressure, while winter wheat futures registered a down-turn despite dismal quality metrics as early harvesting operations inject physical supplies into the pipeline. Energy and Geopolitics: WTI crude oil benchmarks slid sharply, falling 4.5% to settle around $87.17 per barrel. The sharp downturn was fueled by accelerating progress in international diplomatic contacts, which eased immediate supply disruption fears regarding key global maritime transit lanes like the Strait of Hormuz. Metals and Policy: COMEX spot gold hit its lowest level of the year, testing near $4,268.39 per ounce before finishing around $4,333.91 as safe-haven premiums softened. Robust domestic labor metrics have kept macro expectations leaning hawkish, keeping near-term interest rate cuts off the table and applying pressure to non-yielding assets. Spot silver pulled back concurrently, slipping near $67.85 per ounce. Equities Resilience: Mainstream Wall Street indices maintained a consolidative tone following recent high-water marks. Tech growth sectors continue to offer baseline support to the broader indexes, though industrial lines are actively digesting the relief in energy input costs against shifting consumer spending indicators. Credit and Lending: Direct operating capital parameters face close scrutiny as spring field operations fully transition into intensive early-summer management programs. High retail fertilizer overhead and tight baseline grain bids keep risk-management execution a high priority for managing cash flow. #AgMarket #WheatHarvest26 #CropProgress
188
Daily Ag Market News & Intelligence Livestock Markets Under Pressure as Technical Selling Erases Post-Screwworm Gains The domestic livestock complex experienced a sharp reversal to start the week, with futures contracts shedding recent biosecurity-driven risk premiums. While Chicago Mercantile Exchange (CME) feeder cattle initially climbed to a two-week high on Friday due to supply concerns following the USDA’s confirmation of a New World screwworm case in Zavala County, Texas, the market succumbed to aggressive profit-taking and long liquidation on Monday. Traders are actively weighing the potential for prolonged restrictions on Mexican cattle imports against the broader risk of domestic demand caution. CME Livestock Futures Closing: August Live Cattle fell $4.92 to settle at $236.72 August Feeder Cattle dropped $3.20 to settle at $350.70 July Lean Hogs fell $1.42 to settle at $97.37 In the cash markets, trade remained exceptionally quiet following the weekend. Dressed transactions in Nebraska were quiet but values held around recent support levels at $405 per cwt, while Southern live deals continued to search for a definitive baseline. In the wholesale beef sector, packers are monitoring the Choice/Select spread closely, looking for signs of robust summer retail interest to clear ample market-ready supplies. Conversely, lean hog futures also faced downward pressure, with the July contract sliding to $97.37 per cwt as institutional funds trimmed length across the livestock floor. Grain Complex Grinds Mixed; Corn Finds Support While Soybeans Subdued by Rapid Planting As the agricultural industry approaches the critical June World Agricultural Supply and Demand Estimates (WASDE) report, grain futures delivered a mixed performance. Corn managed to claw back modest gains despite touching fresh contract lows early in the session, supported by robust weekly export inspections that topped the highest trade estimates. Soybean futures, however, continued their downward trajectory, weighed down by efficient domestic planting progress and a lack of fresh buying interest from major Asian importers. Crop Progress & Conditions The USDA’s latest weekly crop progress report indicated that the 2026 planting season is rapidly reaching its conclusion across the core Corn Belt, maintaining an efficient seasonal pace: Corn Progress: 97% planted nationwide, sitting just ahead of the five-year average of 96%. Emergence advanced to 86%, with the crop’s initial condition rating holding steady at a solid 67% good-to-excellent. Soybean Progress: 92% of intended acreage is in the ground, outpacing the historical average by four percentage points. Emergence reached 79%, while the initial nationwide condition rating was pegged at 65% good-to-excellent, slightly below initial trade expectations. Winter Wheat Harvest Accelerates Ahead of Average Pace The domestic winter wheat harvest made significant strides over the past week, advancing six percentage points to reach 11% complete nationwide, well ahead of the 6% five-year average. Progress was led by Oklahoma at 44% harvested and Texas at 35% complete. Despite the quick harvest pace, overall crop quality remains severely degraded by prolonged drought across the Southern and Western Plains. The USDA lowered the national winter wheat condition rating by another percentage point to a dismal 25% good-to-excellent. This stands in sharp contrast to last year’s 54% rating and continues to spark concern over aggregate production totals ahead of Thursday's supply and demand adjustments. Policy & Structural Changes: FSA Deadlines Loom for New Pass-Through Provisions The USDA Farm Service Agency (FSA) continues to remind producers of major structural changes regarding payment eligibility rules. Moving into the current crop year, operations utilizing limited liability companies (LLCs) or S-Corporations will officially see those structures treated as "pass-through entities." This change allows individual members actively engaged in the daily operation to qualify the entity for separate safety net caps, modernizing the farm safety net to align with commercial business structures. Operational plans must be fully updated with regional FSA offices by September 15, 2026, to guarantee compliance. Simultaneously, the administration's Small Processors Action Plan is moving into its next phase. Backed by a $60 million allocation under the Meat and Poultry Processing Expansion Program (MPPEP), the funding targets small-scale independent processing facilities to bolster slaughter capacity, minimize regulatory bottlenecks, and provide localized marketing alternatives for independent livestock producers. Energy & Logistics: Volatile Diesel Prices Compound Freight Burdens Sticky input costs and logistical constraints remain front and center for inland commercial handlers. On-highway diesel fuel prices continue to experience sharp upward shocks, driven by shifting international refining margins and structural disruptions along major shipping lanes. The volatility is feeding directly into country elevator basis levels, driving up rail and truck freight rates for grain movement to major river terminals. Logistical strains are equally evident across the Western Plains, where severe drought has left pastures bare. Producers in states like Wyoming and Nebraska have expanded water-hauling operations and accelerated livestock liquidations, generating intense localized competition for available commercial livestock trailers to transport cattle toward feed-secure regions. #AgMarket #CropProgress #LivestockTrading
1
160
USDA Grain Export Inspections The USDA released its weekly Grain Export Inspections report on Monday, June 8, 2026, for the period ending June 4. The data highlights a sharp divergence in the complex: corn inspections flexed impressive late-spring muscle, surging past expectations, while soybeans and wheat took a notable step backward. Despite a stellar showing from the corn export desk, the broader futures market is struggling to find a bottom as the calendar shifts fully into the growing season. Weekly Inspection Volumes Corn export inspections were the clear highlight of the report, jumping to 1.91 million metric tons (75.2 million bushels) for the week. This is up significantly from the previous week's 1.58 million tons and well ahead of the same timeframe last year. Cumulative marketing year volumes continue to march along at an aggressively bullish clip. Mexico and Japan remain the dominant, high-volume destinations anchoring the old-crop demand pull. Soybean inspections slowed down, landing at 398,186 metric tons (14.6 million bushels). This volume marks a drop from the previous week’s 505,109 tons and sits comfortably behind the 558,910 tons cleared during the same week last season. The seasonal slowdown is fully established as Brazilian shipping lanes continue to handle the bulk of global physical demand. Wheat inspections were reported at 319,730 metric tons (11.7 million bushels). This represents a week-over-week decline and a step down from last year's volume for the same period. This comes as the wheat complex officially kicked off its new 2026/27 marketing year on June 1. Sorghum inspections experienced a massive weekly slowdown, plunging to just 11,135 metric tons. Fieldwork & Crop Progress Context Traders are looking ahead to this afternoon’s 3:00 PM CT NASS Crop Progress update to see how the physical side is keeping pace with the board: Seeding in the Home Stretch: Following a massive push over the late-May window, the U.S. corn crop was already 93% planted as of the start of the month. Today's update is expected to show the final acres being wrapped up across the Northern Plains and Western Corn Belt. Condition Baseline: Last week’s initial national corn rating entered the books at a modest 67% good-to-excellent. The trade will be watching closely to see if recent localized rains across Iowa and Nebraska lift that score or if emerging pockets of early summer heat cap initial potential. CBOT Futures Current Prices (July 2026) Prices as of mid-morning trade, Monday, June 8, 2026. Corn: 419'2 (Up 1'6) — Stabilizing on corrective short-covering after a brutal liquidation cycle drove front-month contracts to fresh contract lows overnight. Soybeans: 1120'2 (Down 1'2) — Edging slightly lower as old-crop contracts hover near a four-month low under the weight of heavy global supplies. Wheat (SRW): 586'4 (Up 6'4) — Pointing higher on a technical bounce after collapsing to near two-month lows last week. Notes We are seeing a classic battle on the boards today. On one side, you have fundamentally fantastic physical clearing numbers—nearly 2 million metric tons of corn moving through the pipelines is massive for June. On the other side, the funds have been in a "death spiral" liquidation mindset because the weather story lacks teeth and the planters wrapped up so fast.Don't mistake this morning's minor green ticks on corn and wheat as a full trend reversal just yet; it's mostly oversold short-covering. Watch the cash basis at local elevators this week to see if processors push back against the lower board prices or if they're content to sit on their hands while fields finish greening up. #USDA #GrainExports #CropProgress
2
153