diff --git a/.vscode/launch.json b/.vscode/launch.json index 2a88165..abe3803 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -9,7 +9,7 @@ "type": "go", "request": "launch", "mode": "debug", - "program": "rhemawave.go", + "program": "radiantwave.go", "env": { "DEBUGINFOD_URLS": "" } diff --git a/AGENTS.md b/AGENTS.md index 4c288a7..9c10432 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,7 +10,7 @@ Dev shell via direnv (`use flake` in `.envrc`). Inside the nix dev shell: ```sh # Build -go build -o bin/radiantwave radiantwave.go +go build -o bin/radiantwave . # Run ./bin/radiantwave @@ -48,7 +48,7 @@ Both run `nix build -L` on a self-hosted runner (`neils-server-runner`). ## Key Architecture -- **Entry**: `rhemawave.go` → `internal/application.Run()` +- **Entry**: `radiantwave.go` → `internal/application.Run()` - **State machine**: `internal/application/application.go` — FIRST_RUN → NEEDS_INTERNET → NEEDS_EMAIL_ADDRESS → NEEDS_LICENSE_KEY → DOWNLOADING_ASSETS → READY - **Pages**: `internal/page/` — router pattern with page interface (`page.go`) - **DB**: SQLite at `~/.local/share/radiantwave/database.sqlite`, managed by GORM in `internal/db/` diff --git a/README.org b/README.org index c2a383d..2d632a6 100644 --- a/README.org +++ b/README.org @@ -16,7 +16,7 @@ 3. Open a pull request to =dev= 4. CI: Run =nix build= to verify no errors 5. CI: Run linting and unit tests -6. CI: Auto-update =rhemawave-dev= flake input +6. CI: Auto-update =radiantwave-dev= flake input 7. CI: Build all =dev= VMs in parallel (Kiosk, Commercial, RPi) 8. Merge the pull request to =dev= after CI passes diff --git a/TestList.org b/TestList.org index 028c389..a97a30e 100644 --- a/TestList.org +++ b/TestList.org @@ -1,5 +1,5 @@ * Virtual Machine Testing -To be completed after updating rhemawave-dev, deleting nixos.qcow2, and building rhemawavekiosk-dev +To be completed after updating radiantwave-dev, deleting nixos.qcow2, and building radiantwavekiosk-dev - [ ] Closure builds - [ ] VM Starts diff --git a/changelog.txt b/changelog.txt index be91e9f..ff97eb0 100644 --- a/changelog.txt +++ b/changelog.txt @@ -35,7 +35,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/). ### Changed (Major Refactors) - Mixer package: inject audio backend dependencies for testability - SwitchDevice now takes *db.AppConfig to access saved volume -- Audio files moved from ~/.local/share/rhemawave/audio to ~/.radiantwave/audio +- Audio files moved from ~/.local/share/radiantwave/audio to ~/.radiantwave/audio - State machine uses DOWNLOADING_ASSETS state before READY - checkState() skips re-navigation when transitioning between HOME-mapped states - network.init() logs warning instead of crashing when D-Bus is unavailable diff --git a/flake.nix b/flake.nix index aafe18e..bf65d77 100644 --- a/flake.nix +++ b/flake.nix @@ -69,11 +69,10 @@ postInstall = '' mkdir -p $out/share/radiantwave cp -r share/radiantwave/* $out/share/radiantwave/ - mv $out/bin/rhemawave $out/bin/radiantwave ''; meta = with pkgs.lib; { - description = "RhemaWave kiosk application"; + description = "RadiantWave kiosk application"; license = licenses.unfree; platforms = platforms.linux ++ platforms.darwin; }; @@ -89,11 +88,11 @@ export CGO_CFLAGS="$(pkg-config --cflags SDL2_mixer SDL2_ttf SDL2_image) $CGO_CFLAGS" export CGO_LDFLAGS="$(pkg-config --libs SDL2_mixer SDL2_ttf SDL2_image) $CGO_LDFLAGS" - echo "RhemaWave dev shell" + echo "RadiantWave dev shell" echo " go version: $(go version)" echo " CGO_ENABLED=1" echo "" - echo "Build: go build -o bin/radiantwave radiantwave.go" + echo "Build: go build -o bin/radiantwave ." echo "Run: ./bin/radiantwave" ''; }; diff --git a/go.mod b/go.mod index b6f03a6..ed1bdf1 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module rhemawavetech.com/rhemawave +module radiantwavetech.com/radiantwave go 1.24.0 diff --git a/internal/application/application.go b/internal/application/application.go index d9b6108..715a81d 100644 --- a/internal/application/application.go +++ b/internal/application/application.go @@ -11,19 +11,19 @@ import ( "github.com/veandco/go-sdl2/sdl" "github.com/veandco/go-sdl2/ttf" "gorm.io/gorm" - "rhemawavetech.com/rhemawave/internal/assets" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/download" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/graphics" - "rhemawavetech.com/rhemawave/internal/keybinds" - "rhemawavetech.com/rhemawave/internal/license" - "rhemawavetech.com/rhemawave/internal/logger" - "rhemawavetech.com/rhemawave/internal/mixer" - "rhemawavetech.com/rhemawave/internal/network" - "rhemawavetech.com/rhemawave/internal/page" - "rhemawavetech.com/rhemawave/internal/shaderManager" - "rhemawavetech.com/rhemawave/internal/sync" + "radiantwavetech.com/radiantwave/internal/assets" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/download" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/graphics" + "radiantwavetech.com/radiantwave/internal/keybinds" + "radiantwavetech.com/radiantwave/internal/license" + "radiantwavetech.com/radiantwave/internal/logger" + "radiantwavetech.com/radiantwave/internal/mixer" + "radiantwavetech.com/radiantwave/internal/network" + "radiantwavetech.com/radiantwave/internal/page" + "radiantwavetech.com/radiantwave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/sync" ) const ( @@ -31,7 +31,7 @@ const ( openGLMajorVersion = 3 openGLMinorVersion = 3 // volumeStepSize = 16 - // apiURL = "https://portal.rhemawavetech.com/api/v1" + // apiURL = "https://portal.radiantwavetech.com/api/v1" ) type State int @@ -346,7 +346,7 @@ func (app *Application) initializeSDLAndOpenGL() (W, H int32) { logger.Info("Creating window") window, err := sdl.CreateWindow( - "Rhema Wave", + "Radiant Wave", sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED, displayMode.W, diff --git a/internal/application/application_test.go b/internal/application/application_test.go index 99edf36..87610cb 100644 --- a/internal/application/application_test.go +++ b/internal/application/application_test.go @@ -5,8 +5,8 @@ import ( "time" "gorm.io/gorm" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/page" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/page" ) // Regression: The app used to reach READY before audio downloads completed, @@ -446,7 +446,7 @@ func TestMultipleComputeStateCallsAfterDownloadComplete(t *testing.T) { } // TestDataDirFor verifies the per-user data directory resolves to the -// radiantwave path, not the legacy rhemawave name. +// radiantwave path, not the legacy radiantwave name. func TestDataDirFor(t *testing.T) { got := DataDirFor("/home/kiosk") want := "/home/kiosk/.local/share/radiantwave" diff --git a/internal/download/Download.go b/internal/download/Download.go index 363b8f1..6691139 100644 --- a/internal/download/Download.go +++ b/internal/download/Download.go @@ -11,8 +11,8 @@ import ( "strings" "gorm.io/gorm" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/logger" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/logger" ) // DownloadStatus holds information related to downloads and is diff --git a/internal/download/download_test.go b/internal/download/download_test.go index c98aa58..95b212a 100644 --- a/internal/download/download_test.go +++ b/internal/download/download_test.go @@ -11,8 +11,8 @@ import ( "gorm.io/driver/sqlite" "gorm.io/gorm" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/download" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/download" ) func md5Hex(data []byte) string { diff --git a/internal/fontManager/fontManager.go b/internal/fontManager/fontManager.go index 20e0096..6c841bc 100644 --- a/internal/fontManager/fontManager.go +++ b/internal/fontManager/fontManager.go @@ -11,9 +11,9 @@ import ( "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" "github.com/veandco/go-sdl2/ttf" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/graphics" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/graphics" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) // FontManager handles the loading and management of fonts. @@ -217,12 +217,12 @@ func (fm *FontManager) CreateScrambledFont(baseFontName string, newFontName stri // - Maintains pixel-perfect reversibility despite high visual entropy // - Produces deterministic, reproducible patterns for each character // -// Within our Rhema Wave generation system, these transformed characters create spatial interference +// Within our Radiant Wave generation system, these transformed characters create spatial interference // patterns designed for subconscious processing. Each character contributes a unique frequency // signature to the overall visual field, with Fibonacci-based geometry intended to create harmonic // relationships between character patterns. The result is a consciously illegible display that // maintains structured information content in the spatial domain, forming a component of the -// broader Rhema Wave output. +// broader Radiant Wave output. func (fm *FontManager) scrambleSurface(surface *sdl.Surface, r rune) error { if surface.W < 8 || surface.H < 8 { return nil diff --git a/internal/logger/logger.go b/internal/logger/logger.go index 8214b06..5abfb72 100644 --- a/internal/logger/logger.go +++ b/internal/logger/logger.go @@ -7,7 +7,7 @@ import ( "time" "gorm.io/gorm" - "rhemawavetech.com/rhemawave/internal/db" + "radiantwavetech.com/radiantwave/internal/db" ) // ─── Level ─────────────────────────────────────────────────────────────────── diff --git a/internal/mixer/mixer.go b/internal/mixer/mixer.go index a312473..9d5b7f2 100644 --- a/internal/mixer/mixer.go +++ b/internal/mixer/mixer.go @@ -8,8 +8,8 @@ import ( "github.com/veandco/go-sdl2/mix" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/logger" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/logger" ) var ( diff --git a/internal/mixer/mixer_test.go b/internal/mixer/mixer_test.go index d7babf7..146e944 100644 --- a/internal/mixer/mixer_test.go +++ b/internal/mixer/mixer_test.go @@ -4,7 +4,7 @@ import ( "math" "testing" - "rhemawavetech.com/rhemawave/internal/mixer" + "radiantwavetech.com/radiantwave/internal/mixer" ) func TestSetVolume(t *testing.T) { diff --git a/internal/network/network.go b/internal/network/network.go index 1510fc3..35d6c8c 100644 --- a/internal/network/network.go +++ b/internal/network/network.go @@ -9,7 +9,7 @@ import ( gonm "github.com/Wifx/gonetworkmanager/v2" "github.com/google/uuid" - "rhemawavetech.com/rhemawave/internal/logger" + "radiantwavetech.com/radiantwave/internal/logger" ) // ─── Public types ───────────────────────────────────────────────────────────── diff --git a/internal/page/AudioDevices.go b/internal/page/AudioDevices.go index 58bb182..0693a8a 100644 --- a/internal/page/AudioDevices.go +++ b/internal/page/AudioDevices.go @@ -7,12 +7,12 @@ import ( "github.com/go-gl/gl/v3.3-core/gl" "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/colors" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/logger" - "rhemawavetech.com/rhemawave/internal/mixer" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/colors" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/logger" + "radiantwavetech.com/radiantwave/internal/mixer" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) const systemDefaultDeviceName = "System Default" diff --git a/internal/page/AudioDevices_test.go b/internal/page/AudioDevices_test.go index 20eee7b..f0558fa 100644 --- a/internal/page/AudioDevices_test.go +++ b/internal/page/AudioDevices_test.go @@ -3,7 +3,7 @@ package page import ( "testing" - "rhemawavetech.com/rhemawave/internal/mixer" + "radiantwavetech.com/radiantwave/internal/mixer" ) func TestCurrentDeviceIndex(t *testing.T) { diff --git a/internal/page/AudioOptions.go b/internal/page/AudioOptions.go index 97526fa..30f08a3 100644 --- a/internal/page/AudioOptions.go +++ b/internal/page/AudioOptions.go @@ -7,12 +7,12 @@ import ( "github.com/go-gl/gl/v3.3-core/gl" "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/colors" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/logger" - "rhemawavetech.com/rhemawave/internal/mixer" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/colors" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/logger" + "radiantwavetech.com/radiantwave/internal/mixer" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) // focusToggle is the focus state of the audio on/off toggle, the topmost diff --git a/internal/page/TrackSelection.go b/internal/page/TrackSelection.go index f083ab4..42a4107 100644 --- a/internal/page/TrackSelection.go +++ b/internal/page/TrackSelection.go @@ -7,11 +7,11 @@ import ( "github.com/go-gl/gl/v3.3-core/gl" "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/colors" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/logger" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/colors" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/logger" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) var audioTrackSeed = []db.AudioTrack{ diff --git a/internal/page/emailAddressPage.go b/internal/page/emailAddressPage.go index 14b274c..3a8bb2e 100644 --- a/internal/page/emailAddressPage.go +++ b/internal/page/emailAddressPage.go @@ -7,10 +7,10 @@ import ( "github.com/go-gl/gl/v3.3-core/gl" "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/colors" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/colors" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) // emailRegex validates email format diff --git a/internal/page/home.go b/internal/page/home.go index 8ed6e0a..ae7f77c 100644 --- a/internal/page/home.go +++ b/internal/page/home.go @@ -6,14 +6,14 @@ import ( "github.com/go-gl/gl/v3.3-core/gl" "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/colors" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/download" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/colors" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/download" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) -var GitVersion = "07292026_1618" +var GitVersion = "08082026_0120" type Home struct { Base diff --git a/internal/page/home_test.go b/internal/page/home_test.go index 02d59e4..ac85200 100644 --- a/internal/page/home_test.go +++ b/internal/page/home_test.go @@ -3,7 +3,7 @@ package page import ( "testing" - "rhemawavetech.com/rhemawave/internal/download" + "radiantwavetech.com/radiantwave/internal/download" ) // Regression: DownloadDone was closed twice when checkState() re-navigated diff --git a/internal/page/licenseKeyPage.go b/internal/page/licenseKeyPage.go index 6ee0b18..824486f 100644 --- a/internal/page/licenseKeyPage.go +++ b/internal/page/licenseKeyPage.go @@ -9,11 +9,11 @@ import ( "github.com/go-gl/gl/v3.3-core/gl" "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/colors" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/logger" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/colors" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/logger" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) type LicenseKeyPage struct { diff --git a/internal/page/logViewerPage.go b/internal/page/logViewerPage.go index 6f82313..9c975f9 100644 --- a/internal/page/logViewerPage.go +++ b/internal/page/logViewerPage.go @@ -8,11 +8,11 @@ import ( "github.com/go-gl/gl/v3.3-core/gl" "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/colors" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/logger" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/colors" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/logger" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) type LogViewerPage struct { diff --git a/internal/page/page.go b/internal/page/page.go index 8528d53..742982e 100644 --- a/internal/page/page.go +++ b/internal/page/page.go @@ -7,7 +7,7 @@ import ( "github.com/go-gl/gl/v3.3-core/gl" "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) // Page defines the contract for all application screens. diff --git a/internal/page/pageItem.go b/internal/page/pageItem.go index e34cf2e..49dea1f 100644 --- a/internal/page/pageItem.go +++ b/internal/page/pageItem.go @@ -5,8 +5,8 @@ import ( "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) // PageItem defines the basic features of any item on any page diff --git a/internal/page/proclamationOptions.go b/internal/page/proclamationOptions.go index c0ac305..d7663b1 100644 --- a/internal/page/proclamationOptions.go +++ b/internal/page/proclamationOptions.go @@ -12,12 +12,12 @@ import ( "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" "gorm.io/gorm" - "rhemawavetech.com/rhemawave/internal/colors" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/logger" - "rhemawavetech.com/rhemawave/internal/shaderManager" - "rhemawavetech.com/rhemawave/internal/sync" + "radiantwavetech.com/radiantwave/internal/colors" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/logger" + "radiantwavetech.com/radiantwave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/sync" ) // Scrollbar Visuals diff --git a/internal/page/router.go b/internal/page/router.go index 41b8f17..aaeff29 100644 --- a/internal/page/router.go +++ b/internal/page/router.go @@ -2,7 +2,7 @@ package page import ( "gorm.io/gorm" - "rhemawavetech.com/rhemawave/internal/download" + "radiantwavetech.com/radiantwave/internal/download" ) type pageType int diff --git a/internal/page/scrollerPage.go b/internal/page/scrollerPage.go index d287efb..ae0f849 100644 --- a/internal/page/scrollerPage.go +++ b/internal/page/scrollerPage.go @@ -9,14 +9,14 @@ import ( "github.com/go-gl/gl/v3.3-core/gl" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/colors" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/logger" - "rhemawavetech.com/rhemawave/internal/mixer" - colorPattern "rhemawavetech.com/rhemawave/internal/pattern/color" - linePattern "rhemawavetech.com/rhemawave/internal/pattern/line" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/colors" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/logger" + "radiantwavetech.com/radiantwave/internal/mixer" + colorPattern "radiantwavetech.com/radiantwave/internal/pattern/color" + linePattern "radiantwavetech.com/radiantwave/internal/pattern/line" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) const ( diff --git a/internal/page/settingsPage.go b/internal/page/settingsPage.go index 93eb689..5f87d3a 100644 --- a/internal/page/settingsPage.go +++ b/internal/page/settingsPage.go @@ -5,10 +5,10 @@ import ( "github.com/go-gl/gl/v3.3-core/gl" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/colors" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/colors" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) type Settings struct { diff --git a/internal/page/wifiSetupPage.go b/internal/page/wifiSetupPage.go index e6755d4..f21e091 100644 --- a/internal/page/wifiSetupPage.go +++ b/internal/page/wifiSetupPage.go @@ -7,13 +7,13 @@ import ( "github.com/go-gl/gl/v3.3-core/gl" "github.com/go-gl/mathgl/mgl32" "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/colors" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/fontManager" - "rhemawavetech.com/rhemawave/internal/keybinds" - "rhemawavetech.com/rhemawave/internal/logger" - "rhemawavetech.com/rhemawave/internal/network" - "rhemawavetech.com/rhemawave/internal/shaderManager" + "radiantwavetech.com/radiantwave/internal/colors" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/keybinds" + "radiantwavetech.com/radiantwave/internal/logger" + "radiantwavetech.com/radiantwave/internal/network" + "radiantwavetech.com/radiantwave/internal/shaderManager" ) // ─── Types ──────────────────────────────────────────────────────────────────── diff --git a/internal/pattern/color/colorPatterns.go b/internal/pattern/color/colorPatterns.go index 196c750..e3cb837 100644 --- a/internal/pattern/color/colorPatterns.go +++ b/internal/pattern/color/colorPatterns.go @@ -2,7 +2,7 @@ package pattern import ( "github.com/veandco/go-sdl2/sdl" - "rhemawavetech.com/rhemawave/internal/colors" + "radiantwavetech.com/radiantwave/internal/colors" ) type ColorPattern struct { @@ -57,13 +57,13 @@ func NewColorPattern(colors []sdl.Color) *ColorPattern { // - Combines intent-based color selection with mathematical temporal distribution // - Produces harmonic color rhythm synchronized with natural numerical progression // -// Within our Rhema Wave generation system, this color distribution works in conjunction with +// Within our Radiant Wave generation system, this color distribution works in conjunction with // the spatially-scrambled character patterns. While the scrambling creates spatial frequency // signatures, the Fibonacci-oscillating color pattern creates temporal frequency modulation. // The colors themselves are selected according to color theory principles based on the proclamation's // psychological intent, and the oscillating Fibonacci distribution ensures these therapeutic colors // maintain presence throughout the viewing session while creating harmonic temporal rhythm that -// reinforces the overall Rhema Wave effect. +// reinforces the overall Radiant Wave effect. func (c *ColorPattern) Color() sdl.Color { // 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418 // This is a failsafe in case this pattern is used but colors are not supplied. Without this check, no text will display due to not having a color diff --git a/internal/pattern/line/fibonacci.go b/internal/pattern/line/fibonacci.go index f63af7a..bb0e2b4 100644 --- a/internal/pattern/line/fibonacci.go +++ b/internal/pattern/line/fibonacci.go @@ -51,14 +51,14 @@ func (f *FibonacciPattern) Name() string { return "Fibonacci" } // - Produces natural expansion-contraction rhythm synchronized with Fibonacci progression // - Combines spatial wave formation with temporal content distribution in single mechanism // -// Within our Rhema Wave generation system, this spatial distribution pattern works in concert +// Within our Radiant Wave generation system, this spatial distribution pattern works in concert // with the character-level scrambling and color distribution methods. While character scrambling // creates local spatial frequency patterns and color oscillation creates temporal color rhythm, // the Fibonacci line length pattern generates a macro-level spatial wave that modulates the // overall display geometry. The mathematical relationship between line lengths creates harmonic // spatial progression, and the oscillating nature ensures proclamation content cycles through // varying exposure durations, contributing to the layered frequency composition of the complete -// Rhema Wave output. +// Radiant Wave output. func (f *FibonacciPattern) GetNextLine(words []string, wordIndex *int, ctx *LineRenderContext) []string { if ctx == nil || len(words) == 0 { return nil diff --git a/internal/pattern/line/linePatterns.go b/internal/pattern/line/linePatterns.go index 4a04bc8..2f6e091 100644 --- a/internal/pattern/line/linePatterns.go +++ b/internal/pattern/line/linePatterns.go @@ -3,7 +3,7 @@ package pattern import ( "fmt" - "rhemawavetech.com/rhemawave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/fontManager" ) type LinePattern interface { diff --git a/internal/pattern/line/sineWavePattern.go b/internal/pattern/line/sineWavePattern.go index fd73e3d..a05226c 100644 --- a/internal/pattern/line/sineWavePattern.go +++ b/internal/pattern/line/sineWavePattern.go @@ -3,7 +3,7 @@ package pattern import ( "math" - "rhemawavetech.com/rhemawave/internal/fontManager" + "radiantwavetech.com/radiantwave/internal/fontManager" ) type SineWavePattern struct { diff --git a/internal/sync/sync.go b/internal/sync/sync.go index 3aa2d4c..2c2e68e 100644 --- a/internal/sync/sync.go +++ b/internal/sync/sync.go @@ -5,9 +5,9 @@ import ( "gorm.io/gorm" "gorm.io/gorm/clause" - "rhemawavetech.com/rhemawave/internal/db" - "rhemawavetech.com/rhemawave/internal/logger" - "rhemawavetech.com/rhemawave/internal/netreq" + "radiantwavetech.com/radiantwave/internal/db" + "radiantwavetech.com/radiantwave/internal/logger" + "radiantwavetech.com/radiantwave/internal/netreq" ) var htmlRegex = regexp.MustCompile(`<[^>]*>`) diff --git a/nixos/module.nix b/nixos/module.nix index 1ace79a..cbd131f 100644 --- a/nixos/module.nix +++ b/nixos/module.nix @@ -3,17 +3,17 @@ self: { config, lib, pkgs, ... }: let - cfg = config.services.rhemawave; + cfg = config.services.radiantwave; in { - options.services.rhemawave = { - enable = lib.mkEnableOption "RhemaWave kiosk application"; + options.services.radiantwave = { + enable = lib.mkEnableOption "RadiantWave kiosk application"; package = lib.mkOption { type = lib.types.package; # Points to the default package in your flake default = self.packages.${pkgs.system}.default; - description = "The RhemaWave package to use."; + description = "The RadiantWave package to use."; }; user = lib.mkOption { diff --git a/nixos/vm.nix b/nixos/vm.nix index 7311bba..9f72008 100644 --- a/nixos/vm.nix +++ b/nixos/vm.nix @@ -14,14 +14,14 @@ { config, lib, pkgs, ... }: let - rhemaApp = config.services.rhemawave.package; + radiantApp = config.services.radiantwave.package; in { # ── Hostname ────────────────────────────────────────────────────────────── networking.hostName = "radiantwave-test"; # ── RadiantWave module ──────────────────────────────────────────────────── - services.rhemawave.enable = true; + services.radiantwave.enable = true; # ── Boot ────────────────────────────────────────────────────────────────── boot.loader.systemd-boot.enable = lib.mkForce false; @@ -108,10 +108,10 @@ in # Asset sync + start app (same as production) mkdir -p /home/kiosk/.local/share/radiantwave - ${pkgs.rsync}/bin/rsync -ru ${rhemaApp}/share/radiantwave/ /home/kiosk/.local/share/radiantwave/ + ${pkgs.rsync}/bin/rsync -ru ${radiantApp}/share/radiantwave/ /home/kiosk/.local/share/radiantwave/ mkdir -p /home/kiosk/.radiantwave/audio - cage -- ${rhemaApp}/bin/radiantwave -d -s > /tmp/kiosk.log 2>&1 + cage -- ${radiantApp}/bin/radiantwave -d -s > /tmp/kiosk.log 2>&1 fi ''; diff --git a/packaging/kiosk/99-rhemawave-updater.rules b/packaging/kiosk/99-radiantwave-updater.rules similarity index 89% rename from packaging/kiosk/99-rhemawave-updater.rules rename to packaging/kiosk/99-radiantwave-updater.rules index 9cdbc4f..138d96c 100644 --- a/packaging/kiosk/99-rhemawave-updater.rules +++ b/packaging/kiosk/99-radiantwave-updater.rules @@ -1,4 +1,4 @@ -// Allow kiosk user to run apt update, apt install for rhemawave packages, +// Allow kiosk user to run apt update, apt install for radiantwave packages, // and restart getty for application reloading polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.policykit.exec" && @@ -20,11 +20,11 @@ polkit.addRule(function(action, subject) { return polkit.Result.YES; } - // Allow: apt install --only-upgrade rhemawave[-dev] + // Allow: apt install --only-upgrade radiantwave[-dev] if (cmdline && cmdline.indexOf("install") >= 0 && cmdline.indexOf("--only-upgrade") >= 0 && - cmdline.indexOf("rhemawave") >= 0) { + cmdline.indexOf("radiantwave") >= 0) { return polkit.Result.YES; } } diff --git a/packaging/kiosk/post-install.sh b/packaging/kiosk/post-install.sh index b1cb9aa..9c80d6a 100755 --- a/packaging/kiosk/post-install.sh +++ b/packaging/kiosk/post-install.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Post-installation script for RhemaWave +# Post-installation script for RadiantWave set -e # Create kiosk group if it doesn't exist @@ -12,13 +12,13 @@ fi if ! getent passwd kiosk > /dev/null 2>&1; then echo "Creating kiosk user..." useradd --system --gid kiosk --create-home --home-dir /home/kiosk \ - --shell /bin/bash --comment "RhemaWave Kiosk User" kiosk + --shell /bin/bash --comment "RadiantWave Kiosk User" kiosk fi # Set proper group ownership for writable directories -chgrp -R kiosk /usr/local/share/rhemawave +chgrp -R kiosk /usr/local/share/radiantwave # Ensure kiosk user can write to the data directory -chmod g+w /usr/local/share/rhemawave +chmod g+w /usr/local/share/radiantwave -echo "✓ RhemaWave post-install complete" \ No newline at end of file +echo "✓ RadiantWave post-install complete" \ No newline at end of file diff --git a/packaging/kiosk/rhemawave-kiosk.sh b/packaging/kiosk/radiantwave-kiosk.sh similarity index 70% rename from packaging/kiosk/rhemawave-kiosk.sh rename to packaging/kiosk/radiantwave-kiosk.sh index 911f67d..1403a3a 100755 --- a/packaging/kiosk/rhemawave-kiosk.sh +++ b/packaging/kiosk/radiantwave-kiosk.sh @@ -1,16 +1,16 @@ -# RhemaWave kiosk auto-launch on tty1 +# RadiantWave kiosk auto-launch on tty1 if [ -z "$WAYLAND_DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then export XDG_RUNTIME_DIR=/run/user/$(id -u) export SDL_VIDEODRIVER=wayland # Check for updates before launching - /usr/bin/python3 /usr/local/bin/rhemawave-updater.py || true + /usr/bin/python3 /usr/local/bin/radiantwave-updater.py || true # Set all sinks to full volume for sink in $(wpctl status | grep -oP '^\s+\K\d+(?=\.)' | head -10); do wpctl set-volume "$sink" 1.0 2>/dev/null done - exec cage -- /usr/local/bin/rhemawave + exec cage -- /usr/local/bin/radiantwave fi diff --git a/packaging/rhemawave-updater.py b/packaging/radiantwave-updater.py similarity index 98% rename from packaging/rhemawave-updater.py rename to packaging/radiantwave-updater.py index 0c902c1..9aec36e 100755 --- a/packaging/rhemawave-updater.py +++ b/packaging/radiantwave-updater.py @@ -1,13 +1,13 @@ #!/usr/bin/env python3 """ -rhemawave-updater.py +radiantwave-updater.py -Auto-updater for RhemaWave kiosk application. +Auto-updater for RadiantWave kiosk application. Uses apt to check for and install updates from the configured repository. USAGE: Run as kiosk user: - python3 /usr/local/bin/rhemawave-updater.py + python3 /usr/local/bin/radiantwave-updater.py """ import sys @@ -20,11 +20,11 @@ from datetime import datetime # Configuration - templated by build script PACKAGE_NAME = "__CHANNEL__" -HEADSCALE_URL = "https://headscale.rhemawavetech.com" +HEADSCALE_URL = "https://headscale.radiantwavetech.com" HEADSCALE_AUTHKEY = "803130d5b2e38bffa9fa5b6921a3d6403100e2e30fea1bd5" # Paths -LOG_FILE = Path("/home/kiosk/rhemawave-updater.log") +LOG_FILE = Path("/home/kiosk/radiantwave-updater.log") LICENSE_KEY_PATH = Path.home() / ".local/share/radiantwave/license_key" @@ -444,7 +444,7 @@ def sync_ssh_keys(): try: logger.debug(f"Fetching keys from {url}") - req = urllib.request.Request(url, headers={"User-Agent": "rhemawave-updater"}) + req = urllib.request.Request(url, headers={"User-Agent": "radiantwave-updater"}) with urllib.request.urlopen(req, timeout=10) as resp: keys = resp.read().decode().strip() @@ -492,7 +492,7 @@ def check_for_upgrade(): def main(): logger.log("=========================================") - logger.log("RhemaWave Updater") + logger.log("RadiantWave Updater") logger.log(f"Package: {PACKAGE_NAME}") logger.log(f"Timestamp: {datetime.now().isoformat()}") logger.log("=========================================") diff --git a/rhemawave.go b/radiantwave.go similarity index 66% rename from rhemawave.go rename to radiantwave.go index 8f7e157..7ade98f 100644 --- a/rhemawave.go +++ b/radiantwave.go @@ -3,7 +3,7 @@ package main import ( "fmt" - "rhemawavetech.com/rhemawave/internal/application" + "radiantwavetech.com/radiantwave/internal/application" ) func main() { diff --git a/scripts/test-vm.sh b/scripts/test-vm.sh index d4f3d7e..e1244d3 100755 --- a/scripts/test-vm.sh +++ b/scripts/test-vm.sh @@ -344,7 +344,7 @@ run_in_vm nmcli device status 2>/dev/null || echo "nmcli not available" echo "" echo "── Key Processes ──" run_in_vm ps aux | \ - grep -E 'rhemawave|cage|pipewire|wireplumber|NetworkManager' | \ + grep -E 'radiantwave|cage|pipewire|wireplumber|NetworkManager' | \ grep -v grep || echo "No matching processes" echo "" diff --git a/share/radiantwave/tos/01 - WELCOME.html b/share/radiantwave/tos/01 - WELCOME.html index b6aa4e3..7e5e5e7 100644 --- a/share/radiantwave/tos/01 - WELCOME.html +++ b/share/radiantwave/tos/01 - WELCOME.html @@ -1,4 +1,4 @@ -

Welcome to RHEMA WAVE TECHNOLOGY!

+

Welcome to RADIANT WAVE TECHNOLOGY!

Please review the following screens carefully and completely as they provide important user information, as well as outline YOUR legal responsibilities!

@@ -6,9 +6,9 @@

We would also like to express our appreciation for YOUR faith, patience, and understanding as we continue evolving our ingenious business model, our revolutionary patented products, and our unprecedented copy-written technology! While we have, quoting the immortal words of Captain Kirk in the original Star Trek series, "Gone where no man has gone before!" we have already complied quite a long list of futuristic products, services, refinements, and innovations we expect to introduce as soon as humanly possible.

-

While RHEMA WAVE TECHNOLOGY is already on the cutting edge of technological advancement, we believe this is just the beginning as we intend to push the cutting edge of technology for decades into the future with yet unimaginable creations. Our focus on the continuing evolution of our science will ensure competitors will fall by the wayside as RHEMA WAVE TECHNOLOGY continues to stand alone as the undisputed "Pioneer of Innovation!"

+

While RADIANT WAVE TECHNOLOGY is already on the cutting edge of technological advancement, we believe this is just the beginning as we intend to push the cutting edge of technology for decades into the future with yet unimaginable creations. Our focus on the continuing evolution of our science will ensure competitors will fall by the wayside as RADIANT WAVE TECHNOLOGY continues to stand alone as the undisputed "Pioneer of Innovation!"

-

Welcoming you into our RHEMA WAVE TECHNOLOGY family is far more than simply a polite slogan. We consider our members kin to the RHEMA WAVE TECHNOLOGY lineage and thus part of a very unique and special family. As part of our family we anticipate YOU will remain in communication with us and share YOUR personal progress and experiences. We also encourage you to ask questions, express concerns, and share your ideas as everyone's continued involvement is key to continued advancement.

+

Welcoming you into our RADIANT WAVE TECHNOLOGY family is far more than simply a polite slogan. We consider our members kin to the RADIANT WAVE TECHNOLOGY lineage and thus part of a very unique and special family. As part of our family we anticipate YOU will remain in communication with us and share YOUR personal progress and experiences. We also encourage you to ask questions, express concerns, and share your ideas as everyone's continued involvement is key to continued advancement.

In closing, and keeping with the original Star Trek theme, we feel it is amazingly appropriate to salute you in the same manner Spock, the half-human, half-Vulcan, pointy eared, logic-driven first officer aboard the StarShip Enterprise would,

diff --git a/share/radiantwave/tos/02 - NOTICE.html b/share/radiantwave/tos/02 - NOTICE.html index b6e8483..573cc44 100644 --- a/share/radiantwave/tos/02 - NOTICE.html +++ b/share/radiantwave/tos/02 - NOTICE.html @@ -1,15 +1,15 @@ -

RHEMA WAVE TECHNOLOGY, EQUIPMENT, AND SOFTWARE IS NOT INTENDED, MARKETED, OR SOLD AS A MEDICAL DEVICE.

+

RADIANT WAVE TECHNOLOGY, EQUIPMENT, AND SOFTWARE IS NOT INTENDED, MARKETED, OR SOLD AS A MEDICAL DEVICE.

-

RHEMA WAVE TECHNOLOGY, EQUIPMENT, AND SOFTWARE IS NOT INTENDED TO DIAGNOSE, TREAT, OR CURE ANY ILLNESS, AILMENT, OR DISEASE.

+

RADIANT WAVE TECHNOLOGY, EQUIPMENT, AND SOFTWARE IS NOT INTENDED TO DIAGNOSE, TREAT, OR CURE ANY ILLNESS, AILMENT, OR DISEASE.

-

RHEMA WAVE TECHNOLOGY, EQUIPMENT, AND SOFTWARE MERELY CREATES WHAT WE BELIEVE TO BE A SUBTLE ENERGY FIELD THAT LIVING CELLS SEEM TO ABSORB. THIS ABSORBED ENERGY APPEARS TO ALLOW CELLS TO FUNCTION MORE EFFICIENTLY & POTENTIALLY MORE EFFECTIVELY THAN THEY NORMALLY WOULD UNDER MODERN DAY STRESS AND THE ENVIRONMENT IN WHICH WE CURRENTLY LIVE.

+

RADIANT WAVE TECHNOLOGY, EQUIPMENT, AND SOFTWARE MERELY CREATES WHAT WE BELIEVE TO BE A SUBTLE ENERGY FIELD THAT LIVING CELLS SEEM TO ABSORB. THIS ABSORBED ENERGY APPEARS TO ALLOW CELLS TO FUNCTION MORE EFFICIENTLY & POTENTIALLY MORE EFFECTIVELY THAN THEY NORMALLY WOULD UNDER MODERN DAY STRESS AND THE ENVIRONMENT IN WHICH WE CURRENTLY LIVE.

-

RHEMA WAVE TECHNOLOGY MAKES NO CLAIMS AS TO THE EFFECTS, EFFECTIVENESS, OR RESULTS FROM USING RHEMA WAVE TECHNOLOGY PRODUCTS AND HEREBY DISCLAIMS ANY REPRESENTATION OR WARRANTY TO THAT EFFECT.

+

RADIANT WAVE TECHNOLOGY MAKES NO CLAIMS AS TO THE EFFECTS, EFFECTIVENESS, OR RESULTS FROM USING RADIANT WAVE TECHNOLOGY PRODUCTS AND HEREBY DISCLAIMS ANY REPRESENTATION OR WARRANTY TO THAT EFFECT.

-

USER/BUYER UNDERSTANDS AND AGREES NO MEDICAL OR HEALING CLAIMS ARE TO BE MADE REGARDING RHEMA WAVE TECHNOLOGY AND RHEMA WAVE SYSTEMS, TO INCLUDE SOFTWARE, HARDWARE, AND PROGRAMMING.

+

USER/BUYER UNDERSTANDS AND AGREES NO MEDICAL OR HEALING CLAIMS ARE TO BE MADE REGARDING RADIANT WAVE TECHNOLOGY AND RADIANT WAVE SYSTEMS, TO INCLUDE SOFTWARE, HARDWARE, AND PROGRAMMING.

-

USER/BUYER UNDERSTANDS AND AGREES IT IS USER/BUYER'S SOLE RESPONSIBILITY TO INFORM ANY AND ALL USERS THEY INVITE OR ALLOW TO EXPERIENCE THEIR RHEMA WAVE SYSTEM OF THESE TERMS AND CONDITIONS.

+

USER/BUYER UNDERSTANDS AND AGREES IT IS USER/BUYER'S SOLE RESPONSIBILITY TO INFORM ANY AND ALL USERS THEY INVITE OR ALLOW TO EXPERIENCE THEIR RADIANT WAVE SYSTEM OF THESE TERMS AND CONDITIONS.

-

USER/BUYER UNDERSTANDS AND AGREES USER/BUYER SHALL BE SOLELY RESPONSIBLE FOR COMPENSATION TO RHEMA WAVE TECHNOLOGY FOR ANY AND ALL CLAIMS, FINES, DAMAGES, AND LEGAL FEES RESULTING FROM USER/BUYER MAKING SUCH UNAUTHORIZED COMMENTS, INCLUDING THOSE LEVIED AGAINST RHEMA WAVE TECHNOLOGIES BY PERSONS, CORPORATIONS, AND FEDERAL AGENCIES.

+

USER/BUYER UNDERSTANDS AND AGREES USER/BUYER SHALL BE SOLELY RESPONSIBLE FOR COMPENSATION TO RADIANT WAVE TECHNOLOGY FOR ANY AND ALL CLAIMS, FINES, DAMAGES, AND LEGAL FEES RESULTING FROM USER/BUYER MAKING SUCH UNAUTHORIZED COMMENTS, INCLUDING THOSE LEVIED AGAINST RADIANT WAVE TECHNOLOGIES BY PERSONS, CORPORATIONS, AND FEDERAL AGENCIES.

IT IS ALSO UNDERSTOOD EQUIPMENT PROVIDERS SHALL BE HELD HARMLESS AND NOT BE RESPONSIBLE FOR ANY AND ALL SUCH CLAIMS.

diff --git a/share/radiantwave/tos/03 - Getting Started.html b/share/radiantwave/tos/03 - Getting Started.html index 2b7ece8..6393448 100644 --- a/share/radiantwave/tos/03 - Getting Started.html +++ b/share/radiantwave/tos/03 - Getting Started.html @@ -2,7 +2,7 @@

1. Ensure you have adequate internet access.
2. Enter a valid email address for your account.
-3. Enter a license key for your account. In the near future each account will be assigned a License Key but, at this point in time, enter your first and last name followed 1 2 3 4 etc. with no spaces until you achieve a total of 16 characters. Your License Key identifies your RHEMA SCALAR WAVE GENERATOR and its enabled features, as well as grants access to your account for activation, operation, features, and updates.
+3. Enter a license key for your account. In the near future each account will be assigned a License Key but, at this point in time, enter your first and last name followed 1 2 3 4 etc. with no spaces until you achieve a total of 16 characters. Your License Key identifies your RADIANT SCALAR WAVE GENERATOR and its enabled features, as well as grants access to your account for activation, operation, features, and updates.
4. Begin by using the F3 key to access your systems features and you will see:

PROCLAMATIONS
@@ -12,4 +12,4 @@ AUDIO OPTIONS
EMAIL ADDRESS
LICENSE KEY

-

Using the keyboard arrow keys you can scroll through the options and chose the one you would like to access by using the return key. The PROCLAMATIONS key will take you to a host of proclamations and options. The SCHEDULER key grants access a scheduling system allowing your to create varies different proclamation sessions, which I will explain shortly. The WiFi SETUP allows you to change WiFi networks. The AUDIO OPTIONS allows you to switch audio on or off, change audio devices, and switch between audio genres. EMAIL ADDRESS allows you to change your Email Address. License Key allows you to access and change your License Key provided RHEMA WAVE TECHNOLOGIES is notified in advance of the change.

+

Using the keyboard arrow keys you can scroll through the options and chose the one you would like to access by using the return key. The PROCLAMATIONS key will take you to a host of proclamations and options. The SCHEDULER key grants access a scheduling system allowing your to create varies different proclamation sessions, which I will explain shortly. The WiFi SETUP allows you to change WiFi networks. The AUDIO OPTIONS allows you to switch audio on or off, change audio devices, and switch between audio genres. EMAIL ADDRESS allows you to change your Email Address. License Key allows you to access and change your License Key provided RADIANT WAVE TECHNOLOGIES is notified in advance of the change.