top of page

Keep up to date!

Bonfire Info.

Venue

Parking

We're running a park and ride for the event! Available at Broadway Meadow. Please be aware of recent fee changes made by the council.​

about us

The Wilmslow Round Table is for those who identify as male between the ages of 18 to 45. We meet up fortnightly and try to do something that we wouldn't normally do! Whether that be a fun activity, learning a new skill, or collaborating with the local community to help enrich it. 

​

We come from different walks of life but we have the same desire. To make friends, have a laugh, and make the world a little better than what we found it.

​

Our members can get as involved as they want, there's no pressure to get involved in something you don't want to.

​

That being said when it comes round to doing the bonfire we benefit from the range of expertise everyone has! From organisation, dealing with vendors, social media interactions, willingness to muck in on the day, electrical and lighting prowess... to name just a few! It's also a great opportunity to learn a new skill or find out something you never knew about yourself!

Stuff we've done

Wilmslow Round Table do stuff - do you want to?

Thanks for submitting!

Causes and Local Groups we've helped:

Gorsey Bank Primary

1st Wilmslow Scouts

Wilmslow Youth

Wilmslow Guild

CHYPS

Dean Row Girl Guides

Wilmslow Rotary

Wilmslow Shooting Club

Wilmslow Tangent

1st Lindow Scouts

Wilmslow Ukraine Cafe

Culshaw Tenants

Styal Primary School

Wilmslow 41 Club

Wilmslow Rugby Club

bottom of page
/* Wilmslow Round Table - scroll-driven fireworks background --------------------------------------------------------- - A single rocket launches as the page loads and climbs as you scroll, exploding in a big finale at the very bottom. - A few smaller bursts go off on the way down. - The canvas is fixed to the screen, so it does NOT scroll with the content. - Everything is driven by scroll position (not a timer), so scrolling back up rewinds the show. - Switched off automatically for visitors who ask their device for reduced motion. Optional settings (put BEFORE this script): window.RT_FIREWORKS = { z: 0, opacity: 1, colors: ['#FBAF33', '#FFFFFF'] }; */ (function () { if (window.__rtFireworks) return; window.__rtFireworks = true; var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (reduce) return; // finaleStart = how far down the page (0-1) the big explosion begins. // Set it to roughly where your last empty "sky" section starts. var cfg = { z: 0, opacity: 1, finaleStart: 0.86, colors: ['#FBAF33', '#FFFFFF', '#FFD28A'] }; var user = window.RT_FIREWORKS || {}; for (var k in user) cfg[k] = user[k]; var canvas = document.createElement('canvas'); canvas.id = 'rt-fireworks'; canvas.setAttribute('aria-hidden', 'true'); canvas.style.cssText = 'position:fixed;left:0;top:0;width:100vw;height:100vh;pointer-events:none;z-index:' + cfg.z + ';opacity:' + cfg.opacity + ';'; document.body.insertBefore(canvas, document.body.firstChild); var ctx = canvas.getContext('2d'); var W = 0, H = 0, dpr = 1; function resize() { dpr = Math.min(window.devicePixelRatio || 1, 2); W = window.innerWidth; H = window.innerHeight; canvas.width = Math.round(W * dpr); canvas.height = Math.round(H * dpr); ctx.setTransform(dpr, 0, 0, dpr, 0, 0); } // Seeded random so every burst looks identical each time you scroll over it function rng(seed) { return function () { seed |= 0; seed = (seed + 0x6D2B79F5) | 0; var t = Math.imul(seed ^ (seed >>> 15), 1 | seed); t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t; return ((t ^ (t >>> 14)) >>> 0) / 4294967296; }; } // x = horizontal position (0-1), launch/burst/end = scroll progress (0-1), // peak = how high the burst is (0 = top of screen), size = burst radius (fraction of screen) var shows = [ { x: 0.5, launch: 0.00, burst: cfg.finaleStart, end: 1.00, peak: 0.38, size: 0.34, n: 420, big: true, seed: 7 }, { x: 0.14, launch: 0.06, burst: 0.18, end: 0.31, peak: 0.28, size: 0.15, n: 60, seed: 11 }, { x: 0.87, launch: 0.24, burst: 0.37, end: 0.50, peak: 0.22, size: 0.17, n: 70, seed: 23 }, { x: 0.20, launch: 0.44, burst: 0.57, end: 0.70, peak: 0.30, size: 0.16, n: 60, seed: 31 }, { x: 0.82, launch: 0.60, burst: 0.73, end: 0.86, peak: 0.20, size: 0.19, n: 70, seed: 41 } ]; shows.forEach(function (s) { var r = rng(s.seed); s.parts = []; for (var i = 0; i < s.n; i++) { s.parts.push({ a: r() * Math.PI * 2, sp: s.big ? 0.12 + 0.88 * Math.sqrt(r()) : 0.45 + 0.55 * Math.sqrt(r()), c: cfg.colors[Math.floor(r() * cfg.colors.length)], sz: (0.8 + r() * 1.6) * (s.big ? 1.4 : 1), ph: r() * 6.28 }); } }); function easeOut(t) { return 1 - Math.pow(1 - t, 2.2); } function easeOutCubic(t) { return 1 - Math.pow(1 - t, 3); } function easeOutQuad(t) { return 1 - (1 - t) * (1 - t); } function glow(x, y, rad, color, alpha) { var g = ctx.createRadialGradient(x, y, 0, x, y, rad); g.addColorStop(0, color); g.addColorStop(1, 'rgba(251,175,51,0)'); ctx.globalAlpha = alpha; ctx.fillStyle = g; ctx.beginPath(); ctx.arc(x, y, rad, 0, 6.2832); ctx.fill(); } function rocketPos(s, rise) { var peakY = H * s.peak; var y = H + 10 - (H + 10 - peakY) * easeOut(rise); var x = W * s.x + Math.sin(rise * 9 + s.seed) * W * 0.006; return [x, y]; } function draw(p, now) { ctx.clearRect(0, 0, W, H); ctx.globalCompositeOperation = 'lighter'; ctx.lineCap = 'round'; for (var i = 0; i < shows.length; i++) { var s = shows[i]; var rise = (p - s.launch) / (s.burst - s.launch); if (rise < 0) continue; if (rise < 1) { // Rocket with a fading spark trail var steps = 18; for (var k = steps; k >= 0; k--) { var tt = Math.max(0, rise - k * (s.big ? 0.006 : 0.012)); var pos = rocketPos(s, tt); var f = 1 - k / steps; ctx.globalAlpha = f * f * 0.9; ctx.fillStyle = k % 3 === 0 ? '#FFFFFF' : '#FBAF33'; ctx.beginPath(); ctx.arc(pos[0] + Math.sin(k * 7 + now * 0.01) * 0.8, pos[1], (s.big ? 2.6 : 1.8) * f + 0.3, 0, 6.2832); ctx.fill(); } var head = rocketPos(s, rise); glow(head[0], head[1], s.big ? 22 : 14, '#FFE2A8', 0.85); ctx.globalAlpha = 1; ctx.fillStyle = '#FFFFFF'; ctx.beginPath(); ctx.arc(head[0], head[1], s.big ? 3 : 2.2, 0, 6.2832); ctx.fill(); } else { // Burst var tau = Math.min(1, (p - s.burst) / (s.end - s.burst)); var c = rocketPos(s, 1); var R = Math.min(W, H) * s.size * (s.big ? (W / H > 1 ? 1.2 : 1.05) : 1); if (tau < 0.12) { glow(c[0], c[1], R * (0.15 + tau * 3), '#FFFFFF', (1 - tau / 0.12) * 0.9); } if (s.big) { glow(c[0], c[1], R * (0.5 + tau * 0.8), '#FBAF33', 0.16 * (1 - tau * 0.6)); } // The finale keeps expanding and stays bright right down to the bottom of the page; // the small bursts ease out, droop and fade. var ease = s.big ? easeOutQuad : easeOutCubic; var gk = s.big ? 0.2 : 0.55; var e = ease(tau); var fade = s.big ? 1 - 0.45 * tau * tau : Math.max(0, 1 - Math.pow(tau, 1.6)); var grav = R * gk * tau * tau; var e0 = ease(Math.max(0, tau - 0.05)); var grav0 = R * gk * Math.pow(Math.max(0, tau - 0.05), 2); for (var j = 0; j < s.parts.length; j++) { var q = s.parts[j]; var cx = Math.cos(q.a), cy = Math.sin(q.a); var x1 = c[0] + cx * R * q.sp * e; var y1 = c[1] + cy * R * q.sp * e + grav; var x0 = c[0] + cx * R * q.sp * e0; var y0 = c[1] + cy * R * q.sp * e0 + grav0; var tw = 0.7 + 0.3 * Math.sin(now * 0.008 + q.ph); ctx.globalAlpha = fade * tw; ctx.strokeStyle = q.c; ctx.lineWidth = q.sz; ctx.beginPath(); ctx.moveTo(x0, y0); ctx.lineTo(x1, y1); ctx.stroke(); ctx.fillStyle = q.c; ctx.beginPath(); ctx.arc(x1, y1, q.sz * 0.9, 0, 6.2832); ctx.fill(); } } } ctx.globalAlpha = 1; ctx.globalCompositeOperation = 'source-over'; } var target = 0, current = 0; function readScroll() { var doc = document.documentElement; var max = Math.max(1, Math.max(doc.scrollHeight, document.body.scrollHeight) - window.innerHeight); var y = window.pageYOffset || doc.scrollTop || 0; target = Math.min(1, Math.max(0, y / max)); } function frame(now) { current += (target - current) * 0.14; if (Math.abs(target - current) < 0.0002) current = target; draw(current, now); window.requestAnimationFrame(frame); } window.addEventListener('scroll', readScroll, { passive: true }); window.addEventListener('resize', function () { resize(); readScroll(); }); resize(); readScroll(); current = target; window.requestAnimationFrame(frame); // Handy for testing: window.__rtFireworksSet(0.9) jumps to 90% of the show window.__rtFireworksSet = function (p) { target = current = p; }; })();