Compare commits
21 Commits
30c29c6fe2
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| b35ea39f86 | |||
| 26597e46c6 | |||
| 8f9d9801c0 | |||
| 161d1d7cf3 | |||
| e2398ea220 | |||
| 9a2984c1a8 | |||
| f466ca76c8 | |||
| 24c918b938 | |||
| 2843b69a51 | |||
| 8eeabfb5d4 | |||
| 36860c2bc5 | |||
| 8fe5b592f3 | |||
| f1ce04713c | |||
| e9276d641f | |||
| b573223577 | |||
| a3e53c69d9 | |||
| 9d6d29f0bd | |||
| b2ba54c32e | |||
| eea236749a | |||
| 14743b57de | |||
| 035289cace |
@@ -22,6 +22,8 @@ Weekly coding recaps from Gitea repos (brain excluded, noise filtered).
|
||||
- [[2026-W26|W26 Jun 23-29]] - 10 commits - Mp3Player + McpScreen apps
|
||||
- [[2026-W27|W27 Jun 30-Jul 06]] - 0 commits - docs/planning week
|
||||
- [[2026-W28|W28 Jul 07-13]] - 5 commits - BibleVerse editorials v6, BookPlayer, Mp3Player fixes
|
||||
- [[2026-W29|W29 Jul 14-20]] - 52 commits - GameBoy canvas fixes, RLCD/mDNS, audio-stream pipeline, Apple 3B LLM ANE
|
||||
- [[2026-W30|W30 Jul 20-26]] - 46 commits - audio/pipeline + ImmichElias app push, ES3C35P board
|
||||
|
||||
## Repos Tracked
|
||||
- tactility / tactility_apps / mcp_screen / reyna-cli / mac_mcp / eink-* / EMI-Backend / EMI-web / EMI-ExpoAPP / immich-emi / etc (21 total, auto-discovered via clone list)
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
Date: 2026-07-14 to 2026-07-20
|
||||
Author: Hermes
|
||||
Tags: [coding-recap, weekly, iso-2026-W29]
|
||||
Week: 2026-W29
|
||||
Commits: 52
|
||||
ActiveRepos: 4
|
||||
---
|
||||
|
||||
# Weekly Coding Recap - 2026-W29 (2026-07-14 to 2026-07-20)
|
||||
|
||||
## Summary
|
||||
- **Total commits:** 52 coding commits (brain excluded, noise filtered)
|
||||
- **Active repos:** 4
|
||||
- **Repos:** tactility (33), tactility_apps (16), mac_mcp (2), whisper-translation (1)
|
||||
|
||||
## Highlights by Repo
|
||||
|
||||
### tactility (33 commits)
|
||||
- 2fbc4446 2026-07-20 Device migrations, driver migrations and more (#575)
|
||||
- 68766cdb 2026-07-20 feat(files+gb): file browser launches .gb via GameBoy, preserve mDNS
|
||||
- 75178652 2026-07-20 feat(lvgl+mdns): complete canvas API + fix GB blank render + mDNS browse API
|
||||
- ff3eeaca 2026-07-20 feat(lvgl-module): complete canvas API export for GameBoy emulator
|
||||
- 80bd1c9f 2026-07-19 fix(bluetooth): auto-reconnect to paired devices after reboot
|
||||
- f94cc160 2026-07-19 feat(app): allow external apps to hide statusbar via manifest flags
|
||||
- 2d768ef3 2026-07-19 ESP-NOW bridge for P4 (#573)
|
||||
- bd30aa04 2026-07-19 Add ES3C28P device (#569)
|
||||
- 84cd73e5 2026-07-18 fix(rlcd): wifi crash - use wifi-pinned disabled like other boards
|
||||
- 60764979 2026-07-18 feat(mdns): restore mDNS + hostname kidsOS-XXXX
|
||||
- 213ad7ee 2026-07-18 Merge branch 'feature/rlcd-upstream-main' into feature/mcp-rlcd-custom
|
||||
- 1a96307d 2026-07-18 feat(rlcd): Waveshare ESP32-S3-RLCD-4.2 support on latest main
|
||||
- ... and 21 more
|
||||
|
||||
### tactility_apps (16 commits)
|
||||
- 4ff787f 2026-07-20 fix(GameBoy): I2 2bpp 5.6KB internal canvas fixes black screen after reboot (L:144 FPS:40)
|
||||
- 6d9001f 2026-07-20 feat(RobotArm): mDNS auto-connect, connecting screen, scroller fix
|
||||
- 653ad89 2026-07-20 fix(GameBoy): FPS but no game - cache invalidation bug
|
||||
- e4d1d35 2026-07-20 feat(GameBoy): restore integer scaling using full canvas API
|
||||
- 7c3c4ad 2026-07-19 feat(pocketdungeon): fullscreen HideStatusBar + v0.1.2
|
||||
- 2a45c98 2026-07-19 feat(pocketdungeon): intro GOAL+CONTROLS left icons right + 2x2 tutorial levels
|
||||
- 25b966a 2026-07-20 Add EspNowBridge + updates for Audio System (#36)
|
||||
- b2e9046 2026-07-18 fix(audio): ensure mic unmuted and max gain on record - ES8311
|
||||
- f07d347 2026-07-18 fix(voicerecorder): add missing CMakeLists + manifest 0.8.0-dev - audio-stream fix
|
||||
- 8f46e03 2026-07-18 fix(audio): use audio-stream instead of direct I2S - fixes fast playback
|
||||
- 6eb032c 2026-07-17 Restore GameBoy canvas path and FPS marker
|
||||
- 7121009 2026-07-17 feat(RobotArm): cute MCP arm controller with 2x tall sliders, sequencer colored blocks, smooth move_all_joints
|
||||
- ... and 4 more
|
||||
|
||||
### mac_mcp (2 commits)
|
||||
- 78ff3cb 2026-07-14 feat: Apple on-device 3B LLM MCP tools (FoundationModels ANE)
|
||||
- 8ab360c 2026-07-14 feat: live draft pipe transcription (ApplePipeTranscriber --pipe volatile)
|
||||
|
||||
### whisper-translation (1 commits)
|
||||
- 354cacd 2026-07-14 feat: ksay — Kokoro 82M local TTS replaces say (4x RTF, offline, 9 voices)
|
||||
|
||||
## Themes
|
||||
- Focus: Mp3Player/app work, audio pipeline, MCP/voice, Tactility drivers
|
||||
|
||||
## Metrics
|
||||
- 52 commits across 4 repos
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
Date: 2026-07-20 to 2026-07-26
|
||||
Author: Hermes
|
||||
Tags: [coding-recap, weekly, iso-2026-W30]
|
||||
Week: 2026-W30
|
||||
Commits: 46
|
||||
ActiveRepos: 2
|
||||
---
|
||||
|
||||
# Weekly Coding Recap - 2026-W30 (2026-07-20 to 2026-07-26)
|
||||
|
||||
## Summary
|
||||
- **Total commits:** 46 coding commits (brain excluded, noise filtered)
|
||||
- **Active repos:** 2
|
||||
- **Repos:** tactility (26), tactility_apps (20)
|
||||
|
||||
## Highlights by Repo
|
||||
|
||||
### tactility (26 commits)
|
||||
- 5643ba5a 2026-07-24 Add ES3C35P board support
|
||||
- 642847be 2026-07-21 fix(mcp): implement startMcpScreensaver - missing method caused linker error
|
||||
- 0367b95f 2026-07-19 feat(app): allow external apps to hide statusbar via manifest flags
|
||||
- 17773825 2026-07-18 fix(audio): ES8311 BOTH complementary open + audio-stream close ref-count + mic unmute
|
||||
- 3115a685 2026-07-18 fix(files): launch mp3 player from file explorer - audio support
|
||||
- ad4a15dc 2026-07-21 feat(mcp): restore MCP service with display charging toggle
|
||||
- 29e80cfd 2026-07-24 T-Deck Max & Pro support updates (#582)
|
||||
- 42912573 2026-07-23 Add drivers to module and make start/stop optional (#580)
|
||||
- 08eac48e 2026-07-23 Fix Tab5 Display Issues (#579)
|
||||
- 8b92aa8e 2026-07-22 GPIO descriptor fixes (#578)
|
||||
- a3fda9ad 2026-07-22 Device migrations and driver improvements (#576)
|
||||
- c937bb31 2026-07-21 fix(mcp): implement startMcpScreensaver - missing method caused linker error
|
||||
- ... and 14 more
|
||||
|
||||
### tactility_apps (20 commits)
|
||||
- 6a1fe5d 2026-07-25 feat(ImmichElias): add person selector like Bible books, 4 persons Elias/Grace/Alicia/Adolfo, picker UI with toolbar, pl
|
||||
- d06f8dd 2026-07-25 fix(ImmichElias): black screen fix, 320x240 request for PSRAM stability (480x320 OOM), fullscreen widget 480x320 bg, bot
|
||||
- a2bb8e5 2026-07-25 feat(ImmichElias): 2x render 480x320 fullscreen bg, display detection, bottom-only UI, PSRAM
|
||||
- 9ee0599 2026-07-25 fix(ImmichElias): black screen fix, 240x180 request for PSRAM memory safety, fullscreen bg widget 480x320, bottom-only U
|
||||
- c3689e8 2026-07-25 fix(ImmichElias): black screen fix, clear hidden flag, fullscreen 480x320 bg, bottom-only UI tap toggle, filter VIDEO, r
|
||||
- 4c71c77 2026-07-25 fix(ImmichElias): show >50 photos via random pagination, filter IMAGE only, increase to 100, JSON 128KB, slideshow + cac
|
||||
- 0595e14 2026-07-25 fix(ImmichElias): bottom-only UI like Bible, fullscreen 480x320 bg, tap toggles chrome, PSRAM, random, cache with offlin
|
||||
- 9952973 2026-07-25 fix(ImmichElias): bottom-only UI like Bible, fullscreen bg, tap to toggle chrome, dynamic 480x320, cache, random, slides
|
||||
- 349034b 2026-07-25 fix(ImmichElias): fullscreen background 480x320, BookPlayer UI, no crop when hidden, PSRAM for images, random, cache off
|
||||
- 3085bac 2026-07-25 fix(ImmichElias): merge dynamic sizing 480x320 + crash fix, BookPlayer UI, random, cache offline, slideshow 60s
|
||||
- b03cb2b 2026-07-25 fix(ImmichElias): PNG via resize proxy 8106 for real photos, fixes WebP crash, device 133 yellow case
|
||||
- 3a2e6f3 2026-07-25 feat(ImmichElias): implement Elias photo browser client
|
||||
- ... and 8 more
|
||||
|
||||
## Themes
|
||||
- Focus: Mp3Player/app work, audio pipeline, MCP/voice
|
||||
|
||||
## Metrics
|
||||
- 46 commits across 2 repos
|
||||
|
||||
@@ -6,14 +6,25 @@ Type: Primary Residence
|
||||
# 🏠 220 Emerald Maintenance Log
|
||||
This document tracks maintenance and supplies for the home at 220 Emerald.
|
||||
|
||||
## Church Use — Elders Meeting 2026-07-21
|
||||
Captured 2026-07-23. Full notes in journals/2026-07-22 and projects/220_emerald_church_hosting_preparation_2026.md
|
||||
- Property: main house church room extension + little house + barn
|
||||
- Purchase: Alicia spotted, bought on faith while church was looking for space, barn seen as provision; previous home paid off/rented, new mortgage higher but covered
|
||||
- Barn for Sunday services: consensus NO for now — residential zoning needs public-gathering permit/rezoning (Alberto noted left 3rd St over same), noise/neighbor concern
|
||||
- $30k insulation/restroom estimate: Ap. David Clemetson questioned as not justified short-term (possible move 6-12 mo); suggested low-cost residential uses: worship practice partitioned, recording space, hangout/coffee bar for small gatherings/intercession; questioned fans vs extractor, pro source
|
||||
- Adolfo requests (comfort/upkeep): fans (heat/mosquitoes Sat prayer), consistent cleaning, drinking water, toiletries, bathroom logistics (only 1 far), belongings guidance, more communication/inclusion; asked about summer prayer in cooler church room — elders avoided to protect family space
|
||||
- Tone: David Hewitt apologized for expenses/communication; Ap. David said not personal failure, gap was communication; deep appreciation
|
||||
- Open: 4 ceiling fans under discussion, central AC ~$7200 quote (Alberto 2nd estimate), mini-split extension may not be needed after central, barn on little house meter 220 service, Adolfo to be included in future planning, long-term leaning community-engaging location
|
||||
|
||||
## 💧 Water Filtration System
|
||||
- **Peroxide & Salt Pellets**
|
||||
- **Last Service:** 2026-06-05 (Added 10 bottles peroxide and 2 bags salt pellets)
|
||||
- **Last Service:** 2026-07-16 (Added 10 bottles peroxide and 2 bags salt pellets)
|
||||
- **Check Cycle:** Monthly (Avg. refill every 1.5 months)
|
||||
- **Next Check Due:** 2026-07-25
|
||||
- **Current Status:** Replenished on 2026-06-05; family later noted April 25 as the relevant date for the 90-day follow-up cadence.
|
||||
- **Next Action:** Check peroxide and salt pellet levels around 2026-07-25
|
||||
- **Next Check Due:** 2026-08-16
|
||||
- **Current Status:** Replenished on 2026-07-16 with usual amount: 10 bottles peroxide and 2 bags salt pellets.
|
||||
- **Next Action:** Check peroxide and salt pellet levels around 2026-08-16.
|
||||
- **Service History:**
|
||||
- 2026-07-16: Added usual amount to water filtration system — 10 bottles peroxide and 2 bags salt pellets.
|
||||
- 2026-06-05: Added 10 bottles peroxide and 2 bags salt pellets.
|
||||
- 2026-04-26: Added 2 bags salt pellets; peroxide purchase pending.
|
||||
- 2026-04-25: Family noted this as the relevant date for the 90-day/3-month follow-up reminder.
|
||||
|
||||
@@ -24,6 +24,8 @@ Tags: [areas, maintenance, household, admin, tasks]
|
||||
- [ ] Verify Neptune flood insurance autopay processed for $870.23 and coverage renewed for 220 Emerald after July 22, 2026. Renewal policy TNF4366115; expiring policy TNF4093986; premium notice invoice 1821199; coverage through August 21, 2027. See [[220_emerald_flood_insurance]]. (Captured 2026-06-15, A Reyna)
|
||||
- [ ] Verify 220 Emerald homeowners insurance renewal is paid before 2026-08-06. Policy OIH0012918 with Orange Insurance Exchange / Cabrillo; full pay $6,703.55; minimum due $2,202.40; bill says FILO Mortgage LLC has been invoiced and renewal does not include flood coverage. See [[220_emerald_homeowners_insurance]]. (Captured 2026-06-23, A Reyna)
|
||||
- [x] Automate weekday 8:30 PM reminder: read a book, relax, sleep. (Captured 2026-05-27, A Reyna; Hermes cron created 2026-05-29)
|
||||
- [ ] Email host/house-room and barn needs to the church meeting. Include minisplit in the church room, AC units in the barn, windows, and restroom. (Captured 2026-07-18 from reMarkable Journal2026 page 143687d3-cdb7-48b9-be7f-325429026b66)
|
||||
- [ ] Email the board meeting ASAP. (Captured 2026-07-18 from reMarkable Today's Goals page 13db92a6-3ca4-464c-b615-f5204537e973)
|
||||
|
||||
## Source
|
||||
- [[weekend_todos_2026-05-16]]
|
||||
|
||||
@@ -6,6 +6,7 @@ Tags: [plants, maintenance, household]
|
||||
# Plant Care
|
||||
|
||||
## Feeding Log
|
||||
- 2026-07-18: Plants fed yesterday. Logged 2026-07-19 from Adolfo’s WhatsApp update.
|
||||
- 2026-07-03: Plants fed today. Start of two-month every-two-weeks feeding reminder cycle.
|
||||
|
||||
## Reminder Plan
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 45 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 72 KiB |
@@ -0,0 +1,32 @@
|
||||
# Ari / Sardius Follow-up — Action Required
|
||||
|
||||
Date captured: 2026-07-27T03:22 UTC (from reMarkable Journal2026 July 23 notes)
|
||||
Reminder created: Apple Reminders due 2026-07-27 09:00 UTC
|
||||
Contact: Ari Burt — Sardius Media Co-founder — 816-541-6258
|
||||
Apple ID: 617554FC-2550-4CDB-9D71-88A2B3E7A1B6
|
||||
|
||||
## Context
|
||||
Meeting July 23, 2026 with Ari + Markos — workflow strategist.
|
||||
Tagline: "Build your entire broadcast universe"
|
||||
|
||||
What Sardius offered:
|
||||
- Live events / encoders / distribution to multiple video sites
|
||||
- AI auto-transcription, keywords, summaries, searchable library
|
||||
- Multitrack interpretation (32 lang noted, 16 audio streams best)
|
||||
- **Generous offer: free use of product** -> ACCEPT
|
||||
|
||||
## TODO
|
||||
- [ ] Board report on tech/digital ministry (referenced in July 23 board meeting script)
|
||||
- [ ] Contact Ari to accept free product offer — say Thank You, ask how to get started / next steps for free usage
|
||||
- [ ] Discuss: workflow templates/documentation, volunteer professionalism/motivation, AI translation standard, long-term media archive (several years)
|
||||
- [ ] Budget planning for onsite visit — he is willing to come once we have a place
|
||||
- [ ] Invite to EMI Family Gathering — cover hotel + flight
|
||||
|
||||
## Notes to mention when calling
|
||||
- Mention Family Gathering invite
|
||||
- App - Video - Website bundle interest
|
||||
- Boxed content courses (Joyce Meyer example)
|
||||
- Apple Livestream distribution
|
||||
- Our current: Subsplash, OBS recording, WorshipTools, ATEM Mini, ProPresenter alpha channels, same cameras same settings, 2 cams 1 stick
|
||||
|
||||
Source: reMarkable Journal2026 pages 9a137b32 + a258d4d6 + e70bb366 transcribed via vision 2026-07-27
|
||||
@@ -0,0 +1,48 @@
|
||||
# reMarkable 2026-07-23 + 2026-07-26 + 2026-07-27 notes
|
||||
|
||||
Date: 2026-07-26/27 UTC processed
|
||||
Doc: Journal2026 (62bb631a-6733-4d19-9f06-7950fbf744c0)
|
||||
Pages: e70bb366, 9a137b32, a258d4d6
|
||||
|
||||
## July 26 2026 - Test to Hermes
|
||||
Hermes: I'll time you, to see how long it takes for you to notice this message. Say Hi on our whatsapp DM.
|
||||
=> ACKED 2026-07-27T03:15:39Z
|
||||
|
||||
## July 23 2026 - Meeting with Ari (Sardius Media workflow strategist) + Markos
|
||||
- Cofounder Sardius Media - "Build your entire broadcast universe"
|
||||
- What they do: Live events, Encoders, Distribution to multiple video sites, AI auto-transcription/keywords/summaries, searchable video library, multitrack interpretation support
|
||||
- Questions discussed: workflow design/documentation software/templates, volunteer professionalism/motivation, AI automatic translation current standard (in-person), when simple docs/worship tools insufficient -> upgrade, long-term media storage (several years)
|
||||
- Special: Boxed Content Courses (Joyce Meyer example), Apple Livestream, Free services - App, Video, Website
|
||||
- Lang Automation: 32 lang (13 16th is double), Live: Not AI caption at the time, Text cheap, Best is 16 audio stream captions - supply only one lang
|
||||
- Audio: Mix-Minus, Embedding encoder with multiple Aux Buss audio tracks
|
||||
- Hardware: MediaKind, Elementals 4K, OBS Single Pass encoding, v-Mix new encoder at CS
|
||||
- Workflow: Everyone uses ProPresenter with alpha channels into switcher, Good light, Same cameras same settings, 2 camera, 1 person on stick
|
||||
- Next: Willing to come once we have a place, need budget, Invite to Family Gathering (cover hotel+flight)
|
||||
- Contact: Ari 816-541-6258
|
||||
- Hermes task: Report of meeting + things Ari offered
|
||||
|
||||
## Other page - Church space planning (undated, near July 23-26)
|
||||
- Reason why not for Sunday: Permit -> Not sure if zone allows
|
||||
- How we see church using space
|
||||
- Alberto has A/C reference
|
||||
- Apologize for lack of: Assistance and Contributing
|
||||
- Reality expense too high
|
||||
- Question: How much would not be too much?
|
||||
- Facilitate: Hang out spot, Part can be sealed
|
||||
|
||||
Sources: cache PNGs verified vision 2026-07-27T03:15:39Z UTC
|
||||
|
||||
---
|
||||
## 2026-07-27 23:40 UTC - Drawing: Couch Study (from photo)
|
||||
Doc: Quick sheets (c7b89b36-458b-40f5-968c-8baba7f5164b) Page: 4ce14279-e10e-4011-a8a1-057fc74703a5
|
||||
Reference photo: beige slipcovered sofa under window with blinds, chunky white throw + gray pillow + black remote, side table left, abstract rug foreground.
|
||||
Drawing description (vision 2026-07-27T23:42Z):
|
||||
- Black ink line-art sofa front view, top 40% of vertical canvas, bottom 60% blank
|
||||
- Components: 2 back cushions, 2 seat cushions, 2 boxy arms, long base kickplate
|
||||
- Style: loose gesture, multiple overdrawn wobbly strokes, thin outline + thick marker fill for shadows (between cushions, arm corners, outer edges)
|
||||
- No text, pure drawing, quick 1-2 min sketch, beginner style
|
||||
User note: "I tried to draw my couch" - showed photo via WhatsApp DM.
|
||||
Progress tracking: First representational furniture study tracked. Wants Hermes to keep engaged asking for latest drawing picture to track art progress (pref set July 26 2026).
|
||||
Feedback given: Encouraged, noted success capturing boxy form + shadow crevices, suggested next iteration: add window rectangle above + blanket wobbly shape for depth.
|
||||
PNG: /home/adolforeyna/remarkable-logger/cache/c7b89b36-458b-40f5-968c-8baba7f5164b/4ce14279-e10e-4011-a8a1-057fc74703a5.png
|
||||
Processor: Hermes DM via WhatsApp 2026-07-27T23:42Z
|
||||
@@ -0,0 +1,39 @@
|
||||
# Tic Tac Toe with Adolfo
|
||||
|
||||
Date: 2026-07-27T03:41 UTC
|
||||
Source: Journal2026 e70bb366 - July 26th 2026
|
||||
|
||||
## Game History
|
||||
|
||||
### Move 1 - Adolfo writes #o (O in top-right)
|
||||
Board representation: # is 3x3 grid
|
||||
```
|
||||
| | O
|
||||
---+---+---
|
||||
| |
|
||||
---+---+---
|
||||
| |
|
||||
```
|
||||
Adolfo: "Confirm you got this instructions by doing the next play: #o"
|
||||
|
||||
### Move 2 - Hermes plays X center (best defense/opening)
|
||||
```
|
||||
| | O
|
||||
---+---+---
|
||||
| X |
|
||||
---+---+---
|
||||
| |
|
||||
```
|
||||
Hermes: X in center.
|
||||
|
||||
Next: Adolfo's turn.
|
||||
|
||||
## Rules
|
||||
- # = board
|
||||
- o/O = O player (Adolfo)
|
||||
- x/X = X player (Hermes)
|
||||
- Tracking here to persist across sessions
|
||||
|
||||
## Preference
|
||||
- User wants Hermes to keep engagement by asking for latest drawing picture to track progress as artist.
|
||||
|
||||
@@ -4,6 +4,11 @@
|
||||
- [[EMI Media Outreach and YouTube Strategy]]: Build an EMI-branded global content outreach system for the message of the Kingdom.
|
||||
- [[Livestream and Video Generation Process]]: Document current livestream/video workflow and prepare for media producer advice.
|
||||
- [[EMI Livestream and Media Workflow Report for Ari / Sardius]]: Shareable first-draft brief focused on workflow architecture, translation, archive/search, and AI-assisted media production.
|
||||
- [[Church Worship Graphics Generator]]: AI phrase-to-lower-third graphics generator for worship phrases → OBS — MVP built July 23 2026
|
||||
- [[Board Meeting History 2024-2026]]: Chronological EMIC FL board minutes history from email review
|
||||
- [[Board Meeting Minutes May 18 2026]]: Roll call, financials, facilities actions
|
||||
- [[Board Meeting Script July 23 2026]]: Formal agenda + word-for-word president script with bylaws citations
|
||||
- [[Bylaws Summary Dec 30 2024]]: 35-page consolidated bylaws summary + PDF in resources/bylaws
|
||||
- [[reMarkable Hermes Communication App]]: Tablet/Hermes communication app over reMarkable Paper Pro.
|
||||
- [[Grace Poppy Storybook Image Voice App]]: Document the Grace/Poppy image-generation and narration playback workflow, with next steps for a triggerable app and correction pipeline.
|
||||
- [[PARA Brain MCP Server]]: Server-side MCP/search layer for the Reyna family brain.
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# 2026-07-22
|
||||
|
||||
## Elders Meeting with Adolfo Reyna — Summary
|
||||
|
||||
**Date:** Yesterday (2026-07-21) — captured 2026-07-23
|
||||
**Location:** Discussion about 220 Emerald property
|
||||
**Participants:** Elders including David Hewitt, Apostle David Clemetson, Alberto, others; Adolfo Reyna
|
||||
**Context:** Elders invited Adolfo to hear his heart about the church's use of his family's newly purchased property (main house with the "church room" extension, the little house, and the barn).
|
||||
|
||||
---
|
||||
|
||||
### How the purchase came about
|
||||
- While at their previous home, Adolfo and Alicia felt an opening from the Lord; Alicia spotted the house, and knowing the church was looking for a space, they bought it on faith — seeing the barn and extra buildings as possible provision.
|
||||
- They've since opened the church room (youth meetings, events) and offered the barn fully.
|
||||
- **Financially, no burden:** The previous home is paid off and rented; the new mortgage is somewhat higher but covered.
|
||||
|
||||
### Feasibility of Sunday services in the barn
|
||||
- **Consensus: No, at least for now:**
|
||||
- Residential zoning would require a public-gathering permit and likely a rezoning process — Alberto noted the church left the 3rd Street location over exactly these permit burdens.
|
||||
- Noise and neighbor relations are a real concern given how the congregation worships.
|
||||
- Size itself isn't the issue; the permit is.
|
||||
|
||||
### Cost concerns (Apostle David Clemetson)
|
||||
- Pushed back on roughly **$30,000 estimate for insulation and restrooms**: the barn can't be a long-term gathering place, so a large investment there is hard to justify, especially if the church needs to move within 6–12 months.
|
||||
- Suggested lower-cost configurations that stay within residential use — a partitioned area for worship team practice, a recording space, or a furnished social/hangout spot with a coffee bar for smaller gatherings and intercession.
|
||||
- Also questioned whether ceiling fans are the right fix versus an extractor-type system, and asked whether that recommendation came from a professional.
|
||||
|
||||
### Adolfo's requests
|
||||
Mostly short-term comfort and upkeep rather than money:
|
||||
- **Fans** — heat and mosquitoes make Saturday morning prayer uncomfortable
|
||||
- **Consistent cleaning, drinking water, toiletries** for church-hosted events
|
||||
- **Bathroom logistics** — only one, and it's all the way at the house
|
||||
- **Guidance** on whether his stored belongings are in the way
|
||||
- **More communication and inclusion** in the church's plans
|
||||
- He also asked whether summer prayer could move to the cooler church room; the elders explained they'd avoided that to protect the family's space.
|
||||
|
||||
### Tone and acknowledgments
|
||||
- **David Hewitt** apologized on behalf of the elders for not contributing to the added expenses and for the slow communication.
|
||||
- **Apostle David Clemetson** emphasized that Adolfo shouldn't carry the burden of provisioning as a personal failure, and that the gap has been communication rather than lack of thought. Both expressed deep appreciation for the family's provision.
|
||||
|
||||
### Open items
|
||||
- No definitive long-term plan; focus leaning toward finding a place that engages the community
|
||||
- Four ceiling fans under discussion for the barn
|
||||
- **Central AC replacement** for the main house (~$7,200 quote); Alberto to refer another company for a second estimate; a mini-split for the extension room may not be needed once the central unit is replaced
|
||||
- Barn runs off the little house's meter and has **220 service**
|
||||
- Adolfo to be included in future planning conversations
|
||||
|
||||
---
|
||||
**Source:** Adolfo Reyna personal notes from elders meeting — recorded 2026-07-23
|
||||
**Related:** [[220 Emerald Church Hosting Preparation 2026]] | [[areas/maintenance/220_emerald]]
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
Date: 2026-07-25
|
||||
Author: Hermes
|
||||
Tags: [journal, family, outing, hollywood, fll]
|
||||
---
|
||||
|
||||
# 2026-07-25 - Mom pickup FLL + Hollywood day
|
||||
|
||||
## Original Plan (from group conversation 2026-07-14 / brainstormed 2026-07-24)
|
||||
- 11:00 AM pickup mom at FLL.
|
||||
- Hollywood Florida day: 3 adults, 2 children (Grace 5? Actually 5-8 range - Grace 5, Elias 8-ish).
|
||||
- Lunch options: Sahara International Pizza (Lebanese, quieter AC) OR LandShark Bar & Grill (Margaritaville, ocean view, family-friendly, easier logistics) OR similar Le Tub Saloon.
|
||||
- After lunch: walk Hollywood beach boardwalk (2.5 miles, but do short segment Garfield -> Bandshell -> Margaritaville).
|
||||
- Then beach or park: Google recommended Charnow Park (north end, small playground, calmer beach). Better upgrade: ArtsPark at Young Circle (shaded playground + FREE splash pad) OR Harry Berry Park (newer playground shade).
|
||||
- Water parks close by: Top pick Castaway Island at T.Y. Park (Topeekeegee Yugnee) in Hollywood - 5 min boardwalk, 20 min FLL, cheap county park, lazy river, kid slides. 2nd Paradise Cove at C.B. Smith Park (Pembroke Pines). 3rd Tidal Cove Waterpark at JW Marriott Miami Turnberry (Aventura, expensive day pass $50-70).
|
||||
- Final recommended flow: 11am FLL -> 11:45 lunch Sahara/LandShark -> 1-3:30pm T.Y. Castaway water park (beat heat) -> 3:45-5pm Hollywood boardwalk ice cream + Charnow toe-dip when cooler.
|
||||
- Flamingo Gardens: worth it generally (Davie, 60 acres, flamingos, tram, shaded oaks, ~$24 adult), but SKIP for this hot day - save for cooler morning Sunday/Monday 9:30-12.
|
||||
- Pack list: sunscreen, hats, water bottles, change of clothes for kids (splash pad), small beach towel, cash for parking $10-20, water shoes.
|
||||
|
||||
## Why it wasn't calendared
|
||||
- Group conversation on July 14/24 was treated as brainstorming advice. Assistant asked "Want me to save...?" but did not create Family calendar events. Family brain had no auto-rule to calendar group fun plans.
|
||||
- User called out July 25 that it should have been on calendar.
|
||||
- Action: Created ICS fallbacks 2026-07-25 and journaled. Mac mini calendar bridge was down (192.168.68.102:7331 connection refused) when retrying, so ICS files generated.
|
||||
|
||||
## ICS Files
|
||||
- /tmp/fll_pickup_mom_20260725.ics — 11am-12pm FLL pickup
|
||||
- /tmp/hollywood_day_20260725.ics — 12pm-5pm Hollywood lunch + boardwalk + water park
|
||||
|
||||
## Next Improvement
|
||||
- Auto-create tentative Family calendar events when group conversation includes a date/time + outing, even if phrased as question. Ask for confirmation after creating, don't wait.
|
||||
|
||||
Related: [[maine_wedding_geena_2026]] (travel example), [[family_habits]]
|
||||
@@ -0,0 +1,39 @@
|
||||
# 2026-07-26 — Journal2026 transcription from reMarkable
|
||||
|
||||
Date: July 26th, 2026 (written nightly, processed 2026-07-27T03:40Z UTC)
|
||||
Source: Journal2026 e70bb366 — 728 lines, from Paper Pro 192.168.68.132
|
||||
Transcribed via vision + fresh .rm pull
|
||||
|
||||
## Transcription
|
||||
|
||||
July 26th, 2026.
|
||||
|
||||
Hermes: I'll time you, to see how long it takes for you to notice this message. Say Hi on our whatsapp DM.
|
||||
|
||||
Today was Sunday. A special one, and continuation of the hard weeks with Elias being sick for the most part of it.
|
||||
|
||||
I worked on a couple apps on the Esp32 devices and today Elias listen 3 episodes of his podcast in there. Maybe a cool thing would be to ask him questions about the seasons, like trivia.
|
||||
|
||||
I started working on a book for learning how to draw. My Initial goal was to use it as curriculum for Grace, for art. But it seems she is not into the heavy text. The kids do good on art tutorials on Youtube, so maybe something more practical could do the trick.
|
||||
|
||||
My mother in-law is here with us, since yesterday.
|
||||
|
||||
Hermes: keep me engage ask for my latest drawing picture, that would also keep a track at my progress as an artist. :) Confirm you got this instructions by doing the next play: #o
|
||||
|
||||
## Notes/Hermes processing
|
||||
|
||||
- Elias sick — hard week continued through Sunday
|
||||
- ESP32 apps — Elias listened to 3 podcast episodes on device
|
||||
- Idea: trivia questions about seasons for Elias podcast app — good engagement hook
|
||||
- Drawing book for Grace: heavy text not working, kids prefer YouTube art tutorials practical approach — pivot needed
|
||||
- Mother-in-law arrived July 25
|
||||
- Instruction: keep engagement asking for latest drawing picture, track progress as artist
|
||||
- Tic-tac-toe challenge issued — responded X center
|
||||
|
||||
## Actions
|
||||
- [x] Acked timing test (8 mins from 03:10:38Z)
|
||||
- [x] Played #o -> next board with X center
|
||||
- [ ] Ask for drawing picture (doing now)
|
||||
- [ ] Consider trivia feature for Elias ESP32 app
|
||||
- [ ] Consider practical art tutorial format vs heavy text for Grace book
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# 2026-07-27 — Today's Goals + Journal updates
|
||||
|
||||
Source: Today's Goals f0fb173e + Journal2026 e70bb366 live UDP edits 03:10-03:38 UTC
|
||||
Processed: 2026-07-27T03:41Z
|
||||
|
||||
## Today's Goals (1660336b — 291KB latest)
|
||||
|
||||
July 21st, 2026:
|
||||
- Start NIS Experiments to optimize for Tao
|
||||
- 1 Pager document for CIP Push Unified Cooldown
|
||||
- Read Reports for other Async Optimizations
|
||||
|
||||
July 24rd, 2026:
|
||||
- Restart Unified Cooldown experiment with 3 arms: Control (removing Delay), Test 1, 2 - Unified and Unified + Subtype Boosting
|
||||
|
||||
July 26th Tactility Apps:
|
||||
- Discovery Mountain: Cache works weird and fast, played ep and progress seems lost, After download app reloads catalog and season is lost.
|
||||
- Immich App: Should not have Elias on names, Initial screen to select person needs fixing on scrolling, Should allow making a photo a favorite, Maybe allow collections like trips.
|
||||
- Robot Arm: Plain scrolling is still broken, Should update driver with custom PID for each joint.
|
||||
|
||||
## Status
|
||||
- Pulled fresh RM files 2026-07-27 03:39 UTC — rendered new PNGs because old caches stale
|
||||
- UDP logger shows live writing ongoing (size growing)
|
||||
@@ -55,6 +55,65 @@ Prepare the 220 Emerald property to host church events by aligning with the Elde
|
||||
|
||||
## Next Action
|
||||
- [ ] Send Elder outreach email and request planning meeting.
|
||||
- [ ] Prepare for zoom meeting with elders on 2026-07-20 at 7:00 PM ET to discuss the barn / church hosting plan.
|
||||
|
||||
## Meeting Log
|
||||
- 2026-07-19: Scheduled meeting for 2026-07-20 7:00 PM ET — zoom with elders to talk about the barn. Source: Adolfo WhatsApp.
|
||||
- 2026-07-21: Elders meeting with Adolfo Reyna at property — full summary recorded in journal 2026-07-22. Key outcomes: barn not feasible for Sunday services due to residential zoning / permit + noise concerns; $30k insulation/restroom estimate questioned by Ap. David Clemetson as not long-term; lower-cost residential-use configs suggested (practice space, recording, hangout/coffee bar). Adolfo's requests focused on fans, cleaning, water/toiletries, bathroom logistics, belongings guidance, inclusion in planning. David Hewitt apologized for expenses/communication gap; Ap. David Clemetson emphasized not carrying burden as failure. Open: 4 fans, central AC ~$7200 quote (Alberto to refer second company), barn runs off little house meter with 220 service, long-term plan leaning toward community-engaging location.
|
||||
|
||||
## Elders Meeting Summary — 2026-07-21 (Full)
|
||||
Source: Journal 2026-07-22 — Adolfo Reyna personal notes
|
||||
See also: [[journals/2026-07-22]]
|
||||
|
||||
**Purpose:** Elders invited Adolfo to hear his heart about church's use of family's newly purchased property (main house with church room extension, little house, barn).
|
||||
|
||||
**How purchase came about:** While at previous home, felt opening from Lord; Alicia spotted house, knowing church was looking for space, bought on faith seeing barn/extra buildings as provision. Opened church room (youth, events) and offered barn fully. Financially: previous home paid off and rented; new mortgage higher but covered — no burden claim.
|
||||
|
||||
**Sunday services in barn — consensus no, at least for now:**
|
||||
- Residential zoning requires public-gathering permit + likely rezoning; Alberto noted church left 3rd Street over exactly these burdens.
|
||||
- Noise + neighbor relations concern given worship style.
|
||||
- Size not issue; permit is.
|
||||
|
||||
**Cost concerns (Ap. David Clemetson):**
|
||||
- $30k estimate (insulation + restrooms) hard to justify if not long-term + possible move 6-12 months.
|
||||
- Suggested lower-cost residential configs: partitioned worship practice, recording space, furnished social/hangout with coffee bar for smaller gatherings/intercession.
|
||||
- Questioned ceiling fans vs extractor system and whether rec came from professional.
|
||||
|
||||
**Adolfo's requests (short-term comfort/upkeep, not money):**
|
||||
- Fans — heat + mosquitoes make Saturday prayer uncomfortable
|
||||
- Consistent cleaning, drinking water, toiletries for events
|
||||
- Bathroom logistics — only one, far at house
|
||||
- Guidance on whether stored belongings in way
|
||||
- More communication and inclusion in plans
|
||||
- Asked about moving summer prayer to cooler church room; elders avoided to protect family space.
|
||||
|
||||
**Tone:** David Hewitt apologized for not contributing to added expenses + slow communication. Ap. David Clemetson emphasized Adolfo shouldn't carry provision burden as personal failure; gap was communication, not lack of thought. Deep appreciation expressed for family's provision.
|
||||
|
||||
**Open items:**
|
||||
- No definitive long-term plan; leaning toward place that engages community
|
||||
- 4 ceiling fans under discussion
|
||||
- Central AC replacement main house ~$7200 (Alberto to refer another company for 2nd estimate); mini-split for extension may not be needed after central replaced
|
||||
- Barn runs off little house meter, has 220 service
|
||||
- Adolfo to be included in future planning
|
||||
|
||||
## reMarkable planning notes — 2026-07-18
|
||||
Source: Journal2026 changed page `143687d3-cdb7-48b9-be7f-325429026b66`.
|
||||
|
||||
Adolfo noted that the church room and barn needs to raise for church/elder planning include:
|
||||
- Minisplit for the church room.
|
||||
- AC units for the barn.
|
||||
- Windows.
|
||||
- Restroom.
|
||||
|
||||
Related barn/yard prep ideas captured from the same page:
|
||||
- Clean the tools.
|
||||
- Cover the area below, possibly with a tarp.
|
||||
- Buy fans and mosquito traps.
|
||||
- Leave a permanent/basic AC setup.
|
||||
- Figure out potential floor solutions.
|
||||
- Put bricks around the perimeter.
|
||||
- Add motion-sensing lights for the tool area.
|
||||
- Add a smart switch for the main lights.
|
||||
|
||||
## Utility Cost Tracking (FPL) — Guest/Little House
|
||||
- **Account:** 42066-68446
|
||||
|
||||
@@ -148,3 +148,18 @@ Tags: #business #mission #christian #tech
|
||||
- Family privacy/security model, especially around photos, kids, device controls, and remote access.
|
||||
- **Related Brain Links**: [[MCP LAN Discovery Protocol]], [[Bible Device with LLM Interaction]]
|
||||
- **Status**: Idea researched and logged from A Reyna (DM) on 2026-06-18.
|
||||
|
||||
## ESP32 Paper Apps-Style Pocket Games
|
||||
- **Concept**: Make small, paper-notebook-inspired games for Reyna ESP32/Tactility devices: generated maps, roll-and-write style movement, simple icons, and physical-feeling “pages” adapted to 320×240 screens.
|
||||
- **Inspiration**: Gladden Design Paper Apps (`https://gladdendesign.com/`) — DUNGEON, LABYRINTH, GOLF, GALAXY notebooks. Observed mechanics: generated dot-grid maps, room/floor pages, HP/coin trackers, d6 outcomes, pencil-path movement, enemy/treasure/event icons, and printable monochrome layouts.
|
||||
- **Best MVP for current devices**: “Pocket Dungeon” on KidsOS/Tactility: 16×12 tile map, d6 roll button, D-pad/touch movement, hearts/coins, stairs, monster encounters, save state on SD/PocketBase. Keep it original/inspired-by, not a clone of Gladden assets/rules.
|
||||
- **Why it fits**: 320×240 is enough for monochrome/vector grid art; ESP32-S3 can generate maps locally; kids can play offline; optional physical button/dice feel keeps the screen-time wholesome.
|
||||
- **Status**: Idea captured from A Reyna (DM) on 2026-07-16 after reviewing Gladden Design Paper Apps.
|
||||
|
||||
## HomeAIDevices YouTube Channel
|
||||
- **Concept**: YouTube channel focused on AI devices for the home: practical demos, smart displays, voice assistants, ESP32/iPhone reuse, home automation, and family-friendly local AI workflows.
|
||||
- **Channel Name**: HomeAIDevices
|
||||
- **YouTube Studio**: https://studio.youtube.com/channel/UCWwIwM4Q4pvhp491HDGI7eQ
|
||||
- **Channel ID**: UCWwIwM4Q4pvhp491HDGI7eQ
|
||||
- **Status**: Channel created on 2026-07-18.
|
||||
|
||||
|
||||
@@ -0,0 +1,199 @@
|
||||
---
|
||||
Date: 2026-07-23
|
||||
Author: Adolfo Reyna
|
||||
Tags: [project, church, media, worship, graphics, obs, ai, generator, 2026]
|
||||
---
|
||||
|
||||
# Church Worship Graphics Generator — AI Phrase-to-Lower-Third
|
||||
|
||||
**Origin:** Voice note from Adolfo Reyna 2026-07-23 — idea to type worship phrase and generate graphics around it for lower-thirds / side graphics, selectable for OBS
|
||||
|
||||
## Core Idea
|
||||
|
||||
> Type a phrase we're using for worship and generate graphics around that phrase. Like for lower thirds or from one side of the screen and then we can select from generated ones to load to OBS and show.
|
||||
|
||||
## Problem It Solves
|
||||
|
||||
- Current: WorshipTools does lyrics via screen share → camera becomes tiny window in Zoom/Subsplash
|
||||
- Desired (per livestream doc): lower-third lyrics so video stays full-screen, lyrics at bottom
|
||||
- Also need: quick worship graphics for sermon points, worship moments, scripture, not just lyrics feed
|
||||
- Manual design in Canva/Photoshop is slow for volunteers, not dynamic
|
||||
|
||||
## How It Should Work (Vision)
|
||||
|
||||
1. **Input:** Type phrase — ex: "Holy is the Lord", "You are my refuge", "Misericordia y gracia"
|
||||
2. **Style options:** Choose template vibe — minimal white, gold elegant (like your preferred serif 120px), VOUS/Hillsong style, dark modern, etc.
|
||||
3. **Generate:** AI generates 4-6 graphic variants:
|
||||
- Lower-third (1920x200 transparent)
|
||||
- Side accent (vertical side bar)
|
||||
- Full-width subtitle bar
|
||||
- Maybe full-screen soft textured background with phrase centered (for worship moment)
|
||||
4. **Preview & Select:** See thumbnails immediately, click to select
|
||||
5. **Load to OBS:** One click pushes to:
|
||||
- OBS Browser Source (local http server) OR
|
||||
- Saves PNG to watched folder that OBS image source reads
|
||||
- Or directly via OBS WebSocket to update source visibility/text
|
||||
6. **Show:** In OBS, show/hide hotkey, or automatic timing
|
||||
|
||||
## Tech Stack We Already Have
|
||||
|
||||
- **Image generation:** Mac mini has `codex_image_generate` + `gemini_image_generate` (MacMiniMCP) — can generate worship backgrounds/textures
|
||||
- **Text rendering:** For true lower-thirds, best to not rely on AI to render text (spelling errors) — use HTML canvas overlay: AI generates background texture, code renders crisp text on top using Playfair Display + Inter per your style preference (#2D1B4E etc but adapt to worship)
|
||||
- **OBS control:** OBS WebSocket (v5) — we already use OBS for local recording
|
||||
- **Server:** Could run on iMac that already runs OBS, or Mac mini .102 (:8642/:8643) or Pi
|
||||
- **Prototype path:** Build as small open-slide-like React app or simple web page: input → generate → select → OBS
|
||||
|
||||
## MVP (Version 1) — Can Build This Week
|
||||
|
||||
- Simple web UI on local network (e.g., http://192.168.68.102:3000/worship-gfx)
|
||||
- Input field + style dropdown (Hillsong minimal, VOUS bold, elegant serif)
|
||||
- Button "Generate" → calls `gemini_image_generate` for 2-3 abstract worship backgrounds (e.g., "soft golden bokeh light, atmospheric worship background, dark elegant") + renders 2 lower-third variants locally via Canvas (transparent)
|
||||
- Output: 1920x1080 transparent PNGs + 1920x250 lower-third PNGs saved to `~/worship-gfx/out/`
|
||||
- OBS: Add Image Source pointing to latest file OR Browser Source to preview page
|
||||
- Select in UI to set which file is "Live" — copy to `live.png` that OBS always shows
|
||||
|
||||
## V2 Features
|
||||
|
||||
- Integration with WorshipTools API / CSV import to auto-queue next phrases in service order
|
||||
- Translation toggle — generate EN + ES variant same style (for your bilingual context)
|
||||
- Side graphics: vertical 400x1080 side panel for scripture reference
|
||||
- Lower-third animation: slide-in/out via OBS browser source CSS transition
|
||||
- Favorites / history
|
||||
- Direct OBS WebSocket: create source, set file, show/hide programmatically
|
||||
- NDI support for ATEM workflow
|
||||
|
||||
## V3 — Bigger Vision
|
||||
|
||||
- Type any sermon quote → generates not just lower-third but quote graphic for Instagram/YouTube thumbnail + short-form clip caption style — connects to desired pipeline from livestream doc (Sunday → transcript → clips → quote graphics → YT/FB)
|
||||
- AI suggests phrase designs based on transcript sentiment (AI-assisted post-production workstream)
|
||||
|
||||
## Related Notes
|
||||
## Related Notes
|
||||
- [[livestream_video_generation_process]] — Pain point #4 lyrics/slides presentation limitation
|
||||
- [[emi_media_outreach_youtube_strategy]] — Content generation workflow
|
||||
- Livestream system report for Ari — lower-thirds question
|
||||
- User preference: VOUS/Hillsong 120px serif, not generic boxes, targeted/efficient
|
||||
|
||||
## Alpha Channel — Direct to OBS — Technical Design (Saved 2026-07-23)
|
||||
|
||||
**Question asked:** "How can we directly send the graphics with the alpha channel to OBS. So we can render stuff directly"
|
||||
|
||||
**Key Insight:** Don't send PNGs — render directly inside OBS with alpha preserved. OBS Browser Source supports native transparency if you give it transparent HTML/CSS.
|
||||
|
||||
### 3 Methods Evaluated
|
||||
|
||||
#### Method 1: Browser Source + Local WebSocket (RECOMMENDED — true alpha, instant, animated)
|
||||
|
||||
What VOUS/Hillsong and ProPresenter integrations do.
|
||||
|
||||
- OBS: Add Browser Source → URL `http://localhost:8765/lower-third`
|
||||
- Uncheck "Shutdown source when not visible"
|
||||
- Custom CSS: `body { background-color: rgba(0,0,0,0); margin:0; overflow:hidden; }`
|
||||
- Width 1920 Height 1080 — OBS preserves alpha automatically
|
||||
- That page is 100% transparent canvas. Controller sends JSON:
|
||||
```json
|
||||
{ "action": "show", "text": "You are worthy", "style": "elegant-gold" }
|
||||
```
|
||||
- Renderer animates in with CSS `transform: translateY(0)` + canvas renders crisp Playfair text — no PNG file, no file watcher, alpha native.
|
||||
|
||||
**Control Flow:**
|
||||
```
|
||||
Controller UI (worship-gfx controller, what Sara/volunteer types into)
|
||||
↓ WebSocket ws://localhost:8765/ws OR BroadcastChannel (if same machine, zero server)
|
||||
Tiny Node server on iMac (10 lines) or even no server via localStorage/BroadcastChannel
|
||||
↓ Broadcast to renderer
|
||||
Renderer page (loaded in OBS Browser Source as file:///path/renderer.html)
|
||||
↓ Renders canvas with alpha — 1920x1080, transparent except lower 300px
|
||||
```
|
||||
|
||||
Advantages: Same machine latency <16ms, slide-in/out animations free via CSS, no file IO, alpha perfect, supports both local and network (other laptop on WiFi can control if ws server).
|
||||
|
||||
**V2 Prototype Plan:**
|
||||
- File A: `worship-gfx-controller.html` — what volunteer uses (input + style + preview + Show/Hide buttons)
|
||||
- File B: `worship-gfx-renderer.html` — transparent page OBS loads — listens via BroadcastChannel or WebSocket — renders same 6 styles but animated
|
||||
- Both connect via BroadcastChannel if same iMac (no install) or via tiny ws server on iMac if remote control needed from other device
|
||||
- No dependencies, still single-file offline capable
|
||||
|
||||
#### Method 2: File Watcher + Image Source (What MVP does now — works today)
|
||||
|
||||
- Canvas.toDataURL('image/png') → saves as `live.png` with alpha channel (RGBA — clearRect with transparent)
|
||||
- OBS: Image Source → point to `~/worship-gfx/live.png` — uncheck "Unload when not showing"
|
||||
- When LIVE clicked, overwrite live.png. OBS polls file and updates.
|
||||
- Can automate via OBS WebSocket Python:
|
||||
```python
|
||||
import obsws_python as obs
|
||||
cl = obs.ReqClient(host='localhost', port=4455, password='...')
|
||||
cl.set_input_settings('Worship Lower Third', {"file": "/Users/adolfo/worship-gfx/live.png"}, True)
|
||||
cl.set_input_mute('Worship Lower Third', False) # show
|
||||
cl.set_input_mute('Worship Lower Third', True) # hide
|
||||
```
|
||||
- Limitation: File IO 200-500ms delay, no animation, possible flicker from macOS file locking, but alpha IS preserved — Image Source supports 32-bit PNG.
|
||||
|
||||
#### Method 3: Direct Base64 / URL via OBS WebSocket (No files, but still browser source underneath)
|
||||
|
||||
OBS 30+ SetInputSettings can change browser source URL programmatically:
|
||||
|
||||
```js
|
||||
await obs.call('SetInputSettings', {
|
||||
inputName: 'Worship - Browser',
|
||||
inputSettings: {
|
||||
url: 'http://localhost:8765/lower-third?text=' + encodeURIComponent(phrase) + '&style=gold',
|
||||
width: 1920, height: 1080,
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
Still browser source underneath, but controller changes URL → renderer reads query param and renders. No file writes. Latency higher than Method 1 due to page reload.
|
||||
|
||||
### Recommendation for EMIC FL
|
||||
|
||||
Use Method 1. Canvas alpha already proven working in MVP — all 6 variations are 1920x1080 transparent with only bottom 300px having pixels (verified via checker overlay in MVP).
|
||||
|
||||
**Implementation notes:**
|
||||
- Renderer must have: `body { background: transparent }`, canvas cleared with `ctx.clearRect(0,0,w,h)` not fill, export not needed — direct render
|
||||
- Controller ↔ Renderer sync: BroadcastChannel API works zero-config if both pages same origin (file:// may need http server — use `http://localhost:8000` via `python3 -m http.server` or tiny node). For network remote control (volunteer on laptop controlling iMac OBS), need tiny ws server.
|
||||
- OBS WebSocket (v5, default port 4455) optional: can auto show/hide source, create source if missing, switch scenes
|
||||
- Preserve volunteer simplicity: Sara types phrase → sees preview → hits SHOW → appears in OBS with animation
|
||||
|
||||
### Alpha Technical Details
|
||||
|
||||
- Canvas PNG preserves alpha when `toDataURL('image/png')` after transparent clear — confirmed in MVP
|
||||
- Browser Source preserves alpha when CSS background transparent and source dimensions 1920x1080 — OBS docs confirm browser source supports transparent background
|
||||
- Image Source preserves alpha when source PNG is 32-bit RGBA — tested path for Method 2
|
||||
- Do NOT use AI image generation for text itself — causes spelling errors — use AI only for soft background textures behind text, render crisp text via Canvas with Playfair Display + Inter (preferred fonts: Playfair Display 120px serif inspiration, Inter for modern, #2D1B4E, gold #C8A96E)
|
||||
|
||||
### Related Question from 2026-07-23
|
||||
|
||||
User asked after MVP: how to directly send graphics with alpha to OBS so we can render stuff directly — this section answers that. No code executed per user request "Save the details, don't code".
|
||||
|
||||
## Next Action
|
||||
- [x] Build MVP web UI prototype on Mac mini or iMac — Built 2026-07-23: single file `exports/worship-gfx-mvp.html` — 23KB, no deps, offline-capable, Google Fonts Playfair+Inter
|
||||
- [x] Test Canvas lower-third rendering with Playfair + Inter, #2D1B4E — 6 variations: gold bar+serif, white card+plum, side accent left, center elegant with gold rules, minimal underline, VOUS bold box — 1920x1080 transparent with bottom 300px safe area, checker + guide overlay
|
||||
- [x] Preview verified: `/home/adolforeyna/worship-gfx-preview.png` — 1440x900 screenshot saved
|
||||
- [x] Draft reference saved: `/home/adolforeyna/.hermes/worship-gfx-mvp.html` + `/home/adolforeyna/electronics-cad/open-slide-test/exports/worship-gfx-mvp.html`
|
||||
- [ ] Test gemini image gen for worship backgrounds (AI textures behind crisp text)
|
||||
- [ ] Test OBS WebSocket integration for show/hide (LIVE button currently simulates alert, needs websocket to copy to live.png or set source)
|
||||
- [ ] Demo for Sara/Dzidula — volunteer usability test
|
||||
- [ ] Add bilingual toggle EN+ES same style for Sundays
|
||||
|
||||
## Initial Draft Reference — MVP July 23 2026
|
||||
|
||||
**File:** `~/.hermes/worship-gfx-mvp.html` (23KB) + `electronics-cad/open-slide-test/exports/worship-gfx-mvp.html`
|
||||
**Screenshot:** `~/worship-gfx-preview.png` (30KB, 1440x900 headless Chromium render)
|
||||
**Board/context:** Built same day as board packet July 23 2026 — integrates with livestream_video_generation_process pain #4, uses preferred design system: Playfair Display 120px serif inspiration, VOUS/Hillsong elegant, #2D1B4E accent, gold #C8A96E, Inter for modern variants.
|
||||
|
||||
**MVP Behavior:**
|
||||
- Input phrase → style selector (Hillsong Minimal, VOUS Bold, Elegant Serif Gold, Dark Modern) → Generate → 6 canvas elements rendered client-side with crisp text (wrapLines, uppercase for VOUS/Dark, title-case for Elegant, font loading wait)
|
||||
- Each canvas: Download PNG + LIVE pulse button (currently alert "Simulating copy to live.png for OBS")
|
||||
- No backend, no external JS deps, works offline except Google Fonts @import (falls back to system serif)
|
||||
- Verified: Dark VOUS/Hillsong-inspired shell, badges/hints, safe-area overlay guide
|
||||
- Next iteration: OBS WebSocket v5 integration, watched folder live.png, gemini background texture layer behind text
|
||||
|
||||
**Origin quote (from user PTT):**
|
||||
> "The idea for a software for church is to type a phrase that we're using for a worship and to generate graphics around that phrase. Like for lower turrets or from one side of the screen and then we can select from the generated ones to loading to OBS and showing pleasure."
|
||||
|
||||
**Related meetings today:**
|
||||
- Ari Burt / Sardius Media Zoom 11AM July 23 — prep deck `~/.hermes/ari-meeting-prep-2026-07-23.pdf` — lower-thirds was key question
|
||||
- Board Meeting EATC-FL 7PM July 23 — Zoom ID 84159670576 — script `~/.hermes/board-meeting-script-2026-07-23.pdf` + `projects/emic_fl_board_meeting_script_2026-07-23.md`
|
||||
|
||||
[[Projects]] | [[Index]]
|
||||
@@ -0,0 +1,74 @@
|
||||
---
|
||||
Date: 2026-07-23
|
||||
Author: Adolfo Reyna (from Jibran Oliveros emails)
|
||||
Tags: [emic-fl, board-minutes, history, governance, chronology]
|
||||
---
|
||||
|
||||
# EMIC Florida Board Minutes — Chronological History 2024-2026
|
||||
|
||||
Captured from email history review on 2026-07-23. Minutes attachments themselves are not fully visible in email search, but email summaries give us clear breadcrumbs.
|
||||
|
||||
## 1) October 31, 2024 — Early Board of Directors Meeting
|
||||
|
||||
- Email from Jibran Oliveros indicates minutes were attached from meeting held that day.
|
||||
- Follow-up discussion focused on:
|
||||
- Bank account setup
|
||||
- Board members
|
||||
- Bylaws
|
||||
- Explicitly states minutes from meeting were attached.
|
||||
|
||||
## 2) November 2, 2024 — Documentation Follow-Up
|
||||
|
||||
- A few days later, Jibran reported banks required supporting documentation to open church bank account.
|
||||
- He attached minutes from two previous meetings and requested they be transcribed into proper format.
|
||||
- **Implication:** At least two board meetings had already occurred by November 2024.
|
||||
|
||||
## 3) Prior Board Meeting Before April 5, 2025 — Approvals
|
||||
|
||||
In prep for EMIC Florida Board Meeting — April 5, 2025 at 8:30 AM, previous meeting's approvals were summarized as:
|
||||
|
||||
- Approval of the consolidated bylaws
|
||||
- Approval of the 2025 budget
|
||||
- Approval of new board members:
|
||||
- Fady Boulos
|
||||
- Carmen Boney
|
||||
- Upcoming SOP discussions
|
||||
- Compliance / red-flag review items
|
||||
|
||||
These are currently the clearest record of decisions made during a previous board meeting.
|
||||
|
||||
## 4) April 5, 2025 Board Meeting
|
||||
|
||||
- Email titled "Meeting minutes" was sent by Jibran Oliveros and included minutes attachment. Attachment not visible in available results, so cannot verify detailed decisions/action items.
|
||||
- From invitation agenda before meeting:
|
||||
- Welcome of new board members
|
||||
- Q1 budget performance review
|
||||
- Financial review and adjustments discussion
|
||||
- Note: Those were agenda items, not confirmed outcomes.
|
||||
|
||||
## 5) May 18, 2026 Board Meeting
|
||||
|
||||
- Jibran Oliveros distributed minutes immediately following meeting and attached official record. Attachment contents not visible.
|
||||
- Email thread clues about topics:
|
||||
- Financial reports were reviewed
|
||||
- QuickBooks monthly reporting procedures were discussed
|
||||
- Plan established for monthly financial reports to be distributed on the 15th of each month (per David Hewitt response)
|
||||
|
||||
## Current Gaps / Next Steps
|
||||
|
||||
- [x] Located May 18 2026 minutes — transcribed and saved as [[emic_fl_board_minutes_2026-05-18]]
|
||||
- [x] Bylaws located — consolidated version adopted Dec 30 2024 — saved to `resources/bylaws/Bylaws_EMIC_Florida_2024-12-30.pdf` — summary in [[emic_fl_bylaws_summary_2024-12-30]]
|
||||
- [ ] Locate actual PDF/docx attachments for Oct 31 2024, Nov 2 2024, April 5 2025 in Thunderbird/email archives
|
||||
- [ ] Transcribe Oct/Nov 2024 early minutes into proper format per bank request from Nov 2024 (bylaws now available)
|
||||
- [x] Confirm current official board roster: Adolfo Reyna (President), Carmen Boney, David Hewitt (Treasurer), Jibran Oliveros (Secretary), Fady Boulos — roster from May 18 2026 minutes, matches Dec 2024 adopters
|
||||
- [x] Verify bylaws version — consolidated approved 2024-12-30, file saved
|
||||
- [ ] Reconstruct 2025 budget approval and compare to 2025 actuals for board review
|
||||
- [ ] For July 23 2026 board: report on barn estimate status, front room AC install (Marlene donation + Omar quote), monthly expense automation, building fund $21k status, income drop/benevolence increase, bylaws review checklist (Art V, VI, VII, XV)
|
||||
|
||||
## Related
|
||||
|
||||
- [[emic_fl_board_meeting_script_2026-05-18]]
|
||||
- Board Meeting EATC-FL Zoom — July 23 2026 7PM — ID 84159670576
|
||||
- EMI board meetings recurring — ID 84237291648
|
||||
|
||||
[[Projects]] | [[Index]]
|
||||
@@ -129,6 +129,18 @@ After motion/second:
|
||||
- Treasurer/Finance presenter: [Insert Name]
|
||||
- Target end time: [Insert Time]
|
||||
|
||||
## Status Updates
|
||||
- 2026-07-19: Board has been emailed. Logged from Adolfo’s WhatsApp update.
|
||||
- 2026-07-23: Chronological minutes history captured from email review — see [[emic_fl_board_meeting_history_2024-2026]]
|
||||
- 2026-07-23 7PM: Next Board Meeting EATC-FL scheduled — Zoom ID 84159670576 — 120 min — 2026-07-23T23:00:00Z (7PM ET) + calendar event on Home
|
||||
|
||||
## Historical Board Timeline (from emails)
|
||||
- Oct 31 2024: Early board meeting — bank account setup, board members, bylaws — minutes attached
|
||||
- Nov 2 2024: Documentation follow-up — banks required docs, two previous meetings minutes referenced + request to transcribe to proper format
|
||||
- Prior to Apr 5 2025: Approvals recorded — consolidated bylaws, 2025 budget, new members Fady Boulos + Carmen Boney, SOP upcoming, compliance review
|
||||
- Apr 5 2025: Board meeting — agenda: welcome new members, Q1 budget, financial adjustments — minutes sent but attachment not visible
|
||||
- May 18 2026: Board meeting — financial reports reviewed, QuickBooks monthly reporting procedure, monthly reports on 15th (per David Hewitt)
|
||||
|
||||
## Related
|
||||
- [[Projects]]
|
||||
- [[EMI-C Florida]]
|
||||
|
||||
@@ -0,0 +1,381 @@
|
||||
---
|
||||
Date: 2026-07-23
|
||||
Author: Hermes (for Adolfo Reyna - President)
|
||||
Tags: [emic-fl, board-meeting, script, agenda, governance, 2026-07-23]
|
||||
Meeting: Board Meeting EATC-FL — July 23, 2026 7:00 PM ET
|
||||
Zoom: ID 84159670576 — https://us06web.zoom.us/j/84159670576 (from prior meeting)
|
||||
Location: Zoom (per bylaws Art VI Sec 4 — special meetings may be held online) + 220 Emerald context
|
||||
Board: Adolfo Reyna (President), Carmen Boney, David Hewitt (Treasurer), Jibran Oliveros (Secretary), Fady Boulos
|
||||
---
|
||||
|
||||
# EMIC Florida Board Meeting — July 23, 2026 — 7:00 PM ET — Formal Agenda & President's Script
|
||||
|
||||
**Meeting Type:** Regular Board Meeting (Art VI Sec 3) — additional regular meeting by prior board resolution / notice given
|
||||
**Compliance:** Notice given per Art VI Sec5 (written/oral). Attendance waives notice unless objection for unlawful call. Quorum = majority of Board per Art VI Sec7. Decisions by majority of directors present at quorum per Art VI Sec8 unless greater required by law/bylaws.
|
||||
**Amendment Notice:** 14 days per Art XIX if bylaws amendment contemplated — NOT contemplated tonight except as review; no amendment vote tonight.
|
||||
**Records:** Per Art XV — minutes of proceedings to be recorded by Secretary and kept at principal office. Books/records inspection allowed for proper purpose.
|
||||
|
||||
---
|
||||
|
||||
## PRE-MEETING CHECKLIST FOR SECRETARY (Jibran)
|
||||
|
||||
- [ ] Confirm written notice sent (email/Zoom invite qualifies as written notice per Art VI Sec5)
|
||||
- [ ] Confirm roll call sheet
|
||||
- [ ] Have prior minutes available: May 18, 2026
|
||||
- [ ] Have bylaws available: 2024-12-30 adopted version (35 pages, Chitwood & Chitwood)
|
||||
- [ ] Have financials: treasurer's QuickBooks monthly expense report (automated per May 18 action, target 15th monthly), YTD actuals, building fund $21k balance, income drop notes
|
||||
- [ ] Have facility estimates: barn conditioning, front room AC donation + Omar install quote, central AC $7200 quote for 220 Emerald main house, little house meter note
|
||||
- [ ] Recording consent (Zoom): Announce if recording and note in minutes
|
||||
|
||||
---
|
||||
|
||||
## AGENDA — OFFICIAL ORDER
|
||||
|
||||
1. Call to Order & Opening Prayer
|
||||
2. Roll Call & Declaration of Quorum
|
||||
3. Approval of Agenda
|
||||
4. Approval of Minutes from Previous Meeting (May 18, 2026)
|
||||
5. President's Report — 220 Emerald Property & Elder Meeting July 21, 2026
|
||||
6. Treasurer's Report / Financial Review (Art VII Sec6c)
|
||||
- 2026 YTD vs Budget — income drop, benevolence increase, fixed costs LSA $535 + Office $500
|
||||
- Building Fund $21k
|
||||
- Monthly expense reporting automation — status of QuickBooks reports on 15th
|
||||
7. Facilities Committee Report
|
||||
- Barn feasibility update (zoning/permit/nuisance — NOT feasible for Sunday public gathering per elder consensus)
|
||||
- Low-cost residential-use alternatives (practice, recording, hangout/coffee bar, intercession)
|
||||
- Fans/extractor discussion, professional recommendation need
|
||||
- Front room AC — Marlene donation, Omar quote
|
||||
- Main house central AC $7200 + second estimate (Alberto referral), mini-split contingency
|
||||
8. Strategic Planning Update (1-3 year)
|
||||
- Permanent place: buy/rent/lease-to-own
|
||||
- Technology/Digital Ministry — livestream report (prep for Ari/Sardius)
|
||||
- Missions — East Africa, Chiapas
|
||||
9. Annual Bylaws Review (Art XIX)
|
||||
- Review 2024-12-30 consolidated bylaws
|
||||
- Confirm no amendments proposed tonight — schedule individual review as done May 18
|
||||
10. Legal & Compliance Review
|
||||
- 501(c)(3) status, IRS Form 990 filing status, state nonprofit compliance
|
||||
- Insurance (liability, D&O, property)
|
||||
- Safeguarding / child protection policies
|
||||
- Contracts/leases (LSA, office)
|
||||
11. Old Business / Carryover Action Items from May 18
|
||||
12. New Business
|
||||
- Next steps on building fund direction in light of 220 Emerald constraints
|
||||
- Communication protocol with Elders
|
||||
- Inclusion of Adolfo in future facility planning (per July 21 commitment)
|
||||
13. Announcements & Good of the Order
|
||||
14. Review of Decisions, Action Items and Owners
|
||||
15. Adjournment
|
||||
|
||||
---
|
||||
|
||||
## FORMAL MEETING SCRIPT — WORD FOR WORD — PRESIDENT (DR. ADOLFO REYNA)
|
||||
|
||||
> This script uses proper nonprofit board terminology per Robert's Rules of Order (Newly Revised) and Florida nonprofit corporation law compliance language. Bylaws citations included for legality.
|
||||
|
||||
### 1. CALL TO ORDER
|
||||
|
||||
**PRESIDENT (Read):**
|
||||
|
||||
"Good evening. The time is 7:00 PM. I now call to order the regular meeting of the Board of Directors of Emmanuel Ministries International Church Florida, a Florida nonprofit corporation, held on July 23, 2026, via Zoom.
|
||||
|
||||
This meeting has been duly noticed pursuant to Article VI, Section 5 of our Bylaws. We are meeting online as permitted under Article VI, Section 4 for special and regular meetings whether online or in-person.
|
||||
|
||||
Before proceeding, I would like to open with prayer for wisdom, unity, and faithful stewardship."
|
||||
|
||||
*[Pause for prayer]*
|
||||
|
||||
### 2. ROLL CALL & DECLARATION OF QUORUM
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"Mr. Secretary, will you please call the roll?"
|
||||
|
||||
**SECRETARY (Jibran — reads):**
|
||||
"Dr. Adolfo Reyna — President — present/absent
|
||||
Mrs. Carmen Boney — Board Member — present/absent
|
||||
Dr. David Hewitt — Treasurer — present/absent
|
||||
Mr. Jibran Oliveros — Secretary — present/absent
|
||||
Mr. Fady Boulos — Board Member — present/absent"
|
||||
|
||||
**PRESIDENT (after roll):**
|
||||
|
||||
"Thank you. Let the record reflect that [number] directors are present. Pursuant to Article VI, Section 7 of the Bylaws, a majority of the Board constitutes a quorum. [If quorum present:] A quorum is present and the meeting is properly constituted for the transaction of business. [If not quorum:] We do not have a quorum; we may proceed for informational purposes but cannot take binding action, and we will adjourn to a future date without further notice per Article VI Section 7, or set a continued meeting."
|
||||
|
||||
> Formal phrase: "The presence of a quorum having been established, the Chair declares the meeting duly convened and competent to transact business."
|
||||
|
||||
### 3. APPROVAL OF AGENDA
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"The agenda for this meeting was circulated in advance. Are there any additions or corrections to the agenda?"
|
||||
|
||||
*[If none]*
|
||||
|
||||
"Is there a motion to approve the agenda as presented?"
|
||||
|
||||
*Member:* "I move to approve the agenda as presented."
|
||||
*Second member:* "I second the motion."
|
||||
|
||||
**PRESIDENT:** "It has been moved and seconded to approve the agenda as presented. Is there any discussion? ... Hearing none, all those in favor, please say 'aye'... Any opposed? ... Any abstentions? The motion carries and the agenda is approved as presented."
|
||||
|
||||
> Vocabulary: move, second, discussion, call to question, carry, fail, abstention.
|
||||
|
||||
### 4. APPROVAL OF MINUTES — MAY 18, 2026
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"The first order of business is the approval of the minutes from our previous meeting held on May 18, 2026, at Adolfo Reyna's residence at 7:18 PM, previously distributed by Mr. Oliveros.
|
||||
|
||||
Are there any corrections to the minutes?"
|
||||
|
||||
*[Allow corrections: e.g., spelling, numbers, action item clarifications — Corrections are made without vote; friendly amendments accepted]*
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"If there are no further corrections, is there a motion to approve the minutes as [presented / as corrected]?"
|
||||
|
||||
*Member moves, another seconds.*
|
||||
|
||||
**PRESIDENT:** "Moved and seconded to approve the minutes from May 18, 2026, as [presented/corrected]. All in favor? ... Opposed? ... Abstentions? The minutes are approved as [presented/corrected] and will be filed with the corporate records per Article XV."
|
||||
|
||||
> Proper language: "Approve minutes as corrected stands as final record." Secretary initials corrected version.
|
||||
|
||||
### 5. PRESIDENT'S REPORT — 220 EMERALD & ELDER MEETING JULY 21
|
||||
|
||||
**PRESIDENT (Read, factual, not emotional):**
|
||||
|
||||
"For the President's report, I wish to provide context on the use of the family's newly purchased property at 220 Emerald, comprising the main house with the church room extension, the little house, and the barn, and to report on the Elders meeting held July 21, 2026.
|
||||
|
||||
Background: While at our previous residence, my wife Alicia and I perceived an opening from the Lord. Noting the church's search for space, we purchased this property on faith, viewing the barn and ancillary structures as potential provision for ministry. Since purchase, we have made available the church room for youth meetings and other events, and offered the barn fully for church use.
|
||||
|
||||
Financial clarification: Our prior home is paid off and rented; the new mortgage is higher but covered. This is not presented as a financial burden on the ministry, but as provision.
|
||||
|
||||
On July 21, the Elders invited me to share my heart regarding use of this property.
|
||||
|
||||
Consensus outcomes communicated by the Elders:
|
||||
|
||||
One — Regarding Sunday services in the barn: The Elders' consensus was not feasible at this time. Reasons cited: residential zoning requiring a public-gathering permit and likely rezoning process — Elder Alberto noted the church previously vacated 3rd Street due to these same permit burdens; noise and neighbor relations considerations given our corporate worship expression; size is not limiting — permit is.
|
||||
|
||||
Two — Regarding cost: Apostle David Clemetson expressed concern about the estimated approximately $30,000 cost for insulation and restrooms, given the barn's inability to serve as long-term gathering place and possible relocation within six to twelve months. Alternative lower-cost configurations consistent with residential use were suggested: a partitioned area for worship team practice, a recording space, or furnished social/hangout area with coffee bar for smaller gatherings and intercession. He also questioned whether ceiling fans versus extractor-type ventilation is appropriate and whether the recommendation was sourced professionally.
|
||||
|
||||
Three — Regarding my requests: My requests were largely for short-term comfort and stewardship, not financial: fans for heat and mosquitoes to improve Saturday morning intercession comfort; consistent cleaning, drinking water, and toiletries for church-hosted events; bathroom logistics noting only one restroom distant at the house; guidance whether personal stored belongings are in the way; increased communication and inclusion in facility planning; and inquiry about moving summer prayer to cooler church room — Elders explained desire to protect family privacy.
|
||||
|
||||
Four — Tone: Elder David Hewitt offered apology on behalf of Elders for not contributing to added expenses and communication delays. Apostle David Clemetson emphasized I should not carry provision as personal failure, that gap was communication rather than lack of thought. Both expressed appreciation for family's provision.
|
||||
|
||||
I will pause here and invite comments, then move to updates.
|
||||
|
||||
This report is for information and to ensure alignment. No formal action requested at this time except as may arise under Facilities."
|
||||
|
||||
*[Discussion]*
|
||||
|
||||
### 6. TREASURER'S REPORT — FINANCIAL REVIEW (Art VII Sec6c)
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"I now call upon Dr. David Hewitt, Treasurer, for the Treasurer's Report pursuant to Article VII, Section 6(c) of the Bylaws — full and accurate account of receipts and disbursements, oversight of depositories, and financial condition.
|
||||
|
||||
Dr. Hewitt, please present: 2026 year-to-date versus budget, income trends, benevolence, building fund, and status of automated reporting."
|
||||
|
||||
**TREASURER (Guided prompts):**
|
||||
|
||||
- Present budgeted vs actual — remind 2026 significant income drop per May 18 minutes, job losses/lower income among some members, benevolence up significantly
|
||||
- Confirm fixed recurring: LSA $535/mo + office $500/mo = $1,035/mo baseline
|
||||
- Building fund balance $21,000 as of May 18 — current balance?
|
||||
- Monthly expense reporting: automated report from Intuit/QuickBooks intended to be distributed on 15th per May 18 decision — status, evidence of delivery
|
||||
- Cash position, reserves
|
||||
|
||||
**PRESIDENT after Treasurer:**
|
||||
|
||||
"Thank you, Dr. Hewitt, for the report. Are there questions for the Treasurer?
|
||||
|
||||
Is there a motion to accept the Treasurer's Report as presented [or to receive and file for audit]?"
|
||||
|
||||
> Vocabulary: "Move to receive and file the Treasurer's Report for audit." This accepts information but does not yet approve (audit reserve).
|
||||
|
||||
*Move / Second / Discussion / Vote: "All in favor of receiving and filing the Treasurer's report..."*
|
||||
|
||||
"The motion carries. The Treasurer's Report is received and will be filed with the corporate records per Article XV."
|
||||
|
||||
> If budget adjustment needed: separate motion: "I move to approve a budget amendment to..." requires majority present at quorum.
|
||||
|
||||
### 7. FACILITIES COMMITTEE REPORT — 220 EMERALD & PERMANENT PLACE SEARCH
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"We now move to facilities. Board, we have two tracks: short-term stewardship of 220 Emerald within residential zoning, and longer-term search for permanent place to buy, rent, or lease-to-own.
|
||||
|
||||
From May 18, we had action items: estimate to condition barn — insulation, restrooms, carpet, AC; front room AC donation by Marlene and Omar installation quote; main house central AC replacement quoted at $7,200 with second estimate pending via Alberto referral; mini-split contingency for extension; barn electrical: runs off little house meter with 220 service; four ceiling fans under discussion;Extractor vs fan professional input.
|
||||
|
||||
Given July 21 Elder consensus that barn is not viable for Sunday public gathering due to residential zoning and permit, the $30,000 investment is not recommended at this time by Apostle David Clemetson. I propose we pivot to low-cost residential-compliant configurations.
|
||||
|
||||
I will invite discussion, then we may entertain motions."
|
||||
|
||||
**Suggested Motions (use only if ready):**
|
||||
|
||||
- Motion A (Fans / Comfort):
|
||||
"I move that the Board authorize expenditure not to exceed $_____ for barn comfort improvements for Saturday intercession, specifically four ceiling fans [or extractor system per professional recommendation], subject to obtaining professional recommendation on ventilation, to be funded from [operating / building fund / designated], with installation coordinated by facilities lead."
|
||||
|
||||
- Motion B (Cleaning/Consumables SOP):
|
||||
"I move that the Board adopt a standard of care for 220 Emerald-hosted events including consistent pre/post cleaning, provision of drinking water, and restroom toiletries, and designate a point person for coordination."
|
||||
|
||||
- Motion C (Front Room AC):
|
||||
"I move that the Board acknowledge with gratitude Marlene's AC unit donation and authorize installation per Omar's quote not to exceed $_____, and direct that such asset be recorded in fixed assets."
|
||||
|
||||
- Motion D (Central AC — information only if not church asset):
|
||||
If central AC is personal residence, not church expense, clarify: "No motion required as central AC replacement for main house is personal residence expense, not corporate. Board notes second estimate pending via Alberto referral."
|
||||
|
||||
> For each motion: need second, discussion, vote: majority of directors present at quorum per Art VI Sec8. Record in minutes per Art XV.
|
||||
|
||||
### 8. STRATEGIC PLANNING UPDATE
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"Under strategic planning per our standing agenda, we have three major initiatives: Facilities — already discussed; Technology / Digital Ministry; and Church Planting / Missions including East Africa and Chiapas.
|
||||
|
||||
For Technology — brief update: Livestream currently via Subsplash with OBS recording, WorshipTools, ATEM Mini, etc. Today at 11AM we had prep meeting with Sardius Media (Ari Burt) on sustainable volunteer workflow, translation, archive. I will provide full report at next meeting.
|
||||
|
||||
For Missions — any updates on East Africa / Chiapas?
|
||||
|
||||
No formal action proposed tonight; for information and alignment on 1-3 year priorities."
|
||||
|
||||
### 9. ANNUAL BYLAWS REVIEW (Art XIX)
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"Pursuant to our bylaws review cycle, we have received the consolidated bylaws adopted December 30, 2024, 35 pages, prepared by Chitwood & Chitwood, signed by Dr. Reyna, Mr. Oliveros, and Dr. Hewitt. File located at resources/bylaws/Bylaws_EMIC_Florida_2024-12-30.pdf.
|
||||
|
||||
I propose we conduct review as we did May 18 — individual review after this meeting, with any proposed amendments brought to a future meeting with 14 days written notice per Article XIX, requiring two-thirds majority for general amendments, and unanimous vote for any amendment to Article V Membership.
|
||||
|
||||
Is there a motion to receive the bylaws as reviewed and continue individual review, with any amendments to be noticed for future meeting?"
|
||||
|
||||
> Phrase: "Receive and place on file"
|
||||
|
||||
### 10. LEGAL & COMPLIANCE REVIEW
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"Pursuant to our compliance checklist, we will review:
|
||||
|
||||
- Confirmation of 501(c)(3) tax-exempt status — any correspondence from IRS?
|
||||
- Review of IRS Form 990 filing status — filed/current?
|
||||
- State of Florida nonprofit compliance — Sunbiz annual report current?
|
||||
- Insurance coverage review — liability, Directors & Officers (D&O), property, workers compensation — current certificates?
|
||||
- Child protection and safeguarding policies — current and distributed?
|
||||
- Review of contracts, leases, legal obligations — LSA ($535/mo) and church office ($500/mo)
|
||||
|
||||
This review is for assurance that we are current, protected, and compliant. Treasurer and Secretary to confirm status and provide documentation for corporate records per Article XV.
|
||||
|
||||
No motion required unless deficiencies identified, in which case motion to remediate."
|
||||
|
||||
### 11. OLD BUSINESS / CARRYOVER
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"Under old business, we have carryover action items from May 18:
|
||||
|
||||
- Barn estimate — discussed, pending professional recommendation
|
||||
- Front room AC — donation + quote — status?
|
||||
- Monthly expense report automation via Intuit — status as earlier
|
||||
- Bylaws and legal/compliance individual review — now in progress
|
||||
|
||||
Are there any other carryover items not yet addressed?"
|
||||
|
||||
### 12. NEW BUSINESS
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"Under new business:
|
||||
|
||||
- Building fund direction in light of 220 Emerald zoning constraints — discussion on buy/rent/lease-to-own criteria
|
||||
- Communication protocol with Board of Elders — propose inclusion of facilities host in future facility planning conversations per July 21 commitment
|
||||
- Community engagement — Elders indicated leaning toward finding place that engages community — board input on criteria"
|
||||
|
||||
*[Discussion — may result in motions to form committee, authorize search criteria, etc. Use motion language below]*
|
||||
|
||||
> Motion template: "I move that the Board authorize formation of a Facilities Search Committee chaired by _____ with mandate to identify criteria for permanent place and report back by _____"
|
||||
|
||||
### 13. ANNOUNCEMENTS & GOOD OF THE ORDER
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"Are there any announcements for the good of the order?"
|
||||
|
||||
*[Members may share upcoming events, missions updates, etc.]*
|
||||
|
||||
### 14. REVIEW OF DECISIONS, ACTION ITEMS & OWNERS
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"Mr. Secretary, will you please read back decisions made and action items with owners and target dates?"
|
||||
|
||||
**SECRETARY reads back:**
|
||||
|
||||
Example format:
|
||||
- Decision: Approved agenda — unanimous
|
||||
- Decision: Approved May 18 minutes as corrected — etc.
|
||||
- Action: Dr. Hewitt — Confirm QuickBooks automated reports on 15th — Due: immediate + ongoing
|
||||
- Action: Facilities lead — Obtain professional recommendation fans vs extractor — Due: [date]
|
||||
- Action: ______ — Obtain second central AC estimate via Alberto referral — Due: [date] — Note: personal residence, info only if not corporate expense
|
||||
- Action: Board members — Individual bylaws review — Due: before next meeting with any amendment proposals noticed 14 days
|
||||
- Action: ______ — Update insurance certificates file — Due: [date]
|
||||
- Action: President — Report back on Sardius Media consultation for Tech/Digital — Due: next meeting
|
||||
|
||||
**PRESIDENT:** "Is there any correction to the action items as read? If not, let the record reflect approval of action items as read."
|
||||
|
||||
### 15. ADJOURNMENT
|
||||
|
||||
**PRESIDENT:**
|
||||
|
||||
"If there is no further business, I will entertain a motion to adjourn."
|
||||
|
||||
*Member:* "I move to adjourn."
|
||||
*Second:* "Second."
|
||||
|
||||
**PRESIDENT:** "Moved and seconded to adjourn. All in favor say 'aye'... Opposed?... The motion carries at [state time] PM. The meeting of the Board of Directors of EMIC Florida is adjourned. Thank you all for your faithful stewardship.
|
||||
|
||||
Let the record reflect meeting adjourned at _____ PM. Minutes will be prepared by Secretary and filed per Article XV."
|
||||
|
||||
> Formal closure: "The Chair declares the meeting adjourned sine die." or "Adjourned at ___"
|
||||
|
||||
---
|
||||
|
||||
## POST-MEETING — SECRETARY DUTIES (Per Art VII Sec6b + XV)
|
||||
|
||||
- Prepare minutes promptly including:
|
||||
- Type of meeting (regular), date, time, location (Zoom), notice given pursuant to Art VI Sec5
|
||||
- Method of meeting per Art VI Sec4 (online)
|
||||
- Roll call, quorum determination per Art VI Sec7
|
||||
- Approval of agenda, approval of prior minutes
|
||||
- Reports presented (President, Treasurer — Art VII Sec6c — facilities, strategic planning)
|
||||
- Exact wording of motions, mover/seconder, discussion summary, vote counts (for, opposed, abstentions)
|
||||
- Action items with owner and due date
|
||||
- Time of adjournment
|
||||
- Circulate draft minutes within 7 days
|
||||
- File minutes + treasurer report + any written consents with corporate records at principal office per Art XV
|
||||
- Retain Zoom recording if recorded (optional, but note existence)
|
||||
- Prepare unanimous written consent documents if any action taken without meeting per Art VI Sec6
|
||||
|
||||
## PROPER NONPROFIT BOARD VOCABULARY CHEAT SHEET (Florida / Robert's Rules)
|
||||
|
||||
- Call to order / Roll call / Quorum / Duly convened / Competent to transact business
|
||||
- Agenda / Approval of agenda / Additions or corrections
|
||||
- Minutes / Approval of minutes as presented / as corrected / Stand approved / Filed with corporate records
|
||||
- Move / Motion / Second / Mover and seconder / Out of order / In order
|
||||
- Discussion / Debate / Call to question / Previous question
|
||||
- Receive and file / Receive and file for audit (financials)
|
||||
- Carry / Fail / Unanimous / Majority of directors present at a meeting at which quorum present shall be act of board (Art VI Sec8)
|
||||
- Abstention / Recusal / Conflict of interest disclosed per Art XII — interested directors must disclose material facts, may be counted for quorum but should recuse where appropriate
|
||||
- Action by unanimous written consent without meeting (Art VI Sec6) — same force as unanimous vote
|
||||
- Fiduciary duty — duty of care, loyalty, obedience, good faith (Art XI)
|
||||
- Point of order / Point of information
|
||||
- Old business / New business / Good of the order / Announcements
|
||||
- Adjournment / Adjourned sine die / Time of adjournment
|
||||
- Corporate records / Books and records per Art XV available for inspection for proper purpose
|
||||
|
||||
## CONFLICT OF INTEREST NOTE (Art XII)
|
||||
|
||||
If any discussion involves property where director has personal interest (e.g., 220 Emerald owned by President's family), director should disclose material facts, board should authorize in good faith, transaction should be fair as of time authorized. Interested directors may be counted for quorum but should consider recusal from vote on expenditure benefitting personal property unless clearly for ministry use. Document disclosure and fairness.
|
||||
|
||||
[[emic_fl_board_meeting_history_2024-2026]] | [[emic_fl_board_minutes_2026-05-18]] | [[emic_fl_bylaws_summary_2024-12-30]]
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
---
|
||||
Date: 2026-05-18
|
||||
Author: Jibran Oliveros (via Adolfo Reyna transcription 2026-07-23)
|
||||
Tags: [emic-fl, board-minutes, 2026-05-18, minutes]
|
||||
Location: Adolfo Reyna's
|
||||
---
|
||||
|
||||
# EMIC Florida Board Meeting Minutes — May 18, 2026 — 7:18 PM
|
||||
|
||||
**Source:** Previous meeting minutes transcription provided by Adolfo Reyna on 2026-07-23
|
||||
|
||||
## 1. Call to Order
|
||||
a. Done.
|
||||
|
||||
## 2. Roll Call
|
||||
a. Dr. Adolfo Reyna — President
|
||||
b. Carmen Boney — Board Member
|
||||
c. Dr. David Hewitt — Treasurer
|
||||
d. Jibran Oliveros — Secretary
|
||||
e. Fady Boulos — Board Member
|
||||
|
||||
## 3. Approval of Agenda
|
||||
a. Approved.
|
||||
|
||||
## 4. 2025 Financial Report & Board Self-Assessment
|
||||
a. Budgeted vs actual review.
|
||||
|
||||
## 5. 2026 Budget Projection
|
||||
|
||||
### a. Year-to-date review
|
||||
- Significant drop on income.
|
||||
- A few members have lost their job or received lower income.
|
||||
- Benevolence has increased significantly.
|
||||
- LSA rent $535 / mo.
|
||||
- Church office $500 / mo.
|
||||
|
||||
### b. Approval of Next Fiscal Year Budget
|
||||
|
||||
#### Building / Facility direction:
|
||||
- EMIC FL seeking for a permanent place to buy, rent, or lease to own.
|
||||
- Building fund balance $21k.
|
||||
|
||||
#### Facilities:
|
||||
i. Get an estimate to condition the barn:
|
||||
1) Wall and roof insulation
|
||||
2) Restrooms
|
||||
3) Carpet
|
||||
4) Air conditioning
|
||||
ii. Air conditioner for the front room:
|
||||
1) Marlene donated an AC unit
|
||||
2) Omar to quote for installation
|
||||
|
||||
### c. Monthly Expenses Report
|
||||
a. Dr. Adolfo requested a monthly expense report from now on.
|
||||
b. Dr. Hewitt will set up an automated report from Intuit (QuickBooks).
|
||||
|
||||
### d. Missions
|
||||
a. East Africa
|
||||
b. Chiapas
|
||||
|
||||
## 6. 2026 Strategic Planning
|
||||
- Review of prior-year goals and outcomes
|
||||
- Strategic priorities for the coming year (1–3 year horizon)
|
||||
- Major initiatives:
|
||||
- Facilities
|
||||
- Technology / Digital Ministry
|
||||
- Church Planting / Missions
|
||||
- *Note from minutes: listed but detailed outcomes not recorded in this version*
|
||||
|
||||
## 7. Annual Bylaws Review
|
||||
a. Will be reviewed individually after this meeting
|
||||
|
||||
## 8. Legal & Compliance Review
|
||||
a. Will be reviewed individually after this meeting
|
||||
|
||||
## 9. Next board meeting
|
||||
Monday, May 18, 2026 7:18 PM at Adolfo Reyna's
|
||||
*Note: Original note says May 18 at Adolfo Reyna's — transcription shows Monday, May 18, 2026 7:18 PM — actual year reference likely refers to next meeting scheduling, but logged as transcribed. Tonight's meeting is July 23, 2026.*
|
||||
|
||||
---
|
||||
|
||||
## Summary of Key Decisions & Financial Flags
|
||||
|
||||
- Income significant drop in 2026 YTD vs 2025
|
||||
- Job losses / lower income for some members cited
|
||||
- Benevolence up significantly
|
||||
- Fixed recurring: LSA $535/mo + office $500/mo = $1035/mo baseline
|
||||
- Building fund: $21k
|
||||
- Action items:
|
||||
- Estimate for barn: insulation, restrooms, carpet, AC
|
||||
- Front room AC: Marlene donated unit, Omar to quote install
|
||||
- Monthly expense report: Adolfo requested, Hewitt to automate via Intuit/QuickBooks
|
||||
- Missions focus: East Africa, Chiapas
|
||||
- Bylaws and Legal/Compliance deferred to individual review after meeting
|
||||
|
||||
## Related
|
||||
|
||||
- [[emic_fl_board_meeting_history_2024-2026]]
|
||||
- [[emic_fl_board_meeting_script_2026-05-18]]
|
||||
- Upcoming: Board Meeting EATC-FL July 23 2026 7PM Zoom ID 84159670576
|
||||
|
||||
[[Projects]] | [[Index]]
|
||||
@@ -0,0 +1,120 @@
|
||||
---
|
||||
Date: 2026-07-23
|
||||
Author: Adolfo Reyna / Chitwood & Chitwood
|
||||
Tags: [emic-fl, bylaws, governance, 2024, board]
|
||||
---
|
||||
|
||||
# EMIC Florida Bylaws — Summary — Adopted Dec 30, 2024
|
||||
|
||||
**File:** `resources/bylaws/Bylaws_EMIC_Florida_2024-12-30.pdf` (35 pages) + .txt extraction
|
||||
**Adopted:** December 30, 2024 — Full Board — signatures: Dr. Adolfo Reyna (President), Jibran Oliveros (Secretary), Dr. David Hewitt (Treasurer)
|
||||
**Prepared by:** Chitwood & Chitwood (per PDF metadata)
|
||||
**Fiscal Year:** Calendar year (Art XVI)
|
||||
|
||||
## Structure
|
||||
|
||||
- **Name:** Emmanuel Ministries International Church Florida (Florida nonprofit corp)
|
||||
- **Parent:** Operates in submission and under authority of EMIC (Art II)
|
||||
- **Purpose:** 501(c)(3) religious/charitable/educational; mission to declare message of Jesus Christ and Kingdom
|
||||
- **Membership:** Two classes (Art V):
|
||||
- Congregation (nonvoting) — must show new birth, consistent Christian life, worship regularly 3mo, support financially, subscribe to Statements of Faith
|
||||
- Board of Directors (voting) — all voting rights reserved to Board
|
||||
- No congregational voting except as Art VII Sec5 (not present, likely typo / refers to Art V Sec5 resignation?)
|
||||
|
||||
## Board of Directors (Art VI)
|
||||
|
||||
- **Number:** no less than 3, no maximum
|
||||
- **Term:** 2-year period
|
||||
- **Qualification:** Must be member of congregation
|
||||
- **Meetings:**
|
||||
- Regular meeting each year; additional regular meetings may be set by resolution
|
||||
- Special meetings may be called by any two directors — can be online or in-person, at principal office or other place
|
||||
- Notice: written or oral to each director; attendance = waiver unless objection
|
||||
- Action without meeting: allowed by unanimous written consent
|
||||
- **Quorum:** Majority of Board
|
||||
- **Decision rule:** Majority of directors present at quorum meeting (greater if law/bylaws require)
|
||||
- **Vacancies/Additions/Elections:** Filled by Board of Elders with advice/consent of majority of present Board. Removal by Board of Elders. If board becomes vacant, Board of Elders acts as Interim Board until filled.
|
||||
- **Compensation:** Directors no salary; may be reimbursed actual costs; employee-directors may receive fair compensation
|
||||
|
||||
## Officers (Art VII)
|
||||
|
||||
- **Officers:** President, Secretary, Treasurer + optional VPs, assistants
|
||||
- Can hold 2+ offices same person
|
||||
- **Election:** Biannually by Board of Directors with recommendation from Board of Elders
|
||||
- **Removal:** By Board of Elders when in best interests
|
||||
- **Vacancies:** Filled by Board of Elders for unexpired term; if Pastor vacancy Board shall fill
|
||||
- **Duties:**
|
||||
- President: presides at board, executes deeds/bonds/mortgages/contracts authorized by board, ex-officio all standing committees, general supervision
|
||||
- Secretary: attends board sessions at office, clerk, records votes/minutes, gives notice, keeps membership rolls
|
||||
- Treasurer: keeps full accurate accounts of receipts/disbursements, oversees deposits in banks designated by board, oversees disbursements ordered by board, reports to President/Directors/Elders at regular meetings
|
||||
- Delegating powers: board may delegate duties
|
||||
|
||||
## Board of Elders (Art IX Sec 2 & others)
|
||||
|
||||
- **Ordination:** Ordained/appointed to office of Elder to oversee spiritual growth, function as ministers of God/kingdom, ordained by leadership of EMIC
|
||||
- **Advisors to Board of Directors**, sets spiritual direction
|
||||
- **Removal protection:** Board of Directors shall not have authority to remove any elder from Board of Elders
|
||||
- **Headship:** Church finds headship under Lord Jesus Christ in its Eldership board
|
||||
- **Elders = chief executive officers**, general spiritual stewardship + supervision of other officers
|
||||
- **Teaching control:** No person invited to speak/teach/minister without elder approval
|
||||
- **Discipline:** Responsibility of Board of Elders (Art V Sec10)
|
||||
- **Directors removal/addition:** By Board of Elders (Art VI Sec9)
|
||||
- **Officer removal/election:** By/with Board of Elders (Art VII Sec2-4)
|
||||
- **Interim Board:** If director positions vacant, Board of Elders acts as interim board
|
||||
- **Indemnification determination:** By Board of Elders majority not party to action (Art X Sec4)
|
||||
|
||||
## Committees, Deacons, Advisors (Art VIII)
|
||||
|
||||
- **Committees of Directors:** May be designated by majority of directors in office, may exercise board authority to extent in resolution
|
||||
- **Other committees:** Designated by majority present at quorum; members shall be members of congregation; Pastor appoints members
|
||||
- **Deacons:** Ordained by Board of Elders from membership conforming to Scripture (1Tim3:2-7, Titus1:6-9, 1Pet5:2-3); function spiritual support to elders in discipleship, praying for sick, encouraging spiritual gifts, assist in ordinances; no predetermined number/term; no vote on Board but counsel to elders
|
||||
- **Board of Advisors:** May be appointed; provides Godly counsel to elders and board in org/fin/legal; no min/max; appointment/tenure at discretion of board; **Advice and consent required to establish/change salary/compensation of Pastor by board**
|
||||
|
||||
## Key Governance Notes for Tonight
|
||||
|
||||
- Since bylaws say elders appoint/remove directors (Art VI Sec9), ensure any board roster changes since Dec 30 2024 are documented with Elder approval
|
||||
- Officers elected biannually by board with elders recommendation — check if current officer elections are within term (last adoption Dec 2024)
|
||||
- Pastor compensation changes require Advisors board advice+consent per Art VIII Sec4
|
||||
- Board of Elders cannot be removed by Board of Directors — distinct authority
|
||||
- Membership is nonvoting — all governance voting via Board
|
||||
- Facility use (Art XIV): No use contrary to stated/implied doctrine; access limited; sex determined by birth; participation in sex-limited programs limited to birth sex; facilities designated for one sex limited accordingly; dress/presentation should not intentionally be opposite sex
|
||||
|
||||
## Financial Controls (Art XIII)
|
||||
|
||||
- Contracts: Board may authorize officers/agents to enter contracts — general or specific
|
||||
- Checks/drafts: Signed by officer(s)/agent(s) per board resolution; if no resolution, Treasurer or Elders may sign
|
||||
- Deposits: All funds to banks/trusts selected by board
|
||||
- Gifts: Board may accept any contribution/gift/bequest
|
||||
|
||||
## Records (Art XV)
|
||||
|
||||
- Keep correct complete books of account + minutes of members, board, committees, other committees
|
||||
- Keep at principal office record of directors entitled to vote
|
||||
- Any member/agent may inspect books/records for proper purpose at reasonable time
|
||||
|
||||
## Amendment (Art XIX)
|
||||
|
||||
- Articles and Bylaws may be altered/amended/repealed and new bylaws adopted by **2/3 majority vote** of Board at regular or special combined meeting
|
||||
- **Exception:** Action altering/amending/repealing any part of **Article V (Membership)** requires **unanimous** vote of Board
|
||||
- 14 days written advance notice required for meeting called to amend
|
||||
|
||||
## Dissolution (Art XVII)
|
||||
|
||||
- Dispose of assets after liabilities to 501c3 orgs for exempt purposes as board determines
|
||||
- No private inurement; reasonable compensation allowed
|
||||
|
||||
## Liability / Indemnification (Art X-XI)
|
||||
|
||||
- May indemnify directors/officers/employees/agents acting in good faith in best interests
|
||||
- Insurance may be purchased
|
||||
- Directors fiduciary duty: good faith, best interests, reasonable care, may rely on officers, counsel, accountants, committees if reliable
|
||||
- Not liable for monetary damages absent breach of fiduciary duty, lack of good faith, self-dealing, willful misconduct/recklessness
|
||||
- Criminal statute or tax liability still applies
|
||||
|
||||
## Related
|
||||
|
||||
- PDF: `resources/bylaws/Bylaws_EMIC_Florida_2024-12-30.pdf`
|
||||
- Minutes: [[emic_fl_board_minutes_2026-05-18]] | [[emic_fl_board_meeting_history_2024-2026]] | [[emic_fl_board_meeting_script_2026-05-18]]
|
||||
- Tonight: Board Meeting EATC-FL July 23 2026 7PM Zoom ID 84159670576
|
||||
|
||||
[[Projects]] | [[Index]]
|
||||
@@ -0,0 +1,263 @@
|
||||
---
|
||||
Date: 2026-07-23
|
||||
Author: Hermes + Adolfo (interview)
|
||||
Tags: [kids-book, editor, web-app, plan, grace-poppy, pocketbase, interview-decided]
|
||||
Status: planned — ready to scaffold
|
||||
---
|
||||
|
||||
# Kids Book Studio — Final Plan (Interviewed)
|
||||
|
||||
## Decisions Locked
|
||||
|
||||
From interview 2026-07-23:
|
||||
|
||||
- **Users:** You + Alicia reviewing/approving (PB native email/pass auth)
|
||||
- **Review workflow:** Simple — approve / needs-rework + one comment per page (no threads)
|
||||
- **Data backend:** PocketBase on .110 (family BaaS direction). All family custom software on PB.
|
||||
- **App hosting:** Custom Svelte editor as Docker container on .110 next to Instatic sites, Caddy route `books.reynafamily.com` or `studio.reynafamily.com`. NOT inside Instatic CMS.
|
||||
- **Generation worker:** Python service on Mac mini .102 polling PB for `status=queued` jobs — runs Codex imagegen + local TTS, uploads results back to PB files.
|
||||
- **Frontend stack:** SvelteKit + Tailwind, Playfair for titles, Inter body, Mono for prompts. VOUS/Hillsong clean serif headers.
|
||||
- **Seed data:** Auto-import Grace/Poppy existing package (21 pages) as first book
|
||||
- **Image gen:** Codex imagegen (proven) + BYOK configurable model (OpenAI / Gemini / etc via API key in PB settings collection)
|
||||
- **Audio gen:** Moving OFF Voicebox. Use existing reyna-cli TTS abstraction (`espeak-ng` → `say` → `edge-tts` → `REYNA_TTS_COMMAND`) + small local model on .110 Docker (Piper/Kokoro) as future-proof. No Voicebox dependency.
|
||||
- **Audio per page:** One narration clip per page for now, schema designed for multi-clip dialogue later (clips[] array forward-compatible)
|
||||
- **Text:** Support full caption + shorter spoken cut + edit history (caption_history, audio_text_history) for device timing tweaks
|
||||
- **Images:** 320x240 only for now (ESP32 native). Full-res later as extra rendition
|
||||
- **New books:** Start with Grace/Poppy only, then New Book wizard
|
||||
|
||||
## What We're Building
|
||||
|
||||
A web editor to manage kids books — pages with script, generated audio, images, and the prompts used — so you can iterate on specific pages and make new books, with Tactility export.
|
||||
|
||||
## System Architecture
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ .110 FamReynaServer │
|
||||
│ ┌──────────────┐ ┌────────────────────────┐ │
|
||||
│ │ PocketBase │◄─┤ Svelte Editor (Docker) │ │
|
||||
│ │ :8095 or new │ │ books.reynafamily.com │ │
|
||||
│ │ - books │ │ - Library grid │ │
|
||||
│ │ - pages │ │ - Book strip + reorder │ │
|
||||
│ │ - assets │ │ - Page 3-col editor │ │
|
||||
│ │ - gen_jobs │ │ - Device 320x240 prev │ │
|
||||
│ │ - users/auth │ │ - Export ZIP/PDF │ │
|
||||
│ │ - settings │ │ │ │
|
||||
│ └──────┬───────┘ └────────────────────────┘ │
|
||||
│ │ ▲ │
|
||||
│ │ │ (PB files + realtime) │
|
||||
└─────────┼─┼──────────────────────────────────────────────┘
|
||||
│ │
|
||||
│ │ polls jobs, uploads results
|
||||
│ │
|
||||
┌─────────┼─┼──────────────────────────────────────────────┐
|
||||
│ .102 Mac mini │
|
||||
│ ┌──────▼──────┐ │
|
||||
│ │ Gen Worker │ - Codex imagegen skill │
|
||||
│ │ Python svc │ - reyna-cli TTS (edge-tts/fallback) │
|
||||
│ │ │ - future: Kokoro local on .110 │
|
||||
│ └─────────────┘ - resize + transcode 320x240 / mp3 │
|
||||
└──────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### Network:
|
||||
- PB reachable via Tailscale + Caddy reverse proxy
|
||||
- Worker polls PB via private network (no public exposure needed)
|
||||
- Assets stored as PB files (images, audio) — accessible via PB file URL
|
||||
|
||||
## PocketBase Collections (schema)
|
||||
|
||||
**books**
|
||||
- id (PB auto), slug (text unique), title (text), author (text), created (autoDate)
|
||||
- style_bible: json { art_style, continuity_rules[], color_palette[], reference_images[] file[] }
|
||||
- display: json { width, height } default 320x240
|
||||
- default_voice: json { profile, language } e.g. {profile: "en-US-AriaNeural", language:"en-US"}
|
||||
- cover_page_id -> pages (relation, cover thumbnail)
|
||||
- status_overview: computed via pages (not stored)
|
||||
|
||||
**pages**
|
||||
- id, book (relation -> books), page_number (number), status (select: draft|needs-rework|approved|generating|queued)
|
||||
- caption (text, rich — full text), caption_history (json, array of {text, edited_at, by})
|
||||
- audio_text (text — spoken cut, defaults to caption if empty), audio_text_history (json)
|
||||
- review_comment (text), reviewed_by (relation users), reviewed_at (date)
|
||||
- notes (text — author private notes)
|
||||
- original_page (number optional, for imported books that skipped numbers)
|
||||
- export_include (bool default true)
|
||||
- Future: clips[] json for multi-speaker
|
||||
|
||||
**image_assets** (one active per page, history preserved via versioned files + history JSON)
|
||||
- id, page (relation -> pages), is_active (bool)
|
||||
- file (file, image) — PB stores both original gen + 320x240 variant?
|
||||
- Actually: store original file, gen job creates 320x240 as second file field thumb or via hook
|
||||
- prompt (text), negative_prompt (text), style_bible_applied (bool)
|
||||
- reference_pages (relation pages[]), generation_params (json: {model, size, seed, provider})
|
||||
- prompt_version (number auto-increment per page), notes (text)
|
||||
- generated_at, generated_by (user)
|
||||
- Simple: to keep history, we don't delete old image_assets, just flip is_active. Page shows history slider.
|
||||
|
||||
**audio_assets**
|
||||
- id, page (relation -> pages), is_active (bool)
|
||||
- file (file, audio mp3/wav), duration_sec (number)
|
||||
- text_used (text — snapshot of audio_text at generation time)
|
||||
- voice_profile (text), language (text), engine (text: edge-tts|piper|kokoro|custom)
|
||||
- tts_params (json)
|
||||
- generated_at, generated_by
|
||||
|
||||
**generation_jobs** (queue)
|
||||
- id, page (relation pages), type (select: image|audio), status (queued|running|done|failed)
|
||||
- input (json): {prompt, negative, style_bible, voice, text, etc}
|
||||
- provider (text: codex-imagegen|openai|gemini|edge-tts|piper|kokoro)
|
||||
- result_image / result_audio (relation to image_assets/audio_assets when done)
|
||||
- error (text), attempts (number)
|
||||
- created, started, finished (dates)
|
||||
|
||||
**settings** (singleton-ish, or one per family)
|
||||
- id, image_providers (json: {openai_key_encrypted?, gemini_key? ...}) — or use env, not PB at first
|
||||
- default_image_provider, default_audio_engine
|
||||
- style_presets (json): preset name → {art_style, continuity_rules}
|
||||
|
||||
**users** (PB built-in auth collection: you + Alicia)
|
||||
|
||||
## Job Flow
|
||||
|
||||
1. User edits prompt in Page Editor → clicks Generate Image
|
||||
2. Frontend creates generation_jobs record (status=queued, input={prompt:+style_bible, page, provider})
|
||||
3. Frontend subscribes to job realtime → shows spinner on page
|
||||
4. Worker on .102 polls PB collection generation_jobs filter=status=queued (or realtime subscribe)
|
||||
5. Worker marks running, executes:
|
||||
- For image: calls Codex imagegen OR OpenAI/Gemini depending on provider → saves PNG → resizes to 320x240 thumb → uploads to PB as new image_assets file
|
||||
- For audio: calls reyna-cli tts.py synthesize_wav() → transcodes to mp3 16kHz 24k mono → uploads as audio_assets
|
||||
6. Worker creates image_assets/audio_assets record (is_active=false initially, then activate after user approval, or auto-activate if generation is direct iteration — TBD: auto-activate with history preserved)
|
||||
7. Worker updates job to done with relation to new asset
|
||||
8. Frontend realtime gets event, refreshes page, shows new image with history slider
|
||||
9. Alicia reviews: changes status to approved or needs-rework + comment
|
||||
|
||||
For MVP: steps 5 auto-activates new asset (flips previous is_active=false, new is_active=true), but history still full.
|
||||
|
||||
## Frontend Screens (detailed)
|
||||
|
||||
**Route / (Library)**
|
||||
- Grid of books: cover = first page active image_assets file, else placeholder. Title, author, pages count, % approved bar, last edited.
|
||||
- Button: New Book → modal: title, slug (auto from title), author default Reyna Family, style preset selector (Grace-Poppy watercolor, Minimal, New custom), import tactility zip? toggle.
|
||||
- Each card: Open, Export zip, Play Preview
|
||||
- PB query: books list with expand cover_page_id -> image_assets
|
||||
|
||||
**Route /books/:slug**
|
||||
- Header: title, edit pencil for style bible, % approved, Play Preview (autoplay browser reader 320x240 + audio), Export button.
|
||||
- Page strip: horizontal scrollable, 160x120 thumbs (active image per page), status dot (green approved, yellow needs-rework, gray draft, blue generating). Drag to reorder (updates page_number). Click to open page editor. Plus button to add page.
|
||||
- Style Bible panel (collapsible right drawer): art_style textarea, continuity_rules as editable list (add/remove), color_palette tags, reference image uploader (PB file).
|
||||
- Bulk actions: checkboxes on strip → bulk status change, bulk prompt find/replace, bulk re-generate audio.
|
||||
|
||||
**Route /books/:slug/pages/:pageNumber (Page Editor — core)**
|
||||
- Three columns:
|
||||
- Left (Script): caption textarea with char count + history icon (show caption_history). audio_text textarea (with Fill from caption button + auto-pace helper that calls edge-tts? simple: button to copy caption and add breaks). Play audio button (uses active audio_assets file URL). Voice profile selector (text input or select from settings list of edge-tts voices). Duration display from active audio. Review section at bottom of this column: status select, review_comment.
|
||||
- Center (Image): large preview 320x240 framed + expand to full original. Prompt textarea (Monospace, with toggle: "prepend style bible" on/off — when on, UI shows combined effective prompt). Negative prompt. Reference pages multi-select. Generate button (with provider selector: Codex / OpenAI / Gemini). History carousel below: scrollable thumbs of all image_assets for this page (ordered by created), each shows prompt tooltip, click to make active (swaps). Restore button.
|
||||
- Right (Meta): Page number + up/down reorder, original_page mapping, notes textarea, export_include toggle, created/updated meta, generation job log (last job status/error).
|
||||
|
||||
**Component: Device Preview Modal**
|
||||
- 320x240 black frame mimicking ESP32, image displayed, Play/Prev/Next buttons matching Tactility Book Player. Auto-advance when audio finishes (same as device).
|
||||
|
||||
**Component: Export Modal**
|
||||
- Formats: Tactility v1 ZIP (manifest.json + pageXXX.png + mp3). Options: only approved? include draft? file naming page001 vs page_XXX. Download button.
|
||||
|
||||
## Importer — Grace/Poppy Seed
|
||||
|
||||
Script `scripts/import_grace_poppy.py`:
|
||||
- Reads `~/output/tactility-book-packages/grace-poppy-tactility-book-example/books/grace-poppy/manifest.json`
|
||||
- Creates book record slug=grace-poppy
|
||||
- For each page in manifest, in order:
|
||||
- Create page record with caption from manifest, audio_text = caption, status = approved (since already reviewed), original_page, page_number sequential
|
||||
- Copy image file to PB file upload as image_assets (prompt empty, notes="imported, prompt unknown", is_active true)
|
||||
- Copy audio file to PB file upload as audio_assets (is_active true, voice_profile=Aiden, duration_sec from manifest)
|
||||
- Also sets style_bible with known Grace continuity rules.
|
||||
|
||||
Run once on first deploy.
|
||||
|
||||
## Tech Stack Final
|
||||
|
||||
- Backend: PocketBase (Go binary, Docker on .110, :8095, Caddy /books api)
|
||||
- Frontend: SvelteKit + Tailwind, Vite. Hosted as Docker container on .110 next to Instatic (separate Docker Compose service), Caddy reverse proxy to `books.reynafamily.com` (or `studio.reynafamily.com`). Builds talk directly to PB via JS SDK @pocketbase/js-sdk.
|
||||
- Auth: PB native users collection (email/pass). Two users: you, Alicia. Frontend has login page, guards Library route.
|
||||
- Realtime: PB realtime subscriptions for jobs and pages status.
|
||||
- Worker: Python 3.11, runs on Mac mini .102, deps: pocketbase client, pillow, ffmpeg, edge-tts, codex CLI available. Loop: poll every 5s for queued jobs. Could also move to .110 later with Piper local Docker for audio.
|
||||
- Storage: PB file storage (local filesystem .110). Images and audio files served via PB file URL with auth.
|
||||
|
||||
## Project Layout (to scaffold)
|
||||
|
||||
```
|
||||
kids-book-studio/
|
||||
README.md
|
||||
docker-compose.yml (frontend + optional worker-for-local-dev)
|
||||
pocketbase/
|
||||
Dockerfile / config
|
||||
migrations/ (PB JS migrations for collections)
|
||||
scripts/import_grace_poppy.py
|
||||
frontend/
|
||||
package.json, SvelteKit app
|
||||
src/routes/...
|
||||
src/lib/pocketbase.ts
|
||||
src/lib/components/...
|
||||
static/
|
||||
worker/
|
||||
requirements.txt
|
||||
worker.py (poll loop)
|
||||
tts_engine.py (wraps reyna-cli tts.py + piper/kokoro)
|
||||
image_engine.py (codex + openai + gemini providers)
|
||||
asset_utils.py (resize, transcode)
|
||||
Caddyfile.snippet (for .110 Caddy)
|
||||
docs/
|
||||
plan.md (this file)
|
||||
schema.md
|
||||
```
|
||||
|
||||
## PB Collections JSON Proposal (draft, to convert to migration)
|
||||
|
||||
See code above for fields. Will generate JS migration file for:
|
||||
- books, pages, image_assets, audio_assets, generation_jobs, settings
|
||||
|
||||
## Implementation Phases (revised)
|
||||
|
||||
**Phase 0 — PB + Skeleton**
|
||||
- Create kids-book-studio repo, docker-compose, PB collections migration
|
||||
- Frontend SvelteKit scaffold with PB SDK, login page, Library grid (lists books)
|
||||
- Importer script run, verify Grace/Poppy shows in Library with 21 pages
|
||||
|
||||
**Phase 1 — Read-only Book + Page Editor**
|
||||
- Book Overview strip with thumbs, Style Bible editor drawer
|
||||
- Page Editor 3-col read-only/active asset display, history display
|
||||
- No generation yet, but schema ready.
|
||||
|
||||
**Phase 2 — Generation Worker**
|
||||
- Python worker on .102 that polls PB generation_jobs, executes edge-tts audio + optionally Codex imagegen
|
||||
- Frontend Generate buttons + realtime spinner + history updates
|
||||
- Image history versioning, audio history.
|
||||
|
||||
**Phase 3 — Review + Export**
|
||||
- Alicia review flow: status + comment, PB realtime updates
|
||||
- Export Tactility ZIP with correct manifest.json format (existing format compatible with Book Player app)
|
||||
- Device Preview modal 320x240 autoplay
|
||||
- Drag reorder pages, bulk actions.
|
||||
|
||||
**Phase 4 — Polish + New Book**
|
||||
- New Book wizard, style presets, high-res renditions, reMarkable PDF export
|
||||
- BYOK provider keys UI (settings page), local Piper/Kokoro on .110 Docker
|
||||
- Direct push to ESP32 fleet optional
|
||||
|
||||
## Future (not now)
|
||||
|
||||
- Multi-clip dialogue per page
|
||||
- Character sheet with ref images
|
||||
- Translation tracks (keep image, different audio language)
|
||||
- LLM auto-pace performance text, consistency check
|
||||
- Family review with kid read-only view
|
||||
|
||||
## Open Risks
|
||||
|
||||
- Codex imagegen reliability from worker (has been flaky, needs -o file pattern from brain doc)
|
||||
- PB file size for audio/images — okay, small assets
|
||||
- Caddy route for new subdomain — need to add via api script pattern (see bin/caddy-api)
|
||||
- Worker auth: PB service account token, not user token
|
||||
|
||||
## Next Step (Ready to Build)
|
||||
|
||||
When user says "build it", start Phase 0: scaffold repo, PB docker + migration, frontend login + library + import Grace/Poppy.
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
Date: 2026-07-18
|
||||
Author: Hermes
|
||||
Tags: [project, kids, routines, hermes, device, remarkable]
|
||||
---
|
||||
|
||||
# Kids Daily Routine Device
|
||||
|
||||
Source: reMarkable Journal2026 changed page reviewed on 2026-07-18.
|
||||
|
||||
## Concept
|
||||
Use a kids device/screen, controlled by Hermes, to guide Grace/Reign and Elias through daily routines with low-friction visual prompts and summaries.
|
||||
|
||||
## Morning routine flow
|
||||
- **7:00 AM**: screen turns on at **low brightness** via a Morning Routine app.
|
||||
- Show **one screen per child** — Grace/Reign and Elias.
|
||||
- Include a **day tracker** and shared/global routine or prayer/undertaking time on the device.
|
||||
- Routine checklist items:
|
||||
- Make the bed.
|
||||
- Change out of pajamas and put them away.
|
||||
- Brush teeth.
|
||||
- Pray to thank God for the day.
|
||||
- Say good morning to parents.
|
||||
- **9:00 AM**: morning routine is removed and the **day schedule** is shown.
|
||||
- Around the same time, record/save a **daily summary**.
|
||||
|
||||
## Notes / open questions
|
||||
- Confirm whether Grace/Reign means one profile or Grace’s “Reign” royal name/persona.
|
||||
- Confirm whether the first device target is iPhone6 screen, Tactility/KidsOS board, or another dedicated display.
|
||||
- Keep this as conversational/family automation context only; do not trigger device coding work unless Adolfo asks.
|
||||
@@ -375,8 +375,31 @@ Before sharing this report, add links to:
|
||||
- screenshots or a preview link for the EMI private social app if helpful for the conversation.
|
||||
|
||||
## Related Working Notes
|
||||
## Meeting Outcome — July 23, 2026 (with Ari Burt + Markos)
|
||||
|
||||
**Held:** July 23, 2026, 11AM Zoom (notes in Journal2026 9a137b32, transcribed 2026-07-27)
|
||||
|
||||
**Key takeaways from Ari:**
|
||||
- Text is cheap: use transcription as layer for search, summaries, keywords inside searchable library
|
||||
- Live: Do NOT rely on AI captions live at time; best is 16 audio streams + supply only one lang caption track
|
||||
- Audio: Mix-Minus + embedding encoder with multiple Aux Buss audio tracks for languages
|
||||
- Hardware: MediaKind / Elementals 4K, OBS Single Pass, v-Mix as new encoder at CS; everyone uses ProPresenter with alpha channels into switcher
|
||||
- Video: Good light + same cameras same settings; 2 camera + 1 person on stick minimum viable
|
||||
- Offering: App + Video + Website, boxed content (Joyce Meyer model), Apple Livestream distribution
|
||||
- Lang Automation: 32 lang tracked, 16+ is double; noted 13/16 typical challenge
|
||||
- Volunteer advice: discussed professionalism expectations + motivation (see handwritten questions list)
|
||||
- Storage: Need structured archive before scaling years of media
|
||||
|
||||
**Next steps agreed:**
|
||||
- Ari willing to come once we have a place — need a budget first
|
||||
- Invite to EMI Family Gathering — cover hotel + flight (Contact: 816-541-6258)
|
||||
- Board update: Brief update given July 23 board script — full report to follow
|
||||
|
||||
**Source:** reMarkable handwriting vision 2026-07-27 UTC, ~/remarkable-logger/cache/...
|
||||
|
||||
## Related Working Notes
|
||||
- [[Livestream and Video Generation Process]]
|
||||
- [[EMI Media Outreach and YouTube Strategy]]
|
||||
- [[kenya_trip_2026]]
|
||||
- [[Technology for the Kingdom of God]]
|
||||
- [[Church Worship Graphics Generator]] — lowered-thirds question discussed
|
||||
|
||||
@@ -55,6 +55,13 @@ Tags: #cruise #msc #orlando #family
|
||||
Original message from Brittany (Post Cruise Support):
|
||||
"To properly research your concerns and prepare a comprehensive response, please allow us 90 days to review and reply. An update will be sent via email once we have completed the review process."
|
||||
|
||||
### 90-Day Follow-up (2026-07-28)
|
||||
- **Milestone:** The 90-day review period requested by MSC in Brittany's 2026-04-29 email concluded today.
|
||||
- **Gmail case references:** Service request **2-27926967143**; injury claim **2-27942197582**.
|
||||
- **Draft prepared:** Reply in the existing Post Cruise Support thread requesting the completed-review status, medical-expense coverage/reimbursement position, any remaining documentation needs, substantive-response date if still pending, and confirmation that relevant incident evidence remains preserved.
|
||||
- **Recipient:** `postcruisesupport@msccruisesusa.com`.
|
||||
- **Status:** Follow-up ready to send; awaiting MSC's written response.
|
||||
|
||||
### Key Contacts for Medical Case
|
||||
- **Mark Moya** (Front Desk Manager)
|
||||
- 📞 6014 or dial 99 Reception – Guest Service
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
---
|
||||
Date: 2026-07-28
|
||||
Author: Adolfo Reyna + Hermes
|
||||
Tags: [paseo, centralized-agents, orchestration, home-infra, project]
|
||||
---
|
||||
|
||||
# Paseo — Centralized Agents Across Home Fleet
|
||||
|
||||
## Goal
|
||||
Centralized control plane for AI agents across all home computers, where Hermes (this agent) can orchestrate tasks to the best machine.
|
||||
|
||||
## Fleet (from 2026-07-13 inventory)
|
||||
- **FamReynaServer .110** - 7.6Gi, Docker 17 containers, Caddy v2.10.2, main host, candidate for paseo-server
|
||||
- **iMac .124** - 15Gi healthy, Node 22, Chrome reyna-bot :9222, BareBrowse/Default for heavy/browser tasks
|
||||
- **Mac-mini-M4 .102** - macOS, MCP server 7331, Deco API, image gen, high traffic
|
||||
- **aeropi5 Pi .126** - 3.9Gi 3.3Gi swap thrashing, Hermes dashboard :9119, cron orchestrator, should stay light
|
||||
- **emiserver .119** - EMI API, SSH locked, ports 3000/3001/9000/2283 open
|
||||
|
||||
## Core Insight from User
|
||||
> "paseo is the solution for centralized agents across my computers at home. Not only that, but also provides a way for you to help me orchestrate"
|
||||
|
||||
So paseo must:
|
||||
1. Be the fabric where agents register from each machine
|
||||
2. Let Hermes (me) dispatch/orchestrate work via tools
|
||||
|
||||
## Architecture
|
||||
|
||||
### Components
|
||||
```
|
||||
[paseo-server .110:7001] <- Caddy paseo.reynafamily.com
|
||||
FastAPI + SQLite + Bearer auth
|
||||
Tables: agents, tasks, heartbeats
|
||||
Endpoints: /agents/register, /agents/heartbeat, /agents/list, /tasks/create, /tasks/claim, /tasks/update, /tasks/list
|
||||
|
||||
[paseo-agent daemon] on each host (.110, .124, .102, .126)
|
||||
Python, lightweight (~20MB RAM)
|
||||
On start: detect capabilities -> register
|
||||
Loop: heartbeat 15s + poll for tasks
|
||||
Capabilities: { ram_gb, cpu, chrome_debug_port, mcp_tools[], gpu, python, node, docker, voicebox }
|
||||
|
||||
[Hermes skill: paseo]
|
||||
CLI: `paseo agents`, `paseo tasks`, `paseo dispatch --type chrome --payload ...`
|
||||
MCP-ish: list agents, create task assigned to best-fit, watch logs
|
||||
Used by me to route work: e.g., BareBrowse -> iMac .124, image gen -> Mac mini .102, light cron -> Pi .126
|
||||
```
|
||||
|
||||
### Capability-based routing (MVP)
|
||||
- `browser/chrome` -> .124 (15Gi, :9222)
|
||||
- `image/codex/gemini` -> .102 (Mac mini M4)
|
||||
- `heavy-llm/ollama` -> .110 (Ollama host) or .124
|
||||
- `light/cron` -> .126 (Pi)
|
||||
- `docker/build` -> .110
|
||||
- `emi-api` -> .119
|
||||
|
||||
### Data Model (SQLite MVP)
|
||||
- agents: id TEXT PK, hostname TEXT, ip TEXT, capabilities JSON, status TEXT, last_heartbeat ISO, created_at
|
||||
- tasks: id TEXT PK, type TEXT, payload JSON, assigned_agent TEXT FK, status TEXT (pending/claimed/running/done/failed), created_by TEXT, result JSON, created_at, updated_at
|
||||
|
||||
### Security
|
||||
- Bearer token from env PASEO_TOKEN (stored in ~/.config/paseo-token 0600)
|
||||
- Caddy forward_auth via Authentik optional, but start with LAN-only + bearer
|
||||
- No public write without token
|
||||
|
||||
### Hermes Orchestration Flow
|
||||
1. User asks Hermes to do coding task requiring Chrome
|
||||
2. Hermes calls `paseo dispatch`: creates task type=browser payload
|
||||
3. paseo-server matches capability -> assigns to iMac .124 agent
|
||||
4. iMac agent claims, runs BareBrowse flow, updates result
|
||||
5. Hermes polls task, returns result to user
|
||||
|
||||
### Phases
|
||||
- Phase 0: Repo scaffold + FastAPI server + agent + Hermes skill (this week)
|
||||
- Phase 1: Deploy server on .110 via docker-compose or systemd, Caddy route paseo.reynafamily.com :7001
|
||||
- Phase 2: Install agents on .124, .102, .126 via systemd user services
|
||||
- Phase 3: Hermes skill integration: `delegate_task` wrapper that uses paseo to route
|
||||
- Phase 4: Dashboard UI + logs streaming + kill/restart
|
||||
- Phase 5: Extend to ESP32 fleet as executable endpoints (display, etc)
|
||||
|
||||
## Decisions Made
|
||||
- Stack: Python FastAPI + SQLite (fastest to build, familiar, low RAM, same as Hermes scripts)
|
||||
- Server host: .110 FamReynaServer (central, Caddy already, Docker)
|
||||
- Agent: single python file daemon, no deps beyond requests + psutil
|
||||
- Token: shared via ~/.config/paseo-token
|
||||
|
||||
## Next
|
||||
- Scaffold ~/Projects/paseo
|
||||
- Implement server MVP and agent MVP
|
||||
- Create ~/.hermes/skills/paseo skill for Hermes use
|
||||
- Test locally on Pi .126 first, then deploy to .110
|
||||
@@ -12,6 +12,43 @@ Develop an app/workflow that lets Hermes communicate with Adolfo through the reM
|
||||
## Current Status
|
||||
Initial SSH-based proof of concept works.
|
||||
|
||||
2026-07-16 iMac dev spike:
|
||||
- iMac SSH alias `imac` works as `adolforeyna@192.168.68.124`.
|
||||
- Installed official reMarkable Paper Pro SDK `4.0.813` into `~/remarkable-dev/toolchains/rmpp-4.0.813` on the iMac.
|
||||
- Verified SDK environment: `environment-setup-cortexa53-crypto-remarkable-linux`, compiler `aarch64-remarkable-linux-gcc`, Qt `6.5.2`.
|
||||
- Built a CLI Hello World binary at `~/remarkable-dev/hello-rmpp/hello_rmpp` on the iMac.
|
||||
- Built a visual Qt Quick Hello World binary at `~/remarkable-dev/hello-rmpp-qt/hello_rmpp_qt` on the iMac.
|
||||
- Copied tarballs locally for archive/handoff:
|
||||
- `/home/adolforeyna/remarkable-dev/hello-rmpp.tar.gz`
|
||||
- `/home/adolforeyna/remarkable-dev/hello-rmpp-qt.tar.gz`
|
||||
- Tablet SSH alias `remarkable` was initially stale (`.107`), but the Paper Pro was found at `192.168.68.128`.
|
||||
- Deployed and ran `/home/root/hello_rmpp` on the Paper Pro successfully; output: `Hello from a custom reMarkable Paper Pro app!`
|
||||
- Deployed `/home/root/hello_rmpp_qt` to the Paper Pro.
|
||||
- Ran the visual Qt app with `QT_QPA_PLATFORM=epaper` after briefly stopping xochitl, then killed the app and restarted xochitl.
|
||||
- User visually confirmed the official example worked on the Paper Pro screen.
|
||||
- Visual app runtime logs confirmed the Paper Pro e-paper Qt platform initialized, including screen geometry `1620x2160` and touch range `2064x2832`.
|
||||
- First Hermes Ink Chat prototype based on Qt Quick worked visually but was too slow for handwriting and only received finger touch through QML `MouseArea`.
|
||||
- Paper Pro exposes separate input devices:
|
||||
- `/dev/input/event2` = `Elan marker input`
|
||||
- `/dev/input/event3` = `Elan touch input`
|
||||
- Marker probe built/deployed at `/home/root/marker_probe`; marker axis ranges:
|
||||
- `ABS_X`: `0..11180`, resolution `2832`
|
||||
- `ABS_Y`: `0..15340`, resolution `2064`
|
||||
- `ABS_PRESSURE`: `0..4096`
|
||||
- `ABS_DISTANCE`: `0..65535`
|
||||
- `ABS_TILT_X/Y`: `-9000..9000`
|
||||
- Native C++ pen app now reads `/dev/input/event2`, maps marker coordinates through full-screen-to-local drawing-area offset, gates drawing on `BTN_TOUCH` or `ABS_PRESSURE >= 80` so hover/proximity does not draw, and throttles repaint to reduce e-paper churn.
|
||||
- `Send to Hermes` saves SVG ink to `/home/root/hermes-chat/outbox/ink-native-*.svg` and updates `/home/root/hermes-chat/outbox/latest.txt`.
|
||||
- Pulled latest SVG from tablet, converted to PNG, and Hermes vision read the handwriting as: `Hey there Pal!`
|
||||
- App build `bd5b992d...` adds inbox polling: it checks `/home/root/hermes-chat/inbox/response.txt` every ~2s and updates the console when Hermes writes a response.
|
||||
- Remaining work: create the automatic bridge loop that watches/pulls `latest.txt`, sends the image to Hermes/OCR, and writes `/home/root/hermes-chat/inbox/response.txt`; current test response was written manually.
|
||||
- Pi-side sidecar logger installed on `aeropi5` under `~/remarkable-logger/` with user systemd timer `remarkable-logger.timer` every 30s. It SSH-polls Paper Pro `192.168.68.128`, logs JSONL to `~/remarkable-logger/events.jsonl`, writes `latest.json`/`state.json`, tracks online/offline, `xochitl` active state, most-recent modified document as current-document guess, and watched terms `diary,dairy,journal` for quasi-live document updates. First run found 364 docs and watched docs including `Journal2026`, `Journal`, `Daily Journaling`, `Daily Journal`, and `DairyGpt`.
|
||||
- xochitl event-source probe: `journalctl -u xochitl` did not emit document-open/page-open entries at normal verbosity during a live monitor; only battery wake lines appeared. DBus introspection on xochitl unique names was access denied. `busctl --system monitor` works for system signals but no xochitl document signal was confirmed. xochitl keeps `.eventcache.db`/WAL with telemetry JSON fragments (`domain: document`, tool/template/actions), but committed DB had only generic telemetry and no document UUID/name/open event from the test. `.config/remarkable/xochitl.conf` had `LastOpen=` blank. Conclusion: rely on xochitl file mtimes/content/page `.rm` changes for current-document/quasi-live tracking rather than a documented/open xochitl event feed.
|
||||
- Device-side sidecar installed on Paper Pro: `/etc/systemd/system/remarkable-sidecar.service` enabled/running; script `/home/root/remarkable-sidecar/remarkable_sidecar.sh`; daily text logs `/home/root/remarkable-sidecar/logs/YYYY-MM-DD.txt`; state snapshots `/home/root/remarkable-sidecar/state/`. It logs `online`, 60s `heartbeat`, best-effort `offline`, and `document_change` by comparing xochitl file mtimes every 20s. BusyBox `nc` lacks UDP, so ARM64 helper `/home/root/remarkable-sidecar/bin/udp_broadcast` was built with the reMarkable SDK on iMac and broadcasts to `192.168.68.255:49321`.
|
||||
- Pi UDP listener installed on `aeropi5`: `~/remarkable-logger/remarkable_udp_listener.py` as user service `remarkable-udp-listener.service`, logging UDP JSONL to `~/remarkable-logger/udp/YYYY-MM-DD.jsonl` and latest IP to `~/remarkable-logger/latest_device.json`. Pi poller `remarkable_logger.py` was patched to use `latest_device.json` when `REMARKABLE_HOST` is not set, so DHCP/IP changes are caught by tablet broadcast. Duplicate UDP packets from Pi eth0+wlan0 are deduped within 2s.
|
||||
- Sidecar verification after user highlighted a book and edited `Today's Goals`: Pi poller detected `ai-2027.pdf` at `2026-07-16T23:40:38Z` and `Today's Goals` at `2026-07-16T23:41:11Z`. Device sidecar initially only logged heartbeats because Paper Pro lacks `comm`; script was patched to use BusyBox `awk` set-difference. After restart/recovery it emitted `document_change` UDP/text lines for `ai-2027.pdf`, `Today's Goals`, and a later `Quick sheets` change.
|
||||
- v6 `.rm` rendering spike: `rmrl` renders older/PDF-backed docs but fails on Paper Pro v6 pages with `UnsupportedVersion`. PyPI `rmscene` parses v6 `Line` items. Shader/highlighter colors are in `Line.color_rgba=(r,g,b,a)` while normal ink usually has `color_rgba=None` plus pen/color enums. Installed lightweight renderer `/home/adolforeyna/remarkable-logger/tools/render_rm_v6_color.py` with venv `/home/adolforeyna/remarkable-logger/.venv-render`; verified against Quick sheets page 66 and Journal2026 changed page.
|
||||
|
||||
Hermes can:
|
||||
- Connect to the reMarkable via SSH alias `remarkable`.
|
||||
- Locate xochitl documents under `/home/root/.local/share/remarkable/xochitl/`.
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
# Tactility GameBoy firmware export notes — 2026-07-17
|
||||
|
||||
Context: GameBoy side-loaded ELF prototype on ESP32-S3 color board `192.168.68.129` / ES3C28P, Tactility `0.8.0-dev`, firmware built with ESP-IDF `5.3.2`.
|
||||
|
||||
## What happened
|
||||
|
||||
The GameBoy app package built locally against the newer cached SDK, but the board firmware rejected startup with the generic dialog:
|
||||
|
||||
```text
|
||||
Application failed to start: missing symbol
|
||||
```
|
||||
|
||||
USB serial revealed exact missing symbols/runtime behavior.
|
||||
|
||||
## Confirmed runtime findings
|
||||
|
||||
1. Initial app install/run failed because app was not installed after an interrupted reinstall:
|
||||
|
||||
```text
|
||||
Loader: App not found: one.tactility.gameboy
|
||||
```
|
||||
|
||||
2. After reinstall, the loader failed on:
|
||||
|
||||
```text
|
||||
ELF: Can't find symbol esp_log
|
||||
ElfApp: Application failed to load: missing symbol
|
||||
```
|
||||
|
||||
3. Earlier local/source verifier was misleading because it checked the local/generated firmware source exports, not the actual firmware currently running on the board.
|
||||
|
||||
## Temporary app-side workaround applied
|
||||
|
||||
To make the app launch on current board firmware:
|
||||
|
||||
- Removed/avoided LVGL canvas APIs from the GameBoy app:
|
||||
- `lv_canvas_create`
|
||||
- `lv_canvas_set_buffer`
|
||||
- `lv_obj_invalidate`
|
||||
- display sizing helpers used only for scaling
|
||||
- Disabled `ESP_LOGI/W/E` macros in the app source so the side-loaded ELF does not require:
|
||||
- `esp_log`
|
||||
- `esp_log_timestamp`
|
||||
- Rebuilt and uploaded the patched ELF directly via `/fs/upload` because `/app/install` rebooted/crashed mid-install and left stale ELF content.
|
||||
|
||||
Result: GameBoy now launches to the ROM browser screen, but the emulator display is intentionally disabled and shows a placeholder until firmware exports canvas APIs.
|
||||
|
||||
## Firmware exports needed later for full GameBoy display
|
||||
|
||||
Add/export these symbols in the firmware’s side-loaded ELF resolver/export table (likely `TactilityC/Source/tt_init.cpp` or module export path) and rebuild/flash the board firmware:
|
||||
|
||||
```text
|
||||
esp_log
|
||||
esp_log_timestamp
|
||||
lv_canvas_create
|
||||
lv_canvas_set_buffer
|
||||
lv_obj_invalidate
|
||||
lv_display_get_horizontal_resolution
|
||||
lv_display_get_vertical_resolution
|
||||
```
|
||||
|
||||
Optional if restoring scaled/pretty display:
|
||||
|
||||
```text
|
||||
lv_obj_set_style_transform_scale_x
|
||||
lv_obj_set_style_transform_scale_y
|
||||
lv_obj_set_style_layout
|
||||
```
|
||||
|
||||
## Install/debug lessons
|
||||
|
||||
- `/app/run` returning HTTP 200 only means the run request was accepted; it does not prove ELF relocation/start succeeded.
|
||||
- Always use USB serial logs while debugging side-loaded ELF startup.
|
||||
- Always verify installed ELF hash by downloading it back:
|
||||
|
||||
```bash
|
||||
curl 'http://192.168.68.129/fs/download?path=/sdcard/tactility/app/one.tactility.gameboy/elf/esp32s3.elf' -o /tmp/installed_gameboy.elf
|
||||
sha256sum /tmp/installed_gameboy.elf Apps/GameBoy/build/cmake-build-esp32s3/GameBoy.app.elf
|
||||
```
|
||||
|
||||
- If `/app/install` times out or the board reboots, it may leave stale ELF content. Direct upload of ELF and manifest worked:
|
||||
|
||||
```bash
|
||||
POST /fs/upload?path=/sdcard/tactility/app/one.tactility.gameboy/elf/esp32s3.elf
|
||||
POST /fs/upload?path=/sdcard/tactility/app/one.tactility.gameboy/manifest.properties
|
||||
```
|
||||
@@ -0,0 +1,337 @@
|
||||
---
|
||||
Date: 2026-07-17
|
||||
Author: Hermes
|
||||
Tags: [project, tactility, esp32, voice-gateway, realtime-voice, elatoai, moss-tts-nano, opus, streaming-tts]
|
||||
Status: next-step-plan
|
||||
Related: [[voice_agent_platform_research_2026]], [[grace_poppy_storybook_image_voice_app]], [[pocketbase_family_baas_2026]]
|
||||
---
|
||||
|
||||
# Tactility Voice Gateway Transition Plan — ElatoAI + MOSS-TTS-Nano Pattern
|
||||
|
||||
## Why this exists
|
||||
|
||||
Current Reyna voice UX already has strong pieces:
|
||||
|
||||
- Hermes voice gateway on `:8642` receives **incoming mic PCM chunks** over WebSocket.
|
||||
- Mac mini MCP at `.102` provides fast Apple Speech transcription and Apple 3B quick replies.
|
||||
- iPhone/ESP32 screen clients can play returned audio through `play_audio_base64`.
|
||||
- Hermes brings memory, skills, family brain context, tools, and routing.
|
||||
|
||||
The missing piece is **streamed speech back to the device**. Today, the gateway usually returns a full WAV/base64 blob, then the device starts playback only after the whole audio file exists.
|
||||
|
||||
ElatoAI appears close to the desired device architecture: ESP32 WebSocket audio, stateful voice turns, Opus binary packets back to the device, an audio ring buffer, I2S playback, and realtime toy/companion UX.
|
||||
|
||||
MOSS-TTS-Nano is interesting as a possible **streaming TTS engine**, especially because it advertises a 0.1B CPU/ONNX/MLX-friendly realtime path.
|
||||
|
||||
## Target end-state
|
||||
|
||||
```text
|
||||
Tactility ESP32 app/device
|
||||
-> streams mic audio chunks over secure WebSocket
|
||||
-> Hermes voice gateway :8642
|
||||
-> Apple/Mac mini STT + Hermes/Muse/full agent answer
|
||||
-> streaming TTS engine: MOSS-TTS-Nano, Kokoro, Voicebox, or Apple say fallback
|
||||
-> Opus or PCM audio chunks over same WebSocket
|
||||
-> Tactility app decodes/queues/plays via I2S while chunks are still arriving
|
||||
```
|
||||
|
||||
Design principle: **keep Hermes as the brain; borrow ElatoAI's realtime transport/playback architecture.**
|
||||
|
||||
## Current vs desired architecture
|
||||
|
||||
| Layer | Current setup | Desired transition |
|
||||
|---|---|---|
|
||||
| Device input | PCM chunks over WS already working | Keep, optionally support Opus mic later |
|
||||
| STT | Mac mini SpeechAnalyzer/live pipe, local fallback | Keep; add latency telemetry per turn |
|
||||
| Fast reply | Apple 3B quick reply + Mac mini TTS | Keep as first audible ACK |
|
||||
| Full answer | Hermes background agent/session | Keep |
|
||||
| TTS output | whole WAV/base64 blob via `play_audio_base64` | streamed audio chunks: Opus preferred, PCM16 fallback |
|
||||
| Device playback | receive full file then play | ring buffer + decoder + I2S streaming task |
|
||||
| State protocol | ready/listening/draft/transcript/instant_response/done | add audio_start/audio_chunk/audio_end/speaking/interrupted |
|
||||
| Barge-in | partial / ad hoc | explicit interrupt: stop TTS, flush output, return to listening |
|
||||
|
||||
## Reference project: ElatoAI
|
||||
|
||||
Repository: `https://github.com/akdeb/ElatoAI`
|
||||
|
||||
Observed useful components:
|
||||
|
||||
- `firmware-arduino/src/Audio.cpp`
|
||||
- `WebSocketsClient`
|
||||
- `OpusAudioDecoder`
|
||||
- `BufferRTOS<uint8_t> audioBuffer`
|
||||
- `I2SStream i2s`
|
||||
- `QueueStream<uint8_t>`
|
||||
- `StreamCopy` for continuous playback
|
||||
- state transitions: `LISTENING`, `PROCESSING`, `SPEAKING`, `SLEEP`
|
||||
- `server/fastapi/esp32_transport.py`
|
||||
- `RawPCMFrameSerializer`
|
||||
- `InputAudioRawFrame`
|
||||
- `OutputAudioRawFrame`
|
||||
- `OpusEncoder`
|
||||
- binary WebSocket audio frames
|
||||
- `server/cloudflare/README.md`
|
||||
- protocol events: `auth`, `AUDIO.COMMITTED`, `RESPONSE.CREATED`, binary audio frames, `RESPONSE.COMPLETE`, `SESSION.END`
|
||||
- Opus packetized audio streamed back to ESP32
|
||||
|
||||
ElatoAI should be treated as a **transport/playback reference**, not necessarily a replacement for Hermes.
|
||||
|
||||
## Reference engine: MOSS-TTS-Nano
|
||||
|
||||
Repository: `https://github.com/OpenMOSS/MOSS-TTS-Nano`
|
||||
|
||||
Why test it:
|
||||
|
||||
- 0.1B parameters
|
||||
- realtime speech generation target
|
||||
- CPU-friendly claim
|
||||
- ONNX CPU version
|
||||
- MLX support for Apple Silicon
|
||||
- streaming inference
|
||||
- multilingual
|
||||
- voice cloning workflow
|
||||
|
||||
Caveats:
|
||||
|
||||
- Not for running directly on ESP32.
|
||||
- Native output is 48 kHz stereo; we likely need server-side resampling to 24 kHz or 16 kHz mono.
|
||||
- Need to benchmark first-audio latency vs current Mac mini `say`, Kokoro, and Voicebox.
|
||||
|
||||
## Transition plan — Phase 0: baseline and compatibility
|
||||
|
||||
1. Capture current gateway behavior:
|
||||
- Record events emitted by `/api/esp32/voice/ws`.
|
||||
- Measure: mic stop -> transcript, instant reply text, first audio playback, full answer delivery.
|
||||
- Save sample turn logs in `~/.hermes/audio_cache` or a project scratch folder.
|
||||
2. Inventory playback clients:
|
||||
- iPhone `.150` supports `play_audio_base64`, not arbitrary execution.
|
||||
- Tactility ESP32 app can be extended to support streaming WS + I2S playback.
|
||||
3. Decide transport fallback order:
|
||||
- **Preferred:** Opus binary frames for low bandwidth and robust streaming.
|
||||
- **Fallback:** raw PCM16 chunks for simplest first implementation.
|
||||
- Keep full WAV/base64 as compatibility fallback.
|
||||
|
||||
## Transition plan — Phase 1: gateway streamed-output protocol
|
||||
|
||||
Add streamed TTS events to Hermes voice gateway without removing current behavior.
|
||||
|
||||
Proposed server -> device events:
|
||||
|
||||
```json
|
||||
{"event":"response_audio_start","format":"pcm_s16le","sample_rate":24000,"channels":1,"codec":"pcm","turn_id":"..."}
|
||||
```
|
||||
|
||||
Then binary frames:
|
||||
|
||||
```text
|
||||
<raw PCM16 chunk bytes>
|
||||
```
|
||||
|
||||
Then:
|
||||
|
||||
```json
|
||||
{"event":"response_audio_end","turn_id":"...","duration_ms":1234}
|
||||
```
|
||||
|
||||
For Opus mode:
|
||||
|
||||
```json
|
||||
{"event":"response_audio_start","codec":"opus","sample_rate":24000,"channels":1,"frame_duration_ms":120,"bitrate":24000}
|
||||
```
|
||||
|
||||
Binary frames are Opus packets.
|
||||
|
||||
Also add:
|
||||
|
||||
```json
|
||||
{"event":"speaking","turn_id":"..."}
|
||||
{"event":"interrupted","turn_id":"...","reason":"barge_in"}
|
||||
{"event":"playback_flush","turn_id":"..."}
|
||||
```
|
||||
|
||||
Implementation notes:
|
||||
|
||||
- Keep `instant_response` text behavior for UI stickiness.
|
||||
- For current iPhone path, keep generating full base64 WAV.
|
||||
- For Tactility app path, prefer stream mode if client advertises it during `start`:
|
||||
|
||||
```json
|
||||
{"event":"start","audio_out":["opus","pcm_s16le","wav_base64"]}
|
||||
```
|
||||
|
||||
## Transition plan — Phase 2: server-side TTS streaming adapter
|
||||
|
||||
Create a pluggable TTS output abstraction in the gateway:
|
||||
|
||||
```text
|
||||
TTSAdapter.synthesize_stream(text, voice, sample_rate) -> async iterator[AudioChunk]
|
||||
```
|
||||
|
||||
Adapters:
|
||||
|
||||
1. **PCM dummy adapter** — split an already generated WAV into PCM chunks. This validates the device protocol even before true streaming TTS.
|
||||
2. **Kokoro adapter** — start with full generation then chunk output; useful quality baseline.
|
||||
3. **MOSS-TTS-Nano adapter** — true streaming target; benchmark ONNX CPU and MLX paths.
|
||||
4. **Voicebox adapter** — probably full generation first, then chunk output; useful for Aiden/character voices.
|
||||
5. **Apple say adapter** — fast fallback, full generation then chunk.
|
||||
|
||||
Required telemetry:
|
||||
|
||||
- `tts_request_at`
|
||||
- `first_audio_chunk_at`
|
||||
- `last_audio_chunk_at`
|
||||
- `playback_started_at` from device ack if available
|
||||
- codec, sample rate, chunk size, underrun count
|
||||
|
||||
## Transition plan — Phase 3: Tactility app streaming audio client
|
||||
|
||||
Build a Tactility app, likely named one of:
|
||||
|
||||
- `Apps/VoiceGateway`
|
||||
- `Apps/ReynaVoice`
|
||||
- `Apps/HermesVoice`
|
||||
|
||||
Responsibilities:
|
||||
|
||||
1. Connect to Hermes voice gateway WS:
|
||||
- `ws://<gateway>:8642/api/esp32/voice/ws?device_id=<id>` or proxied HTTPS path.
|
||||
- Send auth bearer/config safely.
|
||||
2. Capture mic audio:
|
||||
- 16 kHz mono PCM16 first.
|
||||
- Use VAD or push-to-talk first; wakeword later.
|
||||
3. Send mic chunks as binary frames.
|
||||
4. Receive JSON control events and binary audio frames.
|
||||
5. Maintain state machine:
|
||||
- `IDLE`
|
||||
- `LISTENING`
|
||||
- `PROCESSING`
|
||||
- `SPEAKING`
|
||||
- `INTERRUPTING`
|
||||
- `ERROR`
|
||||
6. Playback:
|
||||
- PCM mode first: binary chunk -> ring buffer -> I2S output task.
|
||||
- Opus mode next: binary packet -> Opus decoder -> ring buffer -> I2S.
|
||||
7. UI:
|
||||
- big listening/speaking state text
|
||||
- live transcript/draft
|
||||
- quick reply text
|
||||
- connection/auth status
|
||||
- mute/volume buttons
|
||||
8. Barge-in:
|
||||
- if mic detects speech while `SPEAKING`, send `interrupt` event
|
||||
- stop/flush output buffer
|
||||
- transition back to listening
|
||||
|
||||
## Tactility app implementation strategy
|
||||
|
||||
Start with a minimal app rather than a full ElatoAI firmware fork.
|
||||
|
||||
Reuse from existing local work:
|
||||
|
||||
- `Apps/McpScreen` for screen/audio tool patterns.
|
||||
- `Apps/AudioTest` / `BookPlayer` / any I2S examples for playback.
|
||||
- `Apps/ReynaBot` if it already has network/client patterns.
|
||||
- ElatoAI's audio task design for ring buffer + decoder + state transitions.
|
||||
|
||||
Milestones:
|
||||
|
||||
### Milestone A — playback-only streaming test
|
||||
|
||||
- Device connects to a local test WS endpoint.
|
||||
- Server sends generated PCM chunks from a known WAV.
|
||||
- Device plays chunks smoothly.
|
||||
- Measure underruns and latency.
|
||||
|
||||
### Milestone B — gateway stream compatibility
|
||||
|
||||
- Gateway sends `response_audio_start`, binary PCM chunks, `response_audio_end`.
|
||||
- Tactility app plays the response.
|
||||
- Keep mic input disabled or mocked.
|
||||
|
||||
### Milestone C — full duplex-ish voice turn
|
||||
|
||||
- Tactility app records PCM chunks to gateway.
|
||||
- Gateway transcribes and replies.
|
||||
- Gateway streams output chunks back.
|
||||
- Device plays without waiting for full WAV.
|
||||
|
||||
### Milestone D — Opus mode
|
||||
|
||||
- Add Opus encoder on gateway side.
|
||||
- Add Opus decoder on device side, borrowing from ElatoAI if licensing is acceptable.
|
||||
- Compare bandwidth/CPU/latency vs PCM.
|
||||
|
||||
### Milestone E — barge-in and polish
|
||||
|
||||
- Device can interrupt speech.
|
||||
- Gateway cancels TTS generation/background playback.
|
||||
- UI shows listening/thinking/speaking states.
|
||||
- Add volume control and fallback to full WAV/base64 where needed.
|
||||
|
||||
## Gateway implementation strategy
|
||||
|
||||
Do not rewrite the gateway first. Add a parallel streamed-output path.
|
||||
|
||||
1. Extend existing `/api/esp32/voice/ws` with output capability negotiation.
|
||||
2. Keep current instant ACK and full-answer background flow.
|
||||
3. For streamed output, first chunk existing generated WAVs to the device.
|
||||
4. Once playback is solid, swap in MOSS-TTS-Nano/Kokoro streaming adapter.
|
||||
5. Add Opus encoder after PCM path works.
|
||||
|
||||
Pseudo-flow:
|
||||
|
||||
```text
|
||||
receive stop
|
||||
-> final transcript
|
||||
-> instant quick reply
|
||||
-> if client supports stream_out:
|
||||
send response_audio_start
|
||||
for chunk in tts_adapter.synthesize_stream(instant_reply):
|
||||
send binary chunk
|
||||
send response_audio_end
|
||||
else:
|
||||
generate full wav/base64 and call play_audio_base64
|
||||
-> run full Hermes answer in background
|
||||
-> optionally stream full answer audio later
|
||||
```
|
||||
|
||||
## Open decisions
|
||||
|
||||
- Should Tactility voice app be a new side-loaded app or merged into existing ReynaBot/McpScreen?
|
||||
- Should first audio codec be PCM16 for speed of implementation, or Opus from day one?
|
||||
- Should the app use push-to-talk first, then wakeword later?
|
||||
- Which device is the first target: current 320x240 Tactility board, RLCD, or larger CrowPanel/JC board?
|
||||
- Should MOSS run on Mac mini `.102`, iMac `.124`, or FamReynaServer `.110`?
|
||||
|
||||
Suggested defaults:
|
||||
|
||||
- New app: `Apps/HermesVoice`.
|
||||
- First codec: PCM16 chunks.
|
||||
- First interaction mode: push-to-talk or hold-to-talk.
|
||||
- First server: Mac mini `.102` for TTS/STT engines; gateway remains `:8642`.
|
||||
- Add Opus after PCM streaming is proven.
|
||||
|
||||
## Risks and mitigations
|
||||
|
||||
| Risk | Mitigation |
|
||||
|---|---|
|
||||
| ESP32 underruns during playback | ring buffer, larger chunks, playback ACK/underrun telemetry |
|
||||
| TTS engine not truly streaming | chunk full WAV first; still improves protocol and app path |
|
||||
| Opus decode complexity | PCM first; borrow ElatoAI implementation later |
|
||||
| Gateway route patch wiped by Hermes update | keep restore plugin and restart guard bypass documented |
|
||||
| Device CPU/memory pressure | PSRAM buffers, mono 16/24 kHz, no UI redraw during playback |
|
||||
| Barge-in race conditions | explicit `interrupt` and `playback_flush` events with turn IDs |
|
||||
|
||||
## First actionable next step
|
||||
|
||||
Build a **playback-only Tactility streaming audio proof**:
|
||||
|
||||
1. Write a tiny local WS server that sends:
|
||||
- `response_audio_start`
|
||||
- PCM16 chunks from a known WAV
|
||||
- `response_audio_end`
|
||||
2. Write/extend a Tactility app to connect and play those chunks via I2S.
|
||||
3. Once smooth, connect the same app to Hermes `:8642` and let the gateway stream generated WAV chunks.
|
||||
4. Only then add MOSS-TTS-Nano true streaming and Opus.
|
||||
|
||||
This keeps risk low and gives immediate proof that Tactility can speak progressively instead of waiting for full base64 WAVs.
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -19,6 +19,15 @@ This file tracks frequent contacts and people connected with the Reyna family, e
|
||||
- **Esther**: (Kenya A/V Leader)
|
||||
- **Gidu**: (Kenya Worship Leader)
|
||||
|
||||
## Broadcast / Media
|
||||
- **Ari Burt — Sardius Media**: `816-541-6258`
|
||||
- **Role**: Workflow Strategist, Co-founder of Sardius Media (Kansas City) — "Build your entire broadcast universe"
|
||||
- **Met**: July 23, 2026 with Adolfo + Markos, Zoom 11AM prep doc in ~/.hermes/ari-meeting-prep-2026-07-23.pdf
|
||||
- **What they do**: Live events, encoders (MediaKind Elementals 4K, OBS Single Pass, v-Mix), multi-site distribution, AI auto-transcription/keywords/summaries searchable library, multitrack interpretation (32 lang / 16 audio stream best), free App/Video/Website, boxed courses (Joyce Meyer), Apple Livestream
|
||||
- **Offered**: Workflow design/template, volunteer motivation, translation standard, storage for years of media, willing to come once we have a place (need budget) + invite to EMI Family Gathering (cover hotel+flight)
|
||||
- **Source**: reMarkable Journal2026 e70bb366 + ~/brain/projects/livestream_media_system_report_for_ari_sardius.md
|
||||
- **Apple Contact ID**: 617554FC-2550-4CDB-9D71-88A2B3E7A1B6
|
||||
|
||||
## Technical & Professional
|
||||
- **Dr. Seth Tudor (ENT)**: `772-464-6055` (Fort Pierce specialist)
|
||||
- **Address**: 1401 N Lawnwood Cir, Fort Pierce, FL
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
# Constraints - Device Ports
|
||||
|
||||
Date: 2026-07-21
|
||||
Per user instruction.
|
||||
|
||||
- **No LLM** on device games
|
||||
- **No actual talking / voice I/O** (no mic, no TTS, no voice rec)
|
||||
- Pure mechanics: grid, dice RNG, terrain, counters, procedural seed, visual expressions only
|
||||
- Pixel Petz Corgi researched as FORM FACTOR only (screen-face + sprite expressions), not voice feature.
|
||||
Our version = deterministic pixel faces (100+ sprite states) + beeps/chimes, no speech.
|
||||
- Keep Paper Apps DNA: pencil + d6 + lines/circles translated to digital tiles + buttons
|
||||
@@ -0,0 +1,829 @@
|
||||
* STATIC *
|
||||
Come in, pilot! Your warp drive has malfunctioned and you have been
|
||||
stranded in an unknown GALAXY!
|
||||
|
||||
Your goal:
|
||||
Traverse the GALAXY and locate all 6 pieces of your Warp Drive in
|
||||
order to return home. Completionists can visit every sector to attain
|
||||
more prestige.
|
||||
You’ll begin by filling out your Pilot I.D. card. Draw a profile of
|
||||
your character and choose a race. Bear in mind that you’ll get
|
||||
slightly preferential treatment from members of your own race that
|
||||
you encounter throughout the game.
|
||||
|
||||
How to use the MAP:
|
||||
A small arrow will point to your starting SECTOR. Once you have
|
||||
played that sector (win or lose) you will return to the map and cross
|
||||
it off as completed. You can then proceed to the next sector and
|
||||
continue playing. Note that you can travel to any sector connected to
|
||||
a completed sector.
|
||||
Getting Warp Drive Pieces:
|
||||
You must complete every sector connected to a
|
||||
Warp Drive Piece to “collect” that piece. In
|
||||
this map example, I’ve highlighted every sector
|
||||
that would have to be completed to collect all
|
||||
the Warp Drive Pieces. Obviously you would need
|
||||
to complete other sectors in order to get to
|
||||
these in the first place.
|
||||
As you can see, in most notebooks, you’ll play
|
||||
the majority of levels just to collect the Warp
|
||||
Drive Pieces. I, of course, recommend playing all the sectors!
|
||||
|
||||
Understanding the SECTOR layout:
|
||||
The top section of the page is the
|
||||
sector map. Your ship will always be
|
||||
located on the bottom row. We will
|
||||
talk about each object on the map in
|
||||
the next section.
|
||||
Below the map is the Flight Computer,
|
||||
these are your movement values for
|
||||
this sector.
|
||||
In the bottom left are your missile
|
||||
and shield counters.
|
||||
In the bottom right is your mission
|
||||
and reward, with an area to mark Win
|
||||
or Loss. Also the sector number is
|
||||
found in this section.
|
||||
|
||||
SECTOR Objects:
|
||||
This is your ship. Start your movement here.
|
||||
This is an asteroid. You may shoot asteroids to allow you to
|
||||
travel through the space they occupy. You may also fly
|
||||
through an asteroid, but you will lose a shield.
|
||||
This is a wormhole. You will always find two wormholes in a
|
||||
sector. This allows you to “jump” to the location of the
|
||||
other wormhole when you travel through it. You keep moving
|
||||
the same direction and move any remaining spaces.
|
||||
|
||||
This is a mine. If you travel within one space of a mine, it
|
||||
explodes, using up one of your shields. You can also shoot
|
||||
it to detonate it. Anything (like an enemy, asteroid or even
|
||||
another mine) within 1 space of it is also destroyed.
|
||||
This is a credit pickup. If you pass over a credit pickup, make
|
||||
note of it. You can spend it after this sector, win or lose.
|
||||
This is a shield pickup. If you travel over one of these,
|
||||
outline a new circle in your shield counter for that sector.
|
||||
This is a missile pickup. If you travel over one, outline a
|
||||
new circle in your missile counter.
|
||||
Note: Shields and Missiles that you pickup are not carried over
|
||||
between sectors.
|
||||
Note: Most items that you encounter in a sector are “single use”
|
||||
meaning you can only interact with it once. Exceptions are wormholes
|
||||
which can be used repeatedly.
|
||||
|
||||
Maneuvering your SHIP:
|
||||
The values along the bottom of each sector
|
||||
(the “Flight Computer”) tell you how many
|
||||
spaces to move your ship. You may select
|
||||
which direction to move. Cross off the
|
||||
values as you go. You may skip a value, but you must still cross it
|
||||
off. You may not skip ? values. These mean that you must roll your d6
|
||||
to determine movement distance.
|
||||
|
||||
You can move in the 6 directions shown here. Draw a line
|
||||
to map out your movement, and a small circle at your new
|
||||
location to help you keep track of where you are. You
|
||||
may cross over your path as much as needed.
|
||||
Some things to keep in mind when moving: You can’t turn during a
|
||||
move. You must travel in a straight line in your chosen direction.
|
||||
Rarely there are no possible moves with the given value. Try skipping
|
||||
to the next value. If you rolled a movement value, and there are
|
||||
really no possible directions to go, then you can cross that out and
|
||||
move on to a value that works. Note :Even if the only possible move
|
||||
puts you in a tough situation, you must still take it. That’s life in
|
||||
space.
|
||||
IF you run out of moves on your Flight Computer without completing
|
||||
your stated mission objective, you have run out of fuel and Lose that
|
||||
sector. So be judicious with how many values you choose to skip!
|
||||
|
||||
Battling ENEMIES:
|
||||
You will encounter many enemies throughout your adventure, and often
|
||||
your objective is to destroy a certain amount of enemy ships to clear
|
||||
a sector.
|
||||
Attacking:
|
||||
First we will cover how you attack enemies. Between movements (not
|
||||
during) you may fire missiles. You may fire as many as you choose, as
|
||||
long as you have missiles left. You fire missiles in the same 6
|
||||
directions in which you move, so make sure you are aligned with an
|
||||
enemy before firing.
|
||||
When firing a missile, first cross
|
||||
it out in your missile counter.
|
||||
|
||||
Missiles are used whether they hit or not.
|
||||
Now, count the number of spaces between your ship and the enemy ship.
|
||||
You must roll this value or higher with a d6 in order to score a hit.
|
||||
In this example, your ship is 2 spaces away
|
||||
from the enemy ship, so you must roll 2 or
|
||||
higher. The roll was successful, so the enemy
|
||||
ship is destroyed. Cross it out. You may now
|
||||
fly over that space, and the enemy can no
|
||||
longer fire at you.
|
||||
Note: If you are only 1 space away from an enemy, there is no need to
|
||||
roll as that is a direct hit every time. Positioning is important!
|
||||
Being Attacked:
|
||||
Enemy ships have a bad attitude and will fire at you anytime you cross
|
||||
through their firing range. Although they will not always hit you!
|
||||
In this example, the movement of your ship
|
||||
has crossed the enemy’s range at a distance
|
||||
of 3. You roll your d6 for the enemy to
|
||||
determine if they score a hit. So if you roll
|
||||
a 3 or higher, they hit you.
|
||||
If you were hit, cross out a shield in
|
||||
your shield counter. If you are hit and
|
||||
have no shields left, then you lose that
|
||||
sector.
|
||||
Note: Enemies can see through asteroids, and fire through them as
|
||||
well. So unfair!
|
||||
|
||||
Winning or Losing a Sector:
|
||||
|
||||
Each sector has a stated objective of either blasting a certain
|
||||
amount of enemy ships, or retrieving an item. If you achieve this
|
||||
mission without running out of shields, or running out of fuel, then
|
||||
you mark W for Win. Otherwise, mark L for Loss.
|
||||
If you won, you receive CREDITS. These should be spent right away in
|
||||
the upgrades shop, or toward earning a prestige ranking.
|
||||
If you lost, you only keep any credits that you picked up on the map.
|
||||
These should also be spent right away. You can also mark a lost ship
|
||||
in the Game Stats page.
|
||||
After spending CREDITS, return to the Galaxy MAP and determine which
|
||||
sector you will play next.
|
||||
|
||||
Upgrading your SHIP:
|
||||
As you earn credits, many of them will
|
||||
be spent upgrading your ship. For each
|
||||
credit you earn, fill in a space, in
|
||||
order. Let’s briefly look at each option.
|
||||
●
|
||||
|
||||
Double Shot: When you fire a
|
||||
|
||||
missile, you get 2 rolls to score a hit.
|
||||
This does not apply to enemies shooting
|
||||
at you.
|
||||
●
|
||||
|
||||
Battering Ram: You effectively can
|
||||
|
||||
travel through asteroids as though they
|
||||
aren’t there.
|
||||
●
|
||||
|
||||
Nav-Control: This upgrade allows
|
||||
|
||||
you to choose your movement value (1-6)
|
||||
instead of rolling on ‘?’ values in the
|
||||
Flight Computer.
|
||||
|
||||
Note: the following upgrades must be earned in order. You can’t just
|
||||
jump straight to the final upgrade in the series.
|
||||
●
|
||||
|
||||
Extra Starting Shields: Start each sector with 1, 2, or 3
|
||||
additional shields in your shield counter.
|
||||
|
||||
●
|
||||
|
||||
Extra Starting Missiles: Same thing, but with more missiles in
|
||||
your missile counter each sector.
|
||||
|
||||
●
|
||||
|
||||
Missile Range: This modifies your roll when you roll to hit a
|
||||
target. Add 1 or 2 to the value.
|
||||
|
||||
Game Stats and Prestige Rankings:
|
||||
You can also spend credits on earning
|
||||
ranks in the game. This is purely for
|
||||
fun and added challenge to the game, to
|
||||
see which rank you can obtain. No one
|
||||
wants to end up as a mere cadet!
|
||||
You can also put interesting info on
|
||||
this page, like your contact info, when
|
||||
you started and ended your campaign,
|
||||
and even keep a tally of all the ships
|
||||
you lost in this strange GALAXY!
|
||||
|
||||
Space Monsters & Alien Encounters:
|
||||
The Space Monster mini-game provides a
|
||||
quick break from the regular gameplay
|
||||
and is a chance to earn some more
|
||||
upgrade tokens.
|
||||
Roll your d6 and then choose either a
|
||||
row OR a column of that number that
|
||||
contains a space monster. You don’t
|
||||
need to match both the row and column,
|
||||
just one or the other.
|
||||
Cross out one monster on that chosen
|
||||
row OR column and continue. You have 8
|
||||
rolls to hit as many monsters as you
|
||||
can. You earn a credit for each monster
|
||||
hit.
|
||||
|
||||
Alien encounters are fairly self-explanatory, but will usually result
|
||||
in either some kind of upgrade that only applies to the next
|
||||
normal-type sector that you play, or a reward of credits which should
|
||||
be spent immediately.
|
||||
|
||||
Good luck, Pilot!
|
||||
|
||||
-Tom Brinton, Game Designer
|
||||
This rule guide was found at:
|
||||
www.gladdendesign.com
|
||||
|
||||
1
|
||||
2
|
||||
|
||||
3
|
||||
|
||||
4
|
||||
|
||||
5
|
||||
|
||||
6
|
||||
|
||||
7
|
||||
|
||||
8
|
||||
|
||||
9
|
||||
|
||||
11
|
||||
|
||||
12
|
||||
|
||||
13
|
||||
|
||||
15
|
||||
|
||||
16
|
||||
|
||||
17
|
||||
|
||||
18
|
||||
|
||||
19
|
||||
|
||||
20
|
||||
|
||||
21
|
||||
|
||||
22
|
||||
|
||||
23
|
||||
|
||||
24
|
||||
|
||||
25
|
||||
|
||||
26
|
||||
|
||||
27
|
||||
|
||||
28
|
||||
|
||||
29
|
||||
|
||||
30
|
||||
|
||||
31
|
||||
|
||||
32
|
||||
|
||||
33
|
||||
|
||||
34
|
||||
|
||||
35
|
||||
|
||||
36
|
||||
|
||||
37
|
||||
|
||||
38
|
||||
|
||||
39
|
||||
|
||||
40
|
||||
|
||||
42
|
||||
|
||||
43
|
||||
|
||||
41
|
||||
45
|
||||
|
||||
46
|
||||
|
||||
47
|
||||
|
||||
48
|
||||
|
||||
49
|
||||
|
||||
10
|
||||
14
|
||||
|
||||
44
|
||||
|
||||
SYSTEM MAP - GALAXY #000000
|
||||
|
||||
M
|
||||
|
||||
5 5 4 1 2 2 3 ? 4 4 5 1 ? 1 2 ? 5 2 6 4
|
||||
Blast 4 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
1
|
||||
|
||||
1 2 6 1 2 2 ? 6 ? 6 ? 6 2 3 6 1 3 3 1 6
|
||||
Blast 4 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
2
|
||||
|
||||
5 2 ? 3 6 4 3 6 ? 4 2 ? ? ? ? 4 ? 5 ? 4
|
||||
Blast 3 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
3
|
||||
|
||||
4
|
||||
|
||||
1 3 6 4 4 3 4 5 3 3 5 1 3 4 ? 3 4 3 3 4
|
||||
Blast 3 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
5
|
||||
|
||||
3 1 4 6 5 2 1 ? 5 6 4 6 ? 3 2 4 6 ? ? 3
|
||||
Blast 3 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
7
|
||||
|
||||
? 3 ? ? 4 6 ? 5 4 4 5 4 6 ? 4 6 3 6 4 3
|
||||
Blast 2 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
6
|
||||
|
||||
2 3 ? 4 2 ? 5 1 5 1 1 3 6 3 ? 4 4 1 4 ?
|
||||
Blast 3 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
8
|
||||
|
||||
3 4 2 5 3 3 ? 2 ? 4 ? 3 2 1 1 2 2 3 3 4
|
||||
Blast 2 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
9
|
||||
|
||||
? 6 2 6 3 5 3 6 ? 2 6 6 5 6 3 ? 4 4 3 ?
|
||||
Grab parts →
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
11
|
||||
|
||||
2 ? ? ? 6 5 ? 3 5 1 ? 2 ? 3 2 2 ? 4 5 2
|
||||
Blast 3 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
10
|
||||
|
||||
6 ? 2 ? ? 2 3 2 5 5 1 ? ? 4 1 3 1 ? ? 6
|
||||
Blast 3 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
12
|
||||
|
||||
ENCOUNTER!
|
||||
|
||||
GOAXO-1088
|
||||
(ROBOT)
|
||||
|
||||
ATTENTION:
|
||||
I CAN OFFER CREDITS TO UPGRADE YOUR
|
||||
SHIP. ROLL DICE TO DETERMINE AMOUNT:
|
||||
|
||||
2 6 6 5 6 1 2 ? 5 6 5 1 3 ? 6 4 4 2 ? 6
|
||||
Blast 4 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
|
||||
GET→
|
||||
|
||||
3
|
||||
|
||||
3
|
||||
|
||||
2
|
||||
|
||||
1
|
||||
|
||||
1
|
||||
|
||||
L
|
||||
|
||||
13
|
||||
|
||||
? 1 4 ? 1 ? ? 4 2 2 6 ? 5 4 ? ? 3 5 ? 6
|
||||
Blast 4 enemies
|
||||
|
||||
2
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
15
|
||||
|
||||
+1 CREDIT IF YOU'RE A ROBOT TOO ;-]
|
||||
|
||||
14
|
||||
|
||||
? 6 2 4 ? 5 2 1 1 2 4 ? 6 2 2 ? 5 ? ? 1
|
||||
Blast 4 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
16
|
||||
|
||||
? 6 ? 5 1 1 ? 3 2 1 4 5 4 2 4 4 5 ? 5 ?
|
||||
Blast 4 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
17
|
||||
|
||||
2 1 ? 2 5 4 6 ? 3 4 3 ? ? 4 1 ? ? 3 ? 2
|
||||
Blast 4 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
18
|
||||
|
||||
ENCOUNTER!
|
||||
|
||||
FRAITO
|
||||
(HUMAN)
|
||||
|
||||
NEED A HAND, STRANGER? YOU CAN HAVE
|
||||
THESE MISSILES MY EX GAVE ME:
|
||||
|
||||
3 4 1 ? 6 4 ? 3 6 3 ? 2 4 ? 6 ? ? 5 3 1
|
||||
Blast 5 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
19
|
||||
|
||||
2 EXTRA STARTING MISSILES NEXT SECTOR
|
||||
OR 3 IF YOU'RE HUMAN TOO!
|
||||
|
||||
20
|
||||
|
||||
6 ? ? ? ? 6 6 1 3 ? 2 6 3 ? 6 1 ? ? 3 6
|
||||
Blast 4 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
21
|
||||
|
||||
? ? ? 4 4 6 ? 6 ? 5 ? 5 5 ? 2 1 1 5 ? ?
|
||||
Blast 4 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
22
|
||||
|
||||
1 ? 2 4 2 5 2 ? ? 2 ? 2 1 5 3 6 ? 4 4 5
|
||||
Blast 4 enemies
|
||||
|
||||
23
|
||||
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
24
|
||||
|
||||
4 5 5 2 ? 3 5 2 6 1 3 3 ? 6 6 1 2 3 6 6
|
||||
Blast 4 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
25
|
||||
|
||||
? ? 2 3 ? 3 2 ? 5 ? 1 6 ? 1 5 5 1 3 5 3
|
||||
Blast 5 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
27
|
||||
|
||||
3 ? 3 4 2 ? 3 4 3 ? 6 2 1 ? 1 ? 5 5 6 2
|
||||
Blast 5 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
26
|
||||
|
||||
2 1 ? 6 2 5 2 2 3 4 4 1 ? 2 4 4 ? 4 3 4
|
||||
Blast 5 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
28
|
||||
|
||||
6 1 1 2 5 5 ? 3 ? ? ? 5 5 1 5 6 3 6 6 ?
|
||||
Blast 4 enemies
|
||||
GET→
|
||||
|
||||
3 ? 1 4 3 ? 1 3 6 6 ? 6 ? 6 6 1 4 4 ? 3
|
||||
|
||||
W
|
||||
|
||||
W
|
||||
|
||||
Blast 5 enemies
|
||||
|
||||
L
|
||||
|
||||
29
|
||||
|
||||
L
|
||||
|
||||
30
|
||||
|
||||
GET→
|
||||
|
||||
ENCOUNTER!
|
||||
|
||||
WADOK-2800
|
||||
(ROBOT)
|
||||
|
||||
BEEP AND/OR BOOP!
|
||||
I CAN OFFER CREDITS TO UPGRADE YOUR
|
||||
SHIP. ROLL DICE TO DETERMINE AMOUNT:
|
||||
|
||||
5 3 5 ? 5 1 5 4 ? 3 ? 1 ? ? 2 5 6 1 ? 5
|
||||
Blast 5 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
|
||||
2
|
||||
|
||||
2
|
||||
|
||||
2
|
||||
|
||||
2
|
||||
|
||||
2
|
||||
|
||||
1
|
||||
|
||||
L
|
||||
|
||||
31
|
||||
|
||||
+1 CREDIT IF YOU'RE A ROBOT TOO ;-]
|
||||
|
||||
32
|
||||
|
||||
3 ? 4 5 5 4 ? 6 6 ? ? 3 2 ? ? 2 4 5 ? 4
|
||||
Grab artifact
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
33
|
||||
|
||||
? 4 3 2 ? ? 5 6 ? 4 5 6 6 4 2 6 3 2 5 4
|
||||
Blast 5 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
34
|
||||
|
||||
ENCOUNTER!
|
||||
|
||||
OLD BIGOR
|
||||
(HUMAN)
|
||||
|
||||
YOU LOOK LIKE YOU COULD USE SOME
|
||||
HELP. YOU CAN HAVE THESE MISSILES
|
||||
THAT I FOUND:
|
||||
|
||||
? 4 2 6 5 4 4 3 2 ? 6 ? 5 5 3 1 1 2 ? 6
|
||||
Grab parts →
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
35
|
||||
|
||||
2 EXTRA STARTING MISSILES NEXT SECTOR
|
||||
OR 3 IF YOU'RE HUMAN TOO!
|
||||
|
||||
36
|
||||
|
||||
? 6 5 1 2 1 6 ? ? 3 4 2 2 3 5 ? 1 2 ? 5
|
||||
Blast 5 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
37
|
||||
|
||||
? 3 2 ? 1 1 2 4 2 ? 1 3 6 5 4 1 2 6 4 4
|
||||
Blast 6 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
38
|
||||
|
||||
2 6 ? 1 3 5 2 ? ? 3 5 ? 3 1 3 5 3 ? 1 4
|
||||
Blast 6 enemies
|
||||
|
||||
39
|
||||
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
40
|
||||
|
||||
ENCOUNTER!
|
||||
|
||||
REOLBALO
|
||||
(ALIEN)
|
||||
|
||||
YO! YOUR NEXT DICE ROLL DETERMINES
|
||||
YOUR BONUS:
|
||||
|
||||
? 4 1 ? ? ? 6 ? 2 4 1 6 2 2 6 6 5 3 2 6
|
||||
Blast 6 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
41
|
||||
|
||||
1 2 1 3 2 ? 5 5 3 5 ? ? ? ? 6 6 6 3 ? 2
|
||||
Grab artifact
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
43
|
||||
|
||||
1
|
||||
|
||||
-1 SHIELD NEXT SECTOR
|
||||
|
||||
2
|
||||
|
||||
-1 SHIELD NEXT SECTOR
|
||||
|
||||
3
|
||||
|
||||
+1 MISSILE NEXT SECTOR
|
||||
|
||||
4
|
||||
|
||||
+1 CREDIT NEXT SECTOR
|
||||
|
||||
5
|
||||
|
||||
-1 MISSILE NEXT SECTOR
|
||||
|
||||
6
|
||||
|
||||
-1 SHIELD NEXT SECTOR
|
||||
PICK BEST OF 2 ROLLS IF YOU'RE AN ALIEN TOO
|
||||
|
||||
42
|
||||
|
||||
4 ? ? 3 1 5 3 2 ? ? ? 2 2 5 3 2 4 5 3 1
|
||||
Blast 6 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
44
|
||||
|
||||
6 4 5 3 ? 3 1 4 4 4 ? 3 6 1 2 4 1 6 ? 5
|
||||
Blast 6 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
45
|
||||
|
||||
6 2 ? 1 1 ? 3 2 2 ? 1 4 3 4 6 ? ? ? ? 6
|
||||
Grab parts →
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
47
|
||||
|
||||
3 2 2 ? 6 6 ? 4 4 6 ? 1 ? 1 2 3 ? ? 3 ?
|
||||
Blast 6 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
46
|
||||
|
||||
2 2 5 4 6 6 6 6 4 4 5 5 6 1 ? 3 6 6 5 6
|
||||
Blast 6 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
48
|
||||
|
||||
1 6 1 ? 6 ? 4 2 3 2 5 3 4 ? 3 2 ? 5 ? 3
|
||||
Blast 5 enemies
|
||||
GET→
|
||||
|
||||
W
|
||||
L
|
||||
|
||||
49
|
||||
|
||||
|
||||
@@ -0,0 +1,554 @@
|
||||
Hi there! Welcome to Paper Apps™ GOLF.
|
||||
It’s a beautiful, sunny morning at [Insert Randomly Generated Golf
|
||||
Course Name] and you’re ready to hit the links. I’ll give you all the
|
||||
tips and tricks you need to become a GOLF legend.
|
||||
First of all, let me explain a little bit about your GOLF notebook.
|
||||
Each notebook contains 3 randomly generated courses, each with 18
|
||||
holes. And yes, every single notebook has different courses and
|
||||
holes. Pretty neat, eh?
|
||||
|
||||
Your Goal
|
||||
|
||||
→
|
||||
This should go without saying, but just to be clear: your job is to
|
||||
get the ball in the hole. Just like normal golf–but how you get there
|
||||
is up to you!
|
||||
There are 2 ways to play Paper Apps™ GOLF: with or without a die. If
|
||||
you have a d6 handy, I definitely recommend that route since the
|
||||
random element mimics the vicissitudes of golf. However, if you’re
|
||||
looking for a quick GOLF fix and don’t want to be rolling your Pencil
|
||||
Dice or other d6 around, you can try Speed Golf instead!
|
||||
|
||||
Dice GOLF
|
||||
Roll your d6 to determine how far you’ll hit the ball.
|
||||
Add 1 to your roll if you are hitting from the fairway.
|
||||
Subtract 1 from your roll if you’re hitting from a sand trap.
|
||||
|
||||
Pick a direction for your hit. You may move in one of the 8
|
||||
orthogonal or diagonal directions. You may go back in the opposite
|
||||
direction of the previous hit if necessary.
|
||||
Check your landing spot and make sure your path is clear. You may
|
||||
only go through trees if you are hitting from the fairway (see
|
||||
Terrain section for more info).
|
||||
Once you’ve decided your path, draw a straight line to your new
|
||||
destination. Then draw a small circle to indicate the new ball
|
||||
position.
|
||||
NOTE: For an added challenge, you may pick your direction before
|
||||
hitting. Be “fore”-warned, this may require taking lots of Mulligans.
|
||||
Especially if your hit lands in the trees … or in the drink!
|
||||
Re-rolling:
|
||||
When teeing off, if you don’t like your roll, you may re-roll once.
|
||||
You must use the second roll amount. The same goes for Mulligans.
|
||||
You have 6 “Mulligans” per course that can be used to re-roll any
|
||||
time. Mark off each Mulligan used on the title page for the course.
|
||||
Putting:
|
||||
You may always choose to putt [move 1 space] on your turn. You may
|
||||
even roll the die and instead choose to putt instead of move the
|
||||
indicated number of spaces.
|
||||
|
||||
Speed GOLF
|
||||
In this version, you choose to move 6, 3, or 1 spaces with each hit.
|
||||
DRIVER [Move 6 spaces]: May only be used from the fairway. Drives can
|
||||
go over trees.
|
||||
|
||||
IRON [Move 3 spaces]: Use anytime. Only move 2 from sand. Can’t go
|
||||
over trees.
|
||||
PUTTER [Move 1 space]: You may always putt.
|
||||
Overshooting the hole:
|
||||
If you cross over the hole in the course of your movement path, the
|
||||
ball doesn’t necessarily “go in” the cup. However, you may overshoot
|
||||
the hole by 1 space in this case and count the ball as going in.
|
||||
Otherwise, the ball goes “over” the hole.
|
||||
Scoring:
|
||||
Add up your hits by counting the line segments you’ve drawn. The par
|
||||
on each hole is 6. Sometimes you’ll go over, sometimes you’ll go
|
||||
under. Don’t sweat it too much.
|
||||
|
||||
Terrain
|
||||
Let’s review the types of terrain you’ll encounter and what effects
|
||||
they have on your GOLF experience.
|
||||
Rough: This makes up the majority of the terrain on each hole. In
|
||||
Dice GOLF, it means you move the exact amount you roll. In Speed
|
||||
GOLF, it means you move by 3. You may also putt in the Rough.
|
||||
Fairway: It’s good to try to stay on the fairway. This gives +1
|
||||
to your roll in Dice GOLF and allows you to move 6 spaces in
|
||||
Speed GOLF. You can hit the ball over trees only when hitting from
|
||||
the fairway. You may also putt on the Fairway (it also makes up the
|
||||
area typically known as the green.)
|
||||
|
||||
Sand trap: Sand traps lessen your ability to move. In Dice GOLF,
|
||||
subtract 1 from your roll. In Speed GOLF, you may move 2 spaces.
|
||||
You may also putt to move 1 space in sand.
|
||||
Water hazard: You may not land in water. Your hit may travel over
|
||||
water though.
|
||||
Trees: You may not land on trees. Your hit may not travel
|
||||
over trees, except when hitting from the fairway.
|
||||
Slopes: Arrows indicate a slope. If you land on one, your ball
|
||||
rolls 1 space in that direction. Move your line that direction
|
||||
and then draw a circle to indicate your ball’s position.
|
||||
NOTES ON SLOPES: If the new space is also an arrow, your ball keeps
|
||||
rolling until it comes to a space without an arrow. Rarely, a slope
|
||||
may point towards water. In this case, ignore the slope. In the
|
||||
unlikely case that two arrows point directly at one another, stop the
|
||||
ball after the first arrow movement.
|
||||
|
||||
Multiplayer
|
||||
You may find it enjoyable to play GOLF with 2 or more people. In this
|
||||
case, it is best to use different colored pencils or pens. Dice GOLF
|
||||
works best for this scenario.
|
||||
Decide amongst yourselves what order you will tee off in. From that
|
||||
point onward, decide the turn order by distance from the hole
|
||||
(measured using a ruler). The player furthest from the hole always
|
||||
goes next.
|
||||
Thank you for playing Paper Apps™ GOLF! If you have unanswered
|
||||
questions, or wish to shower us with praise, please contact us at
|
||||
hey.gladden@gmail.com.
|
||||
|
||||
Course #1
|
||||
|
||||
Great
|
||||
River
|
||||
|
||||
Hole 2
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 1
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 3
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 4
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 5
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 6
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 7
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 8
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 9
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 10
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 11
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 12
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 13
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 14
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 15
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 16
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 18
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 17
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Course #2
|
||||
|
||||
Silver
|
||||
Forest
|
||||
|
||||
Hole 2
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 1
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 3
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 4
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 5
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 6
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 7
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 8
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 9
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 10
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 11
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 12
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 13
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 14
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 15
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 16
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 18
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 17
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Course #3
|
||||
|
||||
Royal
|
||||
Mountain
|
||||
|
||||
Hole 2
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 1
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 3
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 4
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 5
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 6
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 7
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 8
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 9
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 10
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 11
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 12
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 13
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 14
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 15
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 16
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 18
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
Hole 17
|
||||
|
||||
Strokes:
|
||||
|
||||
/6
|
||||
|
||||
Total:
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,181 @@
|
||||
---
|
||||
Date: 2026-07-21
|
||||
Author: Adolfo Reyna
|
||||
Tags: [games, paper-apps, foundation, tactility]
|
||||
---
|
||||
|
||||
# Paper Apps - Game Foundation
|
||||
|
||||
Purchased games from Gladden Design - to be used as foundation for device games.
|
||||
|
||||
## Files
|
||||
- `Paper-Apps-GOLF-ZERO.pdf` - Original GOLF notebook (3 courses x 18 holes)
|
||||
- `Paper_Apps_GALAXY_ZERO.pdf` - Original GALAXY notebook (~50 sectors + encounters)
|
||||
- `GOLF-rules.txt` / `GALAXY-rules.txt` - Extracted rules text
|
||||
- This README - distilled mechanics for porting
|
||||
|
||||
## GOLF (Paper Apps GOLF)
|
||||
|
||||
### Core Loop
|
||||
- 3 courses per notebook, each 18 holes, each hole randomly generated, unique per notebook
|
||||
- Goal: ball to hole in fewest hits. Par 6 per hole.
|
||||
|
||||
### Movement
|
||||
- 8-directional movement (orthogonal + diagonal)
|
||||
- Draw line + circle for new position
|
||||
|
||||
### Dice GOLF Mode
|
||||
- Roll d6 = distance
|
||||
- Fairway: +1 to roll
|
||||
- Sand: -1 to roll
|
||||
- Can always choose to putt (move 1) instead
|
||||
- Tee: one free re-roll; 6 Mulligans per course for re-rolls
|
||||
- Optional challenge: pick direction BEFORE roll
|
||||
|
||||
### Speed GOLF Mode (no dice)
|
||||
- DRIVER: move 6, fairway only, can go over trees
|
||||
- IRON: move 3 (2 from sand), can't go over trees
|
||||
- PUTTER: move 1, always allowed
|
||||
- Overshoot rule: crossing hole allows overshoot by 1 and counts as in; otherwise over.
|
||||
|
||||
### Terrain
|
||||
- **Rough**: majority, normal movement
|
||||
- **Fairway**: bonus (+1 dice, allows 6-move), only place can hit over trees, includes green
|
||||
- **Sand trap**: penalty (-1 dice, 2 max in Speed)
|
||||
- **Water**: cannot land, can travel over
|
||||
- **Trees**: cannot land, cannot travel over except from fairway
|
||||
- **Slopes (arrows)**: auto-roll 1 space in direction; chain if next is arrow; ignore if points to water; if 2 arrows point at each other, stop after first
|
||||
|
||||
### Multiplayer
|
||||
- Different colors, Dice mode best
|
||||
- Turn order by distance (furthest first) after tee-off
|
||||
|
||||
### Device Adaptation Ideas
|
||||
- Grid-based golf puzzle: procedurally generate holes (terrain tiles)
|
||||
- 8-way input, dice roll animation or Speed mode for kids
|
||||
- Render fairway/rough/sand/water/trees as sprites
|
||||
- Slope arrows auto-move
|
||||
- Score tracking per hole / course
|
||||
- Perfect for: Tactility devices (M5 stack, T-Deck), e-ink, kidsOS
|
||||
|
||||
---
|
||||
|
||||
## GALAXY (Paper Apps GALAXY)
|
||||
|
||||
### Core Loop / Meta
|
||||
- Pilot ID card: draw profile + choose race (Robot/Human/Alien) - preferential treatment from same race
|
||||
- System map: ~50 numbered sectors, arrow = start, cross off as completed
|
||||
- Can travel to any sector connected to completed sector
|
||||
- Collect 6 Warp Drive Pieces: must complete ALL sectors connected to a piece to collect it
|
||||
- Most sectors played just to collect pieces; completionist = visit every sector
|
||||
- Credits earned on win, spent immediately on upgrades or prestige ranks
|
||||
- On loss: keep only credits picked up on map, spend immediately
|
||||
|
||||
### Sector Layout
|
||||
- Top: sector map (ship starts bottom row)
|
||||
- Middle: Flight Computer = movement values (numbers + ? = roll d6)
|
||||
- Bottom left: missile + shield counters
|
||||
- Bottom right: mission, reward, W/L mark, sector number
|
||||
|
||||
### Sector Objects
|
||||
- **Ship**: start bottom row
|
||||
- **Asteroid**: shoot to clear, or fly through losing 1 shield
|
||||
- **Wormhole**: always 2 per sector, teleport to other, keep direction + remaining spaces
|
||||
- **Mine**: explodes if within 1 space (lose shield). Can shoot to detonate - destroys anything within 1 (enemy/asteroid/mine). Chain!
|
||||
- **Credit pickup**: note it, spend after sector
|
||||
- **Shield pickup**: outline new circle in shield counter (not carried over)
|
||||
- **Missile pickup**: outline new circle in missile counter (not carried over)
|
||||
- Items single-use except wormholes
|
||||
|
||||
### Movement
|
||||
- 6 directions (hex-like)
|
||||
- Values in Flight Computer - cross off as used
|
||||
- Can skip a value (cross off) but NOT ? values
|
||||
- ? = must roll d6 for distance
|
||||
- Straight line only per move, can cross own path
|
||||
- If no possible moves: skip to next value; if rolled value has no possible directions, cross out and move on
|
||||
- If run out of moves without objective -> Lose (fuel)
|
||||
|
||||
### Combat - Attacking
|
||||
- Between movements (not during) can fire missiles
|
||||
- Fire in same 6 directions as movement - must be aligned
|
||||
- Cross out missile from counter (used even if miss)
|
||||
- Count spaces to enemy, must roll that value or higher on d6 to hit (1 away = auto-hit)
|
||||
- Destroyed enemies can be flown over, no longer fire
|
||||
|
||||
### Combat - Being Attacked
|
||||
- Enemies fire when you cross through their range (line of sight)
|
||||
- Roll distance or higher for hit against you
|
||||
- Lose shield if hit; no shields left = Lose
|
||||
- Enemies can see/fire through asteroids
|
||||
|
||||
### Mission / Win Conditions
|
||||
- Either "Blast X enemies" or "Grab artifact" / "Grab parts" etc.
|
||||
- Win = objective without running out shields/fuel -> mark W, earn CREDITS
|
||||
- Lose = mark L, tally lost ship in stats
|
||||
|
||||
### Upgrades (spend credits in order)
|
||||
- Double Shot: 2 rolls to hit (not vs enemy fire)
|
||||
- Battering Ram: ignore asteroids
|
||||
- Nav-Control: choose movement instead of rolling ?
|
||||
- Extra Starting Shields: 1/2/3 additional (must earn in order)
|
||||
- Extra Starting Missiles: same, in order
|
||||
- Missile Range: +1 or +2 to hit roll
|
||||
- Prestige Ranks: spend credits for rank (Cadet -> higher) - fun/challenge
|
||||
|
||||
### Special Sectors
|
||||
|
||||
**Space Monsters mini-game**:
|
||||
- 8 rolls d6, choose row OR column of that number containing monster, cross out 1 monster, 1 credit per hit
|
||||
|
||||
**Alien Encounters**:
|
||||
- Narrative encounters with race types (Robot/Human/Alien)
|
||||
- Bonuses: credits (roll dice, +1 if same race), extra missiles next sector (+2, +3 if same race), random bonus table (d6: -1 shield, -1 shield, +1 missile, +1 credit, -1 missile, -1 shield - pick best of 2 if same race as Alien)
|
||||
|
||||
### Device Adaptation Ideas
|
||||
- Hex grid movement (6-directional)
|
||||
- Procedural sector generation: asteroids, enemies, wormholes, mines, pickups
|
||||
- Flight computer as queue of moves with skippable values
|
||||
- Missile combat with dice-roll hit check (distance mechanic)
|
||||
- Shield/missile counter UI
|
||||
- Galaxy map as node graph - unlock connected sectors
|
||||
- 6 warp pieces as meta-progression
|
||||
- Encounters as pop-up events with race bonuses
|
||||
- Space Monsters as bonus mini-game
|
||||
- Upgrade shop between sectors
|
||||
- Save: W/L per sector, credits, upgrades, warp pieces, lost ships tally
|
||||
|
||||
### Seed / Generation
|
||||
- SYSTEM MAP - GALAXY #000000 - suggests seeded generation (000000 is seed)
|
||||
- Each notebook unique random generation like GOLF's 3 courses unique
|
||||
- Flight computer values appear random with ? mixed in
|
||||
|
||||
---
|
||||
|
||||
## Common Paper Apps DNA
|
||||
- Pencil + d6 (or Speed/variant without)
|
||||
- Draw lines + circles to track
|
||||
- Cross-off counters (shields, missiles, Mulligans, Flight Computer values)
|
||||
- Single notebook = complete campaign (3 courses / ~50 sector galaxy)
|
||||
- Randomly generated per notebook -> replayability via new notebook
|
||||
- Both have special rule variations and multiplayer/social hooks
|
||||
- Contact: hey.gladden@gmail.com - Gladden Design - www.gladdendesign.com
|
||||
|
||||
## Adaptation Strategy for Devices
|
||||
|
||||
### Tactility / ESP32
|
||||
- Grid engine: generic tile system (GOLF: 8-way square, GALAXY: 6-way hex)
|
||||
- Dice as RNG + animation
|
||||
- Procedural generation using seed (like notebook number)
|
||||
- Save system: sector/hole progress, counters, upgrades
|
||||
- Render: low-res tile sprites work on M5Stack / T-Deck / RLCD
|
||||
|
||||
### KidsOS / Grace and Elias
|
||||
- GOLF simplified: Speed mode (6/3/1) no dice math, colorful tiles
|
||||
- GALAXY simplified: fewer enemies, auto-hit at close range, visual dice
|
||||
- Race selection fun (Robot/Human/Alien or royal twist)
|
||||
- Prestige/ranks appealing for Grace
|
||||
|
||||
### Reuse
|
||||
- Both games provide proven fun loops with minimal rules
|
||||
- Good candidates to merge: exploration map (GALAXY) + precision movement puzzles (GOLF terrain ideas)
|
||||
Reference in New Issue
Block a user