@fabi-play/engine 0.2.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -71,7 +71,9 @@ declare namespace FabiEngine {
71
71
  * image is cropped to fill the screen), with any backdrop, so avatars and hands are where the children stand (a
72
72
  * "virtual mirror"). The screen decides it: with 'video', where the video is drawn (cover or contain); with 'none',
73
73
  * the whole image contained at 92% of the viewport's height, bottom-aligned. Games don't compute it: they just use
74
- * it. Body points are in player space (0–1 of the camera image, already mirrored like the video), so a point p is on
74
+ * it. It is not fixed: with automatic framing (the default, see GameManifest.framing) the screen zooms in on children
75
+ * standing far away, up to 1.8×, so the image may reach past every edge; it changes only at calibration and in breaks
76
+ * (pause, level, turn), never during play, and arrives in a backdrop message. Body points are in player space (0–1 of the camera image, already mirrored like the video), so a point p is on
75
77
  * screen at (x + p.x·w, y + p.y·h): see toScreen.
76
78
  */
77
79
  export interface BackdropView {
@@ -1889,21 +1891,21 @@ declare namespace FabiEngine {
1889
1891
  hair?: string;
1890
1892
  }
1891
1893
  /** The head's outline. */
1892
- export type HeadShape = "round" | "wide" | "tall" | "square" | "bulb" | "bucket";
1894
+ export type HeadShape = "round" | "wide" | "tall" | "square" | "bulb" | "bucket" | "snout-long";
1893
1895
  /** The ears (or what is in their place: horns, antennae, a fin). */
1894
- export type EarKind = "none" | "pointy" | "round" | "big-round" | "long" | "side" | "tufts" | "antenna" | "antennae" | "horns" | "unicorn" | "floppy" | "droopy" | "fin" | "human";
1896
+ export type EarKind = "none" | "pointy" | "round" | "big-round" | "long" | "side" | "tufts" | "antenna" | "antennae" | "horns" | "unicorn" | "floppy" | "droopy" | "fin" | "human" | "pixie";
1895
1897
  /** How the eyes are drawn. */
1896
1898
  export type EyeKind = "dot" | "big" | "mask" | "screen" | "almond" | "visor" | "calm" | "slit" | "goggle" | "bead";
1897
1899
  /** How the mouth (or beak) is drawn. */
1898
- export type MouthKind = "none" | "smile" | "open" | "cat" | "beak" | "teeth" | "grill" | "tiny" | "smirk" | "bill" | "hook" | "jaws";
1900
+ export type MouthKind = "none" | "smile" | "open" | "cat" | "beak" | "teeth" | "grill" | "tiny" | "smirk" | "bill" | "hook" | "jaws" | "toothy";
1899
1901
  /** The patch around the nose and mouth. */
1900
1902
  export type MuzzleKind = "none" | "oval" | "heart" | "monkey" | "disc" | "cheeks" | "band";
1901
1903
  /** The tail, behind the body. */
1902
- export type TailKind = "none" | "fluffy" | "brush" | "pom" | "long" | "curl" | "tuft" | "striped" | "spiky" | "arrow" | "fish" | "plume";
1904
+ export type TailKind = "none" | "fluffy" | "brush" | "pom" | "long" | "curl" | "tuft" | "striped" | "spiky" | "arrow" | "fish" | "plume" | "thick";
1903
1905
  /** Things on the head. */
1904
- export type HeadExtra = "mane" | "rainbow-mane" | "stripes" | "spikes" | "spots" | "curl" | "helmet" | "bolts" | "whiskers" | "tuft" | "brows" | "eggshell" | "wool" | "eye-spot" | "crest" | "forehead" | "gills" | "ruff" | "hair" | "curls" | "locks" | "ninja-hood" | "cap" | "safari-hat" | "wizard-hat" | "plume" | "stripe" | "bandana" | "eye-patch" | "dive-mask" | "domino";
1906
+ export type HeadExtra = "mane" | "rainbow-mane" | "stripes" | "spikes" | "spots" | "curl" | "helmet" | "bolts" | "whiskers" | "tuft" | "brows" | "eggshell" | "wool" | "eye-spot" | "crest" | "forehead" | "gills" | "ruff" | "hair" | "curls" | "locks" | "ninja-hood" | "cap" | "safari-hat" | "wizard-hat" | "plume" | "stripe" | "bandana" | "eye-patch" | "dive-mask" | "domino" | "bun" | "flower-crown";
1905
1907
  /** Things on the body. */
1906
- export type BodyExtra = "wings" | "backpack" | "sheet" | "tentacles" | "panel" | "badge" | "joints" | "feathers" | "flippers" | "boots" | "scarf" | "spots" | "wool" | "robe" | "cape" | "fins" | "tank" | "straps" | "belt" | "stripes" | "pauldrons" | "emblem" | "pocket" | "racing-stripe" | "star";
1908
+ export type BodyExtra = "wings" | "backpack" | "sheet" | "tentacles" | "panel" | "badge" | "joints" | "feathers" | "flippers" | "boots" | "scarf" | "spots" | "wool" | "robe" | "cape" | "fins" | "tank" | "straps" | "belt" | "stripes" | "pauldrons" | "emblem" | "pocket" | "racing-stripe" | "star" | "tiny-arms" | "strong-legs" | "wings-fairy" | "wand" | "petals";
1907
1909
  /** An avatar's face. */
1908
1910
  export interface FaceDef {
1909
1911
  /** How the eyes are drawn. */
@@ -1925,7 +1927,7 @@ declare namespace FabiEngine {
1925
1927
  /** Eyebrows of this colour (people): a little attitude. */
1926
1928
  brows?: string;
1927
1929
  }
1928
- /** The age band an avatar is for, or 'all': offered in every band (Fabi the fox, the app's mascot). */
1930
+ /** The age band an avatar is for, or 'all': of no band (Fabi the fox, the app's mascot: the host, in no picker). */
1929
1931
  export type AvatarBand = AgeRange | "all";
1930
1932
  /** An avatar, as data: one renderer draws any definition. */
1931
1933
  export interface AvatarDef {
@@ -1937,11 +1939,17 @@ declare namespace FabiEngine {
1937
1939
  it: string;
1938
1940
  };
1939
1941
  /**
1940
- * The age band the avatar is for: its style and its body proportions (see BAND_BODY in rig.ts). 'all': in every
1941
- * band's list, drawn with the 6–8 proportions.
1942
+ * The age band the avatar is for, its home: its style and its body proportions (see BAND_BODY in rig.ts). 'all': in
1943
+ * no band's list (the mascot), drawn with the 6–8 proportions. See alsoIn for an avatar offered in other bands too.
1942
1944
  */
1943
1945
  band: AvatarBand;
1944
- /** A special avatar (the mascot): first in every band's list; pickers may mark it. */
1946
+ /**
1947
+ * Other age bands the avatar is also offered in (listed in their AVATAR_BANDS too), besides its own band. Shown in
1948
+ * one of them, it is drawn with that band's proportions (bodyBand(def, band)); its band stays its home: its style
1949
+ * (outline), bandOf, and its proportions when the band shown is not known. Not for 'all' (the mascot).
1950
+ */
1951
+ alsoIn?: readonly AgeRange[];
1952
+ /** A special avatar (the mascot): the host, not a player; in no band's list (AVATAR_BANDS). */
1945
1953
  special?: boolean;
1946
1954
  /** Its colours. */
1947
1955
  palette: Palette;