Compare commits
23 Commits
345816e3d8
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 396709b9b4 | |||
| 72d29e77d8 | |||
| 1efc0512b2 | |||
| 338b05240b | |||
| 4203c2faa5 | |||
| 09b30fc763 | |||
| 69d0a5e19f | |||
| e7c366f213 | |||
| 4970d9f254 | |||
| aecb1e5c6d | |||
| f77079553d | |||
| 978ccd2890 | |||
| 86349af871 | |||
| 3febec7ac3 | |||
| 33a8d3c504 | |||
| 54907997a8 | |||
| e338261bf1 | |||
| c8b55cd58d | |||
| c4cb2f98be | |||
| b79ab062d6 | |||
| cafe5bce59 | |||
| 636dc007b4 | |||
| 71e31c5703 |
@@ -59,6 +59,7 @@ desktop.ini
|
|||||||
*.swo
|
*.swo
|
||||||
*~
|
*~
|
||||||
.specstory/
|
.specstory/
|
||||||
|
.cursorindexingignore
|
||||||
|
|
||||||
# Large media files (uncomment if you want to exclude rendered outputs)
|
# Large media files (uncomment if you want to exclude rendered outputs)
|
||||||
# *.mp4
|
# *.mp4
|
||||||
|
|||||||
@@ -35,7 +35,8 @@ ROSTER: dict[str, list[str]] = {
|
|||||||
"azure": ["guidingflyer530", "actuallynotazure"],
|
"azure": ["guidingflyer530", "actuallynotazure"],
|
||||||
"starboy": ["starboy_journeys"],
|
"starboy": ["starboy_journeys"],
|
||||||
"jenni": ["jennimilano"],
|
"jenni": ["jennimilano"],
|
||||||
"heart-and-mind": ["heart_cccc", "brush_colourful"],
|
"heart": ["heart_cccc"],
|
||||||
|
"mind": ["brush_colourful"],
|
||||||
"beanie": ["beaniee__"],
|
"beanie": ["beaniee__"],
|
||||||
"raincloud": ["raincloudthedragon"],
|
"raincloud": ["raincloudthedragon"],
|
||||||
}
|
}
|
||||||
@@ -49,7 +50,8 @@ MD_FILES: dict[str, str] = {
|
|||||||
"azure": "Azure.md",
|
"azure": "Azure.md",
|
||||||
"starboy": "Starboy.md",
|
"starboy": "Starboy.md",
|
||||||
"jenni": "Jenni.md",
|
"jenni": "Jenni.md",
|
||||||
"heart-and-mind": "Heart-and-Mind.md",
|
"heart": "Heart.md",
|
||||||
|
"mind": "Mind.md",
|
||||||
"beanie": "Beanie.md",
|
"beanie": "Beanie.md",
|
||||||
"raincloud": "RaincloudTheDragon.md",
|
"raincloud": "RaincloudTheDragon.md",
|
||||||
}
|
}
|
||||||
@@ -265,42 +267,26 @@ def main() -> int:
|
|||||||
|
|
||||||
display = Path(MD_FILES[slug]).stem.replace("-", " ")
|
display = Path(MD_FILES[slug]).stem.replace("-", " ")
|
||||||
|
|
||||||
if slug == "heart-and-mind":
|
logins = ROSTER[slug]
|
||||||
order = [("Heart", "heart_cccc"), ("Mind", "brush_colourful")]
|
for login in logins:
|
||||||
for label, login in order:
|
key = (slug, login)
|
||||||
key = (slug, login)
|
avs = acc.get(key, {})
|
||||||
avs = acc.get(key, {})
|
ordered = sorted(avs.values(), key=lambda x: x.first_at)
|
||||||
ordered = sorted(avs.values(), key=lambda x: x.first_at)
|
if not ordered:
|
||||||
for i, av in enumerate(ordered):
|
continue
|
||||||
fn = f"{login}_{i}.jpg"
|
for i, av in enumerate(ordered):
|
||||||
rel = f"{story_rel}/{fn}"
|
fn = f"{login}_{i}.jpg"
|
||||||
dest = pfp_root / slug / fn
|
rel = f"{story_rel}/{fn}"
|
||||||
if download_as_jpeg(av.url, dest):
|
dest = pfp_root / slug / fn
|
||||||
cap = f"{label} (`{login}`)"
|
if not download_as_jpeg(av.url, dest):
|
||||||
if len(ordered) > 1:
|
|
||||||
cap = f"{cap} — {i + 1}"
|
|
||||||
section_images.append((cap, rel))
|
|
||||||
else:
|
|
||||||
logins = ROSTER[slug]
|
|
||||||
for login in logins:
|
|
||||||
key = (slug, login)
|
|
||||||
avs = acc.get(key, {})
|
|
||||||
ordered = sorted(avs.values(), key=lambda x: x.first_at)
|
|
||||||
if not ordered:
|
|
||||||
continue
|
continue
|
||||||
for i, av in enumerate(ordered):
|
if len(logins) > 1:
|
||||||
fn = f"{login}_{i}.jpg"
|
cap = f"`{login}`"
|
||||||
rel = f"{story_rel}/{fn}"
|
else:
|
||||||
dest = pfp_root / slug / fn
|
cap = display
|
||||||
if not download_as_jpeg(av.url, dest):
|
if len(ordered) > 1:
|
||||||
continue
|
cap = f"{cap} — {i + 1}"
|
||||||
if len(logins) > 1:
|
section_images.append((cap, rel))
|
||||||
cap = f"`{login}`"
|
|
||||||
else:
|
|
||||||
cap = display
|
|
||||||
if len(ordered) > 1:
|
|
||||||
cap = f"{cap} — {i + 1}"
|
|
||||||
section_images.append((cap, rel))
|
|
||||||
|
|
||||||
if not section_images:
|
if not section_images:
|
||||||
print(f"No avatars found for {slug}", file=sys.stderr)
|
print(f"No avatars found for {slug}", file=sys.stderr)
|
||||||
|
|||||||
@@ -5,7 +5,14 @@ Push Story/*.md Prism profiles to prism.tal.one via the production API.
|
|||||||
Auth (pick one — use environment variables, never commit secrets):
|
Auth (pick one — use environment variables, never commit secrets):
|
||||||
PRISM_API_KEY If set, sends Authorization: Bearer <value> by default.
|
PRISM_API_KEY If set, sends Authorization: Bearer <value> by default.
|
||||||
PRISM_AUTH_HEADER Optional full header value, e.g. "Bearer sk-..." or "ApiKey ...".
|
PRISM_AUTH_HEADER Optional full header value, e.g. "Bearer sk-..." or "ApiKey ...".
|
||||||
PRISM_SESSION_COOKIE Raw session cookie string (same value as browser Cookie "session").
|
PRISM_SESSION_COOKIE Session only: the cookie *value* (script sends as session=<value>), or a full Cookie
|
||||||
|
fragment e.g. session=…; XSRF-TOKEN=… (used as-is — do not double-prefix).
|
||||||
|
|
||||||
|
Persistent local config (no PowerShell paste each run):
|
||||||
|
Create Assets/Scripts/prism.local.env (gitignored) with lines like PRISM_ALLOW_WRITE=1, PRISM_SESSION_COOKIE=…,
|
||||||
|
PRISM_CSRF_TOKEN=… (optional if bootstrap works), PRISM_API_KEY=… (best — skips CSRF entirely).
|
||||||
|
Or set PRISM_ENV_FILE to another path. Optional CLI: --prism-env-file PATH (must appear before the subcommand).
|
||||||
|
Real environment variables always override values from the file.
|
||||||
|
|
||||||
Optional:
|
Optional:
|
||||||
PRISM_BASE_URL Default https://prism.tal.one
|
PRISM_BASE_URL Default https://prism.tal.one
|
||||||
@@ -13,6 +20,9 @@ Optional:
|
|||||||
PRISM_ALLOW_WRITE Must be exactly "1" for sync --apply
|
PRISM_ALLOW_WRITE Must be exactly "1" for sync --apply
|
||||||
PRISM_USER_AGENT Override browser-like User-Agent (default: Chrome on Windows)
|
PRISM_USER_AGENT Override browser-like User-Agent (default: Chrome on Windows)
|
||||||
PRISM_ORIGIN Default https://prism.tal.one (Origin + Referer for API calls)
|
PRISM_ORIGIN Default https://prism.tal.one (Origin + Referer for API calls)
|
||||||
|
PRISM_CSRF_TOKEN If writes return CSRF_ERROR with session cookie auth: paste token from DevTools, or rely on auto-bootstrap below.
|
||||||
|
PRISM_CSRF_HEADER Header name for that token (default X-CSRFToken — matches /static/js/csrf.js on prism.tal.one).
|
||||||
|
PRISM_CSRF_SEND_BOTH Set to 1 to also send X-CSRF-Token and X-XSRF-TOKEN with the same value (if a proxy strips one header).
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
python Assets/Scripts/prism_ingest.py list
|
python Assets/Scripts/prism_ingest.py list
|
||||||
@@ -37,8 +47,12 @@ import re
|
|||||||
import sys
|
import sys
|
||||||
import urllib.error
|
import urllib.error
|
||||||
import urllib.request
|
import urllib.request
|
||||||
|
from urllib.parse import urlparse
|
||||||
|
from http.cookiejar import CookieJar
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
from urllib.parse import unquote
|
||||||
|
|
||||||
|
|
||||||
FIELD_BULLET = re.compile(r"^-\s+\*\*(.+?)\*\*:\s*(.*)\s*$")
|
FIELD_BULLET = re.compile(r"^-\s+\*\*(.+?)\*\*:\s*(.*)\s*$")
|
||||||
# Alternate: `- **Label:** value` (colon inside bold — common typo / variant)
|
# Alternate: `- **Label:** value` (colon inside bold — common typo / variant)
|
||||||
@@ -53,6 +67,81 @@ _DEFAULT_UA = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def _strip_prism_env_file_from_argv() -> Path | None:
|
||||||
|
"""Remove --prism-env-file PATH from sys.argv; return path if present."""
|
||||||
|
argv = sys.argv
|
||||||
|
out: list[str] = [argv[0]]
|
||||||
|
i = 1
|
||||||
|
found: Path | None = None
|
||||||
|
while i < len(argv):
|
||||||
|
a = argv[i]
|
||||||
|
if a == "--prism-env-file" and i + 1 < len(argv):
|
||||||
|
found = Path(argv[i + 1])
|
||||||
|
i += 2
|
||||||
|
continue
|
||||||
|
if a.startswith("--prism-env-file="):
|
||||||
|
found = Path(a.split("=", 1)[1])
|
||||||
|
i += 1
|
||||||
|
continue
|
||||||
|
out.append(a)
|
||||||
|
i += 1
|
||||||
|
if found is not None:
|
||||||
|
sys.argv[:] = out
|
||||||
|
return found
|
||||||
|
|
||||||
|
|
||||||
|
def _load_prism_env_file(path: Path, *, warn_missing: bool) -> None:
|
||||||
|
"""Set os.environ for keys from a simple KEY=value file. Does not override existing env."""
|
||||||
|
if not path.is_file():
|
||||||
|
if warn_missing:
|
||||||
|
print(f"Prism: env file not found: {path}", file=sys.stderr)
|
||||||
|
return
|
||||||
|
raw = path.read_text(encoding="utf-8")
|
||||||
|
for line in raw.splitlines():
|
||||||
|
s = line.strip()
|
||||||
|
if not s or s.startswith("#"):
|
||||||
|
continue
|
||||||
|
if "=" not in s:
|
||||||
|
continue
|
||||||
|
k, _, v = s.partition("=")
|
||||||
|
k = k.strip()
|
||||||
|
v = v.strip()
|
||||||
|
if not k:
|
||||||
|
continue
|
||||||
|
if len(v) >= 2 and v[0] == v[-1] and v[0] in "\"'":
|
||||||
|
v = v[1:-1]
|
||||||
|
if k not in os.environ:
|
||||||
|
os.environ[k] = v
|
||||||
|
|
||||||
|
|
||||||
|
def _apply_prism_env_files() -> None:
|
||||||
|
cli_path = _strip_prism_env_file_from_argv()
|
||||||
|
explicit = bool(cli_path) or bool(os.environ.get("PRISM_ENV_FILE", "").strip())
|
||||||
|
path = cli_path
|
||||||
|
if path is None:
|
||||||
|
e = os.environ.get("PRISM_ENV_FILE", "").strip()
|
||||||
|
if e:
|
||||||
|
path = Path(e)
|
||||||
|
if path is None:
|
||||||
|
default = Path(__file__).resolve().parent / "prism.local.env"
|
||||||
|
if default.is_file():
|
||||||
|
path = default
|
||||||
|
explicit = False
|
||||||
|
if path is not None:
|
||||||
|
_load_prism_env_file(path, warn_missing=explicit)
|
||||||
|
|
||||||
|
|
||||||
|
def _cookie_header_from_session_env() -> str:
|
||||||
|
"""Build Cookie header from PRISM_SESSION_COOKIE without duplicating session=."""
|
||||||
|
s = os.environ.get("PRISM_SESSION_COOKIE", "").strip()
|
||||||
|
if not s:
|
||||||
|
return ""
|
||||||
|
sl = s.lower()
|
||||||
|
if sl.startswith("session=") or ";" in s or s.count("=") > 1:
|
||||||
|
return s
|
||||||
|
return f"session={s}"
|
||||||
|
|
||||||
|
|
||||||
def _auth_headers() -> dict[str, str]:
|
def _auth_headers() -> dict[str, str]:
|
||||||
"""Authorization / session only (no browser fingerprint)."""
|
"""Authorization / session only (no browser fingerprint)."""
|
||||||
h: dict[str, str] = {}
|
h: dict[str, str] = {}
|
||||||
@@ -68,9 +157,9 @@ def _auth_headers() -> dict[str, str]:
|
|||||||
if key:
|
if key:
|
||||||
h["Authorization"] = f"Bearer {key}"
|
h["Authorization"] = f"Bearer {key}"
|
||||||
return h
|
return h
|
||||||
sess = os.environ.get("PRISM_SESSION_COOKIE", "").strip()
|
ck = _cookie_header_from_session_env()
|
||||||
if sess:
|
if ck:
|
||||||
h["Cookie"] = f"session={sess}"
|
h["Cookie"] = ck
|
||||||
return h
|
return h
|
||||||
return h
|
return h
|
||||||
|
|
||||||
@@ -94,6 +183,93 @@ def _full_headers(*, json_body: bool) -> dict[str, str]:
|
|||||||
return h
|
return h
|
||||||
|
|
||||||
|
|
||||||
|
_csrf_extra_cache: dict[str, str] | None = None
|
||||||
|
_csrf_extra_pid: str | None = None
|
||||||
|
|
||||||
|
|
||||||
|
def _session_cookie_auth() -> bool:
|
||||||
|
return bool(os.environ.get("PRISM_SESSION_COOKIE", "").strip())
|
||||||
|
|
||||||
|
|
||||||
|
def _api_key_auth() -> bool:
|
||||||
|
return bool(os.environ.get("PRISM_API_KEY", "").strip() or os.environ.get("PRISM_AUTH_HEADER", "").strip())
|
||||||
|
|
||||||
|
|
||||||
|
def _bootstrap_write_extras(production_id: str) -> dict[str, str]:
|
||||||
|
"""
|
||||||
|
Hit a same-origin HTML route so Set-Cookie can attach XSRF (etc.).
|
||||||
|
Returns extra headers for mutating API calls: optional Cookie merge + CSRF header.
|
||||||
|
"""
|
||||||
|
origin = os.environ.get("PRISM_ORIGIN", "https://prism.tal.one").rstrip("/")
|
||||||
|
paths = (f"/productions/{production_id}", "/productions", "/")
|
||||||
|
base_h = _full_headers(json_body=False)
|
||||||
|
base_sess = _cookie_header_from_session_env()
|
||||||
|
for path in paths:
|
||||||
|
url = f"{origin}{path}"
|
||||||
|
jar = CookieJar()
|
||||||
|
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(jar))
|
||||||
|
req = urllib.request.Request(url, headers=base_h)
|
||||||
|
try:
|
||||||
|
with opener.open(req, timeout=60) as resp:
|
||||||
|
html = resp.read().decode("utf-8", errors="replace")
|
||||||
|
except urllib.error.HTTPError as e:
|
||||||
|
html = e.read().decode("utf-8", errors="replace")
|
||||||
|
except OSError:
|
||||||
|
continue
|
||||||
|
from_jar = [f"{c.name}={c.value}" for c in jar]
|
||||||
|
xsrf: str | None = None
|
||||||
|
for c in jar:
|
||||||
|
norm = re.sub(r"[_-]", "", c.name.lower())
|
||||||
|
if norm in ("xsrftoken", "csrftoken", "csrf"):
|
||||||
|
xsrf = unquote(c.value)
|
||||||
|
break
|
||||||
|
if not xsrf:
|
||||||
|
m = re.search(
|
||||||
|
r'<meta\s+name=["\']csrf-token["\']\s+content=["\']([^"\']+)["\']',
|
||||||
|
html,
|
||||||
|
re.I,
|
||||||
|
)
|
||||||
|
if m:
|
||||||
|
xsrf = m.group(1)
|
||||||
|
if not xsrf:
|
||||||
|
m = re.search(r'"csrfToken"\s*:\s*"([^"]+)"', html)
|
||||||
|
if m:
|
||||||
|
xsrf = m.group(1)
|
||||||
|
out: dict[str, str] = {}
|
||||||
|
if from_jar:
|
||||||
|
tail = "; ".join(from_jar)
|
||||||
|
out["Cookie"] = f"{base_sess}; {tail}" if base_sess else tail
|
||||||
|
if xsrf:
|
||||||
|
hname = os.environ.get("PRISM_CSRF_HEADER", "X-CSRFToken").strip() or "X-CSRFToken"
|
||||||
|
out[hname] = xsrf
|
||||||
|
if os.environ.get("PRISM_CSRF_SEND_BOTH") == "1":
|
||||||
|
for alt in ("X-CSRFToken", "X-CSRF-Token", "X-XSRF-TOKEN"):
|
||||||
|
if alt.lower() != hname.lower():
|
||||||
|
out[alt] = xsrf
|
||||||
|
if out:
|
||||||
|
return out
|
||||||
|
return {}
|
||||||
|
|
||||||
|
|
||||||
|
def _csrf_headers_for_write(*, production_id: str) -> dict[str, str]:
|
||||||
|
global _csrf_extra_cache, _csrf_extra_pid
|
||||||
|
if _csrf_extra_cache is not None and _csrf_extra_pid == production_id:
|
||||||
|
return _csrf_extra_cache
|
||||||
|
out: dict[str, str] = {}
|
||||||
|
if _api_key_auth():
|
||||||
|
_csrf_extra_cache, _csrf_extra_pid = out, production_id
|
||||||
|
return out
|
||||||
|
hname = os.environ.get("PRISM_CSRF_HEADER", "X-CSRFToken").strip() or "X-CSRFToken"
|
||||||
|
tok = os.environ.get("PRISM_CSRF_TOKEN", "").strip()
|
||||||
|
if _session_cookie_auth():
|
||||||
|
out = _bootstrap_write_extras(production_id)
|
||||||
|
if tok:
|
||||||
|
out = dict(out)
|
||||||
|
out[hname] = tok
|
||||||
|
_csrf_extra_cache, _csrf_extra_pid = out, production_id
|
||||||
|
return out
|
||||||
|
|
||||||
|
|
||||||
def _req(
|
def _req(
|
||||||
method: str,
|
method: str,
|
||||||
url: str,
|
url: str,
|
||||||
@@ -108,6 +284,17 @@ def _req(
|
|||||||
except urllib.error.HTTPError as e:
|
except urllib.error.HTTPError as e:
|
||||||
body = e.read().decode("utf-8", errors="replace")
|
body = e.read().decode("utf-8", errors="replace")
|
||||||
return e.code, body
|
return e.code, body
|
||||||
|
except urllib.error.URLError as e:
|
||||||
|
host = urlparse(url).hostname or "?"
|
||||||
|
reason = repr(e.reason)
|
||||||
|
hint = ""
|
||||||
|
if "getaddrinfo" in reason or "11001" in reason or "Name or service not known" in reason:
|
||||||
|
hint = (
|
||||||
|
f"\n DNS could not resolve host {host!r}. Fix PRISM_BASE_URL to match the site you open in the "
|
||||||
|
f'browser (no typos), check network/VPN, then: Resolve-DnsName {host} in PowerShell.'
|
||||||
|
)
|
||||||
|
print(f"Request failed {method} {url}\n {e!r}{hint}", file=sys.stderr)
|
||||||
|
raise SystemExit(1) from e
|
||||||
|
|
||||||
|
|
||||||
def _normalize_list_payload(data: Any) -> list[dict[str, Any]]:
|
def _normalize_list_payload(data: Any) -> list[dict[str, Any]]:
|
||||||
@@ -904,6 +1091,24 @@ def cmd_sync(args: argparse.Namespace) -> int:
|
|||||||
filt = set(args.only)
|
filt = set(args.only)
|
||||||
paths = [p for p in paths if p.name in filt]
|
paths = [p for p in paths if p.name in filt]
|
||||||
|
|
||||||
|
write_json_headers: dict[str, str] | None = None
|
||||||
|
if args.apply:
|
||||||
|
write_json_headers = dict(_full_headers(json_body=True))
|
||||||
|
csrf_extra = _csrf_headers_for_write(production_id=str(pid))
|
||||||
|
write_json_headers.update(csrf_extra)
|
||||||
|
web_origin = os.environ.get("PRISM_ORIGIN", base).rstrip("/")
|
||||||
|
if _session_cookie_auth() and not _api_key_auth():
|
||||||
|
write_json_headers["Referer"] = os.environ.get(
|
||||||
|
"PRISM_REFERER",
|
||||||
|
f"{web_origin}/productions/{pid}/",
|
||||||
|
)
|
||||||
|
if _session_cookie_auth() and not _api_key_auth() and not csrf_extra:
|
||||||
|
print(
|
||||||
|
"Warning: session auth but CSRF bootstrap found no token; writes may fail with CSRF_ERROR. "
|
||||||
|
"Set PRISM_CSRF_TOKEN (or add it to prism.local.env) or use PRISM_API_KEY if available.",
|
||||||
|
file=sys.stderr,
|
||||||
|
)
|
||||||
|
|
||||||
for path in paths:
|
for path in paths:
|
||||||
if not args.no_skip_done and path.name in SYNC_SKIP_MANUAL:
|
if not args.no_skip_done and path.name in SYNC_SKIP_MANUAL:
|
||||||
print(f"SKIP manual-done\t{path.name}", file=sys.stderr)
|
print(f"SKIP manual-done\t{path.name}", file=sys.stderr)
|
||||||
@@ -958,18 +1163,39 @@ def cmd_sync(args: argparse.Namespace) -> int:
|
|||||||
args.attach_field,
|
args.attach_field,
|
||||||
_attach_value(merged, args.attach_field, blob),
|
_attach_value(merged, args.attach_field, blob),
|
||||||
)
|
)
|
||||||
|
assert write_json_headers is not None
|
||||||
write_obj = _prism_write_payload(merged)
|
write_obj = _prism_write_payload(merged)
|
||||||
payload = json.dumps(write_obj, ensure_ascii=False).encode("utf-8")
|
payload = json.dumps(write_obj, ensure_ascii=False).encode("utf-8")
|
||||||
pc, pbody = _req("PUT", detail_url, data=payload, headers=_full_headers(json_body=True))
|
pc, pbody = _req("PUT", detail_url, data=payload, headers=write_json_headers)
|
||||||
|
if pc == 400 and args.map_md and isinstance(write_obj.get("data"), dict):
|
||||||
|
flat = json.dumps(write_obj["data"], ensure_ascii=False).encode("utf-8")
|
||||||
|
pc, pbody = _req("PUT", detail_url, data=flat, headers=write_json_headers)
|
||||||
if pc not in (200, 204):
|
if pc not in (200, 204):
|
||||||
|
print(
|
||||||
|
f"{path.name}\tPUT {pc}\t(response {min(len(pbody), 2000)} chars)\t{pbody[:2000]}",
|
||||||
|
file=sys.stderr,
|
||||||
|
)
|
||||||
|
if "CSRF_ERROR" in pbody:
|
||||||
|
print(
|
||||||
|
" → CSRF rejected: refresh PRISM_CSRF_TOKEN (meta csrf-token) and ensure PRISM_SESSION_COOKIE "
|
||||||
|
"matches the same browser session (include cf_clearance if the browser sends it). "
|
||||||
|
"Or use PRISM_API_KEY. If using prism.local.env, edit that file — real env vars override it.",
|
||||||
|
file=sys.stderr,
|
||||||
|
)
|
||||||
patch_body = _minimal_patch(args, write_obj, prism_patch if args.map_md else None)
|
patch_body = _minimal_patch(args, write_obj, prism_patch if args.map_md else None)
|
||||||
pc2, pbody2 = _req(
|
pc2, pbody2 = _req(
|
||||||
"PATCH",
|
"PATCH",
|
||||||
detail_url,
|
detail_url,
|
||||||
data=json.dumps(patch_body, ensure_ascii=False).encode("utf-8"),
|
data=json.dumps(patch_body, ensure_ascii=False).encode("utf-8"),
|
||||||
headers=_full_headers(json_body=True),
|
headers=write_json_headers,
|
||||||
)
|
)
|
||||||
print(f"{path.name}\tPUT {pc}\tPATCH {pc2}\t{pbody2[:500]}", file=sys.stderr)
|
if pc2 not in (200, 204):
|
||||||
|
print(
|
||||||
|
f"{path.name}\tPATCH {pc2}\t{pbody2[:2000]}",
|
||||||
|
file=sys.stderr,
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
print(f"OK\t{path.name}\tPATCH HTTP {pc2}", file=sys.stderr)
|
||||||
else:
|
else:
|
||||||
print(f"OK\t{path.name}\tHTTP {pc}", file=sys.stderr)
|
print(f"OK\t{path.name}\tHTTP {pc}", file=sys.stderr)
|
||||||
return 0
|
return 0
|
||||||
@@ -1052,6 +1278,7 @@ def main() -> int:
|
|||||||
sys.stdout.reconfigure(encoding="utf-8")
|
sys.stdout.reconfigure(encoding="utf-8")
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
_apply_prism_env_files()
|
||||||
ap = argparse.ArgumentParser(description="Prism production API helper for Story/*.md profiles.")
|
ap = argparse.ArgumentParser(description="Prism production API helper for Story/*.md profiles.")
|
||||||
sub = ap.add_subparsers(dest="cmd", required=True)
|
sub = ap.add_subparsers(dest="cmd", required=True)
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
"filename_to_prism_name": {
|
"filename_to_prism_name": {
|
||||||
"RaincloudTheDragon.md": "Raincloud",
|
"RaincloudTheDragon.md": "Raincloud",
|
||||||
"NotoriousRooster.md": "Rooster",
|
"NotoriousRooster.md": "Rooster",
|
||||||
|
"Heart.md": "Heart",
|
||||||
|
"Mind.md": "Mind",
|
||||||
"Heart-and-Mind.md": "Heart and Mind",
|
"Heart-and-Mind.md": "Heart and Mind",
|
||||||
"BD.md": "BD"
|
"BD.md": "BD"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ PRODUCTION DESIGN: read `Story/Worldbuilding.md` BEFORE storyboarding. Quick ver
|
|||||||
- The court is **Catmull-Baroque passionately murdering Brutae** — raw concrete substrate, low-poly gilded procedural ornament bolted/carved on top, visible seams, amber rim on ornament / cool fill on concrete.
|
- The court is **Catmull-Baroque passionately murdering Brutae** — raw concrete substrate, low-poly gilded procedural ornament bolted/carved on top, visible seams, amber rim on ornament / cool fill on concrete.
|
||||||
- **TWO ROOMS + A VOID.** Rain presides from **the COURTROOM** (private throne chamber; no bleachers, no sand, no bubble; BD the cursed-cute throne-room pet on a cushion beside the throne). **The COLOSSEUM** is a separate full amphitheatre floating in a dreamscape black — ringed bleachers, sand floor, bubble on its iron cradle, chorus in the stands. At the rules-speech cue Rain dissolves the courtroom's right-hand wall into transparency and a staircase of gilded stone descends across the void to the colosseum's lower ring; the bubble's aperture is cut into the shell UNDER the overhanging front-row bleachers. See Worldbuilding §8.3.
|
- **TWO ROOMS + A VOID.** Rain presides from **the COURTROOM** (private throne chamber; no bleachers, no sand, no bubble; BD the cursed-cute throne-room pet on a cushion beside the throne). **The COLOSSEUM** is a separate full amphitheatre floating in a dreamscape black — ringed bleachers, sand floor, bubble on its iron cradle, chorus in the stands. At the rules-speech cue Rain dissolves the courtroom's right-hand wall into transparency and a staircase of gilded stone descends across the void to the colosseum's lower ring; the bubble's aperture is cut into the shell UNDER the overhanging front-row bleachers. See Worldbuilding §8.3.
|
||||||
- The BUBBLE is an oblong spacetime-warp (~1km x 0.5km interior via warp ratio; actual physical diameter far smaller). Crystal-ball clear; blue holographic bleed at the edges. One Catmull-Baroque JUMBOTRON above the colosseum sand. Microscopic BUG-SHAPED DRONES (brass-baroque tiny mechanical insects with blue rim-light) swarm inside for coverage. See Worldbuilding §8.
|
- The BUBBLE is an oblong spacetime-warp (~1km x 0.5km interior via warp ratio; actual physical diameter far smaller). Crystal-ball clear; blue holographic bleed at the edges. One Catmull-Baroque JUMBOTRON above the colosseum sand. Microscopic BUG-SHAPED DRONES (brass-baroque tiny mechanical insects with blue rim-light) swarm inside for coverage. See Worldbuilding §8.
|
||||||
- Characters follow the **Gumball Rule** — each rendered in a native style (painterly dragon, JoJo-ink Azure, chibi Starboy, cel-silhouette Rooster, painted chimera Agate, cartoon-steampunk Ubear, portrait-realistic Adrian, anime-realistic Jenni on photo-backgrounds, cursed-fisheye Noname with antennae, pierced-chipper Beanie). Do not homogenize. Do not lampshade the clash.
|
- Characters follow the **Gumball Rule** — each rendered in a native style (painterly dragon, JoJo / Killer Queen–inflected anime-ink Azure (all skin, not armor — crown included), chibi Starboy, cel-silhouette Rooster, painted chimera Agate, cartoon-steampunk Ubear, portrait-realistic Adrian, anime-realistic Jenni on photo-backgrounds, cursed-fisheye Noname with antennae, pierced-chipper Beanie). Do not homogenize. Do not lampshade the clash.
|
||||||
- The emote gargoyles and sub-banner chains around the colosseum are **Jenni's commissioned work**—the *fruits* of her private business with Rain, on display throughout the set. She can look at them with quiet satisfaction during her vanity card.
|
- The emote gargoyles and sub-banner chains around the colosseum are **Jenni's commissioned work**—the *fruits* of her private business with Rain, on display throughout the set. She can look at them with quiet satisfaction during her vanity card.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ CUT TO:
|
|||||||
|
|
||||||
INT. THE COURTROOM - FLOOR - CONTINUOUS
|
INT. THE COURTROOM - FLOOR - CONTINUOUS
|
||||||
|
|
||||||
A single figure stands in a pool of spotlight on the stone circle below the throne: **AZURE.** Full ref-sheet form—porcelain-periwinkle Killer Queen silhouette, gold-skull belts, cat-eared helmet, ice-mint slit eyes. Over the armor, comically wrong: an oversized **royal-blue John Cena tee**. Sleeves baggy. The shirt reads **CENATION** in peeling vinyl. He is waving—theatrical, elbow-deep—at the dais.
|
A single figure stands in a pool of spotlight on the stone circle below the throne: **AZURE.** Full ref-sheet form — **Killer Queen–derived** silhouette, **all skin head to toe:** porcelain-periwinkle hide, panel-like navy markings, gold-skull belts, cat-eared pointed crown skull, ice-mint slit eyes. Over that body, comically wrong: an oversized **royal-blue John Cena tee**. Sleeves baggy. The shirt reads **CENATION** in peeling vinyl. He is waving—theatrical, elbow-deep—at the dais.
|
||||||
|
|
||||||
AZURE
|
AZURE
|
||||||
(brightly)
|
(brightly)
|
||||||
@@ -84,7 +84,7 @@ Yes! Thank you—
|
|||||||
RAINCLOUD (O.S.)
|
RAINCLOUD (O.S.)
|
||||||
I loved it enough to put you in it.
|
I loved it enough to put you in it.
|
||||||
|
|
||||||
A long, small beat. Azure's smile holds. The armor does not move. Only the Cena shirt flutters, weakly.
|
A long, small beat. Azure's smile holds. Under the tee his blue skin might as well be carved — it doesn't give. Only the Cena shirt flutters, weakly.
|
||||||
|
|
||||||
AZURE
|
AZURE
|
||||||
(small)
|
(small)
|
||||||
@@ -394,7 +394,7 @@ CUT TO:
|
|||||||
|
|
||||||
INT. THE COLOSSEUM - UNDER THE BLEACHERS - CONTINUOUS
|
INT. THE COLOSSEUM - UNDER THE BLEACHERS - CONTINUOUS
|
||||||
|
|
||||||
The aperture up close. It looks like nothing — a sheet of blue breath, faintly distorting the forest colors on the far side. Azure stands in front of it, Cena tee catching the rim-light, Killer Queen silhouette rigid. Behind him, the others in their loose file.
|
The aperture up close. It looks like nothing — a sheet of blue breath, faintly distorting the forest colors on the far side. Azure stands in front of it, Cena tee catching the rim-light, periwinkle silhouette rigid. Behind him, the others in their loose file.
|
||||||
|
|
||||||
/* Above them, through the gaps in the bleacher benches, we glimpse chorus feet — hooves, claws, sneakers, a pair of tiny pirate boots — shifting. The audience is *right there*, directly overhead, waiting. The contestants do not look up. */
|
/* Above them, through the gaps in the bleacher benches, we glimpse chorus feet — hooves, claws, sneakers, a pair of tiny pirate boots — shifting. The audience is *right there*, directly overhead, waiting. The contestants do not look up. */
|
||||||
|
|
||||||
@@ -464,7 +464,11 @@ Pan.
|
|||||||
|
|
||||||
Pan.
|
Pan.
|
||||||
|
|
||||||
**RAYNE8856** — long straight black hair, fair skin, simple dark tee, thin chain, a single earbud in one ear, foot up on the bench in front of him. Subtle smirk. Confidently bored. Already nodding, small, like he's been proven right about something he never bothered to say out loud.
|
**RAYNE8856** — long straight black hair, fair skin, simple dark tee, thin chain, a single earbud in one ear, foot up on the bench in front of her. Subtle smirk. Confidently bored. Already nodding, small, like she's been proven right about something she never bothered to say out loud.
|
||||||
|
|
||||||
|
Pan up one tier.
|
||||||
|
|
||||||
|
**BEZEL THE CLOCK** — tall, slender *Chikn Nuggit* humanoid, cyan clock for a head (no neck), longer pink hand and shorter cyan hand on the clock face, purple-and-cyan suit with **1 2 3** on the front, pink bowtie, white gloves. Leaning over the bench rail above the quieter rows. One gloved finger tracing the rim of his clock head; the hands tick forward a notch. Smug patience — like he already knows what time it is.
|
||||||
|
|
||||||
Pull back to wide.
|
Pull back to wide.
|
||||||
|
|
||||||
@@ -1367,7 +1371,7 @@ CUT TO:
|
|||||||
|
|
||||||
EXT. FOREST - SAME CLEARING - CONTINUOUS
|
EXT. FOREST - SAME CLEARING - CONTINUOUS
|
||||||
|
|
||||||
/* The Ubear team-up. Azure and Adrian converge on Ubear as the shrink narrows the geography and the four of them are now in the same clearing. Killer-Queen / Killer Azure deploys — its one flashy moment in the film. Adrian is wounded in the fight. Beanie enters at the end with ice in her eyes. */
|
/* The Ubear team-up. Azure and Adrian converge on Ubear as the shrink narrows the geography and the four of them are now in the same clearing. Azure's echo deploys — its one flashy moment in the film. Adrian is wounded in the fight. Beanie enters at the end with ice in her eyes. */
|
||||||
|
|
||||||
Ubear comes first at Azure — unbothered, committed, iron club materializing from a hip loop and mech arm cocked.
|
Ubear comes first at Azure — unbothered, committed, iron club materializing from a hip loop and mech arm cocked.
|
||||||
|
|
||||||
@@ -1377,11 +1381,11 @@ AZURE
|
|||||||
(quiet, to himself)
|
(quiet, to himself)
|
||||||
Sorry, my lord.
|
Sorry, my lord.
|
||||||
|
|
||||||
He reaches through the JoJo-ink of his own silhouette and **summons.**
|
He reaches through the inkline of his own silhouette and **summons.**
|
||||||
|
|
||||||
/* Killer Azure deploys. Write it big. A Killer-Queen-stand silhouette resolves behind Azure at full body length — porcelain-periwinkle armor, cat-eared helm, gold-skull belts, ice-mint eyes. Its hands are its own. It moves an instant behind him, just out of sync, the way a stand moves. JoJo-ink outlines, flat color, physics-breaking poise. */
|
/* Killer Azure deploys big — Killer Queen–typed echo, but the figure is **skin**, not armor: a full-height duplicate resolves behind him — porcelain-periwinkle body, cat-eared crown skull, gold-skull belts, ice-mint eyes. Its hands are its own. It moves an instant behind him, just out of sync, like a frame-late shadow in a fight game. Bold outlines, flat color, wrong physics poise. */
|
||||||
|
|
||||||
A Killer-Queen-shaped silhouette rises *out of Azure's back* — porcelain-periwinkle and gold, flat-color JoJo-ink lines, hard and perfect and late by a heartbeat. The crowd of drones *swarms* it with interest. The jumbotron, far away in the colosseum, cuts to it immediately. Somewhere behind glass, Rain leans forward.
|
A periwinkle Azure-shaped silhouette rises *out of Azure's back* — porcelain and gold, flat-color ink lines, hard and perfect and late by a heartbeat. The crowd of drones *swarms* it with interest. The jumbotron, far away in the colosseum, cuts to it immediately. Somewhere behind glass, Rain leans forward.
|
||||||
|
|
||||||
Ubear stops in his tracks.
|
Ubear stops in his tracks.
|
||||||
|
|
||||||
@@ -1448,7 +1452,7 @@ AZURE
|
|||||||
(lower)
|
(lower)
|
||||||
I can't.
|
I can't.
|
||||||
|
|
||||||
He steps back. Lowers the sword. The stand lowers with him — reluctant, a half-beat slow — and retreats into his back in a glimmer of JoJo-ink.
|
He steps back. Lowers the sword. The echo lowers with him — reluctant, a half-beat slow — and retreats into his back in a glimmer of bold ink.
|
||||||
|
|
||||||
Adrian, on one knee, makes a small wet sound and laughs.
|
Adrian, on one knee, makes a small wet sound and laughs.
|
||||||
|
|
||||||
@@ -1778,7 +1782,7 @@ She comes.
|
|||||||
|
|
||||||
/* Fight: quick, brutal, real. Beanie is not faking. Beanie wants to live too — wants to make Azure fight for it. She nearly gets him twice. Azure dodges, parries with the green sword, keeps giving ground. At one point he has a clean opening and passes it up; Beanie SEES this, snarls, and drives him back harder. He cannot keep passing openings. Finally he stops passing them. */
|
/* Fight: quick, brutal, real. Beanie is not faking. Beanie wants to live too — wants to make Azure fight for it. She nearly gets him twice. Azure dodges, parries with the green sword, keeps giving ground. At one point he has a clean opening and passes it up; Beanie SEES this, snarls, and drives him back harder. He cannot keep passing openings. Finally he stops passing them. */
|
||||||
|
|
||||||
Azure gives ground. Back against the rear wall of the cave. Beanie has cut him twice — a line across his armored forearm, a shallow graze to the side of his helm. She is in close.
|
Azure gives ground. Back against the rear wall of the cave. Beanie has cut him twice — a line across his blue forearm, a shallow graze scoring the side of his crown skull. She is in close.
|
||||||
|
|
||||||
She comes again. Commits to the blow.
|
She comes again. Commits to the blow.
|
||||||
|
|
||||||
@@ -1921,11 +1925,11 @@ Rooster steps neatly aside. A second arrow — pulled and nocked while the first
|
|||||||
|
|
||||||
Azure folds.
|
Azure folds.
|
||||||
|
|
||||||
He goes down sideways against the stone. Cena tee rucked up around the shaft. Helmet tipping, a last porcelain-periwinkle glint.
|
He goes down sideways against the stone. Cena tee rucked up around the shaft. One last porcelain-periwinkle glint off the cat-eared crown as he falls.
|
||||||
|
|
||||||
He poofs.
|
He poofs.
|
||||||
|
|
||||||
A slow, JoJo-ink-lined column of blue-holographic mist — flat color, bold outlines, one last ridiculous flourish of a pose in the silhouette as it rises — lifts out of the cave, up through the mouth, past the aura-wall, into the higher aura above.
|
A slow, bold-ink-lined column of blue-holographic mist — flat color, strong outlines, one last ridiculous flourish of a pose in the silhouette as it rises — lifts out of the cave, up through the mouth, past the aura-wall, into the higher aura above.
|
||||||
|
|
||||||
Gone.
|
Gone.
|
||||||
|
|
||||||
@@ -1989,7 +1993,7 @@ INT. RECOVERY BAY - BACKSTAGE - CONTINUOUS
|
|||||||
|
|
||||||
/* The recovery bay. A long, high-ceilinged concrete gallery — Catmull-Baroque ornament bolted to the structural slabs at shoulder height and up; the upper reaches still raw Brutae. Eight RESTORATION NICHES along one wall — stone alcoves framed in low-poly gilded arches, each with a soft blue pulse at its base. Seven of the niches are already occupied: Agate, Starboy, Noname, Jenni, Ubear, Adrian, Beanie — all standing in their niches as the last of the reconstitution mist knits them back together. They are whole. They are rattled. They are alive. They are wearing exactly what they were wearing when they died.
|
/* The recovery bay. A long, high-ceilinged concrete gallery — Catmull-Baroque ornament bolted to the structural slabs at shoulder height and up; the upper reaches still raw Brutae. Eight RESTORATION NICHES along one wall — stone alcoves framed in low-poly gilded arches, each with a soft blue pulse at its base. Seven of the niches are already occupied: Agate, Starboy, Noname, Jenni, Ubear, Adrian, Beanie — all standing in their niches as the last of the reconstitution mist knits them back together. They are whole. They are rattled. They are alive. They are wearing exactly what they were wearing when they died.
|
||||||
|
|
||||||
The eighth niche is just now reconstituting. A blue mist settles into the shape of a porcelain-periwinkle Killer Queen silhouette with a ridiculous Cena tee. */
|
The eighth niche is just now reconstituting. A blue mist settles into the shape of a porcelain-periwinkle humanoid silhouette with a ridiculous Cena tee. */
|
||||||
|
|
||||||
Along the wall, the conscious dead.
|
Along the wall, the conscious dead.
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# Adrian
|
# Adrian
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# Agate
|
# Agate
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
>
|
|
||||||
> **Pronoun policy:** `she/her` exclusively, without exception. See Identity → Background.
|
> **Pronoun policy:** `she/her` exclusively, without exception. See Identity → Background.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
+37
-19
@@ -1,6 +1,6 @@
|
|||||||
# Azure
|
# Azure
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
> **Design lineage:** Azure is a **slightly tweaked Killer Queen** — Yoshikage Kira's Stand from *JoJo's Bizarre Adventure: Diamond Is Unbreakable*, rescaled femboy, hue-shifted pink → azure/periwinkle, and dressed for Rain's court (John Cena tee gag). **Flesh canon** (anatomy, surface read, accessory placement) comes from `Story/ref/azure.png`; chat PFP crops are secondary.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -10,12 +10,12 @@
|
|||||||
|
|
||||||
- **Height:**
|
- **Height:**
|
||||||
- **Weight:**
|
- **Weight:**
|
||||||
- **Build:** Lean, femboy-scaled humanoid — narrower waist, longer neck, slimmer hips/thighs than Killer Queen source; softer chin under the helmet. Dangerous mannequin, not bulky enforcer.
|
- **Build:** Lean **femboy-scaled** Killer Queen body — same shredded stand-user musculature (broad shoulders, defined pecs, visible abs) as the ref, but narrower waist, longer neck, slimmer hips/thighs, softer chin below the integrated crown. Dangerous mannequin, not bulky enforcer.
|
||||||
- **Hair Color:** *(helmet conceals — mint / ice-teal accent on slit eyes)*
|
- **Hair Color:** N/A — no visible hair; smooth **flesh** from crown to neck (ref: hairless cat-skull head)
|
||||||
- **Hair Style:** *(helmet conceals)*
|
- **Hair Style:** N/A
|
||||||
- **Eye Color:** Mint / ice-teal slit eyes, narrow slit-visor read
|
- **Eye Color:** Mint / ice-teal **horizontal slit eyes** with dark vertical pupils (ref: pink slit eyes — hue-shifted for Azure)
|
||||||
- **Skin Tone:** *(armor conceals — suit is cool pale blue / periwinkle `#baby-blue porcelain` with faint lavender in shadow)*
|
- **Skin Tone:** Cool pale **azure / periwinkle** — smooth matte **organic skin head to toe**, one continuous body surface (ref `Story/ref/azure.png` shows this read in pink; production shifts hue ~30° toward blue). **Not armor. Not a bodysuit. Not a removable helmet.** Panel-like navy/cobalt markings read as **pigment on skin**, not plate seams.
|
||||||
- **Distinguishing Marks:** Gold skull medallions on belt, shoulders, kneepads (status jewelry — "founder badges"); cat-eared / pointed-crown helmet; deep navy/cobalt armor panels; optional deeper teal piping along seams; single bell on a ribbon choker
|
- **Distinguishing Marks:** Tall **cat ears** rising from the integrated skull-shaped head (anatomy, not headgear); studded choker/collar + heart/skull pendant (ref); form-fitting **studded forearm bracers** in the same skin tone (jewelry on flesh, not metal armor); circular iridescent hand emblems; studded belt + buckle; **gold skull medallions** on belt, shoulders, kneepads (production — mod-badge jewelry); optional single bell on ribbon choker (stream-court audio cue)
|
||||||
|
|
||||||
### Identity (physical-form)
|
### Identity (physical-form)
|
||||||
|
|
||||||
@@ -31,16 +31,33 @@
|
|||||||
- **Dominant Hand:**
|
- **Dominant Hand:**
|
||||||
- **Accent / Dialect:**
|
- **Accent / Dialect:**
|
||||||
- **Voice Quality:** Theatrical, needy, flirt-prone; pitches up for wheedling flattery; drops to venomous-gossip register when Rain's back is turned; snaps back to radiant devotion on re-entry
|
- **Voice Quality:** Theatrical, needy, flirt-prone; pitches up for wheedling flattery; drops to venomous-gossip register when Rain's back is turned; snaps back to radiant devotion on re-entry
|
||||||
- **Gait / Movement:** Defaults to arms-crossed, hip-cocked Killer Queen coolness — but **breaks it constantly**: leans into Rain's shoulder, peeks around doorways, flops dramatically. The composure is the costume; the slippage is the character.
|
- **Gait / Movement:** Defaults to arms-crossed, hip-cocked **Killer Queen–inflected** cool posture — but **breaks it constantly**: leans into Rain's shoulder, peeks around doorways, flops dramatically. The composure is the pose; the slippage is the character.
|
||||||
|
|
||||||
### Physical Description
|
### Physical Description
|
||||||
|
|
||||||
Femboy Killer Queen (from *JoJo's Bizarre Adventure: Diamond Is Unbreakable*) with the signature pink shifted ~30° toward azure — baby-blue porcelain armor with deep navy panels, gold skull medallions (belt/shoulders/kneepads), mint slit eyes, cat-eared helmet. Over the sculpted armor: an **oversized John Cena tee** in royal/electric blue ("YOU CAN'T SEE ME" / Cenation merch), sleeves baggy over the gauntlets, sometimes half-tucked or knotted at the waist, **never removed and never recolored**. The shirt is a running visual joke — villain-stand silhouette wearing clown-regular shirt. The blue reinforces the "Azure" name pun and sits just off the suit's pale periwinkle so both blues read intentional.
|
**Character design = slightly tweaked Killer Queen** (*Diamond Is Unbreakable*). Same stand-user silhouette, cat-eared skull head, slit eyes, studded punk accessories, and shredded torso — rescaled femboy, recolored azure, and court-dressed.
|
||||||
|
|
||||||
|
**Flesh canon (`Story/ref/azure.png`):** the entire figure is **living skin** — smooth, matte, muscular, feline-skull head with pointed ears **grown from the neck** (never draw as separate headgear). Forearm studs and belt studs sit **on** the hide like jewelry, not articulated plate. Face: minimal nose/mouth, slit pupils, optional cheek blush. Markings that look like panel lines are **skin pigment**, not mechanical joints.
|
||||||
|
|
||||||
|
**Production overlay (on top of flesh):** oversized **John Cena tee** in royal/electric blue ("YOU CAN'T SEE ME" / Cenation merch) replaces the ref's black crop top — baggy sleeves, sometimes half-tucked or knotted, **never removed, never recolored**. Gold skull medallions = visible former-mod rank. The shirt is a running visual joke: ornate Killer Queen–type humanoid in clown-regular merch; tee blue reinforces the Azure name pun against periwinkle skin.
|
||||||
|
|
||||||
|
**Portrait / storyboard order:** `Story/ref/azure.png` → chat PFP crops (`pfp/azure/*`) → external KQ art for **pose only** (never let source art override skin-as-flesh).
|
||||||
|
|
||||||
### Reference Images
|
### Reference Images
|
||||||
|
|
||||||
- Handle portraits: `pfp/azure/guidingflyer530_0.jpg`, `pfp/azure/guidingflyer530_1.jpg`, `pfp/azure/actuallynotazure_0.jpg`
|
- **Flesh canon (primary):** `Story/ref/azure.png` — anatomy, skin-as-surface, cat-eared integrated head, stud placement, musculature. Ref hue is pink KQ; **recolor to azure/periwinkle** for Azure, keep the organic read.
|
||||||
- Hero design reference: Killer Queen character art from *Diamond Is Unbreakable* art books / fan wikis (external, do not commit); user-provided ref stored under `assets/` outside `Story/`
|
- **Chat / portrait crops:** `pfp/azure/guidingflyer530_0.jpg`, `pfp/azure/guidingflyer530_1.jpg`, `pfp/azure/actuallynotazure_0.jpg`
|
||||||
|
- **Pose vocabulary only:** Killer Queen / *Diamond Is Unbreakable* stand art — silhouette and attitude; does **not** override flesh canon or permit armor/helmet reads
|
||||||
|
|
||||||
|
### Design lock (AI / portrait prompts)
|
||||||
|
|
||||||
|
Copy-paste block for `ai_context_document`, portrait modals, and storyboard character refs:
|
||||||
|
|
||||||
|
**Include:** slightly tweaked **Killer Queen** femboy humanoid; smooth **azure/periwinkle skin** (flesh, not suit); **integrated cat-eared skull head**; mint **slit eyes**; shredded muscular torso; navy **skin markings** (not armor plates); studded choker, studded forearm bracers matching skin tone, studded belt; gold skull medallions; oversized **royal-blue John Cena t-shirt** over midriff; clean anime cel-shading.
|
||||||
|
|
||||||
|
**Exclude (do not prompt):** armor, helmet, headgear, visor, mecha, bodysuit, plate mail, power armor, robotic joints, peel-off suit, separate faceplate, bomb hands, Kira bomb mechanics, detached killer menace.
|
||||||
|
|
||||||
|
**One-liner:** *Femboy Killer Queen with azure skin — organic cat-skull head and studded flesh, not armor; John Cena tee never comes off.*
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -48,7 +65,7 @@ Femboy Killer Queen (from *JoJo's Bizarre Adventure: Diamond Is Unbreakable*) wi
|
|||||||
|
|
||||||
### Costume Notes
|
### Costume Notes
|
||||||
|
|
||||||
Sculpted armor bodysuit (Killer Queen femboy reskin) + oversized blue John Cena tee over the top. Never removes the shirt. Never recolors it. Retains the skull motifs on belt/shoulders/kneepads — these are status jewelry, the visible form of his former mod rank. Helmet: cat-eared / pointed-crown with narrow slit visor. Optional: a single tiny enamel wing-pin on a belt loop as a Wings-of-Fire fandom wink (ceiling, not floor).
|
**Killer Queen flesh + court gag.** All-skin body from `Story/ref/azure.png` (hue-shifted azure): smooth hide crown to soles, navy pigment markings, studded choker/bracers/belt on **skin**, gold skull medallions (jewelry, not armor plates). **John Cena tee** over the top — never removed, never recolored. Head: cat-eared skull shape, slit eyes — **same flesh surface as torso** (not helmet). Optional: single tiny enamel wing-pin on a belt loop (WoF fandom wink, ceiling not floor).
|
||||||
|
|
||||||
### Accessories & Props
|
### Accessories & Props
|
||||||
|
|
||||||
@@ -59,11 +76,11 @@ Sculpted armor bodysuit (Killer Queen femboy reskin) + oversized blue John Cena
|
|||||||
|
|
||||||
### Era / Period
|
### Era / Period
|
||||||
|
|
||||||
Anachronistic contemporary; character-design IP-mash reading as stand-user-cosplayer in a dragon's courtroom
|
Anachronistic contemporary; character-design mashup reading as stylized court creature in a dragon's courtroom
|
||||||
|
|
||||||
### Makeup Notes
|
### Makeup Notes
|
||||||
|
|
||||||
N/A (helmet)
|
N/A (continuous skin surface — no separate makeup or headgear layer)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -84,7 +101,7 @@ Azure's throughline is **status granted, then revoked**. He was there at the beg
|
|||||||
### Traits
|
### Traits
|
||||||
|
|
||||||
- **Interests:** Mod panels; audit logs; unban queues; ban-reason screens; the VOD-archive channel; stream schedules; gossip about other regulars; making art of random people; Rain's discord server; femboys; Beanie; Chess; Geometry Dash
|
- **Interests:** Mod panels; audit logs; unban queues; ban-reason screens; the VOD-archive channel; stream schedules; gossip about other regulars; making art of random people; Rain's discord server; femboys; Beanie; Chess; Geometry Dash
|
||||||
- **Quirks & Habits:** Mod-metadata voyeurism — poking around in mod-exclusive scraps whenever any adjacency is available; always asking when the next stream is; visibly deflating when a stream doesn't happen; over-deep theatrical bows; panicked whimper when corrected; quick pivot from wheedling flattery to venomous gossip the instant Rain's back is turned, then snap back to radiant devotion on re-entry; slipping out of Killer-Queen cool-posture constantly
|
- **Quirks & Habits:** Mod-metadata voyeurism — poking around in mod-exclusive scraps whenever any adjacency is available; always asking when the next stream is; visibly deflating when a stream doesn't happen; over-deep theatrical bows; panicked whimper when corrected; quick pivot from wheedling flattery to venomous gossip the instant Rain's back is turned, then snap back to radiant devotion on re-entry; slipping out of **Killer Queen–cool** posture constantly
|
||||||
- **Fears:** Permanent exile from rank; Rain's cold register; missed stream slots reading as personal loss
|
- **Fears:** Permanent exile from rank; Rain's cold register; missed stream slots reading as personal loss
|
||||||
- **Skills & Abilities:** Reading a room's status gradients fast; weaponizing intimacy as leverage; extracting information from mod-panel scraps; theatrical public performance of loyalty; Chess; Geometry Dash
|
- **Skills & Abilities:** Reading a room's status gradients fast; weaponizing intimacy as leverage; extracting information from mod-panel scraps; theatrical public performance of loyalty; Chess; Geometry Dash
|
||||||
|
|
||||||
@@ -135,7 +152,7 @@ See *Extended Canon Notes → Character History (skekSil read + three tells)* an
|
|||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
- **Stunt Requirements:** Killer-Queen pose work; bow / fall on cave-floor dilemma beat; final sneak-attack fall beat (arrow-hit, no mist-poof timing until after the line)
|
- **Stunt Requirements:** Killer Queen–style / pop-villain pose work; bow / fall on cave-floor dilemma beat; final sneak-attack fall beat (arrow-hit, no mist-poof timing until after the line)
|
||||||
- **SFX Requirements:** Mist-poof dissolve on final defeat (blue-holographic); possible slight bell-ring diegetic cue on clingy movement
|
- **SFX Requirements:** Mist-poof dissolve on final defeat (blue-holographic); possible slight bell-ring diegetic cue on clingy movement
|
||||||
|
|
||||||
### Voice Casting
|
### Voice Casting
|
||||||
@@ -153,7 +170,7 @@ See *Extended Canon Notes → Character History (skekSil read + three tells)* an
|
|||||||
|
|
||||||
### Continuity Notes
|
### Continuity Notes
|
||||||
|
|
||||||
Shirt never removed, never recolored. Gold skulls never recolored. Helmet never fully removed. Azure does NOT win the arena — his climax is the cave dilemma followed by Rooster's sneak attack.
|
Shirt never removed, never recolored. Gold skulls never recolored. **Killer Queen lineage stays legible; flesh canon stays organic** — azure skin, cat-eared integrated head, and markings are one continuous body surface (`Story/ref/azure.png`), never armor or removable headgear. Azure does NOT win the arena — his climax is the cave dilemma followed by Rooster's sneak attack.
|
||||||
|
|
||||||
### Voice Reference
|
### Voice Reference
|
||||||
|
|
||||||
@@ -192,8 +209,9 @@ Shirt never removed, never recolored. Gold skulls never recolored. Helmet never
|
|||||||
|
|
||||||
### Design do/don't
|
### Design do/don't
|
||||||
|
|
||||||
- **Vs Agate:** Agate is warm sand and sidelines, soft feathered chimera; Azure is cool porcelain and spotlight, hard-edged humanoid mannequin — same court, opposite material read.
|
- **Lineage:** Azure **is** a slightly tweaked **Killer Queen** — say so in prompts; then immediately anchor **flesh** with `Story/ref/azure.png` so models don't default to armor/helmet reads from stand art.
|
||||||
- **Do not:** Give him real Killer Queen villainy, bomb-primer fingers, or Kira's detached menace. Do **not** recolor the gold skulls; the gold is what keeps him reading as "Killer Queen reskin" and not generic blue armor. Avoid full dragon morph or WoF cosplay literalism — one tiny enamel wing pin on a belt loop is the ceiling.
|
- **Vs Agate:** Agate is warm sand and sidelines, soft feathered chimera; Azure is cool azure flesh and spotlight, hard-edged Killer Queen–type mannequin — same court, opposite material read.
|
||||||
|
- **Do not:** Prompt armor, helmet, bodysuit, mecha, or peel-off head. Give him Kira bomb mechanics, bomb-primer fingers, or detached killer menace. Recolor the gold skulls. Redraw cat ears or the skull head as headgear. Full dragon morph or WoF cosplay literalism — one tiny enamel wing pin on a belt loop is the ceiling.
|
||||||
|
|
||||||
### Evidence
|
### Evidence
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# BD
|
# BD
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
>
|
|
||||||
> **New profile — no pre-Prism file existed.** BD is introduced in `0BattleRoyale.fountain` as Rain's throne-room pet; all canon below is from the screenplay itself.
|
> **New profile — no pre-Prism file existed.** BD is introduced in `0BattleRoyale.fountain` as Rain's throne-room pet; all canon below is from the screenplay itself.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# Beanie
|
# Beanie
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
# Cameo Creatures — Index
|
# Cameo Creatures — Index
|
||||||
|
|
||||||
> Per-character Prism profiles now live in `Story/Cameos/`. This file is an index.
|
> Per-character Prism profiles now live in `Story/Cameos/`. This file is an index.
|
||||||
>
|
> All ten cameos share the silent chorus cutaway (`INT. THE COLOSSEUM - THE STANDS - CONTINUOUS`) in `0BattleRoyale.fountain`. Dialogue is removed per scene rule — only visual beats, posture, and gesture remain.
|
||||||
> All nine cameos share the silent chorus cutaway (`INT. THE COLOSSEUM - THE STANDS - CONTINUOUS`) in `0BattleRoyale.fountain`. Dialogue is removed per scene rule — only visual beats, posture, and gesture remain.
|
|
||||||
|
|
||||||
## Individual profiles (Prism-structured)
|
## Individual profiles
|
||||||
|
|
||||||
- [ExperimentA1ic3](Cameos/ExperimentA1ic3.md) — historical handle `Branndongames` — femboy murder-drone hot-dog vendor, front and center in the lower bleachers
|
- [ExperimentA1ic3](Cameos/ExperimentA1ic3.md) — historical handle `Branndongames` — femboy murder-drone hot-dog vendor, front and center in the lower bleachers
|
||||||
- [NoncriticalMother](Cameos/NoncriticalMother.md) — `noncriticalmother` — motherly half of the paired unit; folded napkin, synchronized polite bites
|
- [NoncriticalMother](Cameos/NoncriticalMother.md) — `noncriticalmother` — motherly half of the paired unit; folded napkin, synchronized polite bites
|
||||||
@@ -15,10 +14,11 @@
|
|||||||
- [Miclbero](Cameos/Miclbero.md) — `miclbero` — soft-painted ESL fox, practicing quietly to himself
|
- [Miclbero](Cameos/Miclbero.md) — `miclbero` — soft-painted ESL fox, practicing quietly to himself
|
||||||
- [Cameoqueen86](Cameos/Cameoqueen86.md) — `cameoqueen86` — "Go Away" mask, tapping a neighbor's forearm and pointing
|
- [Cameoqueen86](Cameos/Cameoqueen86.md) — `cameoqueen86` — "Go Away" mask, tapping a neighbor's forearm and pointing
|
||||||
- [Rayne8856](Cameos/Rayne8856.md) — `Rayne8856` — long black hair + single earbud, confidently bored "I called it" nod
|
- [Rayne8856](Cameos/Rayne8856.md) — `Rayne8856` — long black hair + single earbud, confidently bored "I called it" nod
|
||||||
|
- [Bezel the Clock](Cameos/Bezel_the_Clock.md) — *Chikn Nuggit* import — tall doomsday-clock head, tracing his face while the hands tick forward
|
||||||
|
|
||||||
## Related non-cameo profile (throne-room pet, promoted to full file)
|
## Related non-cameo profile (throne-room pet, promoted to full file)
|
||||||
|
|
||||||
- [BD](BD.md) — white liquid-flesh cursed-cute creature on a cushion beside Rain's throne. Previously listed among cameos; now has its own Prism-structured profile because it is a recurring courtroom fixture in the film.
|
- [BD](BD.md) — white liquid-flesh cursed-cute creature on a cushion beside Rain's throne. Previously listed among cameos; now has its own profile because it is a recurring courtroom fixture in the film.
|
||||||
|
|
||||||
## Cutaway context
|
## Cutaway context
|
||||||
|
|
||||||
|
|||||||
+13
-14
@@ -1,6 +1,6 @@
|
|||||||
# Basedgymrat
|
# Basedgymrat
|
||||||
|
|
||||||
> **Prism-structured profile.** Cameo creature. See `../PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
> **Species lock:** literally an **anthropomorphic rat** (upright, humanoid proportions, rat head, fur, ears, whiskers, tail — not a human in rat drag, not metaphorical).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -10,12 +10,12 @@
|
|||||||
|
|
||||||
- **Height:**
|
- **Height:**
|
||||||
- **Weight:**
|
- **Weight:**
|
||||||
- **Build:** Exaggerated gym bro — neck cords visible on the hype pose
|
- **Build:** Exaggerated gym bro — upright **anthro rat** body; neck cords visible on the hype pose
|
||||||
- **Hair Color:**
|
- **Hair Color:** Rat fur (natural tones; anthro)
|
||||||
- **Hair Style:**
|
- **Hair Style:** N/A (fur)
|
||||||
- **Eye Color:**
|
- **Eye Color:** Rat eyes; keep readable for silhouette reads
|
||||||
- **Skin Tone:**
|
- **Skin Tone:** Bare rat tail + pink snout/paw pads (typical rat morph)
|
||||||
- **Distinguishing Marks:** Sweatband; neon "GAS" tank-top lettering; dumbbell charm on a chain
|
- **Distinguishing Marks:** Large rat ears, whiskers, bare tail; sweatband; neon "GAS" tank-top lettering; dumbbell charm on a chain
|
||||||
|
|
||||||
### Identity (physical-form)
|
### Identity (physical-form)
|
||||||
|
|
||||||
@@ -35,13 +35,11 @@
|
|||||||
|
|
||||||
### Physical Description
|
### Physical Description
|
||||||
|
|
||||||
Exaggerated gym bro — tank top with neon GAS lettering, sweatband, dumbbell charm on a chain. In the silent cutaway: mid-hype pose with both arms up, mouth open mid-cheer, neck cords visible — the full body of a shout, none of the sound arriving. Pumps both fists rhythmically three times at nothing in particular.
|
**Anthropomorphic rat** gym bro — reads as rat first, gym second. Tank top with neon GAS lettering, sweatband, dumbbell charm on a chain; prominent ears, whiskers, bare tail; snout/muzzle in proportion to the rat head (not a flat human face with ears glued on). In the silent cutaway: mid-hype pose with both arms up, mouth open mid-cheer, neck cords visible — the full body of a shout, none of the sound arriving. Pumps both fists rhythmically three times at nothing in particular. **Name matches species:** rat, literally.
|
||||||
|
|
||||||
Extrapolate from the name, not the chat photo — aggressively silly gym-bro stock silhouette.
|
|
||||||
|
|
||||||
### Reference Images
|
### Reference Images
|
||||||
|
|
||||||
- *(No chat-export PFP selected for hero design; design per spec above.)*
|
- `../pfp/cameo-gymrat/basedgymrat_0.jpg` *(chat-adjacent lock; still read as **anthro rat** per species lock above)*
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -49,7 +47,7 @@ Extrapolate from the name, not the chat photo — aggressively silly gym-bro sto
|
|||||||
|
|
||||||
### Costume Notes
|
### Costume Notes
|
||||||
|
|
||||||
Tank or stringer with neon "GAS" lettering (slogan nod). Sweatband. Optional kettlebell earring variant.
|
Tank or stringer with neon "GAS" lettering (slogan nod). Sweatband. Optional kettlebell earring variant. Cuts should sit cleanly on **anthro rat** shoulders/torso (not generic human stock).
|
||||||
|
|
||||||
### Accessories & Props
|
### Accessories & Props
|
||||||
|
|
||||||
@@ -111,7 +109,7 @@ Early archive with slogan-repetition energy. Comes in via vibe anchor: "Hello de
|
|||||||
|
|
||||||
### Extended History
|
### Extended History
|
||||||
|
|
||||||
Featured silent beat in the chorus cutaway (`INT. THE COLOSSEUM - THE STANDS - CONTINUOUS`): mid-hype pose with both arms up, mouth open mid-cheer, neck cords visible — the full body of a shout, none of the sound arriving. Pumps both fists rhythmically three times at nothing in particular.
|
Featured silent beat in the chorus cutaway (`INT. THE COLOSSEUM - THE STANDS - CONTINUOUS`): **anthropomorphic rat** in mid-hype pose with both arms up, mouth open mid-cheer, neck cords visible — the full body of a shout, none of the sound arriving. Pumps both fists rhythmically three times at nothing in particular.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -143,7 +141,7 @@ Featured silent beat in the chorus cutaway (`INT. THE COLOSSEUM - THE STANDS - C
|
|||||||
|
|
||||||
### Continuity Notes
|
### Continuity Notes
|
||||||
|
|
||||||
Always mid-hype. Never caught sitting down.
|
Always mid-hype. Never caught sitting down. **Species:** anthropomorphic rat in every appearance — consistent ears, whiskers, tail, muzzle.
|
||||||
|
|
||||||
### Voice Reference
|
### Voice Reference
|
||||||
|
|
||||||
@@ -157,5 +155,6 @@ Always mid-hype. Never caught sitting down.
|
|||||||
*Writer-only material preserved from the pre-Prism `Cameo-Creatures.md`.*
|
*Writer-only material preserved from the pre-Prism `Cameo-Creatures.md`.*
|
||||||
|
|
||||||
- Handle: `Basedgymrat`
|
- Handle: `Basedgymrat`
|
||||||
|
- **Canon species:** anthropomorphic rat (literal, not costume)
|
||||||
- Early archive hypebeast with repeating slogan energy
|
- Early archive hypebeast with repeating slogan energy
|
||||||
- Vibe anchor: "Hello dergon! Im lurking just wanted to say GAS GAS GAS"
|
- Vibe anchor: "Hello dergon! Im lurking just wanted to say GAS GAS GAS"
|
||||||
|
|||||||
@@ -0,0 +1,163 @@
|
|||||||
|
# Bezel the Clock
|
||||||
|
|
||||||
|
> **Pronoun policy:** `he/him` — male; per [Chikn Nuggit Wiki](https://chiknnuggit.fandom.com/wiki/Bezel) infobox.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Appearance
|
||||||
|
|
||||||
|
### Physical Attributes
|
||||||
|
|
||||||
|
- **Height:** Tall
|
||||||
|
- **Weight:**
|
||||||
|
- **Build:** Slender humanoid
|
||||||
|
- **Hair Color:** N/A (clock head)
|
||||||
|
- **Hair Style:** N/A
|
||||||
|
- **Eye Color:** N/A (clock face — heterochromatic pink/cyan motif on alternate forms; default form uses clock hands)
|
||||||
|
- **Skin Tone:** N/A (cyan clock head; white-gloved hands)
|
||||||
|
- **Distinguishing Marks:** Cyan clock for a head with no neck; longer pink hand and shorter cyan hand on the clock face; purple-and-cyan suit with **1 2 3** numerals; pink bowtie; white gloves
|
||||||
|
|
||||||
|
### Identity (physical-form)
|
||||||
|
|
||||||
|
- **Sex:** Male
|
||||||
|
- **Age:** Ancient / cosmic *(wiki: at least 13.7 billion years)*
|
||||||
|
- **Birth Year:**
|
||||||
|
- **Birth Place:** *(wiki: at the moment the universe came to be)*
|
||||||
|
- **Ethnicity:** Living doomsday clock (Chikn Nuggit)
|
||||||
|
- **Nationality:**
|
||||||
|
|
||||||
|
### Production (physical-form)
|
||||||
|
|
||||||
|
- **Dominant Hand:**
|
||||||
|
- **Accent / Dialect:**
|
||||||
|
- **Voice Quality:** *(silent in the chorus cutaway — no dialogue per scene rule)*; source voice: Kellen Goff
|
||||||
|
- **Gait / Movement:** Unhurried lean; one gloved finger tracing the rim of his clock head as the hands creep forward
|
||||||
|
|
||||||
|
### Physical Description
|
||||||
|
|
||||||
|
Tall, slender personified doomsday clock from *Chikn Nuggit*: cyan clock head (no neck), pink and cyan clock hands, purple-and-cyan suit with **1 2 3** on the front, pink bowtie, white gloves. Reads as an immortal busybody deity who showed up for the spectacle — amused, patient, already counting down to something only he thinks is inevitable.
|
||||||
|
|
||||||
|
### Reference Images
|
||||||
|
|
||||||
|
- Portrait: `../pfp/cameo-bezel/bezel_the_clock_0.png` *(Chikn Nuggit Wiki — normal form)*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Wardrobe
|
||||||
|
|
||||||
|
### Costume Notes
|
||||||
|
|
||||||
|
Purple-and-cyan suit with **1 2 3** numerals; pink bowtie; white gloves. Normal clock-headed humanoid form only for the cutaway — no cat or bear forms on-camera.
|
||||||
|
|
||||||
|
### Accessories & Props
|
||||||
|
|
||||||
|
- Clock head (primary read)
|
||||||
|
- Pink bowtie
|
||||||
|
|
||||||
|
### Era / Period
|
||||||
|
|
||||||
|
Chikn Nuggit web-series idiom (2D cartoon deity)
|
||||||
|
|
||||||
|
### Makeup Notes
|
||||||
|
|
||||||
|
N/A (clock face)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Identity
|
||||||
|
|
||||||
|
### Personality
|
||||||
|
|
||||||
|
Main-antagonist energy played as colosseum spectator: smug, amused, unhurried. Likes watching chaos ripen. Cat-fond and chaos-curious in source canon; in BR he is distilled to **patient countdown** — the guy who already knows how the episode ends and came anyway.
|
||||||
|
|
||||||
|
### Background / Backstory
|
||||||
|
|
||||||
|
Embodiment-of-time faker turned recurring chaos instigator in *Chikn Nuggit*. In BR: Gumball-stitched audience import — a living doomsday clock buying a seat to watch the bubble go live.
|
||||||
|
|
||||||
|
### Traits
|
||||||
|
|
||||||
|
- **Interests:** Time; countdowns; weirdness; watching things escalate
|
||||||
|
- **Quirks & Habits:** Tracing the rim of his own clock head; clock hands creeping while he smiles; leaning down over shorter neighbors without malice — just proximity
|
||||||
|
- **Fears:**
|
||||||
|
- **Skills & Abilities:** Chronokinesis / teleportation / shapeshifting in source canon *(not demonstrated in the silent cutaway)*
|
||||||
|
|
||||||
|
### Speech
|
||||||
|
|
||||||
|
- **Catch Phrases:** *(silent in the chorus cutaway — dialogue removed)*; Source vibe anchors (non-silent): "Keep up the weirdness, my friend." / skull-watch countdown banter
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Arc
|
||||||
|
|
||||||
|
### Drive
|
||||||
|
|
||||||
|
- **Motivation:** Watch the clock run out
|
||||||
|
- **Want:** See what happens when the bubble opens
|
||||||
|
- **Need:**
|
||||||
|
|
||||||
|
### Opposition
|
||||||
|
|
||||||
|
- **Conflict:**
|
||||||
|
- **Lie They Believe:** *(source)* That he is Time / that Armageddon is his to schedule
|
||||||
|
- **Ghost:**
|
||||||
|
|
||||||
|
### Change
|
||||||
|
|
||||||
|
- **Transformation:** *(cameo — fixture role)*
|
||||||
|
- **Arc Type:** Flat
|
||||||
|
|
||||||
|
### Extended History
|
||||||
|
|
||||||
|
Featured silent beat in the chorus cutaway (`INT. THE COLOSSEUM - THE STANDS - CONTINUOUS`): one tier above the quieter rows, **BEZEL THE CLOCK** — tall cyan clock head, pink bowtie, purple-and-cyan **1 2 3** suit, white gloves — leaning over the bench rail. One gloved finger circles the rim of his clock face; the pink hand and cyan hand tick forward a notch. Smug patience. Whatever he is mouthing, the ambient wash eats it.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Relationships
|
||||||
|
|
||||||
|
- **Chorus (collectively)** — Spectator / Countdown — reads as someone who knows more than the stands do; not networked with any one neighbor
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Production
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
|
||||||
|
- **Stunt Requirements:** Lean-over-rail; single-finger clock-rim trace; one visible clock-hand tick
|
||||||
|
- **SFX Requirements:** Clock hands must read at cutaway distance; Chikn Nuggit 2D idiom — do not homogenize into 3D realism
|
||||||
|
|
||||||
|
### Voice Casting
|
||||||
|
|
||||||
|
- **Provider:**
|
||||||
|
- **Voice:** *(silent in the cutaway; source: Kellen Goff)*
|
||||||
|
- **Direction:** Never rush. The hands move; the face doesn't.
|
||||||
|
|
||||||
|
### Department Notes
|
||||||
|
|
||||||
|
- **Camera:** Frame him tall against the tier geometry — clock head silhouette is the sell.
|
||||||
|
- **Sound:** Ambient crowd wash only; optional faint tick SFX buried in mix if editorial wants it.
|
||||||
|
- **AD:**
|
||||||
|
- **Editorial:** Normal clock form only. No Bearzel / cat form in this scene.
|
||||||
|
|
||||||
|
### Continuity Notes
|
||||||
|
|
||||||
|
Pink bowtie + **1 2 3** suit numerals + white gloves persistent. Clock hands: longer pink, shorter cyan.
|
||||||
|
|
||||||
|
### Voice Reference
|
||||||
|
|
||||||
|
- **Audio File:**
|
||||||
|
- **Reference Text:**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Extended Canon Notes
|
||||||
|
|
||||||
|
*Writer-only material preserved from the pre-Prism `Cameo-Creatures.md` + Chikn Nuggit Wiki snapshot.*
|
||||||
|
|
||||||
|
- **Source IP:** *Chikn Nuggit* — main antagonist; Living Doomsday Clock
|
||||||
|
- **Wiki:** https://chiknnuggit.fandom.com/wiki/Bezel
|
||||||
|
- **Alias:** Bez
|
||||||
|
- **Voice actor (source):** Kellen Goff
|
||||||
|
- **Forms (source — not for cutaway):** cat form (whiskers on clock face, tail, paw-hands); Bearzel bear form (forced by Chikn; heterochromatic eyes)
|
||||||
|
- **Powers (source):** teleportation, transformation, immortality, chronokinesis, invisibility
|
||||||
|
- **Name origin:** watch bezel (frame holding the crystal) — may also pun "basil"
|
||||||
|
- **LGBTQIA+ character (source wiki category);** bi-flag palette acknowledged in-series
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
# Cameoqueen86
|
# Cameoqueen86
|
||||||
|
|
||||||
> **Prism-structured profile.** Cameo creature. See `../PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# ExperimentA1ic3
|
# ExperimentA1ic3
|
||||||
|
|
||||||
> **Prism-structured profile.** Cameo creature. See `../PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
@@ -40,6 +38,7 @@ Murder-Drones-style femboy fembot: slender white plating with visible joints, bl
|
|||||||
### Reference Images
|
### Reference Images
|
||||||
|
|
||||||
- Portrait: `../pfp/cameo-experimenta1ic3/experimenta1ic3_1.jpg` *(use this variant only)*
|
- Portrait: `../pfp/cameo-experimenta1ic3/experimenta1ic3_1.jpg` *(use this variant only)*
|
||||||
|
- **Twitch profile (latest from CDN, 600×600):** `../pfp/cameo-experimenta1ic3/experimenta1ic3_twitch_latest.jpg` — refresh by re-downloading when the channel updates its avatar
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# Foxy_FNAF5_UCN
|
# Foxy_FNAF5_UCN
|
||||||
|
|
||||||
> **Prism-structured profile.** Cameo creature. See `../PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# Miclbero
|
# Miclbero
|
||||||
|
|
||||||
> **Prism-structured profile.** Cameo creature. See `../PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# NoncriticalGamingTTV
|
# NoncriticalGamingTTV
|
||||||
|
|
||||||
> **Prism-structured profile.** Cameo creature. See `../PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
@@ -14,7 +12,7 @@
|
|||||||
- **Hair Color:** Pink
|
- **Hair Color:** Pink
|
||||||
- **Hair Style:** Choppy, with rabbit and bow hair clips
|
- **Hair Style:** Choppy, with rabbit and bow hair clips
|
||||||
- **Eye Color:** Huge pink eyes with **heart** pupils and thick lashes
|
- **Eye Color:** Huge pink eyes with **heart** pupils and thick lashes
|
||||||
- **Skin Tone:** Fair (kawaii pastel)
|
- **Skin Tone:** **Extremely pale** — porcelain / paper-white kawaii skin, cool undertone; any “healthy” flush is dialed down so pink reads in hair/eyes/props, not in the face
|
||||||
- **Distinguishing Marks:** Heart-pupil eyes; rabbit + bow hair clips; stick candy habitually at the mouth
|
- **Distinguishing Marks:** Heart-pupil eyes; rabbit + bow hair clips; stick candy habitually at the mouth
|
||||||
|
|
||||||
### Identity (physical-form)
|
### Identity (physical-form)
|
||||||
@@ -35,7 +33,7 @@
|
|||||||
|
|
||||||
### Physical Description
|
### Physical Description
|
||||||
|
|
||||||
Pastel kawaii bust: choppy pink hair, huge pink eyes with heart pupils and thick lashes, rabbit and bow hair clips, stick candy at the mouth, tiny cute mascot blobs in-frame. Youthful, soft, slightly menhera-cute — the visual anchor for what NoncriticalMother ages up from in spirit.
|
Pastel kawaii bust: **extremely pale** porcelain skin, choppy pink hair, huge pink eyes with heart pupils and thick lashes, rabbit and bow hair clips, stick candy at the mouth, tiny cute mascot blobs in-frame. Youthful, soft, slightly menhera-cute — the visual anchor for what NoncriticalMother ages up from in spirit.
|
||||||
|
|
||||||
### Reference Images
|
### Reference Images
|
||||||
|
|
||||||
@@ -143,7 +141,7 @@ Featured silent beat in the chorus cutaway (`INT. THE COLOSSEUM - THE STANDS - C
|
|||||||
|
|
||||||
### Continuity Notes
|
### Continuity Notes
|
||||||
|
|
||||||
Always beside NoncriticalMother. Candy persistent; clips persistent.
|
Always beside NoncriticalMother. Candy persistent; clips persistent. **Skin: extremely pale / porcelain** — kawaii pink lives in hair, eyes, and props, not a ruddy face.
|
||||||
|
|
||||||
### Voice Reference
|
### Voice Reference
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# NoncriticalMother
|
# NoncriticalMother
|
||||||
|
|
||||||
> **Prism-structured profile.** Cameo creature. See `../PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# Pirate_Protogen
|
# Pirate_Protogen
|
||||||
|
|
||||||
> **Prism-structured profile.** Cameo creature. See `../PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
# Rayne8856
|
# Rayne8856
|
||||||
|
|
||||||
> **Prism-structured profile.** Cameo creature. See `../PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
> **Pronoun policy:** `she/her` — female; established from the reference portrait (`rayne8856_0.jpg`).
|
||||||
>
|
|
||||||
> **Pronoun policy:** default-`he` (gender not established in the source PFP or archive). Never singular `they`.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -21,7 +19,7 @@
|
|||||||
|
|
||||||
### Identity (physical-form)
|
### Identity (physical-form)
|
||||||
|
|
||||||
- **Sex:** Unspecified — default-`he` for prose
|
- **Sex:** Female
|
||||||
- **Age:**
|
- **Age:**
|
||||||
- **Birth Year:**
|
- **Birth Year:**
|
||||||
- **Birth Place:**
|
- **Birth Place:**
|
||||||
@@ -33,11 +31,11 @@
|
|||||||
- **Dominant Hand:**
|
- **Dominant Hand:**
|
||||||
- **Accent / Dialect:**
|
- **Accent / Dialect:**
|
||||||
- **Voice Quality:** *(silent in the chorus cutaway — no dialogue per scene rule)*
|
- **Voice Quality:** *(silent in the chorus cutaway — no dialogue per scene rule)*
|
||||||
- **Gait / Movement:** Foot up on the bench in front of him; subtle smirk; already nodding, small, like he's been proven right about something he never bothered to say out loud
|
- **Gait / Movement:** Foot up on the bench in front of her; subtle smirk; already nodding, small, like she's been proven right about something she never bothered to say out loud
|
||||||
|
|
||||||
### Physical Description
|
### Physical Description
|
||||||
|
|
||||||
Selfie read: long straight black hair, fair skin, subtle smirk, simple dark tee, thin chain, single earbud in one ear. Sharp, fandom-specific audience member. In the silent cutaway: foot up on the bench in front of him, confidently bored, already nodding in the quiet "I called it" register.
|
Selfie read: long straight black hair, fair skin, subtle smirk, simple dark tee, thin chain, single earbud in one ear. Sharp, fandom-specific audience member. In the silent cutaway: foot up on the bench in front of her, confidently bored, already nodding in the quiet "I called it" register.
|
||||||
|
|
||||||
### Reference Images
|
### Reference Images
|
||||||
|
|
||||||
@@ -70,11 +68,11 @@ Contemporary casual
|
|||||||
|
|
||||||
### Personality
|
### Personality
|
||||||
|
|
||||||
Sparse but distinct. Reads like a fandom-specific spectator who can shout one precise thing from the stands (in non-silent scenes). In the silent cutaway: confidently bored, already proven right about something he never bothered to say.
|
Sparse but distinct. Reads like a fandom-specific spectator who can shout one precise thing from the stands (in non-silent scenes). In the silent cutaway: confidently bored, already proven right about something she never bothered to say.
|
||||||
|
|
||||||
### Background / Backstory
|
### Background / Backstory
|
||||||
|
|
||||||
Fandom-specific spectator read. Vibe anchor: "High huge inscryption fan and highly experienced player." Pronoun default-`he` per the project-wide default-he policy (gender not established).
|
Fandom-specific spectator read. Vibe anchor: "High huge inscryption fan and highly experienced player." Female; established from the reference portrait.
|
||||||
|
|
||||||
### Traits
|
### Traits
|
||||||
|
|
||||||
@@ -110,7 +108,7 @@ Fandom-specific spectator read. Vibe anchor: "High huge inscryption fan and high
|
|||||||
|
|
||||||
### Extended History
|
### Extended History
|
||||||
|
|
||||||
Featured silent beat in the chorus cutaway (`INT. THE COLOSSEUM - THE STANDS - CONTINUOUS`): long straight black hair, fair skin, simple dark tee, thin chain, single earbud in one ear, foot up on the bench in front of him. Subtle smirk. Confidently bored. Already nodding, small, like he's been proven right about something he never bothered to say out loud.
|
Featured silent beat in the chorus cutaway (`INT. THE COLOSSEUM - THE STANDS - CONTINUOUS`): long straight black hair, fair skin, simple dark tee, thin chain, single earbud in one ear, foot up on the bench in front of her. Subtle smirk. Confidently bored. Already nodding, small, like she's been proven right about something she never bothered to say out loud.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+5
-182
@@ -1,185 +1,8 @@
|
|||||||
# Heart and Mind
|
# Heart and Mind — Index
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
> **Split profiles.** Heart and Mind are one mythic visitation in two bodies. Prism uses **one file per character** — see the individual profiles below.
|
||||||
>
|
|
||||||
> **Format note:** Heart and Mind are written as a **paired visitation** — one mythic presence in two bodies. This single profile covers both. If Prism requires strict character-per-file, split at the coworker's convenience; nothing in the file assumes one-or-two handling.
|
|
||||||
|
|
||||||
---
|
- [Heart](Heart.md) — `Heart_CCCC` / `heart_cccc` — emotional half; clipped commands
|
||||||
|
- [Mind](Mind.md) — `brush_colourful` — cerebral half; announcing register
|
||||||
|
|
||||||
## Appearance
|
Shared canon (visitation beat, `errands.ts`, bubble-interior staging) lives in both files. This index replaces the former combined profile.
|
||||||
|
|
||||||
### Physical Attributes (Heart / `heart_cccc`)
|
|
||||||
|
|
||||||
- **Height:**
|
|
||||||
- **Weight:**
|
|
||||||
- **Build:**
|
|
||||||
- **Hair Color:**
|
|
||||||
- **Hair Style:**
|
|
||||||
- **Eye Color:**
|
|
||||||
- **Skin Tone:**
|
|
||||||
- **Distinguishing Marks:**
|
|
||||||
|
|
||||||
### Physical Attributes (Mind / `brush_colourful`)
|
|
||||||
|
|
||||||
- **Height:**
|
|
||||||
- **Weight:**
|
|
||||||
- **Build:**
|
|
||||||
- **Hair Color:**
|
|
||||||
- **Hair Style:**
|
|
||||||
- **Eye Color:**
|
|
||||||
- **Skin Tone:**
|
|
||||||
- **Distinguishing Marks:**
|
|
||||||
|
|
||||||
### Identity (physical-form)
|
|
||||||
|
|
||||||
- **Sex:** Unspecified and probably beside the point — archetypal function, not demographic beings
|
|
||||||
- **Age:** Not meaningfully human-coded; maturity works more like archetypal function than personal development
|
|
||||||
- **Birth Year:**
|
|
||||||
- **Birth Place:**
|
|
||||||
- **Ethnicity:**
|
|
||||||
- **Nationality:**
|
|
||||||
|
|
||||||
### Production (physical-form)
|
|
||||||
|
|
||||||
- **Dominant Hand:**
|
|
||||||
- **Accent / Dialect:**
|
|
||||||
- **Voice Quality:** Clipped fragments; slightly broken by transmission. Heart: emotional amplitude. Mind: cerebral register.
|
|
||||||
- **Gait / Movement:** Appear suddenly, identify themselves in plain language, vanish back into myth
|
|
||||||
|
|
||||||
### Physical Description
|
|
||||||
|
|
||||||
Less like regular chatters and more like a visitation. Appear suddenly, identify themselves in plain language, speak in clipped fragments, and vanish back into myth. Surreal rather than conversational. **Two-body omen:** one emotional, one cerebral, both slightly broken by transmission. (Implied absence of a third counterpart — the Soul — is part of the read.)
|
|
||||||
|
|
||||||
### Reference Images
|
|
||||||
|
|
||||||
- Heart portrait: `pfp/heart-and-mind/heart_cccc_0.jpg`
|
|
||||||
- Mind portrait: `pfp/heart-and-mind/brush_colourful_0.jpg`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Wardrobe
|
|
||||||
|
|
||||||
### Costume Notes
|
|
||||||
|
|
||||||
Visitation-coded; no stable material wardrobe. Whatever they wear should look slightly incorrect for the arena — not cosplay, not fashion, not armor.
|
|
||||||
|
|
||||||
### Accessories & Props
|
|
||||||
|
|
||||||
—
|
|
||||||
|
|
||||||
### Era / Period
|
|
||||||
|
|
||||||
Myth / archetype
|
|
||||||
|
|
||||||
### Makeup Notes
|
|
||||||
|
|
||||||
—
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Identity
|
|
||||||
|
|
||||||
### Personality
|
|
||||||
|
|
||||||
Symbolic counterparts. Not built for relationships, not built for court hierarchy. Feel like metaphysical entities briefly ignoring the hierarchy of Rain's court. Interrupt the realm rather than petition its ruler.
|
|
||||||
|
|
||||||
**Heart** — emotional, slightly broken by transmission, issues clipped commands ("Put your viewers back"). **Mind** — cerebral, announces, paired.
|
|
||||||
|
|
||||||
### Background / Backstory
|
|
||||||
|
|
||||||
Appear once in `errands.ts` (first seen 2026-01-30), identify themselves in plain language, then vanish back into myth. Other creatures later refer back to them — the bit has a real afterimage precisely because the appearance was so short.
|
|
||||||
|
|
||||||
### Traits
|
|
||||||
|
|
||||||
- **Interests:** Archetypal interrupts; mythic cameo
|
|
||||||
- **Quirks & Habits:** Clipped fragments; plain self-identification; sudden arrival / sudden departure
|
|
||||||
- **Fears:**
|
|
||||||
- **Skills & Abilities:** Interrupting the movie's logic and leaving everyone else acting like it somehow makes sense
|
|
||||||
|
|
||||||
### Speech
|
|
||||||
|
|
||||||
- **Catch Phrases:** Heart: "Hello im the Heart"; Mind: "and I'm the Mind"; Heart: "Put your viewers back"; Heart: "Lets go mind this is"; Later callback (by other creatures): "who were those two people who said they were the heart and the mind"
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Arc
|
|
||||||
|
|
||||||
### Drive
|
|
||||||
|
|
||||||
- **Motivation:** Archetypal function, not personal development
|
|
||||||
- **Want:** *(n/a — they do not petition, they interrupt)*
|
|
||||||
- **Need:** *(n/a)*
|
|
||||||
|
|
||||||
### Opposition
|
|
||||||
|
|
||||||
- **Conflict:**
|
|
||||||
- **Lie They Believe:**
|
|
||||||
- **Ghost:**
|
|
||||||
|
|
||||||
### Change
|
|
||||||
|
|
||||||
- **Transformation:** Archetype does not change. They arrive, they leave. Residue persists — other creatures remember and reference them afterward.
|
|
||||||
- **Arc Type:** Flat
|
|
||||||
|
|
||||||
### Extended History
|
|
||||||
|
|
||||||
Visitation / heralds / minibosses, per BR function. A strange paired entity that interrupts the movie's logic and leaves everyone else acting like it somehow makes sense. Implied absent third: the Soul.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Relationships
|
|
||||||
|
|
||||||
- **Raincloud** — Indifferent / Archetype — do not seek Rain's approval; clipped commands and sudden appearance make them feel like metaphysical entities briefly ignoring the hierarchy of his court
|
|
||||||
- **Chorus (collectively)** — Mythic Intruders — strongest social footprint is the fact that other creatures remember and reference them afterward
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Production
|
|
||||||
|
|
||||||
### Requirements
|
|
||||||
|
|
||||||
- **Stunt Requirements:** Sudden-appearance / sudden-disappearance staging
|
|
||||||
- **SFX Requirements:** Transmission-broken-fragment audio/visual; blue-holographic-mist bracketing entrance and exit (optional — fits the arena-death VFX language without being a death)
|
|
||||||
|
|
||||||
### Voice Casting
|
|
||||||
|
|
||||||
- **Provider:**
|
|
||||||
- **Voice:** Heart — emotional, slightly broken. Mind — cerebral, announcing. Both clipped.
|
|
||||||
- **Direction:** Do not over-voice them. Clipped fragments. The register is announcement, not conversation.
|
|
||||||
|
|
||||||
### Department Notes
|
|
||||||
|
|
||||||
- **Camera:** Frame them like archetypes, not characters — iconic, unresolved, one-take.
|
|
||||||
- **Sound:**
|
|
||||||
- **AD:**
|
|
||||||
- **Editorial:** Short. Their appearance gets a *real afterimage* specifically because it is brief.
|
|
||||||
|
|
||||||
### Continuity Notes
|
|
||||||
|
|
||||||
Two bodies, one presence. If a later installment introduces the Soul, this entry should be re-scoped into a trinity.
|
|
||||||
|
|
||||||
### Voice Reference
|
|
||||||
|
|
||||||
- **Audio File:**
|
|
||||||
- **Reference Text:**
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Extended Canon Notes
|
|
||||||
|
|
||||||
*Writer-only material preserved from the pre-Prism profile.*
|
|
||||||
|
|
||||||
### Chat-export provenance
|
|
||||||
|
|
||||||
- Observed handles: `Heart_CCCC` as Heart, `brush_colourful` as Mind
|
|
||||||
- Activity: one direct bit in `errands.ts`, then later referenced by chat as a memorable event
|
|
||||||
- First seen: 2026-01-30 in `errands.ts`
|
|
||||||
- Confidence: Medium for the concept, low for the amount of direct dialogue
|
|
||||||
|
|
||||||
### Evidence
|
|
||||||
|
|
||||||
- Heart: "Hello im the Heart"
|
|
||||||
- Mind: "and I'm the Mind"
|
|
||||||
- Heart: "Put your viewers back"
|
|
||||||
- Heart: "Lets go mind this is"
|
|
||||||
- Later callback: "who were those two people who said they were the heart and the mind"
|
|
||||||
|
|||||||
+172
@@ -0,0 +1,172 @@
|
|||||||
|
# Heart
|
||||||
|
|
||||||
|
> **Paired archetype:** Heart and Mind are one mythic visitation in two bodies. See also [`Mind.md`](Mind.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Appearance
|
||||||
|
|
||||||
|
### Physical Attributes
|
||||||
|
|
||||||
|
- **Height:**
|
||||||
|
- **Weight:**
|
||||||
|
- **Build:**
|
||||||
|
- **Hair Color:**
|
||||||
|
- **Hair Style:**
|
||||||
|
- **Eye Color:**
|
||||||
|
- **Skin Tone:**
|
||||||
|
- **Distinguishing Marks:**
|
||||||
|
|
||||||
|
### Identity (physical-form)
|
||||||
|
|
||||||
|
- **Sex:** Unspecified and probably beside the point — archetypal function, not demographic being
|
||||||
|
- **Age:** Not meaningfully human-coded; maturity works like archetypal function rather than personal development
|
||||||
|
- **Birth Year:**
|
||||||
|
- **Birth Place:**
|
||||||
|
- **Ethnicity:**
|
||||||
|
- **Nationality:**
|
||||||
|
|
||||||
|
### Production (physical-form)
|
||||||
|
|
||||||
|
- **Dominant Hand:**
|
||||||
|
- **Accent / Dialect:**
|
||||||
|
- **Voice Quality:** Emotional amplitude; clipped fragments; slightly broken by transmission
|
||||||
|
- **Gait / Movement:** Appears suddenly, identifies in plain language, vanishes back into myth
|
||||||
|
|
||||||
|
### Physical Description
|
||||||
|
|
||||||
|
The **emotional half** of a two-body omen. Less like a regular chatter and more like a visitation — surreal rather than conversational, slightly broken by transmission. Reads as one mythic presence split across two bodies; the implied absence of a third counterpart (the Soul) is part of the paired read.
|
||||||
|
|
||||||
|
### Reference Images
|
||||||
|
|
||||||
|
- Portrait: `pfp/heart/heart_cccc_0.jpg`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Wardrobe
|
||||||
|
|
||||||
|
### Costume Notes
|
||||||
|
|
||||||
|
Visitation-coded; no stable material wardrobe. Whatever appears should look slightly incorrect for the arena — not cosplay, not fashion, not armor.
|
||||||
|
|
||||||
|
### Accessories & Props
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
### Era / Period
|
||||||
|
|
||||||
|
Myth / archetype
|
||||||
|
|
||||||
|
### Makeup Notes
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Identity
|
||||||
|
|
||||||
|
### Personality
|
||||||
|
|
||||||
|
Symbolic counterpart to Mind — not built for relationships or court hierarchy. Feels like a metaphysical entity briefly ignoring the hierarchy of Rain's court. **Emotional register:** issues clipped commands; leads the pair's exits.
|
||||||
|
|
||||||
|
### Background / Backstory
|
||||||
|
|
||||||
|
Appears once in `errands.ts` (first seen 2026-01-30), identifies as Heart in plain language, then vanishes back into myth. Other creatures later refer back to the duo — the bit has a real afterimage because the appearance was so short.
|
||||||
|
|
||||||
|
### Traits
|
||||||
|
|
||||||
|
- **Interests:** Archetypal interrupts; mythic cameo
|
||||||
|
- **Quirks & Habits:** Clipped fragments; plain self-identification; sudden arrival / sudden departure; commands rather than petitions
|
||||||
|
- **Fears:**
|
||||||
|
- **Skills & Abilities:** Interrupting the movie's logic and leaving everyone else acting like it somehow makes sense
|
||||||
|
|
||||||
|
### Speech
|
||||||
|
|
||||||
|
- **Catch Phrases:** "Hello im the Heart"; "Put your viewers back"; "Lets go mind this is"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Arc
|
||||||
|
|
||||||
|
### Drive
|
||||||
|
|
||||||
|
- **Motivation:** Archetypal function, not personal development
|
||||||
|
- **Want:** *(n/a — does not petition, interrupts)*
|
||||||
|
- **Need:**
|
||||||
|
|
||||||
|
### Opposition
|
||||||
|
|
||||||
|
- **Conflict:**
|
||||||
|
- **Lie They Believe:**
|
||||||
|
- **Ghost:**
|
||||||
|
|
||||||
|
### Change
|
||||||
|
|
||||||
|
- **Transformation:** Archetype does not change. Arrives, leaves. Residue persists — other creatures remember and reference the pair afterward.
|
||||||
|
- **Arc Type:** Flat
|
||||||
|
|
||||||
|
### Extended History
|
||||||
|
|
||||||
|
Visitation / herald / miniboss function in BR. Heart is the **emotional** voice of the paired entity that interrupts the movie's logic. In the bubble-interior beat, glances with Mind at the cloak-hem without apparent coordination.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Relationships
|
||||||
|
|
||||||
|
- **Mind** — Paired Archetype — one mythic presence in two bodies; cerebral counterpart
|
||||||
|
- **Raincloud** — Indifferent / Archetype — does not seek Rain's approval; clipped commands make Heart feel like a metaphysical entity briefly ignoring court hierarchy
|
||||||
|
- **Chorus (collectively)** — Mythic Intruder — strongest social footprint is that other creatures remember and reference the pair afterward
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Production
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
|
||||||
|
- **Stunt Requirements:** Sudden-appearance / sudden-disappearance staging; paired glance beats with Mind
|
||||||
|
- **SFX Requirements:** Transmission-broken-fragment audio/visual; blue-holographic-mist bracketing entrance and exit (optional — fits arena-death VFX language without being a death)
|
||||||
|
|
||||||
|
### Voice Casting
|
||||||
|
|
||||||
|
- **Provider:**
|
||||||
|
- **Voice:** Emotional, slightly broken by transmission. Clipped fragments — announcement, not conversation.
|
||||||
|
- **Direction:** Do not over-voice. The register is command and quatrain, not chat.
|
||||||
|
|
||||||
|
### Department Notes
|
||||||
|
|
||||||
|
- **Camera:** Frame like an archetype, not a regular character — iconic, unresolved, one-take. Always readable as half of a pair when Mind is in frame.
|
||||||
|
- **Sound:**
|
||||||
|
- **AD:**
|
||||||
|
- **Editorial:** Short. The visitation gets a *real afterimage* specifically because it is brief.
|
||||||
|
|
||||||
|
### Continuity Notes
|
||||||
|
|
||||||
|
Always paired with Mind in canon. If a later installment introduces the Soul, re-scope Heart into a trinity with Mind and Soul.
|
||||||
|
|
||||||
|
### Voice Reference
|
||||||
|
|
||||||
|
- **Audio File:**
|
||||||
|
- **Reference Text:**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Extended Canon Notes
|
||||||
|
|
||||||
|
*Writer-only material preserved from the pre-split `Heart-and-Mind.md` profile.*
|
||||||
|
|
||||||
|
### Chat-export provenance
|
||||||
|
|
||||||
|
- Observed handle: `Heart_CCCC` (`heart_cccc`)
|
||||||
|
- Activity: one direct bit in `errands.ts`, then later referenced by chat as a memorable event
|
||||||
|
- First seen: 2026-01-30 in `errands.ts`
|
||||||
|
- Confidence: Medium for the concept, low for the amount of direct dialogue
|
||||||
|
|
||||||
|
### Evidence (Heart lines)
|
||||||
|
|
||||||
|
- "Hello im the Heart"
|
||||||
|
- "Put your viewers back"
|
||||||
|
- "Lets go mind this is"
|
||||||
|
|
||||||
|
### Pair callback (by other creatures)
|
||||||
|
|
||||||
|
- "who were those two people who said they were the heart and the mind"
|
||||||
+23
-14
@@ -1,6 +1,6 @@
|
|||||||
# Jenni
|
# Jenni
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
> **Render lock:** **2D styled** at all times — cel-shaded / flat-color **anime illustration** (clean outlines, paper-flat or soft-gradient fills); never 3D model, never photoreal actor-in-suit unless a deliberate Gumball clash plate calls for it (see below).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -10,12 +10,12 @@
|
|||||||
|
|
||||||
- **Height:**
|
- **Height:**
|
||||||
- **Weight:**
|
- **Weight:**
|
||||||
- **Build:** Anime-realistic anthro cat girl; curvy hourglass proportions, soft lines, feminine athletic
|
- **Build:** Anime-realistic anthro **vulpine** girl; slender-to-hourglass proportions, soft lines, feminine athletic
|
||||||
- **Hair Color:** Pink
|
- **Hair Color:** Pink
|
||||||
- **Hair Style:** Medium-length, parted with a side lock pulled forward (not a strict bob; the PFP reads as bob because it's cropped)
|
- **Hair Style:** Straight pink bangs framing the face; length reads **chin bob** in portrait refs and **about shoulder-length** on the turnaround sheet — illustrator variance, not a lore split
|
||||||
- **Eye Color:** Big blue
|
- **Eye Color:** Big bright blue
|
||||||
- **Skin Tone:** Light
|
- **Skin Tone / Fur:** Fair skin on neck and hands; face and body coat **pale / off-white** with **pink** on crown and outer ears
|
||||||
- **Distinguishing Marks:** Upright pink cat ears on top of head; pink, flexible, expressive cat tail; soft natural lashes; small nose; small smile at rest; **human** face (no feline muzzle — the PFP muzzle is stylization)
|
- **Distinguishing Marks:** Large pointed **pink ears** with **pale fluffy inner tufts**; **blue eyes** with heavy stylized lashes; small **dark triangular nose**; soft **anthro muzzle / lower-face white fur mask** (light, anime-readable — not a hyper-real furry snout); playful **blep** allowed for cheeky beats; **tail** is ref-dependent: **full bushy pink** in the lounge pose (`jenni2`) vs **longer, slimmer tail with a pink teardrop tuft** on the character sheet (`jenniref`) — treat as the same Jenni across draw styles
|
||||||
|
|
||||||
### Identity (physical-form)
|
### Identity (physical-form)
|
||||||
|
|
||||||
@@ -35,14 +35,20 @@
|
|||||||
|
|
||||||
### Physical Description
|
### Physical Description
|
||||||
|
|
||||||
Anime-realistic anthro cat girl on a walking-around build: human face, upright pink cat ears, pink cat tail, medium-length pink hair with a side lock pulled forward, big blue eyes. Cropped pink tee exposing the midriff, black fitted athletic/bike shorts, black ankle socks, black sneakers. Casual streetwear; reads as "just-off-a-commission-day" comfortable, not dressed up.
|
**2D-styled** anime-realistic anthro **fox / vulpine** girl (cel / illustration read — never a 3D model baseline): pink outer ears with pale inner fluff, pink hair with bangs, big blue eyes, pale coat on face and limbs. Wardrobe splits cleanly across refs — **design anchor is the `Story/ref` trio**; older assets are supporting.
|
||||||
|
|
||||||
**Native render context (Gumball Rule):** renders in **clean anime-girl style on photo-real backgrounds** — her full-body ref's backdrop is a literal photograph (blue Mini Cooper in a leafy parking lot). When she appears in the colosseum, she stays in anime-girl render language against the Catmull-Baroque architecture; the style clash is the Gumball joke per `Worldbuilding.md`. Do **not** re-render her to "match" the dragon's painterly scale.
|
- **Turnaround + palette (default "sheet" canon):** `Story/ref/jenniref.webp` — front / side / back, **light pink crop tee**, **charcoal bike shorts**, **black high-tops** with a **pink ankle band**; **black choker** with a small **pale charm**; **multi-color bead bracelets** on both wrists; tail silhouette per sheet (longer body, **pink tuft** at tip).
|
||||||
|
- **Portrait / expression + jewelry pass:** `Story/ref/jenni3.webp` — **warm pink crew tee**, **lavender flat backdrop**; **red teardrop gem** on a **thin black cord**; **two small gold hoops** per ear; **rings** (red gem on index, **blue + pink stacked bands** on middle); **brown leather strap** wristwear (watch / bracelet); optional playful **blep**.
|
||||||
|
- **Lounge / props study:** `Story/ref/jenni2.jpg` — relaxed on a **dark beanbag**, **pink crop tee**, **dark shorts**, **plain light-blue field**; cluster of translucent **gummy-style** mascot critters (**green bear**, **yellow elephant**, **teal cat**, **round blue smile blob**) — cute-shot iconography, not mandatory in every scene.
|
||||||
|
- **Legacy photo backdrop (still usable):** `Assets/refs/Jenni_fullbody.png` — anime figure on a **photo-real** location plate (blue Mini Cooper, leafy lot) for Gumball contrast experiments.
|
||||||
|
- **PFP:** `pfp/jenni/jennimilano_0.jpg` — older square crop; defer to `Story/ref` for species, tail, and jewelry specifics when they disagree.
|
||||||
|
|
||||||
|
**Native render context (Gumball Rule):** she still reads as **2D** — **clean cel anime** — against **photo-real or Catmull-Baroque** sets — use `Jenni_fullbody.png` or equivalent plates when you want the **literal photo background** joke; the flat-color ref backs (`lavender`, dusty rose, light blue) are valid too. Do **not** re-render her to "match" the dragon's painterly scale.
|
||||||
|
|
||||||
### Reference Images
|
### Reference Images
|
||||||
|
|
||||||
- Portrait (PFP stylized): `pfp/jenni/jennimilano_0.jpg` *(feline muzzle and red-gem accessories are PFP-only flavor)*
|
- **Primary (current):** `Story/ref/jenniref.webp` *(turnaround + color swatches)* · `Story/ref/jenni3.webp` *(bust, face, jewelry)* · `Story/ref/jenni2.jpg` *(lounge, beanbag, gummy props, bushy tail)*
|
||||||
- Full-body reference (primary, walking-around canon): `Assets/refs/Jenni_fullbody.png`
|
- **Supporting:** `Assets/refs/Jenni_fullbody.png` *(photo-backdrop walking plate)* · `pfp/jenni/jennimilano_0.jpg` *(legacy PFP)*
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -50,11 +56,14 @@ Anime-realistic anthro cat girl on a walking-around build: human face, upright p
|
|||||||
|
|
||||||
### Costume Notes
|
### Costume Notes
|
||||||
|
|
||||||
Cropped pink tee + black fitted athletic/bike shorts + black ankle socks + black sneakers. Casual streetwear. No canonical accessories on the full-body. The PFP's red-gem choker / ring / bracelet set is PFP-only flavor — optional for stylized cutaways, not baseline.
|
**On-the-clock / walking-around:** light or warm **pink cropped tee**, **charcoal or black bike shorts**, **black high-tops** with a **pink ankle stripe** (see `jenniref`, `Jenni_fullbody`). **At-home / pin-up casual:** same shorts grammar with a **pink crop top**, beanbag optional (`jenni2`). **Portrait tee:** slightly warmer pink **crew-neck** shirt (`jenni3`).
|
||||||
|
|
||||||
|
**Jewelry / trim (canon from refs, not PFP-only):** thin **black cord** with **large red teardrop pendant**; **gold ear hoops**; **red gem ring** + **blue/pink dual band**; **brown leather-strap wristwear**; **black choker** with small **pale charm**; **beaded bracelets** mixing **blue, pink, yellow, cyan, lime** accents — mix to match the active ref (portrait vs turnaround) instead of piling every piece into one frame unless the shot calls for it.
|
||||||
|
|
||||||
### Accessories & Props
|
### Accessories & Props
|
||||||
|
|
||||||
- **Stylus + thin tablet** (signature prop, always in hand or tucked under arm — her work-context anchor)
|
- **Stylus + thin tablet** (signature prop, always in hand or tucked under arm — her work-context anchor)
|
||||||
|
- **Translucent gummy-style mascot figures** — optional cute clutter near her in lounge shots (`jenni2`): green bear, yellow elephant, teal cat, blue smile sphere
|
||||||
- Pouch or satchel over the cute-mascot silhouette (optional)
|
- Pouch or satchel over the cute-mascot silhouette (optional)
|
||||||
|
|
||||||
### Era / Period
|
### Era / Period
|
||||||
@@ -133,7 +142,7 @@ Dual-hat chorus member + commissioned artist. Her commissioned work (emote gargo
|
|||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
- **Stunt Requirements:** Arena-navigation for a non-combatant professional; death choreography (mist-poof)
|
- **Stunt Requirements:** Arena-navigation for a non-combatant professional; death choreography (mist-poof)
|
||||||
- **SFX Requirements:** Mist-poof on death; maintain anime-style render language against the colosseum (Gumball clash is load-bearing)
|
- **SFX Requirements:** Mist-poof on death; maintain **2D anime-cel** render language on her at all times against the colosseum (Gumball clash is load-bearing)
|
||||||
|
|
||||||
### Voice Casting
|
### Voice Casting
|
||||||
|
|
||||||
@@ -143,14 +152,14 @@ Dual-hat chorus member + commissioned artist. Her commissioned work (emote gargo
|
|||||||
|
|
||||||
### Department Notes
|
### Department Notes
|
||||||
|
|
||||||
- **Camera:** Stay anime-style on her against Catmull-Baroque architecture — the style clash is the point (Gumball Rule, see `Worldbuilding.md`).
|
- **Camera:** Stay **2D** anime-style on her against Catmull-Baroque architecture — the style clash is the point (Gumball Rule, see `Worldbuilding.md`).
|
||||||
- **Sound:**
|
- **Sound:**
|
||||||
- **AD:**
|
- **AD:**
|
||||||
- **Editorial:** Her work (emote gargoyles, sub-banner chains) is visible set dressing — point the camera at it occasionally without comment.
|
- **Editorial:** Her work (emote gargoyles, sub-banner chains) is visible set dressing — point the camera at it occasionally without comment.
|
||||||
|
|
||||||
### Continuity Notes
|
### Continuity Notes
|
||||||
|
|
||||||
PFP feline muzzle and red-gem set are PFP-only flourish — do not render on the walking-around canon. Full-body ref is primary. Stylus + tablet always in hand or tucked under arm.
|
**Design lock:** **2D-styled** character — same rules in portrait, turnaround, and arena cuts. Use `Story/ref/jenniref.webp` + `jenni3.webp` + `jenni2.jpg` before falling back to older crops. **Species read** is **vulpine / fox-type anthro** in the new set (large tufted ears; tail shape varies per ref as noted above). **Gem + metal jewelry** is continuity-safe when sourced from those refs. Stylus + tablet remain the on-duty anchor for work beats.
|
||||||
|
|
||||||
### Voice Reference
|
### Voice Reference
|
||||||
|
|
||||||
|
|||||||
+170
@@ -0,0 +1,170 @@
|
|||||||
|
# Mind
|
||||||
|
|
||||||
|
> **Paired archetype:** Heart and Mind are one mythic visitation in two bodies. See also [`Heart.md`](Heart.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Appearance
|
||||||
|
|
||||||
|
### Physical Attributes
|
||||||
|
|
||||||
|
- **Height:**
|
||||||
|
- **Weight:**
|
||||||
|
- **Build:**
|
||||||
|
- **Hair Color:**
|
||||||
|
- **Hair Style:**
|
||||||
|
- **Eye Color:**
|
||||||
|
- **Skin Tone:**
|
||||||
|
- **Distinguishing Marks:**
|
||||||
|
|
||||||
|
### Identity (physical-form)
|
||||||
|
|
||||||
|
- **Sex:** Unspecified and probably beside the point — archetypal function, not demographic being
|
||||||
|
- **Age:** Not meaningfully human-coded; maturity works like archetypal function rather than personal development
|
||||||
|
- **Birth Year:**
|
||||||
|
- **Birth Place:**
|
||||||
|
- **Ethnicity:**
|
||||||
|
- **Nationality:**
|
||||||
|
|
||||||
|
### Production (physical-form)
|
||||||
|
|
||||||
|
- **Dominant Hand:**
|
||||||
|
- **Accent / Dialect:**
|
||||||
|
- **Voice Quality:** Cerebral register; clipped fragments; slightly broken by transmission
|
||||||
|
- **Gait / Movement:** Appears suddenly, identifies in plain language, vanishes back into myth
|
||||||
|
|
||||||
|
### Physical Description
|
||||||
|
|
||||||
|
The **cerebral half** of a two-body omen. Less like a regular chatter and more like a visitation — surreal rather than conversational, slightly broken by transmission. Reads as one mythic presence split across two bodies; the implied absence of a third counterpart (the Soul) is part of the paired read.
|
||||||
|
|
||||||
|
### Reference Images
|
||||||
|
|
||||||
|
- Portrait: `pfp/mind/brush_colourful_0.jpg`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Wardrobe
|
||||||
|
|
||||||
|
### Costume Notes
|
||||||
|
|
||||||
|
Visitation-coded; no stable material wardrobe. Whatever appears should look slightly incorrect for the arena — not cosplay, not fashion, not armor.
|
||||||
|
|
||||||
|
### Accessories & Props
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
### Era / Period
|
||||||
|
|
||||||
|
Myth / archetype
|
||||||
|
|
||||||
|
### Makeup Notes
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Identity
|
||||||
|
|
||||||
|
### Personality
|
||||||
|
|
||||||
|
Symbolic counterpart to Heart — not built for relationships or court hierarchy. Feels like a metaphysical entity briefly ignoring the hierarchy of Rain's court. **Cerebral register:** announces; paired; follows Heart's lead on exit beats.
|
||||||
|
|
||||||
|
### Background / Backstory
|
||||||
|
|
||||||
|
Appears once in `errands.ts` (first seen 2026-01-30), identifies as Mind in plain language, then vanishes back into myth. Other creatures later refer back to the duo — the bit has a real afterimage because the appearance was so short.
|
||||||
|
|
||||||
|
### Traits
|
||||||
|
|
||||||
|
- **Interests:** Archetypal interrupts; mythic cameo
|
||||||
|
- **Quirks & Habits:** Clipped fragments; plain self-identification; sudden arrival / sudden departure; announcing rather than petitioning
|
||||||
|
- **Fears:**
|
||||||
|
- **Skills & Abilities:** Interrupting the movie's logic and leaving everyone else acting like it somehow makes sense
|
||||||
|
|
||||||
|
### Speech
|
||||||
|
|
||||||
|
- **Catch Phrases:** "and I'm the Mind"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Arc
|
||||||
|
|
||||||
|
### Drive
|
||||||
|
|
||||||
|
- **Motivation:** Archetypal function, not personal development
|
||||||
|
- **Want:** *(n/a — does not petition, interrupts)*
|
||||||
|
- **Need:**
|
||||||
|
|
||||||
|
### Opposition
|
||||||
|
|
||||||
|
- **Conflict:**
|
||||||
|
- **Lie They Believe:**
|
||||||
|
- **Ghost:**
|
||||||
|
|
||||||
|
### Change
|
||||||
|
|
||||||
|
- **Transformation:** Archetype does not change. Arrives, leaves. Residue persists — other creatures remember and reference the pair afterward.
|
||||||
|
- **Arc Type:** Flat
|
||||||
|
|
||||||
|
### Extended History
|
||||||
|
|
||||||
|
Visitation / herald / miniboss function in BR. Mind is the **cerebral** voice of the paired entity that interrupts the movie's logic. In the bubble-interior beat, glances with Heart at the cloak-hem without apparent coordination.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Relationships
|
||||||
|
|
||||||
|
- **Heart** — Paired Archetype — one mythic presence in two bodies; emotional counterpart
|
||||||
|
- **Raincloud** — Indifferent / Archetype — does not seek Rain's approval; sudden appearance makes Mind feel like a metaphysical entity briefly ignoring court hierarchy
|
||||||
|
- **Chorus (collectively)** — Mythic Intruder — strongest social footprint is that other creatures remember and reference the pair afterward
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Production
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
|
||||||
|
- **Stunt Requirements:** Sudden-appearance / sudden-disappearance staging; paired glance beats with Heart
|
||||||
|
- **SFX Requirements:** Transmission-broken-fragment audio/visual; blue-holographic-mist bracketing entrance and exit (optional — fits arena-death VFX language without being a death)
|
||||||
|
|
||||||
|
### Voice Casting
|
||||||
|
|
||||||
|
- **Provider:**
|
||||||
|
- **Voice:** Cerebral, announcing. Clipped fragments — announcement, not conversation.
|
||||||
|
- **Direction:** Do not over-voice. One line can carry the whole read.
|
||||||
|
|
||||||
|
### Department Notes
|
||||||
|
|
||||||
|
- **Camera:** Frame like an archetype, not a regular character — iconic, unresolved, one-take. Always readable as half of a pair when Heart is in frame.
|
||||||
|
- **Sound:**
|
||||||
|
- **AD:**
|
||||||
|
- **Editorial:** Short. The visitation gets a *real afterimage* specifically because it is brief.
|
||||||
|
|
||||||
|
### Continuity Notes
|
||||||
|
|
||||||
|
Always paired with Heart in canon. If a later installment introduces the Soul, re-scope Mind into a trinity with Heart and Soul.
|
||||||
|
|
||||||
|
### Voice Reference
|
||||||
|
|
||||||
|
- **Audio File:**
|
||||||
|
- **Reference Text:**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Extended Canon Notes
|
||||||
|
|
||||||
|
*Writer-only material preserved from the pre-split `Heart-and-Mind.md` profile.*
|
||||||
|
|
||||||
|
### Chat-export provenance
|
||||||
|
|
||||||
|
- Observed handle: `brush_colourful`
|
||||||
|
- Activity: one direct bit in `errands.ts`, then later referenced by chat as a memorable event
|
||||||
|
- First seen: 2026-01-30 in `errands.ts`
|
||||||
|
- Confidence: Medium for the concept, low for the amount of direct dialogue
|
||||||
|
|
||||||
|
### Evidence (Mind lines)
|
||||||
|
|
||||||
|
- "and I'm the Mind"
|
||||||
|
|
||||||
|
### Pair callback (by other creatures)
|
||||||
|
|
||||||
|
- "who were those two people who said they were the heart and the mind"
|
||||||
+5
-7
@@ -1,7 +1,5 @@
|
|||||||
# Noname
|
# Noname
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
>
|
|
||||||
> **Pronoun policy:** presumed male, `he/him` in all narration unless explicit canon revises. Never singular `they`.
|
> **Pronoun policy:** presumed male, `he/him` in all narration unless explicit canon revises. Never singular `they`.
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -13,10 +11,10 @@
|
|||||||
- **Height:**
|
- **Height:**
|
||||||
- **Weight:**
|
- **Weight:**
|
||||||
- **Build:** Small anthro-adjacent; unremarkable and slightly too still
|
- **Build:** Small anthro-adjacent; unremarkable and slightly too still
|
||||||
- **Hair Color:** Dark (fur)
|
- **Hair Color:** Neon alien green (fur)
|
||||||
- **Hair Style:** N/A (fur)
|
- **Hair Style:** N/A (fur)
|
||||||
- **Eye Color:** Pale-yellow, oversized, bug-eyed
|
- **Eye Color:** Pale-yellow, oversized, bug-eyed
|
||||||
- **Skin Tone:** Dark cat fur
|
- **Skin Tone:** Neon alien-green cat fur
|
||||||
- **Distinguishing Marks:** Edited full grin of **human teeth**; two thin segmented alien antennae rising from the top of the head, each tipped with a small bulb that occasionally twitches — **not a bit**, not commented on, nobody in-world ever asks about them
|
- **Distinguishing Marks:** Edited full grin of **human teeth**; two thin segmented alien antennae rising from the top of the head, each tipped with a small bulb that occasionally twitches — **not a bit**, not commented on, nobody in-world ever asks about them
|
||||||
|
|
||||||
### Identity (physical-form)
|
### Identity (physical-form)
|
||||||
@@ -37,7 +35,7 @@
|
|||||||
|
|
||||||
### Physical Description
|
### Physical Description
|
||||||
|
|
||||||
Extreme fisheye close-up of a small dark cat with an edited full grin of human teeth and oversized pale-yellow bug eyes. Couch/bed background in the PFP — uncanny meme energy. **Full-body BR canon:** the face stays cursed at all camera angles (human teeth grin, pale-yellow bug eyes); rest of the body is unremarkable and slightly too still. Alien antennae — two thin segmented stalks rising from the top of the head, each tipped with a small bulb that occasionally twitches. The antennae are **not a bit**, not commented on, nobody in-world ever asks about them. Treat like the teeth and eyes: canonical and unexplained.
|
Extreme fisheye close-up of a small cat in **neon alien-green** fur with an edited full grin of human teeth and oversized pale-yellow bug eyes. Couch/bed background in the PFP — uncanny meme energy. **Full-body BR canon:** the face stays cursed at all camera angles (human teeth grin, pale-yellow bug eyes); rest of the body is unremarkable **neon alien-green fur** and slightly too still. Alien antennae — two thin segmented stalks rising from the top of the head, each tipped with a small bulb that occasionally twitches. The antennae are **not a bit**, not commented on, nobody in-world ever asks about them. Treat like the teeth and eyes: canonical and unexplained.
|
||||||
|
|
||||||
### Reference Images
|
### Reference Images
|
||||||
|
|
||||||
@@ -49,7 +47,7 @@ Extreme fisheye close-up of a small dark cat with an edited full grin of human t
|
|||||||
|
|
||||||
### Costume Notes
|
### Costume Notes
|
||||||
|
|
||||||
None (fur + face).
|
None (**neon alien-green** fur + face).
|
||||||
|
|
||||||
### Accessories & Props
|
### Accessories & Props
|
||||||
|
|
||||||
@@ -146,7 +144,7 @@ Betrayal beat with Rooster earlier in the arena; later dies after apologizing to
|
|||||||
|
|
||||||
### Continuity Notes
|
### Continuity Notes
|
||||||
|
|
||||||
Face stays cursed at all angles — human-teeth grin, pale-yellow bug eyes. Antennae never commented on by any character.
|
Face stays cursed at all angles / human-teeth grin / pale-yellow bug eyes. Body: **neon alien-green fur**, unremarkable silhouette. Antennae never commented on by any character.
|
||||||
|
|
||||||
### Voice Reference
|
### Voice Reference
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# NotoriousRooster
|
# NotoriousRooster
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
>
|
|
||||||
> **Pronoun policy:** public prose defaults to **`he`** (the rooster persona is socially read as male because the affect is loud/boisterous and "rooster" implies male). Reserve **`she`** for writer-frame reality checks only — this Identity section, reveal-era lines. Never `they`.
|
> **Pronoun policy:** public prose defaults to **`he`** (the rooster persona is socially read as male because the affect is loud/boisterous and "rooster" implies male). Reserve **`she`** for writer-frame reality checks only — this Identity section, reveal-era lines. Never `they`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
+5
-4
@@ -11,20 +11,21 @@ These profiles were built from 102 TwitchDownloader chat exports in `MixerTwitch
|
|||||||
6. Azure
|
6. Azure
|
||||||
7. Starboy
|
7. Starboy
|
||||||
8. Jenni
|
8. Jenni
|
||||||
9. Heart and Mind
|
9. Heart
|
||||||
10. Beanie
|
10. Mind
|
||||||
|
11. Beanie
|
||||||
|
|
||||||
## Additional Docs
|
## Additional Docs
|
||||||
- `RaincloudTheDragon.md` covers the sovereign host role.
|
- `RaincloudTheDragon.md` covers the sovereign host role.
|
||||||
- `BD.md` covers the silent throne-room pet (promoted from the old cameo collection — he is a recurring fixture in the film).
|
- `BD.md` covers the silent throne-room pet (promoted from the old cameo collection — he is a recurring fixture in the film).
|
||||||
- `Cameo-Creatures.md` is now an **index** pointing at per-character Prism profiles under `Cameos/` (ExperimentA1ic3, NoncriticalMother, NoncriticalGamingTTV, Pirate_Protogen, Foxy_FNAF5_UCN, Basedgymrat, Miclbero, Cameoqueen86, Rayne8856).
|
- `Cameo-Creatures.md` is now an **index** pointing at per-character Prism profiles under `Cameos/` (ExperimentA1ic3, NoncriticalMother, NoncriticalGamingTTV, Pirate_Protogen, Foxy_FNAF5_UCN, Basedgymrat, Miclbero, Cameoqueen86, Rayne8856, Bezel the Clock).
|
||||||
- `PRISM_FORMAT.md` documents the Prism section layout, field map, and AI-Fill policy that every profile in this folder now follows.
|
- `PRISM_FORMAT.md` documents the Prism section layout, field map, and AI-Fill policy that every profile in this folder now follows.
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
- `Azure` is now consolidated from the confirmed handles `guidingflyer530` and `actuallynotazure`.
|
- `Azure` is now consolidated from the confirmed handles `guidingflyer530` and `actuallynotazure`.
|
||||||
- `Ubear` is the canonical name for the creature later seen as `AncientMalgru` / `AnCIentmalGru`; the confirmed alias cluster also includes `verify52w` and `Sky_City_2013`. `imnoob87` remains tentative. **Adventure Quest** runs through his character: **UbearAQ** / AQ Addicts history, the **Ubear** forme’s AQ-style art, and **`AncientMalgru`** as both his alias and the name of a **rare fish item** in AQ. [Ubear.md](Ubear.md) has lore (shapeshifter, favorite **Ubear** forme), design ref, and handle provenance.
|
- `Ubear` is the canonical name for the creature later seen as `AncientMalgru` / `AnCIentmalGru`; the confirmed alias cluster also includes `verify52w` and `Sky_City_2013`. `imnoob87` remains tentative. **Adventure Quest** runs through his character: **UbearAQ** / AQ Addicts history, the **Ubear** forme’s AQ-style art, and **`AncientMalgru`** as both his alias and the name of a **rare fish item** in AQ. [Ubear.md](Ubear.md) has lore (shapeshifter, favorite **Ubear** forme), design ref, and handle provenance.
|
||||||
- `Agate` is still an intentionally sparse read inside the archive itself, but your project notes establish that she predates the captured JSON range.
|
- `Agate` is still an intentionally sparse read inside the archive itself, but your project notes establish that she predates the captured JSON range.
|
||||||
- `Heart and Mind` is based on the one-off `errands.ts` bit, where `Heart_CCCC` introduces himself as Heart and `brush_colourful` introduces himself as Mind, plus later chat references to the duo.
|
- `Heart` and `Mind` are a paired mythic visitation (one presence, two bodies), based on the one-off `errands.ts` bit where `Heart_CCCC` introduces himself as Heart and `brush_colourful` introduces himself as Mind, plus later chat references to the duo. Profiles: [Heart.md](Heart.md), [Mind.md](Mind.md).
|
||||||
- `other-creatures.txt` excludes the currently profiled docs and the confirmed alias consolidations above.
|
- `other-creatures.txt` excludes the currently profiled docs and the confirmed alias consolidations above.
|
||||||
- Primary roster files now include explicit `Relationships` and `Regard for Raincloud` sections based on archive interaction patterns plus your project notes.
|
- Primary roster files now include explicit `Relationships` and `Regard for Raincloud` sections based on archive interaction patterns plus your project notes.
|
||||||
- `Identity` sections are canon-facing notes based on your direct guidance first, with chat logs used only where they support rather than override that canon.
|
- `Identity` sections are canon-facing notes based on your direct guidance first, with chat logs used only where they support rather than override that canon.
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# RaincloudTheDragon
|
# RaincloudTheDragon
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
|
|||||||
+6
-6
@@ -1,6 +1,6 @@
|
|||||||
# Starboy
|
# Starboy
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
> **Render lock:** **2D styled** only — **anime** execution, **Dillon Goo Studios–esque** (polished high-production 2D character work: appeal-first shapes, slick gradients where needed, crisp line/color discipline, motion-friendly reads — **not** photoreal, **not** western flat-toon default, **not** 3D toon-shaded unless a scripted style gag says otherwise).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
### Physical Description
|
### Physical Description
|
||||||
|
|
||||||
Night-sky winter fashion: light-gray ribbed turtleneck under a blue jacket with a thick beige shearling collar. Layered teal-to-aqua hair with star specks. Galaxy eyes (purple-blue with mountain silhouette and star pupils). Pink cheek blush. Big four-point star hair clip plus a small fluffy cloud clip.
|
**Always 2D, anime-styled** — **Dillon Goo Studios–esque** polish on the read (clean silhouette, modern anime surface quality). Night-sky winter fashion: light-gray ribbed turtleneck under a blue jacket with a thick beige shearling collar. Layered teal-to-aqua hair with star specks. Galaxy eyes (purple-blue with mountain silhouette and star pupils). Pink cheek blush. Big four-point star hair clip plus a small fluffy cloud clip.
|
||||||
|
|
||||||
### Reference Images
|
### Reference Images
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ Night-sky winter fashion: light-gray ribbed turtleneck under a blue jacket with
|
|||||||
|
|
||||||
### Costume Notes
|
### Costume Notes
|
||||||
|
|
||||||
Light-gray ribbed turtleneck + blue jacket with thick beige shearling collar. Reads as "night-sky winter fashion." Clip set on the hair stays on across scenes.
|
Light-gray ribbed turtleneck + blue jacket with thick beige shearling collar. Reads as "night-sky winter fashion." Clip set on the hair stays on across scenes. **Wardrobe holds the same 2D anime line weight** as the face — no accidental "real fabric" break unless a deliberate style clash is written.
|
||||||
|
|
||||||
### Accessories & Props
|
### Accessories & Props
|
||||||
|
|
||||||
@@ -141,7 +141,7 @@ Paired with Agate in Ubear's mercy-invoice kill arc — the two deaths that esta
|
|||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
- **Stunt Requirements:** Performer bits; death choreography (mist-poof paired with Agate)
|
- **Stunt Requirements:** Performer bits; death choreography (mist-poof paired with Agate)
|
||||||
- **SFX Requirements:** Mist-poof dissolve on death
|
- **SFX Requirements:** Mist-poof dissolve on death; keep **2D anime** (Dillon Goo–lane polish) on him in every master — no sneaky 3D double
|
||||||
|
|
||||||
### Voice Casting
|
### Voice Casting
|
||||||
|
|
||||||
@@ -151,14 +151,14 @@ Paired with Agate in Ubear's mercy-invoice kill arc — the two deaths that esta
|
|||||||
|
|
||||||
### Department Notes
|
### Department Notes
|
||||||
|
|
||||||
- **Camera:**
|
- **Camera:** **2D anime** lock; composite him like a high-end character piece (Dillon Goo–esque clarity), not a plate of a real person
|
||||||
- **Sound:**
|
- **Sound:**
|
||||||
- **AD:**
|
- **AD:**
|
||||||
- **Editorial:** **Do not** paste SI or bereavement content into on-screen dialogue unless deliberately writing a quiet, consent-aware private scene.
|
- **Editorial:** **Do not** paste SI or bereavement content into on-screen dialogue unless deliberately writing a quiet, consent-aware private scene.
|
||||||
|
|
||||||
### Continuity Notes
|
### Continuity Notes
|
||||||
|
|
||||||
Alias signal — Ruford / `ijustdunnoanymore` signals exhaustion; keep the alias available if a quieter private-register beat is ever written.
|
**2D anime render lock** (Dillon Goo Studios–esque). Alias signal — Ruford / `ijustdunnoanymore` signals exhaustion; keep the alias available if a quieter private-register beat is ever written.
|
||||||
|
|
||||||
### Voice Reference
|
### Voice Reference
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# Ubear / Malgru
|
# Ubear / Malgru
|
||||||
|
|
||||||
> **Prism-structured profile.** See `PRISM_FORMAT.md`. Fields Prism cannot absorb are preserved under *Extended Canon Notes*.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ Characters come from **different native universes** and **render in different na
|
|||||||
### Per-character rendering cast (BR roster)
|
### Per-character rendering cast (BR roster)
|
||||||
|
|
||||||
- **Raincloud** — adult anthro dragon, painterly / clean-cartoon hybrid (matches his refs: flat-color PFP crop + painted vtuber still both canonical).
|
- **Raincloud** — adult anthro dragon, painterly / clean-cartoon hybrid (matches his refs: flat-color PFP crop + painted vtuber still both canonical).
|
||||||
- **Azure** — JoJo-stylized anime figure, bold-ink Killer Queen silhouette, with the literal-object John Cena tee as a physical-prop gag.
|
- **Azure** — JoJo / **Killer Queen–inflected** anime-ink figure: porcelain-periwinkle **skin** (not armor — ref portraits), shifted-hue stand-user silhouette, John Cena tee as physical-prop gag.
|
||||||
- **Ubear** — cartoon-mascot bear with a steampunk-rendered mechanical arm (two render languages on one body; leave the seam visible).
|
- **Ubear** — cartoon-mascot bear with a steampunk-rendered mechanical arm (two render languages on one body; leave the seam visible).
|
||||||
- **Starboy** — chibi proportions, brighter saturation, anime-idol shading.
|
- **Starboy** — chibi proportions, brighter saturation, anime-idol shading.
|
||||||
- **NotoriousRooster** — silhouette-first Disney-Robin-Hood-era hand-drawn cel feel, beak-in-a-hood, everything else absent.
|
- **NotoriousRooster** — silhouette-first Disney-Robin-Hood-era hand-drawn cel feel, beak-in-a-hood, everything else absent.
|
||||||
@@ -138,7 +138,7 @@ The `0BattleRoyale` film stages its survival act inside a single large prop: a *
|
|||||||
The entry ceremony uses **two distinct rooms** plus a **dreamscape void** between them. Keep this geography straight:
|
The entry ceremony uses **two distinct rooms** plus a **dreamscape void** between them. Keep this geography straight:
|
||||||
|
|
||||||
- **The courtroom.** Rain's private throne chamber. Catmull-Baroque ornament on concrete substrate, MOTD frame high on the back wall, obsidian throne on a dais, one throne-room pet (**BD** — cursed-cute liquid-flesh dragonling) on a cushion beside the throne. No bleachers in here. No sand floor. No bubble. The contestants are placed on the lower stone circle in front of the dais for the rules speech, not in the colosseum.
|
- **The courtroom.** Rain's private throne chamber. Catmull-Baroque ornament on concrete substrate, MOTD frame high on the back wall, obsidian throne on a dais, one throne-room pet (**BD** — cursed-cute liquid-flesh dragonling) on a cushion beside the throne. No bleachers in here. No sand floor. No bubble. The contestants are placed on the lower stone circle in front of the dais for the rules speech, not in the colosseum.
|
||||||
- **The colosseum.** A separate full-stadium amphitheatre — ringed stone bleachers around a central sand floor, subscriber-count banners, emote gargoyles, the gilded jumbotron on brass rigging above, the **bubble on its iron cradle** at the center of the sand. This is where the chorus (ExperimentA1ic3, the noncriticals, pirate-protogen, foxy, basedgymrat, miclbero, cameoqueen86, rayne8856, and the rest of the Gumball-stitched crowd) sits. Rain is **not** in the colosseum — he watches from the throne next door.
|
- **The colosseum.** A separate full-stadium amphitheatre — ringed stone bleachers around a central sand floor, subscriber-count banners, emote gargoyles, the gilded jumbotron on brass rigging above, the **bubble on its iron cradle** at the center of the sand. This is where the chorus (ExperimentA1ic3, the noncriticals, pirate-protogen, foxy, basedgymrat, miclbero, cameoqueen86, rayne8856, Bezel the Clock, and the rest of the Gumball-stitched crowd) sits. Rain is **not** in the colosseum — he watches from the throne next door.
|
||||||
- **The wall-reveal.** At Rain's cue during the rules speech, the **right-hand wall of the courtroom dissolves into transparency**, silently, from a single point outward. Ornament outlines remain ghosted at the perimeter; the stone frame holds; only the middle has gone clear. Beyond the transparency is a total dreamscape **black** — no stars, no horizon, no atmosphere — with the colosseum **floating unsupported** at middle distance, dream-logic.
|
- **The wall-reveal.** At Rain's cue during the rules speech, the **right-hand wall of the courtroom dissolves into transparency**, silently, from a single point outward. Ornament outlines remain ghosted at the perimeter; the stone frame holds; only the middle has gone clear. Beyond the transparency is a total dreamscape **black** — no stars, no horizon, no atmosphere — with the colosseum **floating unsupported** at middle distance, dream-logic.
|
||||||
- **The descending staircase.** Also at Rain's cue, a broad flight of gilded-edged stone steps **sinks into existence** from the floor to the right of the throne and continues out through the newly-transparent wall, arcing gently down and away across the void toward the colosseum. No railings, no supports, no anchor; it simply is. Contestants descend it in single file (Azure first per Rain's order).
|
- **The descending staircase.** Also at Rain's cue, a broad flight of gilded-edged stone steps **sinks into existence** from the floor to the right of the throne and continues out through the newly-transparent wall, arcing gently down and away across the void toward the colosseum. No railings, no supports, no anchor; it simply is. Contestants descend it in single file (Azure first per Rain's order).
|
||||||
- **The under-bleacher approach.** The staircase lands in the colosseum's lower ring, in the shadow of the overhanging stone bleachers. The aperture is cut into the bubble's shell so that the **front-row bleachers hang directly above it**. Chorus feet / hooves / claws / boots are visible through the gaps as the contestants walk the last ten paces to the aperture — the audience is directly overhead, waiting. This is the literal meaning of "the aperture is underneath the bleachers."
|
- **The under-bleacher approach.** The staircase lands in the colosseum's lower ring, in the shadow of the overhanging stone bleachers. The aperture is cut into the bubble's shell so that the **front-row bleachers hang directly above it**. Chorus feet / hooves / claws / boots are visible through the gaps as the contestants walk the last ten paces to the aperture — the audience is directly overhead, waiting. This is the literal meaning of "the aperture is underneath the bleachers."
|
||||||
@@ -146,7 +146,7 @@ The entry ceremony uses **two distinct rooms** plus a **dreamscape void** betwee
|
|||||||
- **Crossing.** **Warp-rescales** the contestant into the interior world. One step out, one step in. No transition VFX on the contestant themselves; the scale shift is shown by cutting from the outside wide (contestant next to a ten-meter bubble) to the inside wide (contestant next to a full-size forest tree).
|
- **Crossing.** **Warp-rescales** the contestant into the interior world. One step out, one step in. No transition VFX on the contestant themselves; the scale shift is shown by cutting from the outside wide (contestant next to a ten-meter bubble) to the inside wide (contestant next to a full-size forest tree).
|
||||||
- **Seal.** The aperture seals behind the last crosser. During the match it does not re-open. Reconstituted dead contestants emerge from a separate **recovery bay** accessed via a side door on the colosseum wall, not via the bubble.
|
- **Seal.** The aperture seals behind the last crosser. During the match it does not re-open. Reconstituted dead contestants emerge from a separate **recovery bay** accessed via a side door on the colosseum wall, not via the bubble.
|
||||||
- **Bug-drones at launch.** At the moment of seal, Rain triggers the bug-drones; the swarm streams from its brass-latticed hive on the iron cradle and dives through the final dilating seam an instant before it closes. This is the last thing to cross the aperture.
|
- **Bug-drones at launch.** At the moment of seal, Rain triggers the bug-drones; the swarm streams from its brass-latticed hive on the iron cradle and dives through the final dilating seam an instant before it closes. This is the last thing to cross the aperture.
|
||||||
- **Chorus cutaway window.** The beat between the aperture sealing and the first interior shot is reserved for the **chorus cameo cutaway** — a slow pan across the colosseum stands showing the cameo creatures (ExperimentA1ic3 handing out hot dogs, the noncriticals eating politely, pirate-protogen yelling, foxy-fnaf5-ucn squealing, basedgymrat hyping, miclbero practicing his line, cameoqueen86 watching the map, rayne8856 calling it). The Gumball Rule is at full force in the stands. The jumbotron warms up and takes the live feed during this cutaway.
|
- **Chorus cutaway window.** The beat between the aperture sealing and the first interior shot is reserved for the **chorus cameo cutaway** — a slow pan across the colosseum stands showing the cameo creatures (ExperimentA1ic3 handing out hot dogs, the noncriticals eating politely, pirate-protogen yelling, foxy-fnaf5-ucn squealing, basedgymrat hyping, miclbero practicing his line, cameoqueen86 watching the map, rayne8856 calling it, Bezel the Clock tracing his countdown). The Gumball Rule is at full force in the stands. The jumbotron warms up and takes the live feed during this cutaway.
|
||||||
|
|
||||||
### 8.4 The shrink mechanic (Fortnite, reskinned)
|
### 8.4 The shrink mechanic (Fortnite, reskinned)
|
||||||
|
|
||||||
@@ -160,7 +160,7 @@ The entry ceremony uses **two distinct rooms** plus a **dreamscape void** betwee
|
|||||||
### 8.5 Death VFX: the mist-poof rule
|
### 8.5 Death VFX: the mist-poof rule
|
||||||
|
|
||||||
- When a contestant is killed inside the bubble, the body **dissolves into a soft poof of blue-holographic mist** — the same color as the aura-bleed — which **disperses upward** into the aura and is carried (by narrative convention) to the recovery bay for reconstitution.
|
- When a contestant is killed inside the bubble, the body **dissolves into a soft poof of blue-holographic mist** — the same color as the aura-bleed — which **disperses upward** into the aura and is carried (by narrative convention) to the recovery bay for reconstitution.
|
||||||
- The mist **briefly holds the silhouette of the contestant** — for roughly one second after the dissolve begins — before the column lifts. Each character gets a stylized silhouette-hold appropriate to their render language: Agate's wings at full extension, Starboy's galaxy-eye wink, Jenni's clean anime-linework, Adrian's portrait-realistic profile, Beanie's beanie hat holding one extra beat at the top of the column, Azure's JoJo-ink pose flourish, Ubear's ragged bulk, Noname's face unchanged.
|
- The mist **briefly holds the silhouette of the contestant** — for roughly one second after the dissolve begins — before the column lifts. Each character gets a stylized silhouette-hold appropriate to their render language: Agate's wings at full extension, Starboy's galaxy-eye wink, Jenni's clean anime-linework, Adrian's portrait-realistic profile, Beanie's beanie hat holding one extra beat at the top of the column, Azure's JoJo / Killer Queen–inflected bold-ink pose flourish, Ubear's ragged bulk, Noname's face unchanged.
|
||||||
- **The rule that matters:** **mist-poof = confirmed dead. Absence of mist-poof on defeat = still alive.** Rain states this rule aloud in his ascent monologue so the audience registers it on-record.
|
- **The rule that matters:** **mist-poof = confirmed dead. Absence of mist-poof on defeat = still alive.** Rain states this rule aloud in his ascent monologue so the audience registers it on-record.
|
||||||
- **The rule is withheld exactly once in the film:** when Ubear throws Rooster off the northern cliff. No mist rises. No drones stream down to cover the elimination. This is the twist seed. Every other death in the film must show a clean, unambiguous mist-poof so the audience has a reliable baseline against which Rooster's missing poof reads as a clue.
|
- **The rule is withheld exactly once in the film:** when Ubear throws Rooster off the northern cliff. No mist rises. No drones stream down to cover the elimination. This is the twist seed. Every other death in the film must show a clean, unambiguous mist-poof so the audience has a reliable baseline against which Rooster's missing poof reads as a clue.
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -4,9 +4,12 @@
|
|||||||
|
|
||||||
- Using talw.media's PRISM
|
- Using talw.media's PRISM
|
||||||
|
|
||||||
- [ ] rewrites
|
* [ ] PRISM development
|
||||||
- [X] tweak adrian's character - he's too bored
|
* [X] per-character context
|
||||||
- [X] major rewrite - the battle royale should be, yknow, a battle royale, not a 3-task contest.
|
* [ ] generate video alongside provided vox? perhaps audio/video inputting as a shim for the generator models?
|
||||||
- [X] never use 'they' in the singular, always he or she. default to 'he' or oscillate between he and she for the androgynous characters like rooster.
|
* [ ] remaining character ingestion: character context to be developed on prism
|
||||||
- [X] need more detail on beanie's aesthetic
|
* [ ] Vox
|
||||||
- [ ] adjust azure - it's not armor, it's his actual skin in this design, based off the photo. idrc about what killer queen is, all I know is that in that picture, it looks like his skin.
|
* [ ] Adrian: rebuild voice with AI, experiment with prism-end stuff, elevenlabs if necessary
|
||||||
|
* [ ] Raincloud
|
||||||
|
* [ ] my vox yay!
|
||||||
|
* [ ] need to see how the video generation works alongside my vox - talw has this feature working!
|
||||||
|
|||||||
Reference in New Issue
Block a user