diff --git a/content/info/source.json b/content/info/source.json index d5ff7b9..1b576c8 100644 --- a/content/info/source.json +++ b/content/info/source.json @@ -3,126 +3,52 @@ "blocks": [ { "id": "blk-about", - "title": "Solarpunk Summit 2026: The Love Dimension", + "title": "Solarpunk Summit 2026", "kind": "festival", "body": [ { "kind": "paragraph", - "text": "Five days of regenerative culture, technology, and consciousness — October 8–12, 2026 at Son's Blue River Camp, Kingsbury, TX. The 6th annual Solarpunk Summit is described as more village than festival: speakers, workshops, music, art, food, and celebration, with relationships as the center." + "text": "Solarpunk Summit: The Love Dimension is a five-day gathering exploring regenerative culture, technology, consciousness, and community. The 2026 summit runs October 8-12, 2026, in Kingsbury, Texas." }, { "kind": "paragraph", - "text": "The Love Dimension theme unfolds as five elements, one per day: Air (words of affirmation), Earth (acts of service), Fire (physical touch), Water (gifts), Ether (quality time — an unplanned closing day)." + "text": "The summit describes solarpunk as a balance of technology, nature, and the individual, with a focus on practical regenerative solutions, voluntary cooperation, and radically optimistic futures." + }, + { + "kind": "link", + "text": "Read the official mission", + "href": "https://solarpunksummit.com/our-mission/" } ] }, { - "id": "blk-lineup", - "title": "Speakers", + "id": "blk-themes", + "title": "Summit themes", "kind": "program", "body": [ { "kind": "list", "items": [ - "Marc Buckley — Homo Universalis: The RegenAissance", - "Alec Zeck — Founder, The Way Forward", - "Ashleigh Hakes — Love Is an Experience", - "Jeana Locke — Designed to Love Yourself", - "Joseph Hawley — Legend of the Sacred Circle", - "Matt McKibbin — Agentic Energy Sovereignty", - "Billy Tetrud — Building Meridia: A Federated Solarpunk Microcity", - "Austin West — Remember the Divine Within", - "Jenn Lynn — Austin's Future Freedom Frontier", - "Tom Miller — Prosperity for Purpose", - "Connor Wills — Boundaries and Communication in Relationship" + "Air: communication, personal development, authentic relating, and networking", + "Earth: regenerative culture, permaculture, sustainable practices, and alternative governance", + "Fire: innovation, entrepreneurship, and technology", + "Water: consciousness, spirituality, and integration" ] } ] }, { - "id": "blk-workshops", - "title": "Workshops", - "kind": "program", - "body": [ - { - "kind": "list", - "items": [ - "Taelor Monroe — Wild Foraging Plant Walk", - "Michael Ravenwood — The Art of Flow", - "Mandelyn Reese — Coming Back to the Love Within Yourself", - "Ben Holt — The Way of the King", - "Brent Thomas — Animal Forms Qi Gong", - "Tatiana Olga Rodeiro & Víkingur Guðmundsson — Glíma: Viking Wrestling", - "Satya — Satsang and Handpan", - "Lady A — Heartopia: A Playful Journey", - "Stephanie Welch — Touch Lab: Building Intimacy Through Presence", - "Lauren Denney — Contact to Collaboration", - "Kristalynn Love — Tapping Into Love", - "Lacee Wilke — Map Your Next Quantum Leap", - "Natalie Stone — 9D Breathwork: Awakening", - "Mimi Daraa — Maison Palo Santo", - "River Roaring — Waking the Body: Touch, Desire, and Limits", - "Brittany Brice — Bhakti Flow: Mantra & Movement", - "Adam Russel — Remembering Our Place as Stewards", - "Ellis Hernandez — Elemental Qi Gong" - ] - } - ] - }, - { - "id": "blk-kitchen", - "title": "Community Kitchen", - "kind": "program", - "body": [ - { - "kind": "list", - "items": [ - "Early riser breakfast 8:30–10 AM: chia pudding, overnight oats, fruit, yogurt, granola, boiled eggs", - "Hot brunch 10–11 AM", - "Build-your-own-bowl lunch 2–4 PM: salads, grains, fresh veggies, vegan proteins", - "Dinner 8–9:30 PM: curries, chili and cornbread, hearty soups", - "Vegan and vegetarian options at every meal", - "Access comes with a food donation: bring 5–10 lbs of fresh organic produce; sign-up link arrives by email and Telegram" - ] - } - ] - }, - { - "id": "blk-gate", - "title": "Arrival, gates & parking", + "id": "blk-venue", + "title": "Venue and access", "kind": "venue", "body": [ { "kind": "address", - "text": "Son's Blue River Camp, 2769 Sherrill Rd, Kingsbury, TX 78638 — about 40 min from Austin-Bergstrom (AUS), 1 hr from San Antonio (SAT)" + "text": "Son's Blue River Camp, 2769 Sherrill Rd, Kingsbury, TX 78638" }, { - "kind": "list", - "items": [ - "Gates: Thu Oct 8 open 11 AM; Fri–Mon 8 AM–8 PM. Late arrivals outside gate hours pay a $50 fee. Bring photo ID for re-entry.", - "Every attendee (and each child) must sign the venue waiver before arriving: app.waiverelectronic.com/render/splash/Blue-River-Camp", - "Parking pass required per vehicle: $25 day / $50 full event (car-camping passes already cover the vehicle).", - "Event ends: all attendees off property by Tuesday Oct 13, 11 AM. Monday-night camping is included with admission.", - "Day passes and a Sat+Sun weekend pass are available on Eventbrite" - ] - } - ] - }, - { - "id": "blk-passes", - "title": "Passes & accommodations", - "kind": "pricing", - "body": [ - { - "kind": "list", - "items": [ - "Full Access: $280 (listed sale, $350 face) — Thu–Mon, all programming, BYO tent camping", - "Steward Pass: $868+ — full access plus patron bundle; subsidizes low-income tickets", - "Team Pass: $283/ea for groups of 3+, group tent space", - "Kids $23 · Teen $38 · Volunteer $174 · Parking $59 · Low-income applications available", - "On-site stays: Car Camping $150–175 · Enhanced Campsites $162+ (power/water) · Glamping Tents $695 (AC bell tent) · Glamping Cabins $1,157+ (kitchenette, AC) · Cabin Suite $2,023 (full kitchen, bath, AC)", - "RV camping limited — inquire via info@r3zproductions.com" - ] + "kind": "paragraph", + "text": "The venue is along the San Marcos River, about 40 minutes from Austin-Bergstrom International Airport and one hour from San Antonio International Airport. Camping, glamping, cabins, and limited RV options are available." }, { "kind": "link", @@ -132,43 +58,57 @@ ] }, { - "id": "blk-rules", - "title": "Policies & good stewardship", + "id": "blk-guidance", + "title": "Attendee guidance", "kind": "rules", "body": [ { "kind": "list", "items": [ - "All ages; under 18 must be accompanied by parent/legal guardian with documentation.", - "Leave No Trace: pack out everything you bring and any MOOP. Bring reusable bottles, cups, plates, utensils, and trash bags — no disposables provided.", - "Fires only in existing venue fire pits; check with staff before lighting.", - "No alcohol sold on site; bringing it is discouraged.", - "Non-service animals prohibited ($75 penalty); service animals need documentation and an animal waiver.", - "Drones prohibited without written permission and will be confiscated.", - "Photo policy: attendance implies consent to being filmed; DSLR/360 cameras need media credentials.", - "No lockable storage on site; a lost-and-found station is available.", - "Times and lineup may shift; check the Telegram for updates" + "All ages are welcome; anyone under 18 must be accompanied by a parent or legal guardian.", + "Pack reusable bottles, cups, plates, and flatware, and pack out all waste under the Leave No Trace policy.", + "Non-service animals are not permitted at Son's Blue River Camp; service animals require documentation.", + "No alcohol is sold at the summit.", + "Drones are prohibited without written permission from Solarpunk Summit." ] }, { "kind": "link", - "text": "Official FAQ", + "text": "Read the official FAQ", "href": "https://solarpunksummit.com/faq/" } ] }, { - "id": "blk-contact", - "title": "Contact & community", - "kind": "contact", + "id": "blk-passes", + "title": "Passes and accommodations", + "kind": "pricing", "body": [ { "kind": "list", "items": [ - "Email: info@r3zproductions.com", - "Solarpunk Summit Community Telegram: t.me/+SHvix5vV8Cs3ZGMx (updates, ride shares, questions)", - "Host a workshop, focus camp, vend, perform, or nominate a speaker via solarpunksummit.com/collaborate/" + "Full Access: $280 listed sale price; Thursday through Monday access and tent camping included.", + "Steward Pass: $868+; full access plus patron benefits and low-income ticket support.", + "Team Pass: $283 per person for groups of three or more.", + "Single Day: $118; Kids: $23; Teen: $38; Volunteer: $174; Parking: $59.", + "Accommodation options include cabin suites, glamping cabins, glamping tents, enhanced campsites, and car camping." ] + }, + { + "kind": "link", + "text": "Verify current prices and availability", + "href": "https://solarpunksummit.com/passes/" + } + ] + }, + { + "id": "blk-source", + "title": "Content source", + "kind": "provenance", + "body": [ + { + "kind": "paragraph", + "text": "Imported from solarpunksummit.com on 2026-08-31. Prices, availability, policies, and program details can change; verify against the official site before relying on them." } ] } diff --git a/content/map/source.json b/content/map/source.json index 3f4aaf1..659b299 100644 --- a/content/map/source.json +++ b/content/map/source.json @@ -11,122 +11,62 @@ ] }, "pois": [ - { - "id": "poi-gate", - "name": "Main Entrance / Gate", - "category": "entrance", - "x": 0.5, - "y": 0.03, - "lat": null, - "lng": null, - "description": "Thu 11 AM; Fri–Mon 8 AM–8 PM. Waiver required before entry." - }, - { - "id": "poi-registration", - "name": "Registration", - "category": "other", - "x": 0.44, - "y": 0.1, - "lat": null, - "lng": null, - "description": "Check in here; photo ID for re-entry." - }, { "id": "poi-main-stage", "name": "Main Stage", "category": "stage", - "x": 0.3, - "y": 0.3, - "lat": null, - "lng": null, - "description": "Speakers, ceremonies, headline sets nightly." - }, - { - "id": "poi-cabanas", - "name": "Cabanas", - "category": "other", - "x": 0.68, + "x": 0.28, "y": 0.28, + "description": "Headline sets, 6 PM–2 AM nightly.", "lat": null, - "lng": null, - "description": "Workshop blocks 7 AM–3 PM and 6–9:30 PM Fri–Sun." + "lng": null }, { - "id": "poi-river", - "name": "River Swimming", - "category": "other", - "x": 0.14, - "y": 0.55, - "lat": null, - "lng": null, - "description": "San Marcos River access; Water Blessing Friday 11 AM." - }, - { - "id": "poi-kitchen", - "name": "Community Kitchen", - "category": "food", - "x": 0.52, - "y": 0.48, - "lat": null, - "lng": null, - "description": "Breakfast 8:30, brunch 10, lunch 2–4, dinner 8–9:30 PM daily." - }, - { - "id": "poi-marketplace", - "name": "Marketplace & Expo", - "category": "other", - "x": 0.62, - "y": 0.44, - "lat": null, - "lng": null, - "description": "Solarpunk vendors, art exhibits, innovation expo." - }, - { - "id": "poi-fire-circle", - "name": "Fire Circle", - "category": "other", - "x": 0.4, - "y": 0.74, - "lat": null, - "lng": null, - "description": "Sacred fire gatherings late Fri/Sun; check with staff before lighting fires." - }, - { - "id": "poi-hub", - "name": "Homeostasis Hub", - "category": "other", + "id": "poi-second-stage", + "name": "Second Stage", + "category": "stage", "x": 0.72, - "y": 0.6, + "y": 0.27, + "description": "Acoustic and workshop acts.", "lat": null, - "lng": null, - "description": "Sound baths and wind-downs." + "lng": null }, { "id": "poi-first-aid", "name": "First Aid", "category": "other", - "x": 0.46, - "y": 0.4, + "x": 0.5, + "y": 0.5, + "description": "Staffed 24h during the festival.", "lat": null, - "lng": null, - "description": "Tell event staff first; keep access clear for responders." + "lng": null }, { "id": "poi-water", "name": "Water Station", "category": "water", - "x": 0.56, - "y": 0.54, + "x": 0.44, + "y": 0.52, + "description": "Free refill — bring a bottle.", "lat": null, - "lng": null, - "description": "Free refill — bring a reusable bottle." + "lng": null + }, + { + "id": "poi-food", + "name": "Food Court", + "category": "food", + "x": 0.62, + "y": 0.55, + "description": "Vendors 11 AM–11 PM.", + "lat": null, + "lng": null }, { "id": "poi-restrooms-n", - "name": "Restrooms (Main)", + "name": "Restrooms (North)", "category": "restroom", - "x": 0.38, - "y": 0.44, + "x": 0.35, + "y": 0.47, "lat": null, "lng": null }, @@ -134,50 +74,30 @@ "id": "poi-restrooms-c", "name": "Restrooms (Camping)", "category": "restroom", - "x": 0.26, - "y": 0.84, + "x": 0.3, + "y": 0.78, "lat": null, "lng": null }, { "id": "poi-camping", - "name": "Tent Camping Field", + "name": "Camping Field", "category": "camping", - "x": 0.24, - "y": 0.72, + "x": 0.27, + "y": 0.7, + "description": "Permies and walk-in.", "lat": null, - "lng": null, - "description": "Community sites; shared fire pits and tables." + "lng": null }, { - "id": "poi-car-camp", - "name": "Car Camping", - "category": "camping", - "x": 0.82, - "y": 0.78, + "id": "poi-entrance", + "name": "Main Entrance", + "category": "entrance", + "x": 0.5, + "y": 0.03, + "description": "Gate opens 8 AM.", "lat": null, - "lng": null, - "description": "Premium shaded area; pass covers vehicle parking." - }, - { - "id": "poi-glamping", - "name": "Glamping & Cabins", - "category": "camping", - "x": 0.8, - "y": 0.46, - "lat": null, - "lng": null, - "description": "Bell tents, cabins, and suites near main stage." - }, - { - "id": "poi-lost-found", - "name": "Lost & Found", - "category": "other", - "x": 0.47, - "y": 0.14, - "lat": null, - "lng": null, - "description": "Staffed station near registration." + "lng": null } ], "categories": ["stage", "restroom", "water", "food", "camping", "entrance", "other"] diff --git a/content/schedule/source.json b/content/schedule/source.json index 6c95f59..dc88607 100644 --- a/content/schedule/source.json +++ b/content/schedule/source.json @@ -1,796 +1,74 @@ { "section": "schedule", "stages": [ - { - "id": "stage-main", - "name": "Main Stage" - }, - { - "id": "stage-cabanas", - "name": "Cabanas" - }, - { - "id": "stage-river", - "name": "River" - }, - { - "id": "stage-fire", - "name": "Fire Circle" - }, - { - "id": "stage-hub", - "name": "Homeostasis Hub" - } + { "id": "track-air", "name": "Air Tribe" }, + { "id": "track-earth", "name": "Earth Tribe" }, + { "id": "track-fire", "name": "Fire Tribe" }, + { "id": "track-water", "name": "Water Tribe" } ], "artists": [ - { - "id": "air", - "name": "Air Day Crew" - }, - { - "id": "earth", - "name": "Earth Day Crew" - }, - { - "id": "jeana", - "name": "Dr. Jeana Locke" - }, - { - "id": "monahan", - "name": "Robert Monahan" - }, - { - "id": "blouis", - "name": "B. Louis" - }, - { - "id": "ghostpipe", - "name": "Ghost Pipe" - }, - { - "id": "sayuri", - "name": "Danza · Sayuri + Yolanda" - }, - { - "id": "mimi", - "name": "Mimi Daraa" - }, - { - "id": "murray", - "name": "Murray Kyle" - }, - { - "id": "tetrud", - "name": "Billy Tetrud" - }, - { - "id": "jenn", - "name": "Jenn Lynn" - }, - { - "id": "hawley", - "name": "Joe Hawley" - }, - { - "id": "monroe", - "name": "Taelor Monroe" - }, - { - "id": "draper", - "name": "Joshua Draper" - }, - { - "id": "morillo", - "name": "MORiLLO" - }, - { - "id": "rize", - "name": "Nattali Rize" - }, - { - "id": "drum", - "name": "Drum Temple" - }, - { - "id": "habitaat", - "name": "HABITAAT" - }, - { - "id": "swahe", - "name": "Ecstatic Dance · Joshua Swahe" - }, - { - "id": "zeck", - "name": "Alec Zeck" - }, - { - "id": "mckibbin", - "name": "Matt McKibbin" - }, - { - "id": "nakamoto", - "name": "Poly Nakamoto" - }, - { - "id": "improv", - "name": "Contact Improv Activation" - }, - { - "id": "trev", - "name": "Trevmental" - }, - { - "id": "marin", - "name": "Sierra Marin" - }, - { - "id": "chase", - "name": "Ruby Chase" - }, - { - "id": "starfire", - "name": "David Starfire" - }, - { - "id": "bloom", - "name": "Liquid Bloom" - }, - { - "id": "mckusick", - "name": "Eileen McKusick, Isaac + Toral" - }, - { - "id": "sage", - "name": "Sage the Mage" - }, - { - "id": "hayden", - "name": "Hayden Earth Keeper / Ka Resh" - }, - { - "id": "robertson", - "name": "Brian Robertson" - }, - { - "id": "bass", - "name": "Bass Church" - }, - { - "id": "bottner", - "name": "Sam Bottner" - }, - { - "id": "seaz", - "name": "2SeaZ" - }, - { - "id": "larrosa", - "name": "Freddy Larrosa" - }, - { - "id": "iyakuh", - "name": "Iyakuh" - }, - { - "id": "facil", - "name": "Summit Facilitators" - }, - { - "id": "comm", - "name": "Solarpunk Community" - } + { "id": "art-community", "name": "Solarpunk Community" }, + { "id": "art-facilitators", "name": "Summit Facilitators" } ], "events": [ { - "id": "evt-doors", - "title": "Doors Open · Registration", - "description": "Gates open 11 AM Thursday. Sign your venue waiver before arriving to speed check-in.", - "stageId": "stage-main", - "artistIds": ["comm"], - "startUtc": 1791475200000, - "endUtc": 1791489600000, - "dayKey": "2026-10-08", - "tags": ["gate", "registration"], - "status": "scheduled" - }, - { - "id": "evt-air-checkin", - "title": "Arrivals · Check-In · Camp Set-Up", - "description": "Check in and set up camp before opening circle.", - "stageId": "stage-main", - "artistIds": ["comm"], - "startUtc": 1791475200000, - "endUtc": 1791489600000, - "dayKey": "2026-10-08", - "tags": ["camp"], - "status": "scheduled" - }, - { - "id": "evt-air-opening", - "title": "Opening Prayer Circle + Activation", - "description": "The summit begins with a communal opening.", - "stageId": "stage-main", - "artistIds": ["facil"], - "startUtc": 1791489600000, - "endUtc": 1791493200000, - "dayKey": "2026-10-08", - "tags": ["ceremony"], - "status": "scheduled" - }, - { - "id": "evt-air-connection", - "title": "Connection Games", - "description": "Authentic relating and games to meet the village.", - "stageId": "stage-main", - "artistIds": ["facil"], - "startUtc": 1791493200000, - "endUtc": 1791496800000, - "dayKey": "2026-10-08", - "tags": ["connection"], - "status": "scheduled" - }, - { - "id": "evt-air-speakers", - "title": "Speaker Sessions feat. Dr. Jeana Locke", - "description": "Designed to love yourself, and more talks TBC.", - "stageId": "stage-main", - "artistIds": ["jeana", "facil"], - "startUtc": 1791496800000, - "endUtc": 1791502200000, - "dayKey": "2026-10-08", - "tags": ["speakers"], - "status": "scheduled" - }, - { - "id": "evt-air-frequency", - "title": "Frequency of Love Evening · Open Mic", - "description": "Open mic feat. Robert Monahan + featured artists TBC.", - "stageId": "stage-main", - "artistIds": ["monahan"], + "id": "evt-air-day", + "title": "Air Day: Communication and Connection", + "description": "A day focused on personal development, authentic relating, and networking.", + "stageId": "track-air", + "artistIds": ["art-facilitators"], "startUtc": 1791504000000, - "endUtc": 1791512400000, + "endUtc": 1791586800000, "dayKey": "2026-10-08", - "tags": ["music", "openmic"], + "tags": ["theme", "connection", "workshops"], "status": "scheduled" }, { - "id": "evt-air-blouis", - "title": "B. Louis", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["blouis"], - "startUtc": 1791513000000, - "endUtc": 1791517500000, - "dayKey": "2026-10-08", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-air-ghostpipe", - "title": "Ghost Pipe · Closing Set", - "description": "Closing set for Air day.", - "stageId": "stage-main", - "artistIds": ["ghostpipe"], - "startUtc": 1791518100000, - "endUtc": 1791522600000, - "dayKey": "2026-10-08", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-earth-workshops", - "title": "Workshops · Cabana Day Slots", - "description": "Hands-on regenerative skills all morning.", - "stageId": "stage-cabanas", - "artistIds": ["facil"], - "startUtc": 1791547200000, - "endUtc": 1791576000000, - "dayKey": "2026-10-09", - "tags": ["workshops"], - "status": "scheduled" - }, - { - "id": "evt-earth-opening", - "title": "Opening Prayers · Honor the Earth + PlantWave Meditation", - "description": "Morning ceremony.", - "stageId": "stage-main", - "artistIds": ["facil"], - "startUtc": 1791554400000, - "endUtc": 1791601200000, - "dayKey": "2026-10-09", - "tags": ["ceremony"], - "status": "scheduled" - }, - { - "id": "evt-earth-danza", - "title": "Danza · Sayuri + Yolanda", - "description": "Movement and dance.", - "stageId": "stage-main", - "artistIds": ["sayuri"], - "startUtc": 1791558000000, - "endUtc": 1791604800000, - "dayKey": "2026-10-09", - "tags": ["dance"], - "status": "scheduled" - }, - { - "id": "evt-earth-blessing", - "title": "Water Blessing", - "description": "Ceremony at the river.", - "stageId": "stage-river", - "artistIds": ["facil"], - "startUtc": 1791561600000, - "endUtc": 1791565200000, - "dayKey": "2026-10-09", - "tags": ["ceremony", "river"], - "status": "scheduled" - }, - { - "id": "evt-earth-mimi", - "title": "Mimi Daraa · Palo Santo Activation", - "description": "Activation session.", - "stageId": "stage-main", - "artistIds": ["mimi"], - "startUtc": 1791568800000, - "endUtc": 1791571800000, - "dayKey": "2026-10-09", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-earth-murray", - "title": "Murray Kyle", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["murray"], - "startUtc": 1791572400000, - "endUtc": 1791575400000, - "dayKey": "2026-10-09", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-earth-speakers", - "title": "Speaker Sessions · Community Building", - "description": "Billy Tetrud, Jenn Lynn, Joe Hawley, Taelor Monroe + more TBC.", - "stageId": "stage-main", - "artistIds": ["tetrud", "jenn", "hawley", "monroe"], - "startUtc": 1791576000000, - "endUtc": 1791585600000, - "dayKey": "2026-10-09", - "tags": ["speakers"], - "status": "scheduled" - }, - { - "id": "evt-earth-draper", - "title": "Joshua Draper", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["draper"], - "startUtc": 1791585900000, - "endUtc": 1791589500000, - "dayKey": "2026-10-09", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-earth-eveningws", - "title": "Workshops · Cabana Evening Slots", - "description": "Evening workshop block.", - "stageId": "stage-cabanas", - "artistIds": ["facil"], - "startUtc": 1791586800000, - "endUtc": 1791599400000, - "dayKey": "2026-10-09", - "tags": ["workshops"], - "status": "scheduled" - }, - { - "id": "evt-earth-morillo", - "title": "MORiLLO", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["morillo"], + "id": "evt-earth-day", + "title": "Earth Day: Regenerative Culture", + "description": "A day centered on permaculture, sustainable practices, alternative governance, and community connection.", + "stageId": "track-earth", + "artistIds": ["art-community"], "startUtc": 1791590400000, - "endUtc": 1791594900000, + "endUtc": 1791673200000, "dayKey": "2026-10-09", - "tags": ["music"], + "tags": ["theme", "permaculture", "regeneration"], "status": "scheduled" }, { - "id": "evt-earth-rize", - "title": "Nattali Rize", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["rize"], - "startUtc": 1791595800000, - "endUtc": 1791599400000, - "dayKey": "2026-10-09", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-earth-drum", - "title": "Drum Temple", - "description": "Drum circle.", - "stageId": "stage-main", - "artistIds": ["drum"], - "startUtc": 1791600300000, - "endUtc": 1791605700000, - "dayKey": "2026-10-09", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-earth-habitaat", - "title": "HABITAAT · Closing Set", - "description": "Closing set for Earth day.", - "stageId": "stage-main", - "artistIds": ["habitaat"], - "startUtc": 1791606600000, - "endUtc": 1791612000000, - "dayKey": "2026-10-09", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-earth-sacred", - "title": "Sacred Fire Gathering", - "description": "Gathering at the fire circle.", - "stageId": "stage-fire", - "artistIds": ["comm"], - "startUtc": 1791612000000, - "endUtc": 1791619200000, - "dayKey": "2026-10-09", - "tags": ["fire"], - "status": "scheduled" - }, - { - "id": "evt-earth-soundbath", - "title": "Evening Sound Bath", - "description": "Wind-down sound bath.", - "stageId": "stage-hub", - "artistIds": ["facil"], - "startUtc": 1791612000000, - "endUtc": 1791615600000, - "dayKey": "2026-10-09", - "tags": ["soundbath"], - "status": "scheduled" - }, - { - "id": "evt-fire-workshops", - "title": "Workshops · Cabana Day Slots", - "description": "Day workshop block.", - "stageId": "stage-cabanas", - "artistIds": ["facil"], - "startUtc": 1791633600000, - "endUtc": 1791662400000, + "id": "evt-fire-day", + "title": "Fire Day: Innovation and Technology", + "description": "A day exploring innovation, entrepreneurship, technology, and transformative solutions.", + "stageId": "track-fire", + "artistIds": ["art-facilitators"], + "startUtc": 1791676800000, + "endUtc": 1791759600000, "dayKey": "2026-10-10", - "tags": ["workshops"], + "tags": ["theme", "technology", "innovation"], "status": "scheduled" }, { - "id": "evt-fire-opening", - "title": "Opening Prayers · Honor the Fire", - "description": "Morning ceremony.", - "stageId": "stage-main", - "artistIds": ["facil"], - "startUtc": 1791640800000, - "endUtc": 1791687600000, - "dayKey": "2026-10-10", - "tags": ["ceremony"], - "status": "scheduled" - }, - { - "id": "evt-fire-ecstatic", - "title": "Ecstatic Dance · Joshua Swahe", - "description": "Free-form movement.", - "stageId": "stage-main", - "artistIds": ["swahe"], - "startUtc": 1791648000000, - "endUtc": 1791653400000, - "dayKey": "2026-10-10", - "tags": ["dance"], - "status": "scheduled" - }, - { - "id": "evt-fire-zeck", - "title": "Alec Zeck · Daytime DJ Set", - "description": "DJ set on the main stage.", - "stageId": "stage-main", - "artistIds": ["zeck"], - "startUtc": 1791658800000, - "endUtc": 1791662400000, - "dayKey": "2026-10-10", - "tags": ["music", "dj"], - "status": "scheduled" - }, - { - "id": "evt-fire-speakers", - "title": "Speaker Sessions · Technology", - "description": "Matt McKibbin, Poly Nakamoto + more TBC. Agentic energy sovereignty, Meridia microcity.", - "stageId": "stage-main", - "artistIds": ["mckibbin", "nakamoto"], - "startUtc": 1791662400000, - "endUtc": 1791669600000, - "dayKey": "2026-10-10", - "tags": ["speakers", "tech"], - "status": "scheduled" - }, - { - "id": "evt-fire-dinner", - "title": "Dinner · Open Space", - "description": "Community dinner.", - "stageId": "stage-main", - "artistIds": ["comm"], - "startUtc": 1791669600000, - "endUtc": 1791678600000, - "dayKey": "2026-10-10", - "tags": ["food"], - "status": "scheduled" - }, - { - "id": "evt-fire-improv", - "title": "Contact Improv Activation", - "description": "Embodied connection practice.", - "stageId": "stage-main", - "artistIds": ["improv"], - "startUtc": 1791669600000, - "endUtc": 1791675000000, - "dayKey": "2026-10-10", - "tags": ["dance"], - "status": "scheduled" - }, - { - "id": "evt-fire-eveningws", - "title": "Workshops · Cabana Evening Slots", - "description": "Evening workshop block.", - "stageId": "stage-cabanas", - "artistIds": ["facil"], - "startUtc": 1791673200000, - "endUtc": 1791685800000, - "dayKey": "2026-10-10", - "tags": ["workshops"], - "status": "scheduled" - }, - { - "id": "evt-fire-trev", - "title": "Trevmental", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["trev"], - "startUtc": 1791675600000, - "endUtc": 1791677400000, - "dayKey": "2026-10-10", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-fire-marin", - "title": "Sierra Marin", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["marin"], - "startUtc": 1791680700000, - "endUtc": 1791684300000, - "dayKey": "2026-10-10", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-fire-chase", - "title": "Ruby Chase", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["chase"], - "startUtc": 1791684600000, - "endUtc": 1791690000000, - "dayKey": "2026-10-10", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-fire-starfire", - "title": "David Starfire", - "description": "Headline set.", - "stageId": "stage-main", - "artistIds": ["starfire"], - "startUtc": 1791690300000, - "endUtc": 1791695700000, - "dayKey": "2026-10-10", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-fire-bloom", - "title": "Liquid Bloom", - "description": "Late set.", - "stageId": "stage-main", - "artistIds": ["bloom"], - "startUtc": 1791696000000, - "endUtc": 1791701400000, - "dayKey": "2026-10-10", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-fire-soundbath", - "title": "Sound Bath · Wind-Down", - "description": "Closing wind-down.", - "stageId": "stage-main", - "artistIds": ["facil"], - "startUtc": 1791702000000, - "endUtc": 1791705600000, - "dayKey": "2026-10-10", - "tags": ["soundbath"], - "status": "scheduled" - }, - { - "id": "evt-water-workshops", - "title": "Workshops · Cabana Day Slots", - "description": "Day workshop block.", - "stageId": "stage-cabanas", - "artistIds": ["facil"], - "startUtc": 1791720000000, - "endUtc": 1791748800000, + "id": "evt-water-day", + "title": "Water Day: Consciousness and Integration", + "description": "A reflective day devoted to mindfulness, yoga, spirituality, and integrating the summit experience.", + "stageId": "track-water", + "artistIds": ["art-facilitators"], + "startUtc": 1791763200000, + "endUtc": 1791846000000, "dayKey": "2026-10-11", - "tags": ["workshops"], + "tags": ["theme", "wellness", "integration"], "status": "scheduled" }, { - "id": "evt-water-opening", - "title": "Opening Prayers · Honor the Water", - "description": "Morning ceremony.", - "stageId": "stage-main", - "artistIds": ["facil"], - "startUtc": 1791727200000, - "endUtc": 1791774000000, - "dayKey": "2026-10-11", - "tags": ["ceremony"], - "status": "scheduled" - }, - { - "id": "evt-water-sing", - "title": "Sing the Body Electric", - "description": "Eileen McKusick, Isaac + Toral.", - "stageId": "stage-main", - "artistIds": ["mckusick"], - "startUtc": 1791734400000, - "endUtc": 1791738000000, - "dayKey": "2026-10-11", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-water-sage", - "title": "Sage the Mage", - "description": "Set, placement TBC.", - "stageId": "stage-main", - "artistIds": ["sage"], - "startUtc": 1791738600000, - "endUtc": 1791741300000, - "dayKey": "2026-10-11", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-water-hayden", - "title": "Hayden Earth Keeper / Ka Resh", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["hayden"], - "startUtc": 1791745200000, - "endUtc": 1791748800000, - "dayKey": "2026-10-11", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-water-speakers", - "title": "Speaker Sessions feat. Alec Zeck", - "description": "Alec Zeck, Brian Robertson + more.", - "stageId": "stage-main", - "artistIds": ["zeck", "robertson"], - "startUtc": 1791748800000, - "endUtc": 1791756000000, - "dayKey": "2026-10-11", - "tags": ["speakers"], - "status": "scheduled" - }, - { - "id": "evt-water-bass", - "title": "Bass Church", - "description": "Bass music gathering.", - "stageId": "stage-main", - "artistIds": ["bass"], - "startUtc": 1791756000000, - "endUtc": 1791761400000, - "dayKey": "2026-10-11", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-water-eveningws", - "title": "Workshops · Cabana Evening Slots", - "description": "Evening workshop block.", - "stageId": "stage-cabanas", - "artistIds": ["facil"], - "startUtc": 1791759600000, - "endUtc": 1791772200000, - "dayKey": "2026-10-11", - "tags": ["workshops"], - "status": "scheduled" - }, - { - "id": "evt-water-bottner", - "title": "Sam Bottner", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["bottner"], - "startUtc": 1791762000000, - "endUtc": 1791765600000, - "dayKey": "2026-10-11", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-water-seaz", - "title": "2SeaZ", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["seaz"], - "startUtc": 1791766200000, - "endUtc": 1791769800000, - "dayKey": "2026-10-11", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-water-larrosa", - "title": "Freddy Larrosa", - "description": "Live set.", - "stageId": "stage-main", - "artistIds": ["larrosa"], - "startUtc": 1791770400000, - "endUtc": 1791774000000, - "dayKey": "2026-10-11", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-water-iyakuh", - "title": "Iyakuh · Headline Set", - "description": "Final headline set.", - "stageId": "stage-main", - "artistIds": ["iyakuh"], - "startUtc": 1791774600000, - "endUtc": 1791780000000, - "dayKey": "2026-10-11", - "tags": ["music"], - "status": "scheduled" - }, - { - "id": "evt-water-firecircle", - "title": "Fire Circle", - "description": "Closing fire circle.", - "stageId": "stage-fire", - "artistIds": ["comm"], - "startUtc": 1791780000000, - "endUtc": 1791784800000, - "dayKey": "2026-10-11", - "tags": ["fire"], - "status": "scheduled" - }, - { - "id": "evt-ether-open", - "title": "Ether Day · Open Emergent Space", - "description": "No fixed programming. Space to swim, make music, linger, and create what no one planned. Off the property by Tue 11 AM.", - "stageId": "stage-main", - "artistIds": ["comm"], - "startUtc": 1791810000000, - "endUtc": 1791853200000, + "id": "evt-closing", + "title": "Closing and Carry-Forward", + "description": "Closing day for reflection, community, and carrying practical ideas into the world.", + "stageId": "track-water", + "artistIds": ["art-community"], + "startUtc": 1791849600000, + "endUtc": 1791932400000, "dayKey": "2026-10-12", - "tags": ["ether", "open"], + "tags": ["closing", "community"], "status": "scheduled" } ] diff --git a/src/app/styles.css b/src/app/styles.css index bcda178..11c8c78 100644 --- a/src/app/styles.css +++ b/src/app/styles.css @@ -661,14 +661,14 @@ html.dark .app-main__icon { font-size: 0.875rem; font-weight: 600; } -.emergency-fallback { +.emergency-alert { background: var(--emergency); border: 1px solid var(--emergency); border-radius: var(--radius); color: var(--emergency-contrast); padding: 1rem; } -.emergency-fallback h2 { +.emergency-alert h2 { margin-top: 0; } .emergency-service p { diff --git a/src/ui/views/emergency/emergency.ts b/src/ui/views/emergency/emergency.ts index 9c3d47a..c4f10a8 100644 --- a/src/ui/views/emergency/emergency.ts +++ b/src/ui/views/emergency/emergency.ts @@ -130,12 +130,12 @@ export function createEmergencyView( const procedures = detail?.procedures?.length ? detail.procedures : resolved.floor.procedures; const urgent = document.createElement("div"); - urgent.className = "emergency-fallback"; - urgent.append(heading("emergency-call-heading", "Can't reach event help?")); + urgent.className = "emergency-alert"; + urgent.append(heading("emergency-call-heading", "Need immediate help?")); + addService(urgent, "Emergency services", services.emergencyNumber, true); + urgent.append(text("p", "Tap to call. The number is also selectable for copying.")); + section.append(urgent); - // Share first: the practical action (send your location + numbers to your - // group) belongs above the emergency-services number, which the procedures - // now frame as the fallback. const shareBtn = document.createElement("button"); shareBtn.className = "emergency-share-btn"; shareBtn.textContent = "Share emergency info"; @@ -153,11 +153,7 @@ export function createEmergencyView( alert("Copied to clipboard: " + textToShare.slice(0, 80) + "..."); } }; - urgent.append(shareBtn); - - addService(urgent, "Emergency services", services.emergencyNumber, true); - urgent.append(text("p", "Call only when event staff and first aid can't respond. Tap to call.")); - section.append(urgent); + section.append(shareBtn); const contacts = document.createElement("section"); contacts.setAttribute("aria-labelledby", "emergency-services-heading");