social.twinkl.actor.style

The actor's visual customization: a selected built-in theme plus optional custom CSS/JS for their home page and post decorations. Custom JS runs only inside a sandboxed iframe; custom CSS is sanitized and scoped server-side before use.

Repository @kandake.africa did:plc:lrphxvv25aibthe7xoc2eeyy namespace authority
Details · record, key literal:self
Kindrecord
Record keyliteral:self
Authorityactor.twinkl.social
Indexed

Record

record · key literal:self

Properties

assets

array

Blobs referenced by the actor's CSS/tokens (backgrounds, cursors, fonts). Listed here so the PDS keeps them referenced; a CID used in CSS but absent here is rejected on save.

  • maxLength: 16
itemsblob
  • maxSize: 5000000
  • accept: image/png, image/jpeg, image/webp, image/gif, font/woff2, font/woff

When theme is "custom", the built-in base theme whose tokens the custom CSS layers on top of (light or dark).

  • default: "y2kringe"
  • knownValues: y2kringe | gyaru

effects

array

Enabled first-party page effects for the actor's home page.

  • maxLength: 8
itemsref

homeCss

string

Custom CSS applied to the actor's home page (sanitized + scoped before use).

  • maxLength: 100000

homeJs

string

DEPRECATED: superseded by Web Tiles (social.twinkl.homepage.tile) and no longer rendered on profile pages. Custom JS for the actor's home page. Executed only inside a sandboxed iframe with no same-origin access.

  • maxLength: 100000

postCss

string

CSS-only decoration applied to the actor's posts in feeds (sanitized + scoped). Never executes JS.

  • maxLength: 50000

priorThemeCid

string · cid

CID of the immediately-previous version of this style record, for one-step "revert to previous look" rollback (best-effort; the prior version may be GC'd by the PDS over time).

sourceTheme

string · at-uri

Provenance: the social.twinkl.theme.pack this style was copied from (attribution only; content is materialized locally). Backlink target for gallery wearer counts.

sourceThemeCid

string · cid

CID of the theme.pack version that was copied.

theme

requiredstring

Selected base theme.

  • default: "y2kringe"
  • knownValues: y2kringe | gyaru | custom

tokens

unknown

Open map of theme token name to string value, layered on the base theme (validated per-token in code; see social.twinkl.theme.pack `tokens`).

updatedAt

string · datetime

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • The user's active look AND the unit of theme sharing (one per user, key=self). Holds the base theme, tokens, custom CSS, effects, and asset blobs (backgrounds/fonts) — which are kept live by this record's structural blob references. Listed in the public gallery by setting `gallery` to the Twinkl gallery DID (the publish property); discovered via constellation backlinks on `.gallery`. "Stealing" copies another user's pack into the applier's own self pack (copy-on-apply) — there is no live cross-r

  • The actor's Twinkl app/viewer preferences, kept separate from their authored look (social.twinkl.actor.style) so a private viewing preference is never bundled into a published theme pack or copied by "steal this look". Extensible home for future viewer toggles.