From da95ba43ed3c675e84b3b8f41a8994476866de57 Mon Sep 17 00:00:00 2001 From: POWERFULMOVES <142271328+POWERFULMOVES@users.noreply.github.com> Date: Wed, 27 May 2026 14:22:37 -0400 Subject: [PATCH 01/11] fix(ci): add GHCR matrix path-existence gate to hardening-validation Adds a --paths-only mode to ghcr_local_prepublish.py that checks all in-repo matrix context/dockerfile paths exist without running Docker. Submodule paths under pmoves/integrations/ are initialized shallowly before the check. Exits non-zero with a per-entry PASS/FAIL table. Wires the check into hardening-validation.yml (required pre-merge gate) and adds .github/workflows/integrations-ghcr.matrix.json to trigger paths so the gate fires whenever the matrix is edited. Adds make ghcr-matrix-paths-check for local dev use. This gate would have caught the archon-ui-main/ staleness (PR #1635) before it reached CI. Depends on #1635 to pass on main. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/hardening-validation.yml | 9 ++++ pmoves/Makefile | 7 +++ pmoves/tools/ghcr_local_prepublish.py | 56 ++++++++++++++++++++++ 3 files changed, 72 insertions(+) diff --git a/.github/workflows/hardening-validation.yml b/.github/workflows/hardening-validation.yml index e25aefd519..ecffc57b85 100644 --- a/.github/workflows/hardening-validation.yml +++ b/.github/workflows/hardening-validation.yml @@ -7,12 +7,14 @@ on: - 'pmoves/docker-compose*.yml' - 'pmoves/services/**/Dockerfile*' - '.github/workflows/hardening-validation.yml' + - '.github/workflows/integrations-ghcr.matrix.json' pull_request: branches: [main, PMOVES.AI-Edition-Hardened-Integrations, PMOVES.AI-Edition-Hardened] paths: - 'pmoves/docker-compose*.yml' - 'pmoves/services/**/Dockerfile*' - '.github/workflows/hardening-validation.yml' + - '.github/workflows/integrations-ghcr.matrix.json' workflow_dispatch: concurrency: @@ -400,6 +402,13 @@ jobs: echo "✓ pmoves/monitoring/docker-compose.monitoring.yml is valid" fi + - name: Validate GHCR matrix paths + run: | + python3 pmoves/tools/ghcr_local_prepublish.py \ + --matrix-file .github/workflows/integrations-ghcr.matrix.json \ + --repo-root . \ + --paths-only + - name: Check for network segmentation run: | echo "Checking network segmentation..." diff --git a/pmoves/Makefile b/pmoves/Makefile index 22b8e26e08..45aa221e8b 100644 --- a/pmoves/Makefile +++ b/pmoves/Makefile @@ -2716,6 +2716,13 @@ ghcr-dispatch-one: ci-runners-check-strict ## Dispatch GHCR workflow for a singl ghcr-list: ## List all images in the integrations-ghcr matrix @$(PYTHON) -c "import json,pathlib;[print(e['name']) for e in json.loads(pathlib.Path('$(GHCR_MATRIX_FILE)').read_text())]" +.PHONY: ghcr-matrix-paths-check +ghcr-matrix-paths-check: ## Validate all in-repo GHCR matrix context/dockerfile paths exist (no Docker build) + @$(PYTHON) $(GHCR_PREPUBLISH_SCRIPT) \ + --matrix-file "$(GHCR_MATRIX_FILE)" \ + --repo-root .. \ + --paths-only + .PHONY: deepresearch-smoke deepresearch-smoke: ## Publish a sample DeepResearch request and wait for a result (requires worker running) @ENV_FILE="$(CURDIR)/env.shared" bash -lc '. ./scripts/with-env.sh "$$ENV_FILE" && PYTHONPATH="$(CURDIR)/.." python3 tools/deepresearch_smoke.py --timeout $${DEEPRESEARCH_SMOKE_TIMEOUT:-60}' diff --git a/pmoves/tools/ghcr_local_prepublish.py b/pmoves/tools/ghcr_local_prepublish.py index b05bfba49d..420e0dbae4 100644 --- a/pmoves/tools/ghcr_local_prepublish.py +++ b/pmoves/tools/ghcr_local_prepublish.py @@ -150,6 +150,15 @@ def parse_args() -> argparse.Namespace: default="local-smoke", help="Docker tag suffix for local images.", ) + parser.add_argument( + "--paths-only", + action="store_true", + help=( + "Validate that matrix context/dockerfile paths exist without building images. " + "Initializes submodules under pmoves/integrations/ shallowly as needed. " + "Exits 1 if any path is missing." + ), + ) return parser.parse_args() @@ -182,6 +191,43 @@ def resolve_entries( return filtered +def _init_submodule(repo_root: pathlib.Path, submodule_rel: str) -> None: + target = repo_root / submodule_rel + if target.is_dir() and any(target.iterdir()): + return + print(f"==> Initializing submodule: {submodule_rel}") + subprocess.run( + ["git", "submodule", "update", "--init", "--depth=1", submodule_rel], + cwd=str(repo_root), + check=False, + ) + + +def check_paths(entry: dict[str, object], repo_root: pathlib.Path) -> ValidationResult: + name = str(entry.get("name", "")) + image_name = str(entry.get("image_name", "")) + context_rel = str(entry.get("context", "")) + dockerfile_rel = str(entry.get("dockerfile", "")) + tag = f"local/{image_name}:paths-check" + + parts = context_rel.split("/") + if len(parts) >= 3 and parts[0] == "pmoves" and parts[1] == "integrations": + _init_submodule(repo_root, "/".join(parts[:3])) + + context_path = (repo_root / context_rel).resolve() + dockerfile_path = (repo_root / dockerfile_rel).resolve() + + if not context_path.exists(): + print(f"[FAIL] {name}: context path missing: {context_rel}") + return ValidationResult(name=name, tag=tag, build_ok=False, trivy_ok=None, note=f"missing context: {context_rel}") + if not dockerfile_path.exists(): + print(f"[FAIL] {name}: dockerfile missing: {dockerfile_rel}") + return ValidationResult(name=name, tag=tag, build_ok=False, trivy_ok=None, note=f"missing dockerfile: {dockerfile_rel}") + + print(f"[PASS] {name}: {dockerfile_rel}") + return ValidationResult(name=name, tag=tag, build_ok=True, trivy_ok=None, note="paths-only") + + def build_and_scan( entry: dict[str, object], source_root: pathlib.Path, @@ -318,6 +364,16 @@ def main() -> int: + ", ".join(str(entry.get("name", "?")) for entry in selected) ) + if args.paths_only: + results = [check_paths(entry, repo_root) for entry in selected] + print_summary(results) + failed = [item for item in results if not item.ok] + if failed: + print(f"\nFAIL: {len(failed)} integration(s) have missing paths.", file=sys.stderr) + return 1 + print(f"\nPASS: all {len(results)} integration path(s) verified.") + return 0 + try: ensure_builder(args.builder) except RuntimeError as exc: From fdb2035a6f293c3b442d46e95e40f3d6815728ca Mon Sep 17 00:00:00 2001 From: POWERFULMOVES <142271328+POWERFULMOVES@users.noreply.github.com> Date: Wed, 27 May 2026 14:27:37 -0400 Subject: [PATCH 02/11] fix(ci): trigger matrix path gate on pmoves/integrations/archon gitlink bump If a PR only bumps the Archon submodule gitlink without editing the matrix JSON, the path gate wouldn't fire. Add pmoves/integrations/archon to the hardening-validation trigger so gitlink-only bumps still run the check. Uses the specific gitlink path rather than integrations/** to avoid firing on unrelated routine submodule bumps. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/hardening-validation.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/hardening-validation.yml b/.github/workflows/hardening-validation.yml index ecffc57b85..005fac6b44 100644 --- a/.github/workflows/hardening-validation.yml +++ b/.github/workflows/hardening-validation.yml @@ -8,6 +8,7 @@ on: - 'pmoves/services/**/Dockerfile*' - '.github/workflows/hardening-validation.yml' - '.github/workflows/integrations-ghcr.matrix.json' + - 'pmoves/integrations/archon' pull_request: branches: [main, PMOVES.AI-Edition-Hardened-Integrations, PMOVES.AI-Edition-Hardened] paths: @@ -15,6 +16,7 @@ on: - 'pmoves/services/**/Dockerfile*' - '.github/workflows/hardening-validation.yml' - '.github/workflows/integrations-ghcr.matrix.json' + - 'pmoves/integrations/archon' workflow_dispatch: concurrency: From 286e3fa9da20ad7136e517402938ad17fd8d23f2 Mon Sep 17 00:00:00 2001 From: POWERFULMOVES <142271328+POWERFULMOVES@users.noreply.github.com> Date: Wed, 27 May 2026 14:32:04 -0400 Subject: [PATCH 03/11] fix(ci): enforce repo-root confinement in check_paths Reject absolute paths upfront and verify that resolved context/dockerfile paths are still under repo_root after resolution. Prevents ../- or absolute-path entries in the matrix JSON from silently passing the existence check. Co-Authored-By: Claude Sonnet 4.6 --- pmoves/tools/ghcr_local_prepublish.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pmoves/tools/ghcr_local_prepublish.py b/pmoves/tools/ghcr_local_prepublish.py index 420e0dbae4..2ce2260f6d 100644 --- a/pmoves/tools/ghcr_local_prepublish.py +++ b/pmoves/tools/ghcr_local_prepublish.py @@ -210,12 +210,23 @@ def check_paths(entry: dict[str, object], repo_root: pathlib.Path) -> Validation dockerfile_rel = str(entry.get("dockerfile", "")) tag = f"local/{image_name}:paths-check" + context_rel_path = pathlib.Path(context_rel) + dockerfile_rel_path = pathlib.Path(dockerfile_rel) + if context_rel_path.is_absolute() or dockerfile_rel_path.is_absolute(): + print(f"[FAIL] {name}: paths must be repo-relative, not absolute") + return ValidationResult(name=name, tag=tag, build_ok=False, trivy_ok=None, note="paths must be repo-relative") + + repo_root_resolved = repo_root.resolve() parts = context_rel.split("/") if len(parts) >= 3 and parts[0] == "pmoves" and parts[1] == "integrations": _init_submodule(repo_root, "/".join(parts[:3])) - context_path = (repo_root / context_rel).resolve() - dockerfile_path = (repo_root / dockerfile_rel).resolve() + context_path = (repo_root / context_rel_path).resolve() + dockerfile_path = (repo_root / dockerfile_rel_path).resolve() + + if not context_path.is_relative_to(repo_root_resolved) or not dockerfile_path.is_relative_to(repo_root_resolved): + print(f"[FAIL] {name}: path escapes repo root") + return ValidationResult(name=name, tag=tag, build_ok=False, trivy_ok=None, note="path escapes repo root") if not context_path.exists(): print(f"[FAIL] {name}: context path missing: {context_rel}") From 477fdd0cefef11b05c9d40e7a616a2fa0af78f04 Mon Sep 17 00:00:00 2001 From: POWERFULMOVES <142271328+POWERFULMOVES@users.noreply.github.com> Date: Thu, 28 May 2026 06:53:12 -0400 Subject: [PATCH 04/11] fix(supabase): resolve supa-start pooler conflict + add bootstrap-no-start target - find_db_container.sh: prefer pmoves-supabase-db-1 over legacy DoX supabase-db container (two-pass grep to fix docker ps ordering issue) - Makefile: add supabase-bootstrap-no-start target that applies migrations+seeds against an already-running DB, bypassing supa-start; detects POSTGRES_USER from container env, uses -h 127.0.0.1 TCP auth - Makefile: supa-start line 400 now uses --profile supabase-local when force-recreating the pooler, preventing name-conflict on supabase-pooler - Makefile: add tier-data/api/supabase-patch-missing targets (idempotent key append for compose :? required vars) and pooler-recreate target Co-Authored-By: Claude Sonnet 4.6 --- pmoves/Makefile | 120 ++++++++++++++++++- pmoves/scripts/supabase/find_db_container.sh | 7 +- 2 files changed, 125 insertions(+), 2 deletions(-) diff --git a/pmoves/Makefile b/pmoves/Makefile index 45aa221e8b..2eb18fba24 100644 --- a/pmoves/Makefile +++ b/pmoves/Makefile @@ -397,7 +397,7 @@ supa-start: ensure-env-shared ## Start Supabase stack for selected runtime (cli -e KONG_PG_PASSWORD=$${SUPABASE_DB_PASSWORD:-postgres} \ kong:3.7.1 kong migrations bootstrap --yes >/dev/null 2>&1 || true; \ $(MAKE) --no-print-directory supa-bootstrap-db; \ - $(DC) up -d --force-recreate supabase-postgrest supabase-gotrue supabase-kong supabase-realtime supabase-storage supabase-studio supabase-imgproxy supabase-meta supabase-edge-functions supabase-analytics supabase-vector supabase-pooler; \ + $(DC) --profile supabase-local up -d --force-recreate supabase-postgrest supabase-gotrue supabase-kong supabase-realtime supabase-storage supabase-studio supabase-imgproxy supabase-meta supabase-edge-functions supabase-analytics supabase-vector supabase-pooler; \ fi @$(MAKE) --no-print-directory supa-status @$(MAKE) --no-print-directory supa-collation-refresh 2>/dev/null || true @@ -423,6 +423,12 @@ supa-restart: ## Restart Supabase stack for selected runtime @sleep 2 @$(MAKE) --no-print-directory supa-start +.PHONY: pooler-recreate +pooler-recreate: ## Force-recreate supabase-pooler container to pick up env file changes (non-disruptive) + @echo "→ Force-recreating supabase-pooler with current env..." + @$(DC) --profile supabase-local up -d --force-recreate supabase-pooler + @echo "✓ pooler recreated — give it 30s for health check" + supa-status: ## Show Supabase status for selected runtime and export env snapshot when available @echo "🔍 Supabase status (SUPABASE_RUNTIME=$(SUPABASE_RUNTIME)):" @if [ "$(SUPABASE_RUNTIME)" = "cli" ]; then \ @@ -637,6 +643,50 @@ supabase-bootstrap: ## Apply pending Supabase migrations + seeds (tracked in pub fi @echo "✅ Supabase bootstrap complete" +.PHONY: supabase-bootstrap-no-start +supabase-bootstrap-no-start: ## Apply migrations+seeds against already-running DB (skips supa-start; uses SUPABASE_DB_USER) + @echo "🗄️ Applying Supabase schema + seeds (no-start mode)..." + @set -euo pipefail; \ + db=$$(bash "$(SUPABASE_DB_HELPER)" running); \ + if [ -z "$$db" ]; then echo "❌ Supabase DB container not found — start it first"; exit 1; fi; \ + pg_user=$$(docker exec "$$db" sh -c 'echo $${POSTGRES_USER:-postgres}'); \ + echo " DB container: $$db | pg_user: $$pg_user"; \ + _psql() { docker exec -i "$$db" psql -U "$$pg_user" -h 127.0.0.1 -d postgres "$$@"; }; \ + _psql -v ON_ERROR_STOP=1 -c "CREATE TABLE IF NOT EXISTS public.pmoves_bootstrap_history (kind text NOT NULL, filename text NOT NULL, applied_at timestamptz NOT NULL DEFAULT now(), PRIMARY KEY (kind, filename));"; \ + if [ -d "supabase/migrations" ]; then \ + for migration in $$(find supabase/migrations -maxdepth 1 -type f -name '*.sql' | LC_ALL=C sort); do \ + [ -f "$$migration" ] || continue; \ + name=$$(basename "$$migration"); \ + applied=$$(_psql -tAc "SELECT 1 FROM public.pmoves_bootstrap_history WHERE kind='migration' AND filename='$$name' LIMIT 1;" | tr -d '[:space:]'); \ + if [ "$$applied" = "1" ]; then \ + echo " SKIP (applied): $$name"; \ + continue; \ + fi; \ + echo " APPLY: $$name"; \ + _psql < "$$migration" && \ + _psql -c "INSERT INTO public.pmoves_bootstrap_history(kind,filename) VALUES('migration','$$name') ON CONFLICT DO NOTHING;" || \ + echo " WARN: $$name failed — continuing"; \ + done; \ + fi; \ + if [ -d "supabase/initdb" ]; then \ + for seed in $$(find supabase/initdb -maxdepth 1 -type f -name '*.sql' | LC_ALL=C sort); do \ + [ -f "$$seed" ] || continue; \ + name=$$(basename "$$seed"); \ + applied=$$(_psql -tAc "SELECT 1 FROM public.pmoves_bootstrap_history WHERE kind='seed' AND filename='$$name' LIMIT 1;" | tr -d '[:space:]'); \ + if [ "$$applied" = "1" ]; then \ + echo " SKIP (applied): $$name"; \ + continue; \ + fi; \ + echo " APPLY seed: $$name"; \ + _psql < "$$seed" && \ + _psql -c "INSERT INTO public.pmoves_bootstrap_history(kind,filename) VALUES('seed','$$name') ON CONFLICT DO NOTHING;" || \ + echo " WARN: seed $$name failed — continuing"; \ + done; \ + else \ + echo " ⚠️ No initdb directory found"; \ + fi + @echo "✅ Supabase bootstrap (no-start) complete" + supabase-bootstrap-mark-applied: ## Mark all migration/seed files as applied in bootstrap history (no SQL execution) @echo "📝 Marking migrations/seeds as applied in public.pmoves_bootstrap_history..." @$(MAKE) --no-print-directory supa-start >/dev/null @@ -1433,6 +1483,74 @@ bootstrap-tier-envs: ## Create missing tier env files from examples (Hardened br echo "✓ All tier env files already exist."; \ fi +.PHONY: tier-data-patch-missing +tier-data-patch-missing: ## Append compose-required keys missing from env.tier-data (idempotent) + @if [ ! -f env.tier-data ]; then echo "env.tier-data not found"; exit 1; fi; \ + changed=0; \ + for key in QDRANT__API_KEY NEO4J_PASSWORD; do \ + if ! grep -q "^$$key=" env.tier-data 2>/dev/null; then \ + val=$$(openssl rand -hex 32); \ + echo "$$key=$$val" >> env.tier-data; \ + echo "→ Appended $$key to env.tier-data"; \ + changed=1; \ + fi; \ + done; \ + if ! grep -q "^MINIO_USER=" env.tier-data 2>/dev/null; then \ + echo "MINIO_USER=minioadmin" >> env.tier-data; \ + echo "→ Appended MINIO_USER to env.tier-data"; \ + changed=1; \ + fi; \ + if ! grep -q "^MINIO_PASSWORD=" env.tier-data 2>/dev/null; then \ + val=$$(openssl rand -base64 24 | tr -d '\n='); \ + echo "MINIO_PASSWORD=$$val" >> env.tier-data; \ + echo "→ Appended MINIO_PASSWORD to env.tier-data"; \ + changed=1; \ + fi; \ + if ! grep -q "^WGER_DB_PASSWORD=" env.tier-data 2>/dev/null; then \ + val=$$(openssl rand -base64 24 | tr -d '\n='); \ + echo "WGER_DB_PASSWORD=$$val" >> env.tier-data; \ + echo "→ Appended WGER_DB_PASSWORD to env.tier-data"; \ + changed=1; \ + fi; \ + if [ "$$changed" = "0" ]; then echo "✓ env.tier-data already has all required keys"; fi + +.PHONY: tier-api-patch-missing +tier-api-patch-missing: ## Append compose-required keys missing from env.tier-api (idempotent) + @if [ ! -f env.tier-api ]; then echo "env.tier-api not found"; exit 1; fi; \ + changed=0; \ + for key in WGER_SECRET_KEY WGER_ADMIN_PASSWORD MCP_SERVER_TOKEN; do \ + if ! grep -q "^$$key=" env.tier-api 2>/dev/null; then \ + val=$$(openssl rand -base64 32 | tr -d '\n='); \ + echo "$$key=$$val" >> env.tier-api; \ + echo "→ Appended $$key to env.tier-api"; \ + changed=1; \ + fi; \ + done; \ + if [ "$$changed" = "0" ]; then echo "✓ env.tier-api already has all required keys"; fi + +.PHONY: tier-supabase-patch-missing +tier-supabase-patch-missing: ## Append/fix compose-required keys in env.tier-supabase (idempotent) + @if [ ! -f env.tier-supabase ]; then echo "env.tier-supabase not found"; exit 1; fi; \ + changed=0; \ + for key in SECRET_KEY_BASE LOGFLARE_PUBLIC_ACCESS_TOKEN LOGFLARE_PRIVATE_ACCESS_TOKEN; do \ + if ! grep -q "^$$key=" env.tier-supabase 2>/dev/null; then \ + val=$$(openssl rand -base64 48 | tr -d '\n=' | cut -c1-64); \ + echo "$$key=$$val" >> env.tier-supabase; \ + echo "→ Appended $$key to env.tier-supabase"; \ + changed=1; \ + fi; \ + done; \ + _vault_val=$$(grep "^VAULT_ENC_KEY=" env.tier-supabase 2>/dev/null | cut -d= -f2-); \ + if [ -z "$$_vault_val" ]; then \ + echo "VAULT_ENC_KEY=$$(openssl rand -hex 16)" >> env.tier-supabase; \ + echo "→ Appended VAULT_ENC_KEY (32-char hex)"; changed=1; \ + elif [ "$${#_vault_val}" -ne 32 ]; then \ + _new_vault=$$(openssl rand -hex 16); \ + sed -i "s|^VAULT_ENC_KEY=.*|VAULT_ENC_KEY=$$_new_vault|" env.tier-supabase; \ + echo "→ Fixed VAULT_ENC_KEY (was $${#_vault_val} chars, now 32)"; changed=1; \ + fi; \ + if [ "$$changed" = "0" ]; then echo "✓ env.tier-supabase already has all required keys"; fi + .PHONY: populate-tier-envs populate-tier-envs: bootstrap-tier-envs ## Populate tier env files with defaults from env.shared and .env.local @echo "Populating tier env files with defaults..." diff --git a/pmoves/scripts/supabase/find_db_container.sh b/pmoves/scripts/supabase/find_db_container.sh index 1ec2af68ab..7db8930d81 100755 --- a/pmoves/scripts/supabase/find_db_container.sh +++ b/pmoves/scripts/supabase/find_db_container.sh @@ -11,4 +11,9 @@ fi names="$("${list_cmd[@]}" 2>/dev/null || true)" -printf '%s\n' "$names" | grep -E -m1 '^pmoves-supabase-db-1$|^supabase_db(_.*)?$|^supabase-db$' || true +# Prefer the compose-managed PMOVES container over any legacy/sibling project container +result=$(printf '%s\n' "$names" | grep -E -m1 '^pmoves-supabase-db-1$' || true) +if [ -z "$result" ]; then + result=$(printf '%s\n' "$names" | grep -E -m1 '^supabase_db(_.*)?$|^supabase-db$' || true) +fi +printf '%s\n' "$result" From fcbd7f511e451402c7af9679839dcd8f0d0f1426 Mon Sep 17 00:00:00 2001 From: POWERFULMOVES <142271328+POWERFULMOVES@users.noreply.github.com> Date: Thu, 28 May 2026 12:20:39 -0400 Subject: [PATCH 05/11] fix(ci): add shell: bash to sync-secrets Summary step on Windows runner The Summary step used bash [[ ]] syntax without `shell: bash`, causing PowerShell parse failures on the Windows 4090 self-hosted runner. The main sync step (which has shell: bash) succeeded and uploaded the artifact correctly, but the cosmetic Summary step crashed the job. Also: update Pattern B pull instructions to show both Unix + Windows paths and reference secrets-funnel-sync-from-bundle (which preserves the CI bundle instead of overwriting it from local env.shared). Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/sync-secrets-local.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/sync-secrets-local.yml b/.github/workflows/sync-secrets-local.yml index af07e71c00..476a7710a3 100644 --- a/.github/workflows/sync-secrets-local.yml +++ b/.github/workflows/sync-secrets-local.yml @@ -347,6 +347,7 @@ jobs: if-no-files-found: warn - name: Summary + shell: bash run: | # Validate that matrix.target only contains safe label characters. # matrix.target is a workflow_dispatch string input — it's template-interpolated @@ -366,9 +367,15 @@ jobs: echo " source pmoves/scripts/bootstrap_credentials.sh" if [ -f "pmoves/data/chit/env.cgp.json" ]; then echo "" - echo "Pattern B pull (non-runner nodes, e.g. Z890/4090):" + echo "Pattern B pull (non-runner nodes):" + echo " # Unix/Linux:" + echo " gh run download ${{ github.run_id }} --repo POWERFULMOVES/PMOVES.AI \\" + echo " --name chit-bundle-$_target-${{ github.run_id }} \\" + echo " --dir \"\${XDG_CONFIG_HOME:-\$HOME/.config}/pmoves/chit\"" + echo " # Windows (4090):" echo " gh run download ${{ github.run_id }} --repo POWERFULMOVES/PMOVES.AI \\" echo " --name chit-bundle-$_target-${{ github.run_id }} \\" - echo " --dir \"\$XDG_CONFIG_HOME/pmoves/chit\"" - echo " make -C pmoves secrets-funnel-sync" + echo " --dir \"\$APPDATA/pmoves/chit\"" + echo " # Then materialize (preserves bundle — does NOT overwrite with local keys):" + echo " make -C pmoves secrets-funnel-sync-from-bundle" fi From ccc812937f11cabe3dca032d53c5cce0422158d9 Mon Sep 17 00:00:00 2001 From: POWERFULMOVES <142271328+POWERFULMOVES@users.noreply.github.com> Date: Thu, 28 May 2026 13:25:43 -0400 Subject: [PATCH 06/11] feat(deploy): add cf-pages-create/deploy/status targets for cataclysmstudios Three new Makefile targets for Cloudflare Pages lifecycle management: - cf-pages-create: one-time project bootstrap (production-branch=main) - cf-pages-deploy: wrangler pages deploy with CF_PAGES_BRANCH=main default - cf-pages-status: list projects to verify state CF_PAGES_BRANCH Make variable (default: main) ensures deploys always land on the production URL (cataclysmstudios.pages.dev) not a branch preview. Credentials flow through LOAD_ENV_SHARED from the CHIT-materialized tier files. Co-Authored-By: Claude Sonnet 4.6 --- pmoves/Makefile | 47 ++++++++++++++++++++++++++++++++++++++++++++++ pmoves/mk/codex.mk | 10 ++++++++++ 2 files changed, 57 insertions(+) diff --git a/pmoves/Makefile b/pmoves/Makefile index 2eb18fba24..a056c5a1fc 100644 --- a/pmoves/Makefile +++ b/pmoves/Makefile @@ -1867,6 +1867,53 @@ integration-contract-check-strict: ## Strict integration contract check (missing integration-contract-check-baseline: ## Strict contract checks for template + baseline overlays @$(PYTHON) tools/integration_contract_check.py $(INTEGRATION_CONTRACT_BASELINE) --strict-hooks +CF_PAGES_PROJECT ?= cataclysmstudios +CF_PAGES_DIR ?= ../deploy/cataclysmstudios +CF_PAGES_BRANCH ?= main + +.PHONY: cf-pages-create cf-pages-deploy cf-pages-status +cf-pages-create: ensure-env-shared ## Create Cloudflare Pages project (one-time bootstrap) + @$(LOAD_ENV_SHARED); \ + if [ -z "$${CLOUDFLARE_API_TOKEN:-}" ]; then \ + echo "❌ CLOUDFLARE_API_TOKEN not set — run: make secrets-funnel-sync-from-bundle"; \ + exit 1; \ + fi; \ + if [ -z "$${CLOUDFLARE_ACCOUNT_ID:-}" ]; then \ + echo "❌ CLOUDFLARE_ACCOUNT_ID not set — run: make secrets-funnel-sync-from-bundle"; \ + exit 1; \ + fi; \ + echo "→ Creating Cloudflare Pages project: $(CF_PAGES_PROJECT)"; \ + CLOUDFLARE_API_TOKEN="$${CLOUDFLARE_API_TOKEN}" \ + CLOUDFLARE_ACCOUNT_ID="$${CLOUDFLARE_ACCOUNT_ID}" \ + npx wrangler pages project create "$(CF_PAGES_PROJECT)" \ + --production-branch main 2>&1; \ + echo "✅ CF Pages project created — now run: make cf-pages-deploy" + +cf-pages-deploy: ensure-env-shared ## Deploy cataclysmstudios static site to Cloudflare Pages + @$(LOAD_ENV_SHARED); \ + if [ -z "$${CLOUDFLARE_API_TOKEN:-}" ]; then \ + echo "❌ CLOUDFLARE_API_TOKEN not set — run: make secrets-funnel-sync"; \ + exit 1; \ + fi; \ + if [ -z "$${CLOUDFLARE_ACCOUNT_ID:-}" ]; then \ + echo "❌ CLOUDFLARE_ACCOUNT_ID not set — run: make secrets-funnel-sync"; \ + exit 1; \ + fi; \ + echo "→ Deploying $(CF_PAGES_PROJECT) to Cloudflare Pages..."; \ + CLOUDFLARE_API_TOKEN="$${CLOUDFLARE_API_TOKEN}" \ + CLOUDFLARE_ACCOUNT_ID="$${CLOUDFLARE_ACCOUNT_ID}" \ + npx wrangler pages deploy "$(CF_PAGES_DIR)" \ + --project-name "$(CF_PAGES_PROJECT)" \ + --branch "$(CF_PAGES_BRANCH)" \ + --commit-dirty=true 2>&1; \ + echo "✅ CF Pages deploy complete" + +cf-pages-status: ensure-env-shared ## Check Cloudflare Pages project status + @$(LOAD_ENV_SHARED); \ + CLOUDFLARE_API_TOKEN="$${CLOUDFLARE_API_TOKEN}" \ + CLOUDFLARE_ACCOUNT_ID="$${CLOUDFLARE_ACCOUNT_ID}" \ + npx wrangler pages project list 2>&1 | grep -i "$(CF_PAGES_PROJECT)" || echo "(project not found)" + up-cloudflare: ensure-env-shared ## Start the Cloudflare tunnel connector (profile=cloudflare) @$(LOAD_ENV_SHARED); \ if [ -z "$$CLOUDFLARE_TUNNEL_TOKEN" ] && [ -z "$$CLOUDFLARE_TUNNEL_NAME" ]; then \ diff --git a/pmoves/mk/codex.mk b/pmoves/mk/codex.mk index 806518a56b..8edbe89afb 100644 --- a/pmoves/mk/codex.mk +++ b/pmoves/mk/codex.mk @@ -100,6 +100,16 @@ secrets-runtime-hydrate: ensure-env-shared ## Pull runtime-emitted labels (Supab secrets-funnel-sync: chit-manifest-sync chit-export ## Materialize generated env files from CHIT + secrets manifest @PYTHONPATH="$(CURDIR)/.." $(CODEX_PY) tools/secrets_sync.py generate --manifest pmoves/chit/secrets_manifest.yaml --cgp "$(CHIT_EXPORT_PATH)" $(SECRETS_SYNC_FLAGS) +.PHONY: secrets-funnel-sync-from-bundle +secrets-funnel-sync-from-bundle: chit-manifest-sync ## Materialize env files from a pre-installed CI CHIT bundle (skips chit-export so CI credentials are not overwritten) + @if [ ! -f "$(CHIT_EXPORT_PATH)" ]; then \ + echo "❌ No bundle at $(CHIT_EXPORT_PATH) — download via:"; \ + echo " gh run download --repo POWERFULMOVES/PMOVES.AI --name chit-bundle-4090- --dir \"\$$(dirname $(CHIT_EXPORT_PATH))\""; \ + exit 1; \ + fi + @echo "→ Reading CHIT bundle from $(CHIT_EXPORT_PATH)" + @PYTHONPATH="$(CURDIR)/.." $(CODEX_PY) tools/secrets_sync.py generate --manifest pmoves/chit/secrets_manifest.yaml --cgp "$(CHIT_EXPORT_PATH)" $(SECRETS_SYNC_FLAGS) + secrets-funnel: ## Portable secrets flow: local hydrate -> CHIT export -> manifest sync -> audit gates (FORCE=1 to overwrite stale) @$(MAKE) --no-print-directory secrets-local-hydrate @$(MAKE) --no-print-directory secrets-runtime-hydrate From f95530496aef803144afb61be1b0312eb3a668af Mon Sep 17 00:00:00 2001 From: POWERFULMOVES <142271328+POWERFULMOVES@users.noreply.github.com> Date: Thu, 28 May 2026 14:01:09 -0400 Subject: [PATCH 07/11] feat(deploy): add cf-pages-dev target for local wrangler Pages preview Serves deploy/cataclysmstudios/ at localhost:8788 (configurable via CF_PAGES_PORT) using wrangler pages dev before committing to a prod deploy. Co-Authored-By: Claude Sonnet 4.6 --- pmoves/Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pmoves/Makefile b/pmoves/Makefile index a056c5a1fc..5ba683058b 100644 --- a/pmoves/Makefile +++ b/pmoves/Makefile @@ -1871,7 +1871,12 @@ CF_PAGES_PROJECT ?= cataclysmstudios CF_PAGES_DIR ?= ../deploy/cataclysmstudios CF_PAGES_BRANCH ?= main -.PHONY: cf-pages-create cf-pages-deploy cf-pages-status +CF_PAGES_PORT ?= 8788 + +.PHONY: cf-pages-dev cf-pages-create cf-pages-deploy cf-pages-status +cf-pages-dev: ## Serve cataclysmstudios locally via wrangler pages dev (http://localhost:CF_PAGES_PORT) + @echo "→ Previewing $(CF_PAGES_PROJECT) at http://localhost:$(CF_PAGES_PORT)" + npx wrangler pages dev "$(CF_PAGES_DIR)" --port $(CF_PAGES_PORT) cf-pages-create: ensure-env-shared ## Create Cloudflare Pages project (one-time bootstrap) @$(LOAD_ENV_SHARED); \ if [ -z "$${CLOUDFLARE_API_TOKEN:-}" ]; then \ From eac40ff2b4f4cc32e93840758c4180cba5b2bd9c Mon Sep 17 00:00:00 2001 From: POWERFULMOVES <142271328+POWERFULMOVES@users.noreply.github.com> Date: Fri, 29 May 2026 13:56:16 -0400 Subject: [PATCH 08/11] feat(deploy): add pmoves-ai CF Pages targets + wrangler.toml - website/wrangler.toml: name=pmoves-ai, compatibility_date=2026-05-28 - pmoves/Makefile: pmoves-ai-dev/create/deploy/status targets with PMOVES_AI_PROJECT/DIR/BRANCH/PORT Make variables - Deployed to https://pmoves-ai.pages.dev (production branch: main) Co-Authored-By: Claude Sonnet 4.6 --- pmoves/Makefile | 52 +++++++++++++++++++++++++++++++++++++++++++ website/wrangler.toml | 3 +++ 2 files changed, 55 insertions(+) create mode 100644 website/wrangler.toml diff --git a/pmoves/Makefile b/pmoves/Makefile index 5ba683058b..8e8b06f8cb 100644 --- a/pmoves/Makefile +++ b/pmoves/Makefile @@ -1919,6 +1919,58 @@ cf-pages-status: ensure-env-shared ## Check Cloudflare Pages project status CLOUDFLARE_ACCOUNT_ID="$${CLOUDFLARE_ACCOUNT_ID}" \ npx wrangler pages project list 2>&1 | grep -i "$(CF_PAGES_PROJECT)" || echo "(project not found)" +PMOVES_AI_PROJECT ?= pmoves-ai +PMOVES_AI_DIR ?= ../website +PMOVES_AI_BRANCH ?= main +PMOVES_AI_PORT ?= 8789 + +.PHONY: pmoves-ai-dev pmoves-ai-create pmoves-ai-deploy pmoves-ai-status +pmoves-ai-dev: ## Serve pmoves.ai locally via wrangler pages dev (http://localhost:PMOVES_AI_PORT) + @echo "→ Previewing $(PMOVES_AI_PROJECT) at http://localhost:$(PMOVES_AI_PORT)" + npx wrangler pages dev "$(PMOVES_AI_DIR)" --port $(PMOVES_AI_PORT) + +pmoves-ai-create: ensure-env-shared ## Create pmoves-ai Cloudflare Pages project (one-time bootstrap) + @$(LOAD_ENV_SHARED); \ + if [ -z "$${CLOUDFLARE_API_TOKEN:-}" ]; then \ + echo "❌ CLOUDFLARE_API_TOKEN not set — run: make secrets-funnel-sync-from-bundle"; \ + exit 1; \ + fi; \ + if [ -z "$${CLOUDFLARE_ACCOUNT_ID:-}" ]; then \ + echo "❌ CLOUDFLARE_ACCOUNT_ID not set — run: make secrets-funnel-sync-from-bundle"; \ + exit 1; \ + fi; \ + echo "→ Creating Cloudflare Pages project: $(PMOVES_AI_PROJECT)"; \ + CLOUDFLARE_API_TOKEN="$${CLOUDFLARE_API_TOKEN}" \ + CLOUDFLARE_ACCOUNT_ID="$${CLOUDFLARE_ACCOUNT_ID}" \ + npx wrangler pages project create "$(PMOVES_AI_PROJECT)" \ + --production-branch main 2>&1; \ + echo "✅ pmoves-ai Pages project created — now run: make pmoves-ai-deploy" + +pmoves-ai-deploy: ensure-env-shared ## Deploy pmoves.ai static site to Cloudflare Pages + @$(LOAD_ENV_SHARED); \ + if [ -z "$${CLOUDFLARE_API_TOKEN:-}" ]; then \ + echo "❌ CLOUDFLARE_API_TOKEN not set — run: make secrets-funnel-sync-from-bundle"; \ + exit 1; \ + fi; \ + if [ -z "$${CLOUDFLARE_ACCOUNT_ID:-}" ]; then \ + echo "❌ CLOUDFLARE_ACCOUNT_ID not set — run: make secrets-funnel-sync-from-bundle"; \ + exit 1; \ + fi; \ + echo "→ Deploying $(PMOVES_AI_PROJECT) to Cloudflare Pages (branch: $(PMOVES_AI_BRANCH))..."; \ + CLOUDFLARE_API_TOKEN="$${CLOUDFLARE_API_TOKEN}" \ + CLOUDFLARE_ACCOUNT_ID="$${CLOUDFLARE_ACCOUNT_ID}" \ + npx wrangler pages deploy "$(PMOVES_AI_DIR)" \ + --project-name "$(PMOVES_AI_PROJECT)" \ + --branch "$(PMOVES_AI_BRANCH)" \ + --commit-dirty=true 2>&1; \ + echo "✅ pmoves-ai deploy complete" + +pmoves-ai-status: ensure-env-shared ## Check pmoves-ai Cloudflare Pages project status + @$(LOAD_ENV_SHARED); \ + CLOUDFLARE_API_TOKEN="$${CLOUDFLARE_API_TOKEN}" \ + CLOUDFLARE_ACCOUNT_ID="$${CLOUDFLARE_ACCOUNT_ID}" \ + npx wrangler pages project list 2>&1 | grep -i "$(PMOVES_AI_PROJECT)" || echo "(pmoves-ai project not found)" + up-cloudflare: ensure-env-shared ## Start the Cloudflare tunnel connector (profile=cloudflare) @$(LOAD_ENV_SHARED); \ if [ -z "$$CLOUDFLARE_TUNNEL_TOKEN" ] && [ -z "$$CLOUDFLARE_TUNNEL_NAME" ]; then \ diff --git a/website/wrangler.toml b/website/wrangler.toml new file mode 100644 index 0000000000..6edd360980 --- /dev/null +++ b/website/wrangler.toml @@ -0,0 +1,3 @@ +name = "pmoves-ai" +compatibility_date = "2026-05-28" +pages_build_output_dir = "." From d9caf696d55732df78f7c4779e9b171e99a3a643 Mon Sep 17 00:00:00 2001 From: POWERFULMOVES <142271328+POWERFULMOVES@users.noreply.github.com> Date: Fri, 29 May 2026 17:08:08 -0400 Subject: [PATCH 09/11] feat(website): add pipeline gallery + Hyperdimensions viewer to pmoves.ai - website/assets/gallery/: 3 hologram MP4s (C1/C3/C5) from beats_to_cgp pipeline + CHIT hero/mindmap images from session gallery - website/hyperdim/: full Hyperdimensions Three.js viewer with all 28 saves including beats_constellation.json + chit_manifold.json PMOVES presets - website/index.html: new #gallery section with autoplay looping video cards and pipeline note; Demos section Hyperdimensions card (badge-live); Gallery nav link added - website/styles.css: .gallery-grid, .gallery-item, .gallery-pipeline-note, .badge-live styles Live at https://pmoves-ai.pages.dev Co-Authored-By: Claude Sonnet 4.6 --- .../assets/gallery/chit_hero_and_mindmap.png | Bin 0 -> 397010 bytes website/assets/gallery/chit_mindmap.webp | Bin 0 -> 11418 bytes website/assets/gallery/group_c1_hologram.mp4 | Bin 0 -> 265414 bytes website/assets/gallery/group_c3_hologram.mp4 | Bin 0 -> 265038 bytes website/assets/gallery/group_c5_hologram.mp4 | Bin 0 -> 265038 bytes website/hyperdim/index.html | 2138 +++++++++++++++++ website/hyperdim/saves/_list.json | 110 + .../hyperdim/saves/beats_constellation.json | 94 + website/hyperdim/saves/breather_surface.json | 72 + website/hyperdim/saves/chit_manifold.json | 46 + website/hyperdim/saves/cosmic_bloom.json | 96 + website/hyperdim/saves/dini_surface.json | 55 + website/hyperdim/saves/donut.json | 40 + website/hyperdim/saves/fourier.json | 80 + website/hyperdim/saves/hopf_fibration.json | 94 + website/hyperdim/saves/hotdog.json | 56 + website/hyperdim/saves/hypersphere.json | 64 + website/hyperdim/saves/jellyfish.json | 56 + website/hyperdim/saves/klein_bottle.json | 56 + website/hyperdim/saves/mandelbulb.json | 96 + website/hyperdim/saves/mlp.json | 45 + website/hyperdim/saves/mobius_strip.json | 72 + website/hyperdim/saves/nautilus.json | 48 + website/hyperdim/saves/ocean_planet.json | 88 + website/hyperdim/saves/perceptron.json | 192 ++ website/hyperdim/saves/planet.json | 112 + website/hyperdim/saves/rose.json | 110 + website/hyperdim/saves/shells.json | 224 ++ website/hyperdim/saves/sphere_tutorial.json | 48 + website/hyperdim/saves/taylor.json | 70 + website/hyperdim/saves/torus.json | 48 + website/hyperdim/saves/torus_knot.json | 99 + website/hyperdim/saves/trefoil_knot.json | 94 + website/hyperdim/saves/weierstrass.json | 88 + website/hyperdim/styles.css | 541 +++++ website/index.html | 72 +- website/styles.css | 78 + 37 files changed, 5177 insertions(+), 5 deletions(-) create mode 100644 website/assets/gallery/chit_hero_and_mindmap.png create mode 100644 website/assets/gallery/chit_mindmap.webp create mode 100644 website/assets/gallery/group_c1_hologram.mp4 create mode 100644 website/assets/gallery/group_c3_hologram.mp4 create mode 100644 website/assets/gallery/group_c5_hologram.mp4 create mode 100644 website/hyperdim/index.html create mode 100644 website/hyperdim/saves/_list.json create mode 100644 website/hyperdim/saves/beats_constellation.json create mode 100644 website/hyperdim/saves/breather_surface.json create mode 100644 website/hyperdim/saves/chit_manifold.json create mode 100644 website/hyperdim/saves/cosmic_bloom.json create mode 100644 website/hyperdim/saves/dini_surface.json create mode 100644 website/hyperdim/saves/donut.json create mode 100644 website/hyperdim/saves/fourier.json create mode 100644 website/hyperdim/saves/hopf_fibration.json create mode 100644 website/hyperdim/saves/hotdog.json create mode 100644 website/hyperdim/saves/hypersphere.json create mode 100644 website/hyperdim/saves/jellyfish.json create mode 100644 website/hyperdim/saves/klein_bottle.json create mode 100644 website/hyperdim/saves/mandelbulb.json create mode 100644 website/hyperdim/saves/mlp.json create mode 100644 website/hyperdim/saves/mobius_strip.json create mode 100644 website/hyperdim/saves/nautilus.json create mode 100644 website/hyperdim/saves/ocean_planet.json create mode 100644 website/hyperdim/saves/perceptron.json create mode 100644 website/hyperdim/saves/planet.json create mode 100644 website/hyperdim/saves/rose.json create mode 100644 website/hyperdim/saves/shells.json create mode 100644 website/hyperdim/saves/sphere_tutorial.json create mode 100644 website/hyperdim/saves/taylor.json create mode 100644 website/hyperdim/saves/torus.json create mode 100644 website/hyperdim/saves/torus_knot.json create mode 100644 website/hyperdim/saves/trefoil_knot.json create mode 100644 website/hyperdim/saves/weierstrass.json create mode 100644 website/hyperdim/styles.css diff --git a/website/assets/gallery/chit_hero_and_mindmap.png b/website/assets/gallery/chit_hero_and_mindmap.png new file mode 100644 index 0000000000000000000000000000000000000000..7cc7bd582d77278e0cde3cdd8fa414833c0b245d GIT binary patch literal 397010 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ⅈmNs>9!Ft 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⪇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⪼K-@Dq1UAJ9JSccMl#P)%VIs5d+02)Y+giP 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 z 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 Hu0mjfCRMNV literal 0 HcmV?d00001 diff --git a/website/assets/gallery/chit_mindmap.webp b/website/assets/gallery/chit_mindmap.webp new file mode 100644 index 0000000000000000000000000000000000000000..f5d2b64daf21198d9959f9cf486fcf9135d26abd GIT binary patch literal 11418 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 literal 0 HcmV?d00001 diff --git a/website/assets/gallery/group_c3_hologram.mp4 b/website/assets/gallery/group_c3_hologram.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..2dcabe05fcc05673c3536e2c5903c91306ce6ec2 GIT binary patch literal 265038 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 + + + + + Hyperdimensional Functions + + + + + + + + + + + +
+ +
+ + + + + diff --git a/website/hyperdim/saves/_list.json b/website/hyperdim/saves/_list.json new file mode 100644 index 0000000000..436d341aad --- /dev/null +++ b/website/hyperdim/saves/_list.json @@ -0,0 +1,110 @@ +[ + { + "file": "sphere_tutorial.json", + "name": "Sphere (Tutorial)" + }, + { + "file": "hypersphere.json", + "name": "Hypersphere (5-Sphere)" + }, + { + "file": "torus.json", + "name": "Torus" + }, + { + "file": "mobius_strip.json", + "name": "Möbius Strip" + }, + { + "file": "klein_bottle.json", + "name": "Klein Bottle" + }, + { + "file": "torus_knot.json", + "name": "Torus Knot" + }, + { + "file": "trefoil_knot.json", + "name": "Trefoil Knot" + }, + { + "file": "breather_surface.json", + "name": "Breather Surface" + }, + { + "file": "dini_surface.json", + "name": "Dini's Surface" + }, + { + "file": "hopf_fibration.json", + "name": "Hopf Fibration" + }, + { + "file": "shells.json", + "name": "Shells" + }, + { + "file": "nautilus.json", + "name": "Nautilus" + }, + { + "file": "planet.json", + "name": "Planet" + }, + { + "file": "ocean_planet.json", + "name": "Ocean Planet" + }, + { + "file": "rose.json", + "name": "Flower" + }, + { + "file": "jellyfish.json", + "name": "Jellyfish" + }, + { + "file": "hotdog.json", + "name": "Hotdog" + }, + { + "file": "donut.json", + "name": "Donut" + }, + { + "file": "cosmic_bloom.json", + "name": "Cosmic Bloom" + }, + { + "file": "mandelbulb.json", + "name": "Mandelbulb" + }, + { + "file": "weierstrass.json", + "name": "Weierstrass Asteroid" + }, + { + "file": "perceptron.json", + "name": "Perceptron" + }, + { + "file": "mlp.json", + "name": "Multi-Layer Perceptron" + }, + { + "file": "fourier.json", + "name": "Fourier Surface" + }, + { + "file": "taylor.json", + "name": "Taylor Surface" + }, + { + "file": "chit_manifold.json", + "name": "⚡ CHIT Manifold" + }, + { + "file": "beats_constellation.json", + "name": "🎵 Beats Constellation (DARKXSIDE)" + } +] \ No newline at end of file diff --git a/website/hyperdim/saves/beats_constellation.json b/website/hyperdim/saves/beats_constellation.json new file mode 100644 index 0000000000..fa06de071c --- /dev/null +++ b/website/hyperdim/saves/beats_constellation.json @@ -0,0 +1,94 @@ +{ + "surface": { + "code": "function surface(input) {\n const u = (input.u - 0.5) * 2 * Math.PI;\n const v = (input.v - 0.5) * 2 * Math.PI;\n const delta = input.delta || 0.5117;\n const kappa = input.kappa || -0.0648;\n const hz = input.hz || 0.25;\n const fitness = input.fitness || 0.5;\n const t = input.t || 0;\n \n // Constellation geometry: sonic group as parametric surface\n // delta (tempo) drives orbital speed\n // kappa (LRA curvature) warps the surface\n // hz (spectral centroid) sets spectral color\n // fitness (coherence) controls surface smoothness\n \n const r_base = 3 + fitness * 2;\n const warp = kappa * 8;\n const orbit = delta * 2;\n \n // Toroidal constellation with beat-driven warping\n const R = r_base + Math.sin(u * 3 + t * orbit) * warp;\n const x = (R + Math.cos(v)) * Math.cos(u);\n const y = (R + Math.cos(v)) * Math.sin(u);\n const z = Math.sin(v) + Math.sin(u * 5 + t * orbit * 2) * Math.abs(kappa) * 3;\n \n // Color from spectral signature\n const hue = hz * 6.2832;\n const r_col = 0.5 + 0.5 * Math.sin(hue + u);\n const g_col = 0.5 + 0.5 * Math.sin(hue + u + 2.094);\n const b_col = 0.5 + 0.5 * Math.sin(hue + u + 4.189);\n const a = 0.7 + fitness * 0.3;\n \n return { x, y, z, r: r_col, g: g_col, b: b_col, a };\n}" + }, + "parameters": { + "uMin": 0, + "uMax": 1, + "vMin": 0, + "vMax": 1, + "uSegs": 120, + "vSegs": 120 + }, + "extraParameters": [ + { + "name": "t", + "value": 0, + "min": 0, + "max": 6.2832, + "step": 0.01, + "runtime": 8 + }, + { + "name": "delta", + "value": 0.5117, + "min": 0.4, + "max": 0.6, + "step": 0.005, + "runtime": 12 + }, + { + "name": "kappa", + "value": -0.0648, + "min": -0.12, + "max": -0.02, + "step": 0.005, + "runtime": 15 + }, + { + "name": "hz", + "value": 0.25, + "min": 0.1, + "max": 0.5, + "step": 0.01, + "runtime": 20 + }, + { + "name": "fitness", + "value": 0.5, + "min": 0.1, + "max": 1.0, + "step": 0.05, + "runtime": 25 + } + ], + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1.2, + "ambientIntensity": 0.5, + "shininess": 200, + "globalSaturation": 1.8, + "camera": { + "position": { "x": 12, "y": 8, "z": 6 }, + "target": { "x": 0, "y": 0, "z": 0 } + } + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + }, + "meta": { + "source": "cipher_beats_analyst", + "cgp_spec": "chit.cgp.v0.2", + "group": "Allegro_balanced_Bright_c1", + "tracks": 21, + "state_vector": { + "delta": 0.5117, + "kappa": -0.0648, + "Hz": 0.25, + "A": 0.0, + "F": 0.5 + }, + "param_surface": { + "sense_mode_threshold": 0.5, + "n_groups_hint": 6, + "temperature": 0.50468, + "top_k": 5 + }, + "inferred_shape": "Toroidal Constellation", + "pipeline": "beats_to_cgp -> chit_a2ui_bridge -> Hyperdimensions" + } +} diff --git a/website/hyperdim/saves/breather_surface.json b/website/hyperdim/saves/breather_surface.json new file mode 100644 index 0000000000..88d67cad55 --- /dev/null +++ b/website/hyperdim/saves/breather_surface.json @@ -0,0 +1,72 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1.2, + "shininess": 150, + "camera": { + "position": { + "x": -5.259819110902405, + "y": 7.5118001790560776, + "z": 4.32288070129721 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": -13.5, + "uMax": 13.5, + "vMin": -37.5, + "vMax": 37.5, + "uSegs": 100, + "vSegs": 200 + }, + "extraParameters": [ + { + "name": "scale", + "value": 0.25, + "min": 0.1, + "max": 1, + "step": 0.001, + "runtime": 8 + }, + { + "name": "colorPhase", + "value": 2.707, + "min": 0, + "max": 6.283, + "step": 0.001, + "runtime": 21 + }, + { + "name": "hueRange", + "value": 0.741, + "min": 0.1, + "max": 1, + "step": 0.001, + "runtime": 31 + }, + { + "name": "saturation", + "value": 1, + "min": 0, + "max": 1, + "step": 0.001, + "runtime": 37 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const b = input.breathe !== undefined ? input.breathe : 0.4; // Breather parameter (0 < b < 1)\n const t = input.time || 0;\n const sc = input.scale !== undefined ? input.scale : 0.25;\n const colorPhase = input.colorPhase || 0;\n const hueRange = input.hueRange !== undefined ? input.hueRange : 0.6;\n const sat = input.saturation !== undefined ? input.saturation : 0.85;\n\n // Breather surface - a soliton solution to the sine-Gordon equation\n // This is a genuine parametric minimal-like surface with beautiful structure\n \n const aa = 1 - b * b;\n const r = Math.sqrt(aa);\n const w = Math.sqrt(b);\n \n // Time-dependent phase for animation\n const phase = t * 0.5;\n \n // Breather parametric equations\n const denom = b * (Math.pow(r * Math.cosh(b * u), 2) + Math.pow(b * Math.sin(r * (v + phase)), 2));\n \n const x = sc * (-u + (2 * aa * Math.cosh(b * u) * Math.sinh(b * u)) / denom);\n const y = sc * (2 * r * Math.cosh(b * u) * (-(r * Math.cos(v + phase) * Math.cos(r * (v + phase))) - Math.sin(v + phase) * Math.sin(r * (v + phase)))) / denom;\n const z = sc * (2 * r * Math.cosh(b * u) * (-(r * Math.sin(v + phase) * Math.cos(r * (v + phase))) + Math.cos(v + phase) * Math.sin(r * (v + phase)))) / denom;\n \n // Coloring based on surface curvature/position\n const curvature = Math.tanh(b * u); // -1 to 1\n const vNorm = ((v + phase) % 6.283) / 6.283;\n \n const hue = (0.5 + curvature * hueRange * 0.5 + colorPhase / 6.283) % 1.0;\n const lum = 0.35 + 0.25 * (curvature + 1) / 2 + 0.1 * Math.sin(vNorm * 6.283 * 3);\n \n // HSL to RGB\n const c = (1 - Math.abs(2 * lum - 1)) * sat;\n const hp = hue * 6;\n const x_c = c * (1 - Math.abs((hp % 2) - 1));\n const m = lum - c / 2;\n let r_out, g_out, b_out;\n if (hp < 1) { r_out = c; g_out = x_c; b_out = 0; }\n else if (hp < 2) { r_out = x_c; g_out = c; b_out = 0; }\n else if (hp < 3) { r_out = 0; g_out = c; b_out = x_c; }\n else if (hp < 4) { r_out = 0; g_out = x_c; b_out = c; }\n else if (hp < 5) { r_out = x_c; g_out = 0; b_out = c; }\n else { r_out = c; g_out = 0; b_out = x_c; }\n\n return {\n x, y, z,\n r: r_out + m,\n g: g_out + m,\n b: b_out + m,\n a: 1\n };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/chit_manifold.json b/website/hyperdim/saves/chit_manifold.json new file mode 100644 index 0000000000..a4c825005b --- /dev/null +++ b/website/hyperdim/saves/chit_manifold.json @@ -0,0 +1,46 @@ +{ + "surfaceFn": "function surface(input) {\n const u = (input.u - 0.5) * 10;\n const v = (input.v - 0.5) * 10;\n const eps = input.epsilon || 0.0;\n \n const z = Math.sin(u)*Math.cos(v) * eps;\n \n return {\n x: u, \n y: v, \n z: z, \n r: 0.5, \n g: 0.5, \n b: 0.5, \n a: 0.8\n };\n}", + "params": { + "uMin": 0, + "uMax": 1, + "vMin": 0, + "vMax": 1, + "uSegs": 150, + "vSegs": 150 + }, + "surfaceInput": { + "u": 0, + "v": 0, + "curvature": 0.0, + "epsilon": 0.44662856918050364 + }, + "animatedParams": [ + { + "name": "epsilon", + "playing": true, + "min": 0.24662856918050363, + "max": 0.6466285691805036, + "step": 0.01, + "time": 5, + "phase": 0 + } + ], + "camera": { + "position": { + "x": 5, + "y": 5, + "z": 2 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + }, + "shininess": 150, + "globalSaturation": 1.5, + "meta": { + "inferred_shape": "Flat", + "delta_proxy": 0.44662856918050364 + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/cosmic_bloom.json b/website/hyperdim/saves/cosmic_bloom.json new file mode 100644 index 0000000000..64694ee51e --- /dev/null +++ b/website/hyperdim/saves/cosmic_bloom.json @@ -0,0 +1,96 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 0.8, + "shininess": 60, + "camera": { + "position": { + "x": 2.6061530215505133, + "y": -26.706901577064528, + "z": 3.3566421822176444 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.283, + "vMin": 0, + "vMax": 3.14159, + "uSegs": 200, + "vSegs": 150 + }, + "extraParameters": [ + { + "name": "t", + "value": 0, + "min": 0, + "max": 100, + "step": 0.01, + "runtime": 100 + }, + { + "name": "baseRadius", + "value": 3, + "min": 1, + "max": 6, + "step": 0.1, + "runtime": 8 + }, + { + "name": "waveAmp", + "value": 0.8, + "min": 0, + "max": 2, + "step": 0.01, + "runtime": 8 + }, + { + "name": "petalCount", + "value": 5, + "min": 2, + "max": 12, + "step": 1, + "runtime": 8 + }, + { + "name": "twistSpeed", + "value": 0.3, + "min": -1, + "max": 1, + "step": 0.01, + "runtime": 8 + }, + { + "name": "colorSpeed", + "value": 0.5, + "min": 0, + "max": 2, + "step": 0.01, + "runtime": 8 + }, + { + "name": "saturation", + "value": 0.9, + "min": 0, + "max": 1, + "step": 0.01, + "runtime": 8 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const t = input.t || 0;\n const baseRadius = input.baseRadius !== undefined ? input.baseRadius : 3;\n const waveAmp = input.waveAmp !== undefined ? input.waveAmp : 0.8;\n const petalCount = input.petalCount !== undefined ? input.petalCount : 5;\n const twistSpeed = input.twistSpeed !== undefined ? input.twistSpeed : 0.3;\n const colorSpeed = input.colorSpeed !== undefined ? input.colorSpeed : 0.5;\n const saturation = input.saturation !== undefined ? input.saturation : 0.9;\n\n const PI = Math.PI;\n const twist = t * twistSpeed;\n \n const theta = u + twist * Math.sin(v * 2);\n const phi = v;\n \n const petalWave = Math.sin(petalCount * theta + t * 0.2) * 0.5 + 0.5;\n const ripple = Math.sin(phi * 8 - t * 0.5) * 0.3;\n const bloom = Math.sin(phi) * (1 + petalWave * waveAmp + ripple * waveAmp * 0.3);\n \n const spiralDistort = Math.sin(theta * 3 + phi * 2 - t * 0.3) * 0.15;\n const r_mod = baseRadius * bloom + spiralDistort;\n \n const x = r_mod * Math.sin(phi) * Math.cos(theta);\n const y = r_mod * Math.sin(phi) * Math.sin(theta);\n const z = r_mod * Math.cos(phi);\n \n const hue1 = (theta / (2 * PI) + t * colorSpeed * 0.1) % 1;\n const hue2 = (phi / PI + t * colorSpeed * 0.05) % 1;\n const hue = (hue1 + hue2 + petalWave * 0.3) % 1;\n \n const h = hue * 360;\n const s = saturation * (0.7 + 0.3 * petalWave);\n const l = 0.4 + 0.25 * petalWave + 0.1 * ripple;\n \n const c = (1 - Math.abs(2 * l - 1)) * s;\n const hPrime = h / 60;\n const X = c * (1 - Math.abs(hPrime % 2 - 1));\n const m = l - c / 2;\n \n let r = 0, g = 0, b = 0;\n if (hPrime < 1) { r = c; g = X; b = 0; }\n else if (hPrime < 2) { r = X; g = c; b = 0; }\n else if (hPrime < 3) { r = 0; g = c; b = X; }\n else if (hPrime < 4) { r = 0; g = X; b = c; }\n else if (hPrime < 5) { r = X; g = 0; b = c; }\n else { r = c; g = 0; b = X; }\n \n r += m; g += m; b += m;\n \n const shimmer = 0.1 * Math.sin(theta * 20 + phi * 15 + t);\n r = Math.min(1, Math.max(0, r + shimmer));\n g = Math.min(1, Math.max(0, g + shimmer));\n b = Math.min(1, Math.max(0, b + shimmer));\n \n return { x, y, z, r, g, b, a: 1.0 };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} diff --git a/website/hyperdim/saves/dini_surface.json b/website/hyperdim/saves/dini_surface.json new file mode 100644 index 0000000000..8ad8b0cbf1 --- /dev/null +++ b/website/hyperdim/saves/dini_surface.json @@ -0,0 +1,55 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 0.8, + "shininess": 50, + "camera": { + "position": { + "x": 2.6061530215505133, + "y": -26.706901577064528, + "z": 3.3566421822176444 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 12.56, + "vMin": 0.1, + "vMax": 2.0, + "uSegs": 150, + "vSegs": 50 + }, + "extraParameters": [ + { + "name": "b", + "value": 0.2, + "min": 0, + "max": 1, + "step": 0.005 + }, + { + "name": "t", + "value": 0, + "min": 0, + "max": 100, + "step": 0.01, + "runtime": 40 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const a = 1; // Hardcoded scale a\n const b = input.b !== undefined ? input.b : 0.2;\n const t = input.t || 0;\n \n // Animate the twist\n const dynamicB = b + 0.1 * Math.sin(t);\n\n const x = a * Math.cos(u) * Math.sin(v);\n const y = a * Math.sin(u) * Math.sin(v);\n const z = a * (Math.cos(v) + Math.log(Math.tan(v / 2))) + dynamicB * u;\n\n // Color based on height (z) and twist angle (u)\n // Create a metallic/neon gradient\n const colorVal = (z * 0.3 + u * 0.1 + t * 0.2) % 1;\n \n // Palette: Deep Purple to Cyan\n const r_col = 0.2 + 0.6 * Math.sin(colorVal * Math.PI * 2);\n const g_col = 0.2 + 0.6 * Math.sin(colorVal * Math.PI * 2 + 2);\n const b_col = 0.8;\n\n return { x, y, z, r: r_col, g: g_col, b: b_col, a: 1 };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/donut.json b/website/hyperdim/saves/donut.json new file mode 100644 index 0000000000..e7b55e671f --- /dev/null +++ b/website/hyperdim/saves/donut.json @@ -0,0 +1,40 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 0.8, + "shininess": 40, + "camera": { + "position": { + "x": 13.701472447124324, + "y": -4.502183112726335, + "z": 9.999999999991294 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.28318, + "vMin": 0, + "vMax": 6.28318, + "uSegs": 150, + "vSegs": 100 + }, + "extraParameters": [ + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n \n // Torus Dimensions\n const R = 3.5; // Major radius\n const r = 1.6; // Minor radius (thickness)\n \n // Base Torus Coordinates\n let x = (R + r * Math.cos(v)) * Math.cos(u);\n let y = (R + r * Math.cos(v)) * Math.sin(u);\n let z = r * Math.sin(v);\n \n // --- Frosting Logic ---\n // Frosting sits on top (z > 0) and drips down\n // Drips are modulated by sine waves around the ring (u)\n // 'drip' is the v-threshold where frosting ends\n // Basic top half is v in [0, PI]\n // Let's say frosting goes down to v = PI/4 on average\n \n const dripFrequency = 12;\n const dripAmplitude = 0.6;\n const dripNoise = 0.2 * Math.sin(u * 25);\n const dripLimit = 0.8 + dripAmplitude * Math.sin(u * dripFrequency) + dripNoise;\n \n // v is 0 at the outside equator, PI/2 at top, PI at inside equator\n // We want frosting on the top half. \n // Let's normalize 'v' so top (PI/2) is the center of frosting.\n // Actually, simpler: frosting is everywhere z is high enough relative to the tube.\n // sin(v) is height. \n \n let isFrosting = false;\n if (Math.sin(v) > -0.2) { // mostly top half\n // Check wavy boundary\n // Boundary condition: is v close to the drip limit?\n // Let's define coverage based on v angle.\n // Top is v=PI/2 (approx 1.57)\n // Frosting extends from v=0.5 to v=2.6 (roughly)\n // Let's map v to a \"top-ness\" factor.\n \n // Drips happen at the edge of the frosting.\n // Let's effectively displace the surface outwards slightly where there is frosting.\n }\n \n // Robust Frosting Check:\n // We use the 'v' parameter directly.\n // Frosting covers v from roughly 0.2 to 2.9 (covering the top arc)\n // We add sine waves to the edges.\n \n const edge1 = 0.1 + 0.3 * Math.sin(u * dripFrequency) + 0.1 * Math.sin(u * 30);\n const edge2 = 3.0 + 0.3 * Math.sin(u * dripFrequency + 2) + 0.1 * Math.sin(u * 30);\n \n if (v > edge1 && v < edge2) {\n isFrosting = true;\n // Puff out the frosting slightly\n const thick = 0.15;\n // Smooth taper at edges to look like fluid\n let taper = 1;\n const edgeDist = Math.min(Math.abs(v - edge1), Math.abs(v - edge2));\n if (edgeDist < 0.2) taper = smoothStep(0, 0.2, edgeDist);\n \n const frostingThick = thick * taper;\n \n // Apply thickness in normal direction (which is just radial for a torus cross-section)\n x += frostingThick * Math.cos(v) * Math.cos(u);\n y += frostingThick * Math.cos(v) * Math.sin(u);\n z += frostingThick * Math.sin(v);\n }\n \n // --- Sprinkles ---\n // Random-looking sprinkles on top\n // We use high-frequency sine waves to simulate pseudorandom spots\n let isSprinkle = false;\n if (isFrosting) {\n // Create a grid pattern\n const su = u * 40;\n const sv = v * 20;\n // Check if we are inside a \"sprinkle capsule\"\n // Simple noise check\n const noise = Math.sin(su) * Math.cos(sv) + Math.sin(su*2.3 + sv*1.7);\n if (noise > 1.8) {\n isSprinkle = true;\n // Raise sprinkle\n const sprinkleHeight = 0.08;\n x += sprinkleHeight * Math.cos(v) * Math.cos(u);\n y += sprinkleHeight * Math.cos(v) * Math.sin(u);\n z += sprinkleHeight * Math.sin(v);\n }\n }\n\n // --- Colors ---\n // Dough: Golden Brown\n let r_out = 0.85, g_out = 0.65, b_out = 0.35;\n \n if (isSprinkle) {\n // Rainbow sprinkles!\n // Use u to vary color\n const hue = Math.abs(Math.sin(u * 5)) * 6;\n if (hue < 1) { r_out=1; g_out=0; b_out=0; } // Red\n else if (hue < 2) { r_out=1; g_out=1; b_out=0; } // Yellow\n else if (hue < 3) { r_out=0; g_out=1; b_out=0; } // Green\n else if (hue < 4) { r_out=0; g_out=1; b_out=1; } // Cyan\n else if (hue < 5) { r_out=0; g_out=0; b_out=1; } // Blue\n else { r_out=1; g_out=0; b_out=1; } // Magenta\n } else if (isFrosting) {\n // Pink Strawberry Frosting\n r_out = 1.0; g_out = 0.6; b_out = 0.75;\n // Add subtle gloss highlight\n r_out += 0.05 * Math.sin(u*10);\n }\n\n return {\n x, y, z,\n r: r_out,\n g: g_out,\n b: b_out,\n a: 1\n };\n}\n\nfunction smoothStep(edge0, edge1, x) {\n const t = Math.max(0, Math.min(1, (x - edge0) / (edge1 - edge0)));\n return t * t * (3 - 2 * t);\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/fourier.json b/website/hyperdim/saves/fourier.json new file mode 100644 index 0000000000..451ff92bc5 --- /dev/null +++ b/website/hyperdim/saves/fourier.json @@ -0,0 +1,80 @@ +{ + "version": 1, + "display": { + "autoRotate": false, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 0.9, + "shininess": 50, + "camera": { + "position": { + "x": 2.6061530215505133, + "y": -26.706901577064528, + "z": 3.3566421822176444 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.28318, + "vMin": 0, + "vMax": 6.28318, + "uSegs": 150, + "vSegs": 150 + }, + "extraParameters": [ + { "name": "x_sin_u", "value": 1, "min": -2, "max": 2, "step": 0.001, "runtime": 5 }, + { "name": "x_cos_u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 7 }, + { "name": "x_sin_v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 11 }, + { "name": "x_cos_v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 13 }, + { "name": "x_sin_2u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 17 }, + { "name": "x_cos_2u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 19 }, + { "name": "x_sin_2v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 23 }, + { "name": "x_cos_2v", "value": 0.5, "min": -2, "max": 2, "step": 0.001, "runtime": 29 }, + { "name": "x_sin_3u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 31 }, + { "name": "x_mix_uv", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 37 }, + + { "name": "y_sin_u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 6 }, + { "name": "y_cos_u", "value": 1, "min": -2, "max": 2, "step": 0.001, "runtime": 8 }, + { "name": "y_sin_v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 12 }, + { "name": "y_cos_v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 14 }, + { "name": "y_sin_2u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 18 }, + { "name": "y_cos_2u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 20 }, + { "name": "y_sin_2v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 24 }, + { "name": "y_cos_2v", "value": 0.5, "min": -2, "max": 2, "step": 0.001, "runtime": 30 }, + { "name": "y_sin_3v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 32 }, + { "name": "y_mix_uv", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 38 }, + + { "name": "z_sin_u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 9 }, + { "name": "z_cos_u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 10 }, + { "name": "z_sin_v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 15 }, + { "name": "z_cos_v", "value": 1, "min": -2, "max": 2, "step": 0.001, "runtime": 16 }, + { "name": "z_sin_2u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 21 }, + { "name": "z_cos_2u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 22 }, + { "name": "z_sin_2v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 25 }, + { "name": "z_cos_2v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 26 }, + { "name": "z_sin_3u", "value": 0.2, "min": -2, "max": 2, "step": 0.001, "runtime": 33 }, + { "name": "z_mix_uv", "value": 0.5, "min": -2, "max": 2, "step": 0.001, "runtime": 39 }, + + { "name": "cr_freq_u", "value": 1, "min": 0, "max": 10, "step": 0.01, "runtime": 41 }, + { "name": "cr_freq_v", "value": 0, "min": 0, "max": 10, "step": 0.01, "runtime": 42 }, + { "name": "cg_freq_u", "value": 0, "min": 0, "max": 10, "step": 0.01, "runtime": 43 }, + { "name": "cg_freq_v", "value": 1, "min": 0, "max": 10, "step": 0.01, "runtime": 44 }, + { "name": "cb_freq_u", "value": 1, "min": 0, "max": 10, "step": 0.01, "runtime": 45 }, + { "name": "cb_freq_v", "value": 1, "min": 0, "max": 10, "step": 0.01, "runtime": 46 }, + { "name": "c_phase", "value": 0, "min": 0, "max": 6.28, "step": 0.01, "runtime": 47 } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n \n // X Terms\n const x = input.x_sin_u * Math.sin(u) \n + input.x_cos_u * Math.cos(u)\n + input.x_sin_v * Math.sin(v)\n + input.x_cos_v * Math.cos(v)\n + input.x_sin_2u * Math.sin(2*u)\n + input.x_cos_2u * Math.cos(2*u)\n + input.x_sin_2v * Math.sin(2*v)\n + input.x_cos_2v * Math.cos(2*v)\n + input.x_sin_3u * Math.sin(3*u)\n + input.x_mix_uv * Math.sin(u) * Math.cos(v);\n\n // Y Terms\n const y = input.y_sin_u * Math.sin(u) \n + input.y_cos_u * Math.cos(u)\n + input.y_sin_v * Math.sin(v)\n + input.y_cos_v * Math.cos(v)\n + input.y_sin_2u * Math.sin(2*u)\n + input.y_cos_2u * Math.cos(2*u)\n + input.y_sin_2v * Math.sin(2*v)\n + input.y_cos_2v * Math.cos(2*v)\n + input.y_sin_3v * Math.sin(3*v)\n + input.y_mix_uv * Math.cos(u) * Math.sin(v);\n\n // Z Terms\n const z = input.z_sin_u * Math.sin(u) \n + input.z_cos_u * Math.cos(u)\n + input.z_sin_v * Math.sin(v)\n + input.z_cos_v * Math.cos(v)\n + input.z_sin_2u * Math.sin(2*u)\n + input.z_cos_2u * Math.cos(2*u)\n + input.z_sin_2v * Math.sin(2*v)\n + input.z_cos_2v * Math.cos(2*v)\n + input.z_sin_3u * Math.sin(3*u)\n + input.z_mix_uv * Math.sin(u + v);\n\n // Color Mapping (RGB Fourier)\n const p = input.c_phase;\n \n const r = 0.5 + 0.5 * Math.sin(input.cr_freq_u * u + input.cr_freq_v * v + p);\n const g = 0.5 + 0.5 * Math.sin(input.cg_freq_u * u + input.cg_freq_v * v + p + 2.09);\n const b = 0.5 + 0.5 * Math.sin(input.cb_freq_u * u + input.cb_freq_v * v + p + 4.18);\n\n return { x, y, z, r, g, b };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/hopf_fibration.json b/website/hyperdim/saves/hopf_fibration.json new file mode 100644 index 0000000000..a8f8d7b40a --- /dev/null +++ b/website/hyperdim/saves/hopf_fibration.json @@ -0,0 +1,94 @@ +{ + "version": 1, + "display": { + "autoRotate": false, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1.2, + "shininess": 200, + "camera": { + "position": { + "x": 6, + "y": 6, + "z": 5 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.28318530718, + "vMin": 0, + "vMax": 3.14159265359, + "uSegs": 150, + "vSegs": 80 + }, + "extraParameters": [ + { + "name": "fiberRadius", + "value": 0.08, + "min": 0.02, + "max": 0.5, + "step": 0.001 + }, + { + "name": "projectionDist", + "value": 2, + "min": 1, + "max": 4, + "step": 0.001 + }, + { + "name": "rotation4D", + "value": 0, + "min": 0, + "max": 6.283, + "step": 0.001, + "runtime": 17 + }, + { + "name": "twist4D", + "value": 0, + "min": 0, + "max": 6.283, + "step": 0.001, + "runtime": 23 + }, + { + "name": "baseRotation", + "value": 0, + "min": 0, + "max": 6.283, + "step": 0.001, + "runtime": 11 + }, + { + "name": "colorSpeed", + "value": 0, + "min": 0, + "max": 6.283, + "step": 0.001, + "runtime": 29 + }, + { + "name": "saturation", + "value": 0.9, + "min": 0, + "max": 1, + "step": 0.001, + "runtime": 41 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u; // Position along fiber (circle)\n const v = input.v; // Which fiber (colatitude on base S2)\n const fiberR = input.fiberRadius !== undefined ? input.fiberRadius : 0.08;\n const projDist = input.projectionDist !== undefined ? input.projectionDist : 2;\n const rot4D = input.rotation4D || 0;\n const twist4D = input.twist4D || 0;\n const baseRot = input.baseRotation || 0;\n const colorSpeed = input.colorSpeed || 0;\n const sat = input.saturation !== undefined ? input.saturation : 0.9;\n\n // Hopf fibration: S3 -> S2\n // Each point on S2 (base) corresponds to a circle (fiber) in S3\n \n // Base sphere coordinates (which fiber we're on)\n const theta = v; // colatitude [0, PI]\n const phi = u * 0.5 + baseRot; // longitude, scaled to show multiple fibers\n \n // Fiber parameter (position along the circle)\n const psi = u + twist4D * Math.sin(v * 2);\n \n // Hopf map: (theta, phi, psi) -> point on S3\n // Using the standard Hopf coordinates\n const cosHalf = Math.cos(theta / 2);\n const sinHalf = Math.sin(theta / 2);\n \n let x1 = cosHalf * Math.cos(psi + phi / 2);\n let x2 = cosHalf * Math.sin(psi + phi / 2);\n let x3 = sinHalf * Math.cos(psi - phi / 2);\n let x4 = sinHalf * Math.sin(psi - phi / 2);\n \n // 4D rotation in the x1-x4 plane\n const c4 = Math.cos(rot4D);\n const s4 = Math.sin(rot4D);\n const x1r = x1 * c4 - x4 * s4;\n const x4r = x1 * s4 + x4 * c4;\n x1 = x1r;\n x4 = x4r;\n \n // Additional rotation in x2-x3 plane\n const c42 = Math.cos(rot4D * 0.7);\n const s42 = Math.sin(rot4D * 0.7);\n const x2r = x2 * c42 - x3 * s42;\n const x3r = x2 * s42 + x3 * c42;\n x2 = x2r;\n x3 = x3r;\n \n // Stereographic projection from S3 to R3\n const w = x4;\n const denom = projDist - w;\n const safeDenom = Math.abs(denom) < 0.01 ? 0.01 * Math.sign(denom || 1) : denom;\n const factor = projDist / safeDenom;\n \n // Add thickness to make fibers visible as tubes\n const fiberAngle = u * 8; // tube cross-section\n const thick = fiberR * (1 + 0.3 * (factor - 1) / 2); // scale with projection\n \n // Approximate normal to fiber for tube\n const nx = Math.sin(v) * Math.cos(u);\n const ny = Math.sin(v) * Math.sin(u);\n const nz = Math.cos(v);\n \n const x = x1 * factor + thick * nx * Math.cos(fiberAngle);\n const y = x2 * factor + thick * ny * Math.cos(fiberAngle);\n const z = x3 * factor + thick * nz * Math.sin(fiberAngle);\n \n // Color by fiber (base sphere position) - creates linked rainbow rings\n const hue = (v / 3.14159 + colorSpeed / 6.283) % 1.0;\n const lum = 0.4 + 0.2 * Math.sin(u * 4);\n \n // HSL to RGB\n const c = (1 - Math.abs(2 * lum - 1)) * sat;\n const hp = hue * 6;\n const x_c = c * (1 - Math.abs((hp % 2) - 1));\n const m = lum - c / 2;\n let r_out, g_out, b_out;\n if (hp < 1) { r_out = c; g_out = x_c; b_out = 0; }\n else if (hp < 2) { r_out = x_c; g_out = c; b_out = 0; }\n else if (hp < 3) { r_out = 0; g_out = c; b_out = x_c; }\n else if (hp < 4) { r_out = 0; g_out = x_c; b_out = c; }\n else if (hp < 5) { r_out = x_c; g_out = 0; b_out = c; }\n else { r_out = c; g_out = 0; b_out = x_c; }\n\n return {\n x, y, z,\n r: r_out + m,\n g: g_out + m,\n b: b_out + m,\n a: 1\n };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/hotdog.json b/website/hyperdim/saves/hotdog.json new file mode 100644 index 0000000000..c084a97482 --- /dev/null +++ b/website/hyperdim/saves/hotdog.json @@ -0,0 +1,56 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1, + "shininess": 60, + "camera": { + "position": { + "x": 2.6061530215505133, + "y": -26.706901577064528, + "z": 3.3566421822176444 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.28, + "vMin": 0, + "vMax": 1, + "uSegs": 120, + "vSegs": 100 + }, + "extraParameters": [ + { + "name": "radius", + "value": 1, + "min": 0.5, + "max": 2, + "step": 0.01, + "runtime": 8 + }, + { + "name": "length", + "value": 7, + "min": 4, + "max": 12, + "step": 0.1, + "runtime": 8 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const R = input.radius;\n const L = input.length;\n const halfL = L / 2;\n const sausageLen = L * 1.15;\n const halfSausage = sausageLen / 2;\n \n let x, y, z, r, g, b;\n \n if (v < 0.45) {\n // BUN - wraps around bottom, opening faces up (+Z)\n const t = v / 0.45;\n const bunR = R * 1.5;\n const angle = Math.PI * 0.25 + t * Math.PI * 1.5;\n \n const uNorm = u / (2 * Math.PI);\n const xBase = -halfL + uNorm * L;\n \n const endMargin = bunR * 0.6;\n let endScale = 1;\n if (xBase < -halfL + endMargin) {\n const d = (-halfL + endMargin - xBase) / endMargin;\n endScale = Math.sqrt(Math.max(0, 1 - d*d));\n } else if (xBase > halfL - endMargin) {\n const d = (xBase - (halfL - endMargin)) / endMargin;\n endScale = Math.sqrt(Math.max(0, 1 - d*d));\n }\n \n x = xBase;\n y = bunR * Math.sin(angle) * endScale;\n z = bunR * Math.cos(angle) * endScale + R * 0.1;\n \n r = 0.94; g = 0.74; b = 0.44;\n \n } else if (v < 0.88) {\n // SAUSAGE - longer capsule, sticks out of bun\n const t = (v - 0.45) / 0.43;\n const capSize = 0.1;\n let xPos, rScale;\n \n if (t < capSize) {\n const ct = t / capSize;\n const phi = (ct - 1) * Math.PI / 2;\n rScale = Math.cos(phi);\n xPos = -halfSausage + R + R * Math.sin(phi);\n } else if (t > 1 - capSize) {\n const ct = (t - (1 - capSize)) / capSize;\n const phi = ct * Math.PI / 2;\n rScale = Math.cos(phi);\n xPos = halfSausage - R + R * Math.sin(phi);\n } else {\n const mt = (t - capSize) / (1 - 2*capSize);\n rScale = 1;\n xPos = -halfSausage + R + mt * (sausageLen - 2*R);\n }\n \n x = xPos;\n y = R * rScale * Math.sin(u);\n z = R * rScale * Math.cos(u);\n \n const grill = Math.sin(u * 5) > 0.55 ? 0.2 : 0;\n r = 0.82 - grill;\n g = 0.32 - grill;\n b = 0.16 - grill * 0.4;\n \n } else {\n // KETCHUP - on top of sausage (+Z direction)\n const t = (v - 0.88) / 0.12;\n const kR = R * 0.08;\n const uNorm = u / (2 * Math.PI);\n \n const xPos = -halfL * 0.5 + uNorm * L * 0.5;\n const wave = Math.sin(uNorm * 20) * R * 0.2;\n const angle = t * 2 * Math.PI;\n \n x = xPos;\n y = wave + kR * Math.sin(angle);\n z = R + kR * (1 + Math.cos(angle));\n \n r = 0.92; g = 0.1; b = 0.08;\n }\n \n return { x, y, z, r, g, b, a: 1 };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} diff --git a/website/hyperdim/saves/hypersphere.json b/website/hyperdim/saves/hypersphere.json new file mode 100644 index 0000000000..cf063a2091 --- /dev/null +++ b/website/hyperdim/saves/hypersphere.json @@ -0,0 +1,64 @@ +{ + "version": 1, + "display": { + "autoRotate": false, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1, + "shininess": 1000, + "camera": { + "position": { + "x": 11.08478195308135, + "y": -0.365380103426594, + "z": 3.3000875250414197 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.28318, + "vMin": 0, + "vMax": 3.14159, + "uSegs": 128, + "vSegs": 128 + }, + "extraParameters": [ + { + "name": "phi3", + "value": 3.141, + "min": 0, + "max": 3.14159, + "step": 0.001, + "runtime": 15 + }, + { + "name": "phi4", + "value": 0, + "min": 0, + "max": 3.14159, + "step": 0.001, + "runtime": 16 + }, + { + "name": "phi5", + "value": 0, + "min": 0, + "max": 6.28318, + "step": 0.001, + "runtime": 17 + } + ], + "surface": { + "code": "function surface(input) {\n const R = 2;\n \n // Standard N-sphere parametrization angles\n // u, v provide the surface sweep (phi1, phi2)\n // phi3, phi4, phi5 slice the higher dimensions\n const phi1 = input.u; // [0, PI]\n const phi2 = input.v; // [0, PI]\n const phi3 = input.phi3 !== undefined ? input.phi3 : 1.57;\n const phi4 = input.phi4 !== undefined ? input.phi4 : 1.57;\n const phi5 = input.phi5 || 0; // [0, 2PI]\n\n // Precompute sines/cosines\n const s1 = Math.sin(phi1), c1 = Math.cos(phi1);\n const s2 = Math.sin(phi2), c2 = Math.cos(phi2);\n const s3 = Math.sin(phi3), c3 = Math.cos(phi3);\n const s4 = Math.sin(phi4), c4 = Math.cos(phi4);\n const s5 = Math.sin(phi5), c5 = Math.cos(phi5);\n\n // 6D Coordinates definition\n // x1 = R cos(phi1)\n // x2 = R sin(phi1) cos(phi2)\n // x3 = R sin(phi1) sin(phi2) cos(phi3)\n // x4 = R sin(phi1) sin(phi2) sin(phi3) cos(phi4)\n // x5 = R sin(phi1) sin(phi2) sin(phi3) sin(phi4) cos(phi5)\n // x6 = R sin(phi1) sin(phi2) sin(phi3) sin(phi4) sin(phi5)\n\n const x1 = R * c1;\n const x2 = R * s1 * c2;\n const x3 = R * s1 * s2 * c3;\n const x4 = R * s1 * s2 * s3 * c4;\n const x5 = R * s1 * s2 * s3 * s4 * c5;\n const x6 = R * s1 * s2 * s3 * s4 * s5;\n\n // Map 6D coordinates to spatial (x,y,z) and color (r,g,b)\n // Spatial Position\n const x = x1;\n const y = x2;\n const z = x3;\n\n // Color Mapping\n // Map coordinates (roughly [-R, R]) to [0, 1] range for color\n const r = (x4 / R + 1) / 2;\n const g = (x5 / R + 1) / 2;\n const b = (x6 / R + 1) / 2;\n\n return {\n x, y, z,\n r, g, b,\n a: 1\n };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/jellyfish.json b/website/hyperdim/saves/jellyfish.json new file mode 100644 index 0000000000..5bb6127282 --- /dev/null +++ b/website/hyperdim/saves/jellyfish.json @@ -0,0 +1,56 @@ +{ + "version": 1, + "display": { + "autoRotate": false, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 0.8, + "shininess": 150, + "camera": { + "position": { + "x": 2.6061530215505133, + "y": -26.706901577064528, + "z": 3.3566421822176444 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 1, + "vMin": 0, + "vMax": 1, + "uSegs": 180, + "vSegs": 120 + }, + "extraParameters": [ + { "name": "time", "value": 0, "min": 0, "max": 6.283, "step": 0.01, "runtime": 2.4 }, + { "name": "pulseAmp", "value": 0.35, "min": 0.1, "max": 0.6, "step": 0.01, "runtime": 7.3 }, + { "name": "pulseSpeed", "value": 1, "min": 0.5, "max": 2, "step": 0.1, "runtime": 11.1 }, + { "name": "bellHeight", "value": 0.7, "min": 0.3, "max": 1.2, "step": 0.01, "runtime": 8.7 }, + { "name": "bellWidth", "value": 1.2, "min": 0.6, "max": 1.8, "step": 0.01, "runtime": 9.3 }, + { "name": "ruffles", "value": 24, "min": 8, "max": 40, "step": 1, "runtime": 15 }, + { "name": "ruffleAmp", "value": 0.15, "min": 0, "max": 0.4, "step": 0.01, "runtime": 5.7 }, + { "name": "tentacles", "value": 8, "min": 4, "max": 16, "step": 1, "runtime": 19 }, + { "name": "tentLen", "value": 2.5, "min": 1, "max": 4, "step": 0.1, "runtime": 6.1 }, + { "name": "tentWave", "value": 0.4, "min": 0.1, "max": 0.8, "step": 0.01, "runtime": 4.3 }, + { "name": "tentFreq", "value": 3, "min": 1, "max": 6, "step": 0.5, "runtime": 13.7 }, + { "name": "drift", "value": 0.1, "min": 0, "max": 0.3, "step": 0.01, "runtime": 3.1 }, + { "name": "hue1", "value": 0.55, "min": 0, "max": 1, "step": 0.01, "runtime": 4.7 }, + { "name": "hue2", "value": 0.75, "min": 0, "max": 1, "step": 0.01, "runtime": 5.3 }, + { "name": "glow", "value": 0.6, "min": 0, "max": 1, "step": 0.01, "runtime": 3.7 }, + { "name": "opacity", "value": 0.85, "min": 0.3, "max": 1, "step": 0.01, "runtime": 12.3 } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u, v = input.v;\n const t = input.time * input.pulseSpeed;\n const TAU = Math.PI * 2;\n const angle = v * TAU;\n \n const pulse = Math.sin(t) * input.pulseAmp;\n const pulsePhase = Math.sin(t - u * 1.5) * input.pulseAmp * 0.5;\n \n let x, y, z, r, g, b, a;\n \n if (u < 0.55) {\n // Bell dome\n const bellU = u / 0.55;\n const radial = bellU * input.bellWidth * (1 - pulse * 0.3);\n const contractionWave = 1 - pulse * 0.4 * Math.pow(bellU, 2);\n \n const ruffleEdge = Math.pow(bellU, 3);\n const ruffle = Math.sin(angle * input.ruffles + t * 2) * input.ruffleAmp * ruffleEdge;\n const ruffle2 = Math.sin(angle * input.ruffles * 2.5 - t) * input.ruffleAmp * 0.3 * ruffleEdge;\n \n const domeShape = Math.cos(bellU * Math.PI * 0.5);\n const thickness = 0.08 * (1 + Math.sin(angle * 6 + bellU * 4) * 0.3);\n \n x = (radial + ruffle) * Math.cos(angle) * contractionWave;\n y = (radial + ruffle) * Math.sin(angle) * contractionWave;\n z = domeShape * input.bellHeight * (1 + pulse * 0.2) + ruffle2 + input.drift * Math.sin(t * 0.7);\n \n const glowPulse = 0.5 + 0.5 * Math.sin(t * 2 + bellU * 3);\n const hue = input.hue1 + (input.hue2 - input.hue1) * bellU + glowPulse * 0.05;\n const sat = 0.4 + 0.3 * ruffleEdge;\n const val = 0.7 + input.glow * glowPulse * 0.3;\n \n const h = (hue % 1) * 6, i = Math.floor(h), f = h - i;\n const p = val * (1 - sat), q = val * (1 - sat * f), tt = val * (1 - sat * (1 - f));\n switch (i % 6) {\n case 0: r = val; g = tt; b = p; break;\n case 1: r = q; g = val; b = p; break;\n case 2: r = p; g = val; b = tt; break;\n case 3: r = p; g = q; b = val; break;\n case 4: r = tt; g = p; b = val; break;\n case 5: r = val; g = p; b = q; break;\n }\n a = input.opacity * (0.6 + 0.4 * domeShape);\n \n } else if (u < 0.65) {\n // Oral arms / frilly center\n const armU = (u - 0.55) / 0.1;\n const armAngle = angle + Math.sin(armU * 8 + t) * 0.3;\n const armRadius = 0.3 * (1 - armU * 0.5) * (1 - pulse * 0.2);\n const frill = Math.sin(angle * 16 + armU * 12 - t * 3) * 0.1 * (1 - armU);\n \n x = (armRadius + frill) * Math.cos(armAngle);\n y = (armRadius + frill) * Math.sin(armAngle);\n z = -armU * 0.5 + input.drift * Math.sin(t * 0.7 + 0.5);\n \n const hue = input.hue2 + 0.1;\n const sat = 0.5, val = 0.8 + input.glow * 0.2 * Math.sin(t * 3 + armU * 5);\n const h = (hue % 1) * 6, i = Math.floor(h), f = h - i;\n const p = val * (1 - sat), q = val * (1 - sat * f), tt = val * (1 - sat * (1 - f));\n switch (i % 6) {\n case 0: r = val; g = tt; b = p; break;\n case 1: r = q; g = val; b = p; break;\n case 2: r = p; g = val; b = tt; break;\n case 3: r = p; g = q; b = val; break;\n case 4: r = tt; g = p; b = val; break;\n case 5: r = val; g = p; b = q; break;\n }\n a = input.opacity * 0.7;\n \n } else {\n // Tentacles\n const tentU = (u - 0.65) / 0.35;\n const tentIndex = Math.floor(v * input.tentacles);\n const tentV = (v * input.tentacles) % 1;\n const tentAngle = (tentIndex + 0.5) / input.tentacles * TAU;\n \n const baseRadius = 0.35 * (1 - pulse * 0.15);\n const spreadFactor = 1 + tentU * 0.8;\n const waveDelay = tentU * 2 + tentIndex * 0.7;\n \n const sway1 = Math.sin(t * 1.3 - waveDelay) * input.tentWave * tentU;\n const sway2 = Math.sin(t * 0.9 - waveDelay * 1.3 + 1) * input.tentWave * 0.6 * tentU;\n const ripple = Math.sin(tentU * input.tentFreq * TAU - t * 2) * 0.15 * tentU;\n \n const thickness = 0.04 * (1 - tentU * 0.7) * (0.5 + 0.5 * Math.cos(tentV * TAU));\n const tentRadius = baseRadius * spreadFactor + thickness;\n \n x = tentRadius * Math.cos(tentAngle + sway1) + sway2 * 0.5;\n y = tentRadius * Math.sin(tentAngle + sway1) + ripple;\n z = -tentU * input.tentLen + input.drift * Math.sin(t * 0.7 + tentU);\n \n const glowWave = 0.5 + 0.5 * Math.sin(t * 2.5 - tentU * 4 + tentIndex);\n const hue = input.hue1 + (input.hue2 - input.hue1) * (0.5 + glowWave * 0.3);\n const sat = 0.35 + 0.2 * glowWave;\n const val = 0.5 + input.glow * glowWave * 0.5;\n \n const h = (hue % 1) * 6, i = Math.floor(h), f = h - i;\n const p = val * (1 - sat), q = val * (1 - sat * f), tt = val * (1 - sat * (1 - f));\n switch (i % 6) {\n case 0: r = val; g = tt; b = p; break;\n case 1: r = q; g = val; b = p; break;\n case 2: r = p; g = val; b = tt; break;\n case 3: r = p; g = q; b = val; break;\n case 4: r = tt; g = p; b = val; break;\n case 5: r = val; g = p; b = q; break;\n }\n a = input.opacity * (0.4 + 0.4 * (1 - tentU));\n }\n \n return { x, y, z, r, g, b, a };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} diff --git a/website/hyperdim/saves/klein_bottle.json b/website/hyperdim/saves/klein_bottle.json new file mode 100644 index 0000000000..d4c34be4f8 --- /dev/null +++ b/website/hyperdim/saves/klein_bottle.json @@ -0,0 +1,56 @@ +{ + "version": 1, + "display": { + "autoRotate": false, + "showAxes": false, + "showSurface": true, + "showWireframe": true, + "dirIntensity": 0.8, + "shininess": 60, + "camera": { + "position": { + "x": 8.292337121619003, + "y": -13.382339404732717, + "z": 8.603635736803405 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.283185, + "vMin": 0, + "vMax": 6.283185, + "uSegs": 100, + "vSegs": 50 + }, + "extraParameters": [ + { + "name": "handleWidth", + "value": 1, + "min": 0.5, + "max": 2.5, + "step": 0.001, + "runtime": 8 + }, + { + "name": "bodyWidth", + "value": 1, + "min": 0.5, + "max": 2, + "step": 0.001, + "runtime": 8 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const handleW = input.handleWidth !== undefined ? input.handleWidth : 1.0;\n const bodyW = input.bodyWidth !== undefined ? input.bodyWidth : 1.0;\n\n const cosU = Math.cos(u);\n const sinU = Math.sin(u);\n const cosV = Math.cos(v);\n const sinV = Math.sin(v);\n \n let x, y, z;\n\n // Adjusted Classic Klein Bottle Parameterization\n if (u < Math.PI) {\n // Bottom body\n x = (6 * bodyW) * cosU * (1 + sinU) + (4 * handleW) * (1 - cosU / 2) * cosU * cosV;\n y = 16 * sinU + (4 * handleW) * (1 - cosU / 2) * sinU * cosV;\n z = (4 * handleW) * (1 - cosU / 2) * sinV;\n } else {\n // Handle / Neck\n x = (6 * bodyW) * cosU * (1 + sinU) - (4 * handleW) * (1 - cosU / 2) * cosV;\n y = 16 * sinU;\n z = (4 * handleW) * (1 - cosU / 2) * sinV;\n }\n \n // Scale down to fit view\n const s = 0.25;\n x *= s;\n y *= s;\n z *= s;\n \n // Center vertically\n y -= 2;\n\n // Coloring logic corrected for U-seam (0 to 2PI)\n // We use sin(u) instead of u directly to ensure periodicity\n \n // Base hue on Y height + a twist based on U angle\n // Using sin(u) ensures that u=0 and u=2PI result in the same color value\n const phase = y * 0.3 + Math.sin(u) * 2.0;\n \n const r_col = 0.5 + 0.5 * Math.sin(phase);\n const g_col = 0.5 + 0.5 * Math.sin(phase + 2.09); // + 120 degrees\n const b_col = 0.5 + 0.5 * Math.sin(phase + 4.18); // + 240 degrees\n\n // Light shading based on V (tube circumference)\n const shading = 0.9 + 0.1 * cosV;\n\n return { \n x, y, z, \n r: r_col * shading, \n g: g_col * shading, \n b: b_col * shading, \n a: 1.0 \n };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/mandelbulb.json b/website/hyperdim/saves/mandelbulb.json new file mode 100644 index 0000000000..7f9e4a41fe --- /dev/null +++ b/website/hyperdim/saves/mandelbulb.json @@ -0,0 +1,96 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 0.8, + "shininess": 30, + "camera": { + "position": { + "x": 2.6061530215505133, + "y": -26.706901577064528, + "z": 3.3566421822176444 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 3.14159, + "vMin": 0, + "vMax": 6.28318, + "uSegs": 150, + "vSegs": 150 + }, + "extraParameters": [ + { + "name": "Power", + "value": 8, + "min": 2, + "max": 16, + "step": 0.001, + "runtime": 1 + }, + { + "name": "Iterations", + "value": 12, + "min": 1, + "max": 30, + "step": 1, + "runtime": 2 + }, + { + "name": "Bailout", + "value": 4, + "min": 1, + "max": 20, + "step": 0.01, + "runtime": 3 + }, + { + "name": "Detail", + "value": 200, + "min": 10, + "max": 1000, + "step": 10, + "runtime": 4 + }, + { + "name": "Cx", + "value": 0.6, + "min": -2, + "max": 2, + "step": 0.01, + "runtime": 5 + }, + { + "name": "Cy", + "value": 0.4, + "min": -2, + "max": 2, + "step": 0.01, + "runtime": 6 + }, + { + "name": "Cz", + "value": 0.2, + "min": -2, + "max": 2, + "step": 0.01, + "runtime": 7 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u; // Theta\n const v = input.v; // Phi\n \n // Optimized access to params\n const power = input.Power;\n const maxIter = input.Iterations;\n const bailout = input.Bailout;\n const bailoutSq = bailout * bailout;\n const detail = input.Detail;\n \n // Dynamic epsilon based on detail\n const epsilon = 1.0 / (detail * 10);\n const maxRaySteps = 100;\n \n const cx = input.Cx;\n const cy = input.Cy;\n const cz = input.Cz;\n \n const sinU = Math.sin(u);\n const dx = sinU * Math.cos(v);\n const dy = sinU * Math.sin(v);\n const dz = Math.cos(u);\n \n let r = 2.0;\n let hit = false;\n \n // Inlined GetDist for performance (avoids function call overhead in tight loop)\n // Improved Derivative Logic to reduce spikes\n function getDist(x, y, z) {\n let zx = x, zy = y, zz = z;\n let dr = 1.0;\n let r2 = zx*zx + zy*zy + zz*zz;\n \n for (let i = 0; i < maxIter; i++) {\n if (r2 > bailoutSq) break;\n \n // Optimize: use raw math, minimize object creation\n let rad = Math.sqrt(r2);\n // Safe acos for theta (clamp to -1..1)\n let theta = Math.acos(Math.max(-1, Math.min(1, zz / rad)));\n let phi = Math.atan2(zy, zx);\n \n let zr = Math.pow(rad, power);\n let thetaP = theta * power;\n let phiP = phi * power;\n \n // Julia Derivative: dr = power * r^(power-1) * dr\n // We can optimize pow calls\n dr = Math.pow(rad, power - 1) * power * dr + 1.0;\n \n const sinThetaP = Math.sin(thetaP);\n zx = zr * sinThetaP * Math.cos(phiP);\n zy = zr * sinThetaP * Math.sin(phiP);\n zz = zr * Math.cos(thetaP);\n \n zx += cx;\n zy += cy;\n zz += cz;\n \n r2 = zx*zx + zy*zy + zz*zz;\n }\n \n const rad = Math.sqrt(r2);\n // Soften the DE to reduce sharp spikes (over-stepping)\n // Multiplying by 0.5 * log(r) * r / dr is standard, but we cap dr to avoid infinite spikes\n if (dr < 1.0) dr = 1.0;\n return 0.5 * Math.log(rad) * rad / dr;\n }\n\n for(let i=0; i 0.2) d = 0.2;\n\n if (d < epsilon) {\n hit = true;\n r -= d * 0.5;\n break;\n }\n \n r -= d;\n if (r < 0) { r = 0; break; }\n }\n \n const finalX = dx * r;\n const finalY = dy * r;\n const finalZ = dz * r;\n \n // Coloring (Compute Trap)\n let trap = 1e20;\n let iters = 0;\n \n if (hit) {\n let zx = finalX, zy = finalY, zz = finalZ;\n let r2 = 0;\n for (let i = 0; i < maxIter; i++) {\n r2 = zx*zx + zy*zy + zz*zz;\n if (r2 > bailoutSq) break;\n \n trap = Math.min(trap, r2);\n \n let rad = Math.sqrt(r2);\n let theta = Math.acos(Math.max(-1, Math.min(1, zz / rad)));\n let phi = Math.atan2(zy, zx);\n \n let zr = Math.pow(rad, power);\n let thetaP = theta * power;\n let phiP = phi * power;\n \n const sinThetaP = Math.sin(thetaP);\n zx = zr * sinThetaP * Math.cos(phiP);\n zy = zr * sinThetaP * Math.sin(phiP);\n zz = zr * Math.cos(thetaP);\n \n zx += cx;\n zy += cy;\n zz += cz;\n iters = i;\n }\n }\n\n let red, green, blue;\n if (hit) {\n const t = Math.sqrt(trap);\n const col = t * 0.8 + (iters / maxIter) * 0.2;\n red = 0.5 + 0.5 * Math.cos(col * 4 + 0.5);\n green = 0.5 + 0.5 * Math.cos(col * 4 + 1.5);\n blue = 0.5 + 0.5 * Math.cos(col * 4 + 2.5);\n } else {\n red = 0; green = 0; blue = 0;\n }\n \n const alpha = hit ? 1.0 : 0.0;\n \n return { x: finalX, y: finalY, z: finalZ, r: red, g: green, b: blue, a: alpha };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/mlp.json b/website/hyperdim/saves/mlp.json new file mode 100644 index 0000000000..b041833c24 --- /dev/null +++ b/website/hyperdim/saves/mlp.json @@ -0,0 +1,45 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": true, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1, + "shininess": 80, + "camera": { + "position": { + "x": 2.6061530215505133, + "y": -26.706901577064528, + "z": 3.3566421822176444 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": -1, + "uMax": 1, + "vMin": -1, + "vMax": 1, + "uSegs": 80, + "vSegs": 80 + }, + "extraParameters": [ + { "name": "hidden_layers", "value": 2, "min": 0, "max": 8, "step": 1, "runtime": 0 }, + { "name": "neurons", "value": 8, "min": 1, "max": 32, "step": 1, "runtime": 0 }, + { "name": "seed", "value": 42, "min": 0, "max": 999999, "step": 1, "runtime": 0 }, + { "name": "activation", "value": 0, "min": 0, "max": 7, "step": 1, "runtime": 0 }, + { "name": "scale", "value": 4, "min": 0.5, "max": 10, "step": 0.001, "runtime": 17 } + ], + "surface": { + "code": "// activation: 0=tanh, 1=relu, 2=leaky_relu, 3=sin, 4=sigmoid, 5=elu, 6=swish, 7=softplus\nfunction surface(input) {\n const u = input.u;\n const v = input.v;\n const nHidden = Math.max(0, Math.floor(input.hidden_layers));\n const nNeurons = Math.max(1, Math.floor(input.neurons));\n const actType = Math.floor(input.activation);\n const scale = input.scale;\n \n const act = (x) => {\n switch(actType) {\n case 1: return Math.max(0, x);\n case 2: return x > 0 ? x : 0.1 * x;\n case 3: return Math.sin(x);\n case 4: return 1 / (1 + Math.exp(-x));\n case 5: return x > 0 ? x : Math.exp(x) - 1;\n case 6: return x / (1 + Math.exp(-x));\n case 7: return Math.log(1 + Math.exp(x));\n default: return Math.tanh(x);\n }\n };\n \n let s = Math.floor(input.seed) >>> 0;\n const rand = () => {\n s |= 0; s = s + 0x6D2B79F5 | 0;\n let t = Math.imul(s ^ s >>> 15, 1 | s);\n t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t;\n return ((t ^ t >>> 14) >>> 0) / 4294967296 * 2 - 1;\n };\n \n const sizes = [2];\n for (let i = 0; i < nHidden; i++) sizes.push(nNeurons);\n sizes.push(6);\n \n let a = [u, v];\n for (let L = 0; L < sizes.length - 1; L++) {\n const ins = sizes[L];\n const outs = sizes[L + 1];\n const wScale = Math.sqrt(2 / ins);\n const next = [];\n \n for (let o = 0; o < outs; o++) {\n let sum = rand() * 0.1;\n for (let i = 0; i < ins; i++) {\n sum += rand() * wScale * a[i];\n }\n next.push(act(sum));\n }\n a = next;\n }\n \n const norm = (x) => Math.max(0, Math.min(1, (Math.tanh(x) + 1) / 2));\n \n return {\n x: Math.tanh(a[0]) * scale,\n y: Math.tanh(a[1]) * scale,\n z: Math.tanh(a[2]) * scale,\n r: norm(a[3]),\n g: norm(a[4]),\n b: norm(a[5]),\n a: 1\n };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} diff --git a/website/hyperdim/saves/mobius_strip.json b/website/hyperdim/saves/mobius_strip.json new file mode 100644 index 0000000000..4207a1bbc3 --- /dev/null +++ b/website/hyperdim/saves/mobius_strip.json @@ -0,0 +1,72 @@ +{ + "version": 1, + "display": { + "autoRotate": false, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1, + "shininess": 100, + "camera": { + "position": { + "x": 2.6061530215505133, + "y": -26.706901577064528, + "z": 3.3566421822176444 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.283185307179586, + "vMin": -1, + "vMax": 1, + "uSegs": 150, + "vSegs": 30 + }, + "extraParameters": [ + { + "name": "radius", + "value": 4, + "min": 1, + "max": 10, + "step": 0.001, + "runtime": 8 + }, + { + "name": "width", + "value": 1.5, + "min": 0.1, + "max": 4, + "step": 0.001, + "runtime": 8 + }, + { + "name": "twists", + "value": 1, + "min": 0, + "max": 5, + "step": 1, + "runtime": 12 + }, + { + "name": "turn", + "value": 0, + "min": 0, + "max": 2, + "step": 0.001, + "runtime": 8 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const radius = input.radius !== undefined ? input.radius : 4;\n const width = input.width !== undefined ? input.width : 1.5;\n const twists = Math.round(input.twists !== undefined ? input.twists : 1);\n const turn = input.turn !== undefined ? input.turn : 0;\n \n const twistAngle = twists * u / 2 + Math.PI * turn;\n const cosTwist = Math.cos(twistAngle);\n const sinTwist = Math.sin(twistAngle);\n const uPos = twists !== 0 ? (u - (2 * Math.PI * turn) / twists) : u;\n const cosU = Math.cos(uPos);\n const sinU = Math.sin(uPos);\n \n const r_local = radius + (v * width / 2) * cosTwist;\n \n const x = r_local * cosU;\n const y = r_local * sinU;\n const z = (v * width / 2) * sinTwist;\n \n const r = 0.6 + 0.3 * cosU;\n const g = 0.7 + 0.2 * sinU;\n const b = 0.85;\n \n return { x, y, z, r, g, b, a: 1 };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} diff --git a/website/hyperdim/saves/nautilus.json b/website/hyperdim/saves/nautilus.json new file mode 100644 index 0000000000..9d196b865e --- /dev/null +++ b/website/hyperdim/saves/nautilus.json @@ -0,0 +1,48 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1, + "shininess": 100, + "camera": { + "position": { + "x": 19.061739745712018, + "y": 27.729609788092148, + "z": 59.18436119577432 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 1, + "vMin": 0, + "vMax": 1, + "uSegs": 150, + "vSegs": 150 + }, + "extraParameters": [ + { + "name": "t", + "value": 1, + "min": 0, + "max": 2, + "step": 0.001, + "runtime": 8 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const t = input.t;\n \n // Map u to spiral angle (3 full turns)\n const angleLimit = 6 * Math.PI;\n const spiralAngle = u * angleLimit;\n \n // Map v to tube angle\n const tubeAngle = v * 2 * Math.PI;\n \n // Nautilus / Logarithmic Spiral parameters\n const baseRadius = 1; \n const k = 0.15; \n const R = baseRadius * Math.exp(k * spiralAngle);\n \n // Tube radius grows with the spiral\n const growthFactor = Math.exp(k * 2 * Math.PI * t);\n const tubeRadius = R * (growthFactor - 1) * 0.5 * 0.95; \n \n const x = (R + tubeRadius * Math.cos(tubeAngle)) * Math.cos(spiralAngle);\n const y = (R + tubeRadius * Math.cos(tubeAngle)) * Math.sin(spiralAngle);\n const z = tubeRadius * Math.sin(tubeAngle);\n \n // Coloring Logic\n const stripeFrequency = 10; \n const stripeIntensity = Math.pow(Math.sin(spiralAngle * stripeFrequency), 4);\n \n const baseR = 0.95, baseG = 0.90, baseB = 0.80;\n const stripeR = 0.6, stripeG = 0.3, stripeB = 0.1;\n \n const r = baseR * (1 - stripeIntensity) + stripeR * stripeIntensity;\n const g = baseG * (1 - stripeIntensity) + stripeG * stripeIntensity;\n const b = baseB * (1 - stripeIntensity) + stripeB * stripeIntensity;\n const a = 1.0;\n \n return { x, y, z, r, g, b, a };\n }" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/ocean_planet.json b/website/hyperdim/saves/ocean_planet.json new file mode 100644 index 0000000000..7db5edaf7e --- /dev/null +++ b/website/hyperdim/saves/ocean_planet.json @@ -0,0 +1,88 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1.4, + "shininess": 1000, + "camera": { + "position": { + "x": 1.7931087748240495, + "y": -17.050155323810888, + "z": 3.4327310525785606 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 3.14159265359, + "vMin": 0, + "vMax": 6.28318530718, + "uSegs": 180, + "vSegs": 180 + }, + "extraParameters": [ + { + "name": "time", + "value": 700.372, + "min": 0, + "max": 1000, + "step": 0.001, + "runtime": 500 + }, + { + "name": "waveHeight", + "value": 0.116, + "min": -0.5, + "max": 0.5, + "step": 0.001, + "runtime": 8 + }, + { + "name": "waveScale", + "value": 1.816, + "min": 1, + "max": 10, + "step": 0.001, + "runtime": 8 + }, + { + "name": "choppiness", + "value": 0.716, + "min": 0.3, + "max": 3, + "step": 0.001, + "runtime": 8 + }, + { + "name": "swirl", + "value": 1.359, + "min": 0, + "max": 2, + "step": 0.001, + "runtime": 67 + }, + { + "name": "deepColor", + "value": 0.691, + "min": 0, + "max": 1, + "step": 0.001, + "runtime": 97 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const t = input.time || 0;\n const amp = input.waveHeight !== undefined ? input.waveHeight : 0.12;\n const scale = input.waveScale !== undefined ? input.waveScale : 3;\n const chop = input.choppiness !== undefined ? input.choppiness : 1.2;\n const swirl = input.swirl !== undefined ? input.swirl : 0.3;\n const deepHue = input.deepColor !== undefined ? input.deepColor : 0.58;\n const R_base = 3.5;\n\n // Irrational frequency ratios for quasi-periodic (chaotic-looking) waves\n const phi = 1.618033988749895;\n const sqrt2 = 1.4142135623730951;\n const sqrt3 = 1.7320508075688772;\n\n // Sphere unit normal - using this ensures seamless wrapping\n let nx = Math.sin(u) * Math.cos(v);\n let ny = Math.sin(u) * Math.sin(v);\n let nz = Math.cos(u);\n\n // Domain warping in 3D - creates swirling currents\n // All operations use 3D coords so seams are impossible\n const wx = nx + swirl * Math.sin(ny * phi * 2 + nz * sqrt2 + t * 0.2);\n const wy = ny + swirl * Math.sin(nz * sqrt3 * 2 + nx * phi + t * 0.17);\n const wz = nz + swirl * Math.sin(nx * sqrt2 * 2 + ny * sqrt3 + t * 0.23);\n\n // Trochoidal wave function - sharp peaks, flat troughs (like real ocean)\n const trochoid = (x, y, z, freq, speed, sharpness) => {\n const wave = Math.sin(x * freq + t * speed) + \n Math.sin(y * freq * phi + t * speed * 0.9) + \n Math.sin(z * freq * sqrt2 + t * speed * 1.1);\n return Math.pow(Math.abs(wave / 3), sharpness) * Math.sign(wave);\n };\n\n // Accumulate wave layers with golden ratio frequency scaling\n let h = 0;\n \n // Layer 1: Large ocean swells\n h += trochoid(wx, wy, wz, scale, 0.5, chop) * 1.0;\n \n // Layer 2: Medium waves - rotated coordinates for variety\n h += trochoid(wy + wx, wz - wy, wx + wz, scale * phi, 0.7, chop * 1.1) * 0.5;\n \n // Layer 3: Smaller chop\n h += trochoid(wx - wz, wy + wx, wz - wy, scale * phi * phi, 1.0, chop * 0.9) * 0.25;\n \n // Layer 4: Fine detail / ripples\n h += trochoid(wz, wx, wy, scale * phi * phi * phi, 1.5, 1.0) * 0.12;\n \n // Layer 5: Micro texture\n const micro = Math.sin((wx * 7 + wy * 11 + wz * 13) * scale + t * 2);\n h += micro * 0.06;\n\n // Apply displacement\n const R = R_base + h * amp;\n const x = R * nx;\n const y = R * ny;\n const z = R * nz;\n\n // Water coloring\n // Normalize height for coloring (h ranges roughly -2 to 2)\n const hNorm = (h + 2) / 4;\n const heightVal = Math.max(0, Math.min(1, hNorm));\n \n // Ocean color palette - all in HSL for smooth blending\n // Deep: dark blue, Mid: teal/cyan, Shallow: turquoise, Foam: white\n const deepH = deepHue, deepS = 0.85, deepL = 0.12;\n const midH = deepHue - 0.05, midS = 0.75, midL = 0.3;\n const shallowH = deepHue - 0.1, shallowS = 0.6, shallowL = 0.55;\n const foamH = deepHue - 0.08, foamS = 0.15, foamL = 0.92;\n\n let hue, sat, lum;\n if (heightVal < 0.35) {\n const t_c = heightVal / 0.35;\n hue = deepH + (midH - deepH) * t_c;\n sat = deepS + (midS - deepS) * t_c;\n lum = deepL + (midL - deepL) * t_c;\n } else if (heightVal < 0.65) {\n const t_c = (heightVal - 0.35) / 0.3;\n hue = midH + (shallowH - midH) * t_c;\n sat = midS + (shallowS - midS) * t_c;\n lum = midL + (shallowL - midL) * t_c;\n } else {\n const t_c = (heightVal - 0.65) / 0.35;\n const foamPow = Math.pow(t_c, 2.5); // Sharp foam at peaks\n hue = shallowH + (foamH - shallowH) * foamPow;\n sat = shallowS + (foamS - shallowS) * foamPow;\n lum = shallowL + (foamL - shallowL) * foamPow;\n }\n\n // HSL to RGB\n const c = (1 - Math.abs(2 * lum - 1)) * sat;\n const hp = (hue % 1) * 6;\n const xc = c * (1 - Math.abs((hp % 2) - 1));\n const m = lum - c / 2;\n let r, g, b;\n if (hp < 1) { r = c; g = xc; b = 0; }\n else if (hp < 2) { r = xc; g = c; b = 0; }\n else if (hp < 3) { r = 0; g = c; b = xc; }\n else if (hp < 4) { r = 0; g = xc; b = c; }\n else if (hp < 5) { r = xc; g = 0; b = c; }\n else { r = c; g = 0; b = xc; }\n\n return { x, y, z, r: r + m, g: g + m, b: b + m, a: 1 };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/perceptron.json b/website/hyperdim/saves/perceptron.json new file mode 100644 index 0000000000..ef0befb423 --- /dev/null +++ b/website/hyperdim/saves/perceptron.json @@ -0,0 +1,192 @@ +{ + "version": 1, + "display": { + "autoRotate": false, + "showAxes": true, + "showSurface": true, + "showWireframe": true, + "dirIntensity": 1, + "shininess": 80, + "camera": { + "position": { + "x": 43.800155102160815, + "y": 42.61625069066052, + "z": 37.43277966153335 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": -1, + "uMax": 1, + "vMin": -1, + "vMax": 1, + "uSegs": 80, + "vSegs": 80 + }, + "extraParameters": [ + { + "name": "wxu", + "value": -3.627, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 7 + }, + { + "name": "wxv", + "value": 1.546, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 11 + }, + { + "name": "bx", + "value": 1.813, + "min": -3, + "max": 3, + "step": 0.001, + "runtime": 13 + }, + { + "name": "wyu", + "value": 0.088, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 17 + }, + { + "name": "wyv", + "value": 1.883, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 19 + }, + { + "name": "by", + "value": 0.372, + "min": -3, + "max": 3, + "step": 0.001, + "runtime": 23 + }, + { + "name": "wzu", + "value": 4.846, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 5 + }, + { + "name": "wzv", + "value": -1.006, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 29 + }, + { + "name": "bz", + "value": -0.231, + "min": -3, + "max": 3, + "step": 0.001, + "runtime": 31 + }, + { + "name": "wru", + "value": 2.738, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 37 + }, + { + "name": "wrv", + "value": 0.751, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 41 + }, + { + "name": "br", + "value": 0.269, + "min": -3, + "max": 3, + "step": 0.001, + "runtime": 43 + }, + { + "name": "wgu", + "value": -4.446, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 47 + }, + { + "name": "wgv", + "value": -1.004, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 53 + }, + { + "name": "bg", + "value": -0.409, + "min": -3, + "max": 3, + "step": 0.001, + "runtime": 59 + }, + { + "name": "wbu", + "value": 3.873, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 61 + }, + { + "name": "wbv", + "value": -1.03, + "min": -5, + "max": 5, + "step": 0.001, + "runtime": 67 + }, + { + "name": "bb", + "value": 0.118, + "min": -3, + "max": 3, + "step": 0.001, + "runtime": 71 + }, + { + "name": "scale", + "value": 8.391, + "min": 0.5, + "max": 10, + "step": 0.001, + "runtime": 73 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const S = input.scale;\n \n const sig = (x) => 1 / (1 + Math.exp(-x));\n \n const x = (input.wxu * u + input.wxv * v + input.bx) * S;\n const y = (input.wyu * u + input.wyv * v + input.by) * S;\n const z = (input.wzu * u + input.wzv * v + input.bz) * S;\n \n const r = sig(input.wru * u + input.wrv * v + input.br);\n const g = sig(input.wgu * u + input.wgv * v + input.bg);\n const b = sig(input.wbu * u + input.wbv * v + input.bb);\n \n return { x, y, z, r, g, b, a: 1 };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/planet.json b/website/hyperdim/saves/planet.json new file mode 100644 index 0000000000..12db617fa3 --- /dev/null +++ b/website/hyperdim/saves/planet.json @@ -0,0 +1,112 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1, + "shininess": 30, + "camera": { + "position": { + "x": 2.6061530215505133, + "y": -26.706901577064528, + "z": 3.3566421822176444 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 1, + "vMin": 0, + "vMax": 1, + "uSegs": 200, + "vSegs": 150 + }, + "extraParameters": [ + { + "name": "t", + "value": 0, + "min": 0, + "max": 100, + "step": 0.01, + "runtime": 100 + }, + { + "name": "radius", + "value": 3.5, + "min": 1, + "max": 10, + "step": 0.1, + "runtime": 8 + }, + { + "name": "detailScale", + "value": 2.5, + "min": 0.5, + "max": 10, + "step": 0.1, + "runtime": 8 + }, + { + "name": "heightScale", + "value": 0.35, + "min": 0, + "max": 2, + "step": 0.01, + "runtime": 8 + }, + { + "name": "waterLevel", + "value": 0.45, + "min": 0, + "max": 1, + "step": 0.01, + "runtime": 8 + }, + { + "name": "spinSpeed", + "value": 0.1, + "min": -0.5, + "max": 0.5, + "step": 0.01, + "runtime": 8 + }, + { + "name": "cloudSpeed", + "value": 0.15, + "min": -0.5, + "max": 0.5, + "step": 0.01, + "runtime": 8 + }, + { + "name": "cloudDensity", + "value": 0.45, + "min": 0, + "max": 1, + "step": 0.01, + "runtime": 8 + }, + { + "name": "poleIce", + "value": 0.1, + "min": 0, + "max": 0.5, + "step": 0.01, + "runtime": 8 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u; // 0..1 (from UI mapping)\n const v = input.v; // 0..1\n const t = input.t || 0;\n\n // --- Parameters ---\n const radius = input.radius !== undefined ? input.radius : 3.5;\n const detailScale = input.detailScale !== undefined ? input.detailScale : 2.5;\n const heightScale = input.heightScale !== undefined ? input.heightScale : 0.35;\n const waterLevel = input.waterLevel !== undefined ? input.waterLevel : 0.45;\n const spinSpeed = input.spinSpeed !== undefined ? input.spinSpeed : 0.1;\n const cloudSpeed = input.cloudSpeed !== undefined ? input.cloudSpeed : 0.15;\n const cloudDensity = input.cloudDensity !== undefined ? input.cloudDensity : 0.45;\n const poleIce = input.poleIce !== undefined ? input.poleIce : 0.1;\n \n const PI = Math.PI;\n const TWO_PI = Math.PI * 2;\n \n // Helper: Linear Interpolation\n function lerp(a, b, t) {\n return a + t * (b - a);\n }\n\n // Helper: Smoothstep\n function smoothstep(min, max, value) {\n var x = Math.max(0, Math.min(1, (value - min) / (max - min)));\n return x * x * (3 - 2 * x);\n }\n\n // Helper: Simple Hash\n function hash(n) {\n return Math.abs(Math.sin(n) * 43758.5453123) % 1;\n }\n\n // Helper: 3D Value Noise\n function noise(x, y, z) {\n const p = {\n x: Math.floor(x),\n y: Math.floor(y),\n z: Math.floor(z)\n };\n const f = {\n x: x - p.x,\n y: y - p.y,\n z: z - p.z\n };\n \n // Quintic easing\n const smooth = (t) => t * t * t * (t * (t * 6 - 15) + 10);\n f.x = smooth(f.x);\n f.y = smooth(f.y);\n f.z = smooth(f.z);\n \n const n = p.x + p.y * 57.0 + p.z * 113.0;\n \n return lerp(lerp(lerp(hash(n + 0.0), hash(n + 1.0), f.x),\n lerp(hash(n + 57.0), hash(n + 58.0), f.x), f.y),\n lerp(lerp(hash(n + 113.0), hash(n + 114.0), f.x),\n lerp(hash(n + 170.0), hash(n + 171.0), f.x), f.y), f.z);\n }\n \n // Helper: Fractal Brownian Motion\n function fbm(x, y, z, octaves, persistence, lacunarity) {\n let total = 0;\n let amplitude = 1;\n let frequency = 1;\n let maxValue = 0;\n for(let i=0; i 0..2PI (Longitude)\n // v goes 0..1 -> 0..PI (Latitude)\n const theta = u * TWO_PI;\n const phi = v * PI;\n \n // Base sphere unit normal\n // (using Z-up convention to match typical globe visualization in this view)\n const nx = Math.sin(phi) * Math.cos(theta);\n const ny = Math.sin(phi) * Math.sin(theta);\n const nz = Math.cos(phi);\n \n // Spin Rotation: Rotate the coordinate system we use for NOISE sampling\n // This makes the planet terrain 'move' across the surface of the sphere\n const angle = t * spinSpeed;\n const ca = Math.cos(angle);\n const sa = Math.sin(angle);\n \n // Rotate around Z axis\n const rx = nx * ca - ny * sa;\n const ry = nx * sa + ny * ca;\n const rz = nz;\n \n // Terrain Noise Sampling\n // Scale the coordinates\n const sx = rx * detailScale;\n const sy = ry * detailScale;\n const sz = rz * detailScale;\n \n // Elevation (0.0 to 1.0)\n let elevation = fbm(sx, sy, sz, 6, 0.5, 2.0);\n \n // Determine Land/Water\n // Fixed: Land height is absolute, water height is absolute.\n // Raising waterLevel makes water rise, mountains stay fixed.\n \n let isWater = false;\n let surfOffset = 0;\n \n const landHeightOffset = elevation * heightScale;\n const waterHeightOffset = waterLevel * heightScale;\n \n if (elevation < waterLevel) {\n isWater = true;\n // Ocean surface rises with waterLevel\n surfOffset = waterHeightOffset;\n } else {\n isWater = false;\n // Land stays where it is\n surfOffset = landHeightOffset;\n }\n \n // Final Position\n const rFinal = radius * (1.0 + surfOffset);\n const x = nx * rFinal;\n const y = ny * rFinal;\n const z = nz * rFinal;\n \n // --- Coloring ---\n let r=0, g=0, b=0;\n const polar = Math.abs(nz); // 0 at equator, 1 at poles\n \n if (isWater) {\n // Ocean\n // Depth based coloring\n // Depth is relative to the current water surface level\n // Max depth is when elevation = 0\n const depth = Math.max(0, (waterLevel - elevation) / waterLevel);\n \n const shallow = {r: 0.0, g: 0.5, b: 0.8}; // Turquoise\n const deep = {r: 0.0, g: 0.05, b: 0.2}; // Dark Blue\n \n const mix = Math.min(1, depth * 1.5);\n r = lerp(shallow.r, deep.r, mix);\n g = lerp(shallow.g, deep.g, mix);\n b = lerp(shallow.b, deep.b, mix);\n \n } else {\n // Land\n // Colors\n const sand = {r: 0.85, g: 0.75, b: 0.55};\n const green = {r: 0.15, g: 0.55, b: 0.10};\n const brown = {r: 0.40, g: 0.35, b: 0.30};\n const white = {r: 0.95, g: 0.95, b: 1.00};\n \n // Calculate 'altitude' relative to the remaining land height above water\n // This preserves the beach-to-peak transition regardless of water level\n const landH = (elevation - waterLevel) / (1.0 - waterLevel); // 0..1\n \n if (landH < 0.04) {\n // Beach\n r = sand.r; g = sand.g; b = sand.b;\n } else if (landH < 0.4 && polar < (1.0 - poleIce)) {\n // Vegetation\n const veg = fbm(sx*3.5, sy*3.5, sz*3.5, 2, 0.5, 2.0);\n r = green.r * (0.8 + 0.4 * veg);\n g = green.g * (0.8 + 0.4 * veg);\n b = green.b * (0.6 + 0.2 * veg);\n } else if (landH < 0.7 && polar < (1.0 - poleIce)) {\n // Mountain Rock\n r = brown.r; g = brown.g; b = brown.b;\n } else {\n // Snow peaks or polar caps\n r = white.r; g = white.g; b = white.b;\n }\n }\n \n // Polar Caps Override\n if (polar > (1.0 - poleIce)) {\n const edge = (polar - (1.0 - poleIce)) / 0.1;\n const alpha = Math.min(1, edge * 5.0);\n if (alpha >= 1) {\n r=0.95; g=0.95; b=1.0;\n } else {\n r = lerp(r, 0.95, alpha);\n g = lerp(g, 0.95, alpha);\n b = lerp(b, 1.0, alpha);\n }\n }\n \n // --- Atmosphere / Clouds ---\n const cAngle = t * (spinSpeed + cloudSpeed);\n const cca = Math.cos(cAngle);\n const csa = Math.sin(cAngle);\n \n const cx_ = nx * cca - ny * csa;\n const cy_ = nx * csa + ny * cca;\n \n const cNoise = fbm(cx_ + 123.4, cy_ + 567.8, rz + 901.2, 4, 0.5, 2.0);\n \n const thresh = 1.0 - cloudDensity;\n if (cNoise > thresh) {\n const opacity = (cNoise - thresh) / (1.0 - thresh);\n const cloudCol = 0.95;\n r = lerp(r, cloudCol, opacity * 0.9);\n g = lerp(g, cloudCol, opacity * 0.9);\n b = lerp(b, cloudCol, opacity * 0.9);\n }\n\n return {\n x, y, z,\n r, g, b,\n a: 1.0\n };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/rose.json b/website/hyperdim/saves/rose.json new file mode 100644 index 0000000000..d9330f5eb7 --- /dev/null +++ b/website/hyperdim/saves/rose.json @@ -0,0 +1,110 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1.5, + "shininess": 100, + "camera": { + "position": { + "x": 3, + "y": 3, + "z": 4 + }, + "target": { + "x": 0, + "y": 0, + "z": 0.5 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 1, + "vMin": -6.28318, + "vMax": 47.1239, + "uSegs": 50, + "vSegs": 300 + }, + "extraParameters": [ + { + "name": "bloom", + "value": 1, + "min": 0, + "max": 1, + "step": 0.001, + "runtime": 15 + }, + { + "name": "petalCurl", + "value": 8, + "min": 4, + "max": 16, + "step": 0.001 + }, + { + "name": "petalShape", + "value": 3.6, + "min": 2, + "max": 6, + "step": 0.001, + "runtime": 37 + }, + { + "name": "height", + "value": 1, + "min": 0.5, + "max": 2, + "step": 0.001 + }, + { + "name": "spread", + "value": 1, + "min": 0.5, + "max": 2, + "step": 0.001, + "runtime": 23 + }, + { + "name": "innerHue", + "value": 0.95, + "min": 0, + "max": 1, + "step": 0.001, + "runtime": 53 + }, + { + "name": "outerHue", + "value": 0.0, + "min": 0, + "max": 1, + "step": 0.001, + "runtime": 67 + }, + { + "name": "saturation", + "value": 0.85, + "min": 0, + "max": 1, + "step": 0.001, + "runtime": 83 + }, + { + "name": "brightness", + "value": 0.6, + "min": 0.2, + "max": 1, + "step": 0.001, + "runtime": 97 + } + ], + "surface": { + "code": "function surface(input) {\n const x = input.u; // 0 to 1: position along petal (base to tip)\n const theta = input.v; // -2π to 15π: spiral angle\n \n const bloomAmt = input.bloom !== undefined ? input.bloom : 1;\n const curlSpeed = input.petalCurl !== undefined ? input.petalCurl : 8;\n const petalMod = input.petalShape !== undefined ? input.petalShape : 3.6;\n const heightScale = input.height !== undefined ? input.height : 1;\n const spreadScale = input.spread !== undefined ? input.spread : 1;\n const hueIn = input.innerHue !== undefined ? input.innerHue : 0.95;\n const hueOut = input.outerHue || 0.0;\n const sat = input.saturation !== undefined ? input.saturation : 0.85;\n const bright = input.brightness !== undefined ? input.brightness : 0.6;\n\n // Adapted from the Mathematica rose equation\n // phi controls the spiral curl of petals - outer petals lay flatter\n // Bloom affects how quickly petals unfurl\n const bloomFactor = 0.3 + bloomAmt * 0.7; // 0.3 to 1.0\n const phi = (Math.PI / 2) * Math.exp(-theta / (curlSpeed * Math.PI * bloomFactor));\n \n // X creates the petal shape using modulo - gives the rose its layered look\n const thetaMod = ((theta * petalMod) % (2 * Math.PI) + 2 * Math.PI) % (2 * Math.PI);\n const petalT = 1 - thetaMod / Math.PI;\n const innerTerm = (5/4) * petalT * petalT - 1/4;\n const X = 1 - 0.5 * innerTerm * innerTerm;\n \n // y is the curved petal profile\n const y = 1.95653 * x * x * Math.pow(1.27689 * x - 1, 2) * Math.sin(phi);\n \n // r is radial distance\n const r = X * (x * Math.sin(phi) + y * Math.cos(phi)) * spreadScale;\n \n // z height\n const zRaw = X * (x * Math.cos(phi) - y * Math.sin(phi)) * heightScale;\n \n // Apply bloom to height - closed rose is taller/tighter\n const z = zRaw * (0.7 + 0.3 * bloomAmt);\n \n // Final 3D coordinates\n const xOut = r * Math.sin(theta);\n const yOut = r * Math.cos(theta);\n const zOut = z;\n\n // Coloring - gradient from center to outer petals\n // theta ranges from -2π to 15π, normalize to 0-1\n const thetaNorm = (theta + 2 * Math.PI) / (17 * Math.PI);\n const hue = hueIn + (hueOut - hueIn) * thetaNorm;\n \n // Variation based on petal position\n const lumVar = bright * (0.8 + 0.2 * X) * (0.9 + 0.1 * x);\n const satVar = sat * (0.8 + 0.2 * (1 - x));\n\n // HSL to RGB\n const hueNorm = ((hue % 1) + 1) % 1;\n const lum = lumVar;\n const c = (1 - Math.abs(2 * lum - 1)) * satVar;\n const hp = hueNorm * 6;\n const xc = c * (1 - Math.abs((hp % 2) - 1));\n const m = lum - c / 2;\n let rOut, gOut, bOut;\n if (hp < 1) { rOut = c; gOut = xc; bOut = 0; }\n else if (hp < 2) { rOut = xc; gOut = c; bOut = 0; }\n else if (hp < 3) { rOut = 0; gOut = c; bOut = xc; }\n else if (hp < 4) { rOut = 0; gOut = xc; bOut = c; }\n else if (hp < 5) { rOut = xc; gOut = 0; bOut = c; }\n else { rOut = c; gOut = 0; bOut = xc; }\n\n return {\n x: xOut,\n y: yOut,\n z: zOut,\n r: rOut + m,\n g: gOut + m,\n b: bOut + m,\n a: 1\n };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/shells.json b/website/hyperdim/saves/shells.json new file mode 100644 index 0000000000..5efdb6d6f2 --- /dev/null +++ b/website/hyperdim/saves/shells.json @@ -0,0 +1,224 @@ +{ + "version": 1, + "display": { + "autoRotate": false, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1, + "shininess": 100, + "camera": { + "position": { + "x": 7.184414174067929, + "y": -0.04864979267173575, + "z": -0.6687837201975295 + }, + "target": { + "x": 0.8316374010676524, + "y": 0.27044986916718106, + "z": -1.6200567225407347 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 1, + "vMin": 0, + "vMax": 1, + "uSegs": 200, + "vSegs": 80 + }, + "extraParameters": [ + { + "name": "alpha", + "value": 86.877, + "min": 80, + "max": 89.5, + "step": 0.001, + "runtime": 10.3 + }, + { + "name": "beta", + "value": 9, + "min": 0, + "max": 90, + "step": 1, + "runtime": 5.3 + }, + { + "name": "phi", + "value": -61.45, + "min": -90, + "max": 90, + "step": 0.01, + "runtime": 6.1 + }, + { + "name": "omega", + "value": -21.34, + "min": -45, + "max": 45, + "step": 0.01, + "runtime": 3.7 + }, + { + "name": "mu", + "value": 4.48, + "min": -45, + "max": 45, + "step": 0.01, + "runtime": 4.3 + }, + { + "name": "sMin", + "value": -250.01, + "min": -270, + "max": -90, + "step": 0.01, + "runtime": 7.1 + }, + { + "name": "sMax", + "value": 112.63, + "min": 30, + "max": 120, + "step": 0.01, + "runtime": 7.9 + }, + { + "name": "A", + "value": 0.44, + "min": 0.05, + "max": 0.5, + "step": 0.01, + "runtime": 7.2 + }, + { + "name": "a", + "value": 0.228, + "min": 0.02, + "max": 0.3, + "step": 0.001, + "runtime": 5.9 + }, + { + "name": "b", + "value": 0.176, + "min": 0.02, + "max": 0.3, + "step": 0.001, + "runtime": 8.3 + }, + { + "name": "D", + "value": -1, + "min": -1, + "max": 1, + "step": 2, + "runtime": 20 + }, + { + "name": "L", + "value": 0.15, + "min": 0, + "max": 0.15, + "step": 0.001, + "runtime": 8.3 + }, + { + "name": "N", + "value": 20, + "min": 3, + "max": 20, + "step": 1, + "runtime": 15 + }, + { + "name": "W1", + "value": 27, + "min": 1, + "max": 180, + "step": 1, + "runtime": 9.7 + }, + { + "name": "W2", + "value": 74.23, + "min": 1, + "max": 180, + "step": 0.01, + "runtime": 11.3 + }, + { + "name": "P", + "value": -33.36, + "min": -90, + "max": 90, + "step": 0.01, + "runtime": 12.7 + }, + { + "name": "turns", + "value": 4.44, + "min": 2, + "max": 8, + "step": 0.01, + "runtime": 13.1 + }, + { + "name": "hueBase", + "value": 0.89, + "min": 0, + "max": 1, + "step": 0.01, + "runtime": 6.5 + }, + { + "name": "hueSpread", + "value": 0.04, + "min": 0, + "max": 0.5, + "step": 0.01, + "runtime": 5 + }, + { + "name": "saturation", + "value": 0, + "min": 0, + "max": 1, + "step": 0.01, + "runtime": 7 + }, + { + "name": "brightness", + "value": 0.54, + "min": 0.3, + "max": 1, + "step": 0.01, + "runtime": 6 + }, + { + "name": "stripes", + "value": 14, + "min": 0, + "max": 40, + "step": 1, + "runtime": 17 + }, + { + "name": "stripeInt", + "value": 2.15, + "min": 0, + "max": 5, + "step": 0.01, + "runtime": 5 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u, v = input.v;\n const deg = Math.PI / 180;\n \n const alpha = input.alpha * deg;\n const beta = input.beta * deg;\n const phi = input.phi * deg;\n const omega = input.omega * deg;\n const mu = input.mu * deg;\n const sMinDeg = input.sMin, sMaxDeg = input.sMax;\n const A = input.A, a = input.a, b = input.b;\n const D = input.D >= 0 ? 1 : -1;\n const L = input.L, N = input.N, W1 = input.W1, W2 = input.W2, P = input.P * deg;\n const turns = input.turns;\n \n const theta = u * turns * 2 * Math.PI;\n const sDeg = sMinDeg + v * (sMaxDeg - sMinDeg);\n const s = sDeg * deg;\n \n const cosS = Math.cos(s), sinS = Math.sin(s);\n const Re = 1 / Math.sqrt((cosS*cosS)/(a*a) + (sinS*sinS)/(b*b));\n \n const thetaDeg = theta / deg;\n const fTheta = (360/N) * ((thetaDeg * N / 360) - Math.floor(thetaDeg * N / 360));\n const k = L * Math.exp(-Math.pow(2*(s - P)/(W1*deg), 2)) * Math.exp(-Math.pow(2*fTheta/W2, 2));\n const R = Re + k;\n \n const cotAlpha = 1 / Math.tan(alpha);\n const growth = Math.exp(theta * cotAlpha);\n \n const sPhi = s + phi;\n const cosSPhi = Math.cos(sPhi), sinSPhi = Math.sin(sPhi);\n const cosTheta = Math.cos(theta), sinTheta = Math.sin(theta);\n const cosThetaOmega = Math.cos(theta + omega), sinThetaOmega = Math.sin(theta + omega);\n const sinBeta = Math.sin(beta), cosBeta = Math.cos(beta);\n const sinMu = Math.sin(mu), cosMu = Math.cos(mu);\n \n const x = D * (A * sinBeta * cosTheta + R * cosSPhi * cosThetaOmega - R * sinMu * sinSPhi * sinTheta) * growth;\n const y = (-A * sinBeta * sinTheta - R * cosSPhi * sinThetaOmega - R * sinMu * sinSPhi * cosTheta) * growth;\n const z = (-A * cosBeta + R * sinSPhi * cosMu) * growth;\n \n const stripeVal = input.stripes > 0 ? Math.pow(Math.sin(theta * input.stripes), 2) * input.stripeInt : 0;\n const noduleVal = L > 0 ? (k / L) * 0.2 : 0;\n \n const hue = (input.hueBase + (theta / (turns * 2 * Math.PI)) * input.hueSpread + stripeVal * 0.1) % 1;\n const sat = Math.min(1, input.saturation + stripeVal * 0.2);\n const val = Math.min(1, input.brightness + noduleVal - stripeVal * 0.15);\n \n const h = hue * 6, i = Math.floor(h), f = h - i;\n const p = val * (1 - sat), q = val * (1 - sat * f), t = val * (1 - sat * (1 - f));\n let r, g, bl;\n switch (i % 6) {\n case 0: r = val; g = t; bl = p; break;\n case 1: r = q; g = val; bl = p; break;\n case 2: r = p; g = val; bl = t; break;\n case 3: r = p; g = q; bl = val; break;\n case 4: r = t; g = p; bl = val; break;\n case 5: r = val; g = p; bl = q; break;\n }\n \n return { x, y, z, r, g, b: bl, a: 1 };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/sphere_tutorial.json b/website/hyperdim/saves/sphere_tutorial.json new file mode 100644 index 0000000000..5a95e5068b --- /dev/null +++ b/website/hyperdim/saves/sphere_tutorial.json @@ -0,0 +1,48 @@ +{ + "version": 1, + "display": { + "autoRotate": false, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1, + "shininess": 100, + "camera": { + "position": { + "x": 34.99999999999268, + "y": 24.999999999991296, + "z": 34.99999999990706 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.29, + "vMin": 0, + "vMax": 6.29, + "uSegs": 150, + "vSegs": 150 + }, + "extraParameters": [ + { + "name": "radius", + "value": 4.417, + "min": 0.01, + "max": 5, + "step": 0.001, + "runtime": 8 + } + ], + "surface": { + "code": "// the function \"surface\" defines a colored parametric surface, this one is a sphere\n// the function takes an input object, which always has a \"u\" and \"v\" value\n// input may also have arbitrary parameters, like t, that are defined in the UI above\n\n// the function returns an object with values {x,y,z,r,g,b,a}\n// xyz defines coordinates, rgb defines color, a defines transparency\n// z is up\n// rgba values are clipped between 0-1\n// all values default to 1 if not explicitly returned\n\n// both the \"Math\" and \"math\" libraries are available, \n// allowing complex mathematical operations\n\nfunction surface(input) {\n const u = input.u;\n const v = input.v;\n const radius = input.radius;\n \n const x = Math.cos(u)*Math.sin(v)*radius;\n const y = Math.cos(u)*Math.cos(v)*radius;\n const z = Math.sin(u)*radius;\n \n const r = (x/radius) * 0.5 + 0.5;\n const g = (y/radius) * 0.5 + 0.5;\n const b = (z/radius) * 0.5 + 0.5;\n const a = 1.0;\n \n return { x, y, z, r, g, b, a };\n }" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/taylor.json b/website/hyperdim/saves/taylor.json new file mode 100644 index 0000000000..3151aac954 --- /dev/null +++ b/website/hyperdim/saves/taylor.json @@ -0,0 +1,70 @@ +{ + "version": 1, + "display": { + "autoRotate": false, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 0.9, + "shininess": 60, + "camera": { + "position": { + "x": 2.6061530215505133, + "y": -26.706901577064528, + "z": 3.3566421822176444 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": -1.5, + "uMax": 1.5, + "vMin": -1.5, + "vMax": 1.5, + "uSegs": 100, + "vSegs": 100 + }, + "extraParameters": [ + { "name": "x_u", "value": 1, "min": -2, "max": 2, "step": 0.001, "runtime": 3 }, + { "name": "x_v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 5 }, + { "name": "x_u2", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 7 }, + { "name": "x_v2", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 11 }, + { "name": "x_uv", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 13 }, + { "name": "x_u3", "value": -0.5, "min": -2, "max": 2, "step": 0.001, "runtime": 17 }, + { "name": "x_v3", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 19 }, + + { "name": "y_u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 4 }, + { "name": "y_v", "value": 1, "min": -2, "max": 2, "step": 0.001, "runtime": 6 }, + { "name": "y_u2", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 8 }, + { "name": "y_v2", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 12 }, + { "name": "y_uv", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 14 }, + { "name": "y_u3", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 18 }, + { "name": "y_v3", "value": -0.5, "min": -2, "max": 2, "step": 0.001, "runtime": 20 }, + + { "name": "z_u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 23 }, + { "name": "z_v", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 29 }, + { "name": "z_u2", "value": 1, "min": -2, "max": 2, "step": 0.001, "runtime": 31 }, + { "name": "z_v2", "value": -1, "min": -2, "max": 2, "step": 0.001, "runtime": 37 }, + { "name": "z_uv", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 41 }, + { "name": "z_u3", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 43 }, + { "name": "z_v3", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 47 }, + + { "name": "r_u2", "value": 1, "min": -2, "max": 2, "step": 0.001, "runtime": 53 }, + { "name": "r_v2", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 59 }, + { "name": "g_u", "value": 0, "min": -2, "max": 2, "step": 0.001, "runtime": 61 }, + { "name": "g_v", "value": 1, "min": -2, "max": 2, "step": 0.001, "runtime": 67 }, + { "name": "b_const", "value": 0.5, "min": 0, "max": 1, "step": 0.001, "runtime": 71 }, + { "name": "b_uv", "value": 0.5, "min": -2, "max": 2, "step": 0.001, "runtime": 73 } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n \n // Powers\n const u2 = u*u; const v2 = v*v;\n const u3 = u2*u; const v3 = v2*v;\n const uv = u*v;\n \n // Taylor Series Expansion (Polynomial Surface)\n // X = c1*u + c2*v + c3*u^2 + ...\n const x = input.x_u * u + input.x_v * v \n + input.x_u2 * u2 + input.x_v2 * v2 + input.x_uv * uv\n + input.x_u3 * u3 + input.x_v3 * v3;\n \n const y = input.y_u * u + input.y_v * v \n + input.y_u2 * u2 + input.y_v2 * v2 + input.y_uv * uv\n + input.y_u3 * u3 + input.y_v3 * v3;\n \n const z = input.z_u * u + input.z_v * v \n + input.z_u2 * u2 + input.z_v2 * v2 + input.z_uv * uv\n + input.z_u3 * u3 + input.z_v3 * v3;\n\n // Polynomial Color\n // We clamp values to 0..1 to keep them valid colors\n const clamp = (val) => Math.max(0, Math.min(1, val));\n \n const r = clamp(0.5 + 0.2 * (input.r_u2 * u2 + input.r_v2 * v2));\n const g = clamp(0.5 + 0.3 * (input.g_u * u + input.g_v * v));\n const b = clamp(input.b_const + 0.3 * (input.b_uv * uv));\n\n return { x, y, z, r, g, b, a: 1 };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} diff --git a/website/hyperdim/saves/torus.json b/website/hyperdim/saves/torus.json new file mode 100644 index 0000000000..c89878f5a6 --- /dev/null +++ b/website/hyperdim/saves/torus.json @@ -0,0 +1,48 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": true, + "dirIntensity": 1, + "shininess": 100, + "camera": { + "position": { + "x": -2.1426169328832176, + "y": 26.871210481131477, + "z": 2.1598407612501305 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.28318, + "vMin": 0, + "vMax": 6.28318, + "uSegs": 80, + "vSegs": 80 + }, + "extraParameters": [ + { + "name": "t", + "value": 3.14, + "min": 0, + "max": 100, + "step": 0.005, + "runtime": 200 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const t = input.t || 0;\n const speed = input.rotationSpeed !== undefined ? input.rotationSpeed : 1.0;\n const zoom = 4; // Hardcoded zoom\n \n // 1. Define a Clifford Torus in 4D (S3)\n // This lies on the unit sphere in 4D space\n const r = 1 / Math.sqrt(2);\n let x4 = r * Math.cos(u);\n let y4 = r * Math.sin(u);\n let z4 = r * Math.cos(v);\n let w4 = r * Math.sin(v);\n\n // 2. Rotate in 4D space (Double rotation)\n // Rotate in XW plane and YZ plane simultaneously\n const time = t * speed;\n \n // Rotation 1 (XW)\n const x4r = x4 * Math.cos(time) - w4 * Math.sin(time);\n const w4r = x4 * Math.sin(time) + w4 * Math.cos(time);\n \n // Rotation 2 (YZ)\n const y4r = y4 * Math.cos(time * 0.5) - z4 * Math.sin(time * 0.5);\n const z4r = y4 * Math.sin(time * 0.5) + z4 * Math.cos(time * 0.5);\n\n // 3. Stereographic Projection from 4D to 3D\n // Project from (0,0,0,1) to the 3D hyperplane w=0\n const denominator = 1.2 - w4r; // Offset to avoid division by zero\n \n const x = zoom * x4r / denominator;\n const y = zoom * y4r / denominator;\n const z = zoom * z4r / denominator;\n\n // 4. Color based on the 4th dimension (w) before projection\n // This visualizes the \"depth\" in the 4th dimension\n const hue = (w4r + 0.5) * 360;\n const s = 0.8;\n const l = 0.5 + 0.2 * Math.sin(u + v);\n\n // Simple HSV to RGB conversion for convenience\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const hp = hue / 60.0;\n const x_col = c * (1 - Math.abs((hp % 2) - 1));\n let r_out, g_out, b_out;\n if (hp >= 0 && hp < 1) { r_out = c; g_out = x_col; b_out = 0; }\n else if (hp >= 1 && hp < 2) { r_out = x_col; g_out = c; b_out = 0; }\n else if (hp >= 2 && hp < 3) { r_out = 0; g_out = c; b_out = x_col; }\n else if (hp >= 3 && hp < 4) { r_out = 0; g_out = x_col; b_out = c; }\n else if (hp >= 4 && hp < 5) { r_out = x_col; g_out = 0; b_out = c; }\n else { r_out = c; g_out = 0; b_out = x_col; }\n const m = l - c / 2;\n\n return {\n x, y, z,\n r: r_out + m,\n g: g_out + m,\n b: b_out + m,\n a: 0.8 // Slightly transparent\n };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/torus_knot.json b/website/hyperdim/saves/torus_knot.json new file mode 100644 index 0000000000..4a16bf99d8 --- /dev/null +++ b/website/hyperdim/saves/torus_knot.json @@ -0,0 +1,99 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1.2, + "shininess": 150, + "camera": { + "position": { + "x": 6, + "y": 6, + "z": 4 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.28318530718, + "vMin": 0, + "vMax": 6.28318530718, + "uSegs": 200, + "vSegs": 30 + }, + "extraParameters": [ + { + "name": "p", + "value": 3, + "min": 1, + "max": 12, + "step": 1 + }, + { + "name": "q", + "value": 7, + "min": 1, + "max": 12, + "step": 1 + }, + { + "name": "majorRadius", + "value": 2, + "min": 0.5, + "max": 4, + "step": 0.001 + }, + { + "name": "minorRadius", + "value": 0.8, + "min": 0.1, + "max": 2, + "step": 0.001 + }, + { + "name": "tubeRadius", + "value": 0.25, + "min": 0.05, + "max": 1, + "step": 0.001 + }, + { + "name": "twist", + "value": 0, + "min": 0, + "max": 6.283, + "step": 0.001, + "runtime": 11 + }, + { + "name": "colorShift", + "value": 0, + "min": 0, + "max": 6.283, + "step": 0.001, + "runtime": 17 + }, + { + "name": "colorFreq", + "value": 1, + "min": 0.1, + "max": 5, + "step": 0.001, + "runtime": 23 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const p = input.p !== undefined ? Math.round(input.p) : 3;\n const q = input.q !== undefined ? Math.round(input.q) : 7;\n const R = input.majorRadius !== undefined ? input.majorRadius : 2;\n const r = input.minorRadius !== undefined ? input.minorRadius : 0.8;\n const tube = input.tubeRadius !== undefined ? input.tubeRadius : 0.25;\n const twist = input.twist || 0;\n const colorShift = input.colorShift || 0;\n const colorFreq = input.colorFreq !== undefined ? input.colorFreq : 1;\n\n // Torus knot curve: winds p times around and q times through the torus\n const phi = u * p;\n const theta = u * q;\n \n // Point on the torus knot curve\n const kx = (R + r * Math.cos(theta)) * Math.cos(phi);\n const ky = (R + r * Math.cos(theta)) * Math.sin(phi);\n const kz = r * Math.sin(theta);\n \n // Tangent vector (derivative)\n const tx = -p * (R + r * Math.cos(theta)) * Math.sin(phi) - q * r * Math.sin(theta) * Math.cos(phi);\n const ty = p * (R + r * Math.cos(theta)) * Math.cos(phi) - q * r * Math.sin(theta) * Math.sin(phi);\n const tz = q * r * Math.cos(theta);\n const tLen = Math.sqrt(tx*tx + ty*ty + tz*tz);\n const T = {x: tx/tLen, y: ty/tLen, z: tz/tLen};\n \n // Approximate normal using the torus center direction\n const cx = R * Math.cos(phi);\n const cy = R * Math.sin(phi);\n const cz = 0;\n let nx = kx - cx;\n let ny = ky - cy;\n let nz = kz - cz;\n const nLen = Math.sqrt(nx*nx + ny*ny + nz*nz);\n const N = {x: nx/nLen, y: ny/nLen, z: nz/nLen};\n \n // Binormal = T cross N\n const B = {\n x: T.y * N.z - T.z * N.y,\n y: T.z * N.x - T.x * N.z,\n z: T.x * N.y - T.y * N.x\n };\n \n // Build tube around the curve with optional twist\n const angle = v + twist * u;\n const x = kx + tube * (Math.cos(angle) * N.x + Math.sin(angle) * B.x);\n const y = ky + tube * (Math.cos(angle) * N.y + Math.sin(angle) * B.y);\n const z = kz + tube * (Math.cos(angle) * N.z + Math.sin(angle) * B.z);\n \n // Coloring based on position along knot and around tube\n const hue = (u * colorFreq / 6.283 + colorShift / 6.283) % 1.0;\n const sat = 0.7 + 0.3 * Math.sin(v * 2);\n const lum = 0.45 + 0.15 * Math.cos(v);\n \n // HSL to RGB\n const c = (1 - Math.abs(2 * lum - 1)) * sat;\n const hp = hue * 6;\n const x_c = c * (1 - Math.abs((hp % 2) - 1));\n const m = lum - c / 2;\n let r_out, g_out, b_out;\n if (hp < 1) { r_out = c; g_out = x_c; b_out = 0; }\n else if (hp < 2) { r_out = x_c; g_out = c; b_out = 0; }\n else if (hp < 3) { r_out = 0; g_out = c; b_out = x_c; }\n else if (hp < 4) { r_out = 0; g_out = x_c; b_out = c; }\n else if (hp < 5) { r_out = x_c; g_out = 0; b_out = c; }\n else { r_out = c; g_out = 0; b_out = x_c; }\n\n return {\n x, y, z,\n r: r_out + m,\n g: g_out + m,\n b: b_out + m,\n a: 1\n };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/trefoil_knot.json b/website/hyperdim/saves/trefoil_knot.json new file mode 100644 index 0000000000..6d95d38221 --- /dev/null +++ b/website/hyperdim/saves/trefoil_knot.json @@ -0,0 +1,94 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 1.3, + "shininess": 180, + "camera": { + "position": { + "x": 5, + "y": 5, + "z": 4 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 6.28318530718, + "vMin": 0, + "vMax": 6.28318530718, + "uSegs": 180, + "vSegs": 24 + }, + "extraParameters": [ + { + "name": "scale", + "value": 1.5, + "min": 0.5, + "max": 3, + "step": 0.001 + }, + { + "name": "tubeRadius", + "value": 0.4, + "min": 0.1, + "max": 1.5, + "step": 0.001 + }, + { + "name": "phase", + "value": 0, + "min": 0, + "max": 6.283, + "step": 0.001, + "runtime": 13 + }, + { + "name": "wobble", + "value": 0, + "min": 0, + "max": 0.5, + "step": 0.001, + "runtime": 9 + }, + { + "name": "hueOffset", + "value": 0, + "min": 0, + "max": 1, + "step": 0.001, + "runtime": 19 + }, + { + "name": "saturation", + "value": 0.8, + "min": 0, + "max": 1, + "step": 0.001, + "runtime": 29 + }, + { + "name": "iridescence", + "value": 0.5, + "min": 0, + "max": 2, + "step": 0.001, + "runtime": 37 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u;\n const v = input.v;\n const scale = input.scale !== undefined ? input.scale : 1.5;\n const tube = input.tubeRadius !== undefined ? input.tubeRadius : 0.4;\n const phase = input.phase || 0;\n const wobble = input.wobble || 0;\n const hueOffset = input.hueOffset || 0;\n const sat = input.saturation !== undefined ? input.saturation : 0.8;\n const irid = input.iridescence !== undefined ? input.iridescence : 0.5;\n\n // Classic trefoil knot parametrization\n const t = u + phase;\n const kx = scale * (Math.sin(t) + 2 * Math.sin(2 * t));\n const ky = scale * (Math.cos(t) - 2 * Math.cos(2 * t));\n const kz = scale * (-Math.sin(3 * t));\n \n // Add wobble\n const wobbleAmt = wobble * Math.sin(5 * t + phase * 3);\n \n // Tangent vector\n const tx = scale * (Math.cos(t) + 4 * Math.cos(2 * t));\n const ty = scale * (-Math.sin(t) + 4 * Math.sin(2 * t));\n const tz = scale * (-3 * Math.cos(3 * t));\n const tLen = Math.sqrt(tx*tx + ty*ty + tz*tz);\n const T = {x: tx/tLen, y: ty/tLen, z: tz/tLen};\n \n // Second derivative for normal calculation\n const ddx = scale * (-Math.sin(t) - 8 * Math.sin(2 * t));\n const ddy = scale * (-Math.cos(t) + 8 * Math.cos(2 * t));\n const ddz = scale * (9 * Math.sin(3 * t));\n \n // Normal from second derivative component perpendicular to tangent\n const dot = (ddx * T.x + ddy * T.y + ddz * T.z);\n let nx = ddx - dot * T.x;\n let ny = ddy - dot * T.y;\n let nz = ddz - dot * T.z;\n const nLen = Math.sqrt(nx*nx + ny*ny + nz*nz) + 0.0001;\n const N = {x: nx/nLen, y: ny/nLen, z: nz/nLen};\n \n // Binormal\n const B = {\n x: T.y * N.z - T.z * N.y,\n y: T.z * N.x - T.x * N.z,\n z: T.x * N.y - T.y * N.x\n };\n \n // Tube around the curve\n const tubeR = tube + wobbleAmt;\n const x = kx + tubeR * (Math.cos(v) * N.x + Math.sin(v) * B.x);\n const y = ky + tubeR * (Math.cos(v) * N.y + Math.sin(v) * B.y);\n const z = kz + tubeR * (Math.cos(v) * N.z + Math.sin(v) * B.z);\n \n // Iridescent coloring - shifts with viewing angle (approximated by v)\n const hue = (u / 6.283 + hueOffset + irid * Math.sin(v * 2 + u * 3)) % 1.0;\n const lum = 0.4 + 0.2 * Math.cos(v);\n \n // HSL to RGB\n const c = (1 - Math.abs(2 * lum - 1)) * sat;\n const hp = hue * 6;\n const x_c = c * (1 - Math.abs((hp % 2) - 1));\n const m = lum - c / 2;\n let r_out, g_out, b_out;\n if (hp < 1) { r_out = c; g_out = x_c; b_out = 0; }\n else if (hp < 2) { r_out = x_c; g_out = c; b_out = 0; }\n else if (hp < 3) { r_out = 0; g_out = c; b_out = x_c; }\n else if (hp < 4) { r_out = 0; g_out = x_c; b_out = c; }\n else if (hp < 5) { r_out = x_c; g_out = 0; b_out = c; }\n else { r_out = c; g_out = 0; b_out = x_c; }\n\n return {\n x, y, z,\n r: r_out + m,\n g: g_out + m,\n b: b_out + m,\n a: 1\n };\n}" + }, + "outputs": { + "coordConversion": "none", + "rgbToHsv": false + } +} \ No newline at end of file diff --git a/website/hyperdim/saves/weierstrass.json b/website/hyperdim/saves/weierstrass.json new file mode 100644 index 0000000000..ab739ca092 --- /dev/null +++ b/website/hyperdim/saves/weierstrass.json @@ -0,0 +1,88 @@ +{ + "version": 1, + "display": { + "autoRotate": true, + "showAxes": false, + "showSurface": true, + "showWireframe": false, + "dirIntensity": 0.8, + "shininess": 20, + "camera": { + "position": { + "x": 1.1663998431691218, + "y": -44.8884263667442, + "z": 22.09695473244893 + }, + "target": { + "x": 0, + "y": 0, + "z": 0 + } + } + }, + "parameters": { + "uMin": 0, + "uMax": 3.14159, + "vMin": 0, + "vMax": 6.28318, + "uSegs": 200, + "vSegs": 200 + }, + "extraParameters": [ + { + "name": "a", + "value": 0.3342, + "min": 0, + "max": 0.5, + "step": 0.0001, + "runtime": 17 + }, + { + "name": "b", + "value": 7, + "min": 1, + "max": 7, + "step": 0.01, + "runtime": 19 + }, + { + "name": "Iterations", + "value": 6, + "min": 1, + "max": 10, + "step": 1, + "runtime": 11 + }, + { + "name": "Amplitude", + "value": 4.5, + "min": 0, + "max": 5, + "step": 0.01, + "runtime": 13 + }, + { + "name": "Radius", + "value": 6.96, + "min": 0.1, + "max": 10, + "step": 0.01, + "runtime": 21 + }, + { + "name": "Time", + "value": 24.43, + "min": 0, + "max": 100, + "step": 0.01, + "runtime": 100 + } + ], + "surface": { + "code": "function surface(input) {\n const u = input.u; // Theta (0 to PI)\n const v = input.v; // Phi (0 to 2PI)\n \n const a = input.a; // Decay factor (0 < a < 1)\n const b = input.b; // Frequency growth (b > 1)\n const iters = input.Iterations;\n const amp = input.Amplitude;\n const R = input.Radius;\n const t = input.Time;\n\n let displacement = 0;\n \n // Weierstrass Function summation\n // W(x) = sum( a^n * cos(b^n * pi * x) )\n // Extended to 2D surface (sphere topology)\n for(let n=0; n How it works Who it's for + Gallery Learn Demos Mobile node @@ -235,6 +236,66 @@

Creators

+ + +
@@ -297,13 +358,14 @@

RAG query preview

Try RAG preview →
- Coming Q3 2026 -

Mobile node tour map

+ Live now +

Hyperdimensions

- See where the demo rig is rolling next. Request a stop in your town. - Trial it at your café or community center before you commit. + Interactive 3D visualization of the GEOMETRY BUS state space. + Load the beats_constellation or chit_manifold + presets to see PMOVES signal geometry in real time.

- See the tour → + Open viewer →
diff --git a/website/styles.css b/website/styles.css index e187d67806..7e4a5b8671 100644 --- a/website/styles.css +++ b/website/styles.css @@ -371,6 +371,84 @@ body.nav-open .site-nav a { color: var(--c-ink-dim); } +/* -------- badge-live -------- */ +.badge-live { + color: var(--c-accent-2) !important; + border-color: color-mix(in srgb, var(--c-accent-2) 45%, var(--c-border)) !important; +} + +/* -------- pipeline gallery -------- */ +.gallery-grid { + display: grid; + gap: 1.2rem; + grid-template-columns: 1fr; +} +@media (min-width: 640px) { + .gallery-grid { grid-template-columns: repeat(2, 1fr); } +} +@media (min-width: 960px) { + .gallery-grid { grid-template-columns: repeat(3, 1fr); } +} + +.gallery-item { + margin: 0; + border-radius: var(--radius); + overflow: hidden; + background: var(--c-bg); + border: 1px solid var(--c-border); + display: flex; + flex-direction: column; +} +.gallery-item video { + width: 100%; + aspect-ratio: 16 / 9; + object-fit: cover; + display: block; + background: #000; +} +.gallery-item figcaption { + padding: .75rem 1rem .85rem; + display: flex; + flex-direction: column; + gap: .2rem; +} +.gallery-item figcaption strong { + font-size: .95rem; + color: var(--c-ink); +} +.gallery-item figcaption span { + font-size: .8rem; + color: var(--c-ink-mute); + font-family: var(--f-mono); + letter-spacing: .04em; +} + +.gallery-pipeline-note { + margin-top: 2rem; + padding: 1.4rem 1.6rem; + background: var(--c-bg); + border: 1px solid var(--c-border); + border-radius: var(--radius); + display: flex; + flex-direction: column; + gap: 1rem; + align-items: flex-start; +} +@media (min-width: 700px) { + .gallery-pipeline-note { + flex-direction: row; + align-items: center; + justify-content: space-between; + gap: 2rem; + } + .gallery-pipeline-note p { margin: 0; } +} +.gallery-pipeline-note p { + font-size: .95rem; + color: var(--c-ink-dim); + max-width: 52ch; +} + /* -------- footer -------- */ .site-footer { background: var(--c-bg-alt); From 69cd103e23518aa2074a81deba1c118414bdb5ca Mon Sep 17 00:00:00 2001 From: POWERFULMOVES <142271328+POWERFULMOVES@users.noreply.github.com> Date: Fri, 29 May 2026 21:08:30 -0400 Subject: [PATCH 10/11] feat(website): replace A2UI mp4s with live Hyperdimensions WebGL embeds to fix 1920x1080 scaling - Bypassed the stubbed Remotion 2D generator which required DGX SPARK. - Upgraded website/hyperdim/index.html with URL parameter parsing. - Generated three distinct parametric topology presets derived from beats_constellation.json. - Replaced the three static