@micheeeeel/yinyangapp 2.0.5 → 2.1.1
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.
- package/README.md +31 -0
- package/dist/bundle.js +1 -1
- package/dist/types/adapters/yasuniCauseAdapter.d.ts +12 -0
- package/dist/types/api-film.d.ts +12 -0
- package/dist/types/api-random.d.ts +32 -0
- package/dist/types/api-random.test.d.ts +1 -0
- package/dist/types/api.d.ts +3 -0
- package/package.json +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Composante } from "../data/yasuni_cause";
|
|
2
|
+
import type { Cause } from "../interfaces/ICauseModel";
|
|
3
|
+
/**
|
|
4
|
+
* Adapte le catalogue Composante[] (format yasuni_cause.ts) vers le format
|
|
5
|
+
* Cause attendu par validateCauseGraph et mapCauseToInternalModel.
|
|
6
|
+
* Les scores initiaux sont neutres (0.5 = 50 % de tension), les poids valent 1
|
|
7
|
+
* par satellite tant qu'aucune valeur n'est renseignée dans les données.
|
|
8
|
+
*/
|
|
9
|
+
export declare function composantesToCause(composantes: Composante[], id?: string, name?: string): Cause;
|
|
10
|
+
/** La `Cause` du Yasuní, fraîchement construite à chaque appel (l'hôte peut
|
|
11
|
+
* la muter sans effet de bord). `id` par défaut : "yasuni". */
|
|
12
|
+
export declare function getYasuniCause(id?: string): Cause;
|
package/dist/types/api-film.d.ts
CHANGED
|
@@ -17,6 +17,18 @@ export interface YinYangFilmConfig {
|
|
|
17
17
|
};
|
|
18
18
|
/** Retire les <text> (titres) — inutiles à petite taille. Défaut : true. */
|
|
19
19
|
stripText?: boolean;
|
|
20
|
+
/** Retire les pointes (spikes : une <line> + un dégradé par découpe d'ODD,
|
|
21
|
+
* dans chaque calque) — invisibles à la taille d'un marker et coûteuses
|
|
22
|
+
* (Yasuní : ≈ 40 % du poids du film). Ne reste que l'essentiel : lobes
|
|
23
|
+
* yin/yang avec leurs arcs d'ODD, et anneau des facettes. Défaut : true. */
|
|
24
|
+
stripSpikes?: boolean;
|
|
25
|
+
/** Rotation des lobes yin/yang (même cinématique que la rotation de la lib :
|
|
26
|
+
* orbite des deux lobes autour du centre, chacun tournant sur lui-même),
|
|
27
|
+
* cuite en CSS pur. Durée d'un tour en ms ; absent ou 0 = pas de rotation
|
|
28
|
+
* (défaut). Surchargeable sans recuire via la variable CSS
|
|
29
|
+
* `--yy-yinyang-rotation` sur le <svg> (ex. "12s"). Pas de rampe, pas de
|
|
30
|
+
* retour à la position de base : rotation continue, uniforme. */
|
|
31
|
+
yinYangRotationMs?: number;
|
|
20
32
|
/** Met en avant le segment de bordure de la composante courante (comme un
|
|
21
33
|
* clic sur la facette). Défaut : true. `false` = bordure neutre unique,
|
|
22
34
|
* sans calque de bordure par composante (film plus léger). */
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Cause } from "./interfaces/ICauseModel";
|
|
2
|
+
/** Intervalle inclusif [min, max]. */
|
|
3
|
+
export type RandomRange = [min: number, max: number];
|
|
4
|
+
export interface RandomCauseOptions {
|
|
5
|
+
/** Identifiant de la Cause produite (ex. id de la mission). Défaut : dérivé
|
|
6
|
+
* de la graine, sinon "random-<n>". */
|
|
7
|
+
id?: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
/** Graine : même graine ⇒ même Cause. Sans graine, tirage Math.random. */
|
|
10
|
+
seed?: string | number;
|
|
11
|
+
/** Nombre de composantes (arcs de facette). Défaut : [2, 7]. */
|
|
12
|
+
components?: RandomRange;
|
|
13
|
+
/** ODD par composante, tirés sans remise parmi les 17 (jamais deux fois le
|
|
14
|
+
* même ODD dans une Cause, donc jamais deux fois la même couleur).
|
|
15
|
+
* Défaut : [1, 3] — plafonné par les ODD restants. */
|
|
16
|
+
oddsPerComponent?: RandomRange;
|
|
17
|
+
/** Facettes (satellites) par ODD. Défaut : [1, 4]. */
|
|
18
|
+
cuttingsPerOdd?: RandomRange;
|
|
19
|
+
/** Score de chaque facette. Défaut : [0.15, 0.85]. */
|
|
20
|
+
score?: RandomRange;
|
|
21
|
+
/** Poids entier de chaque facette. Défaut : [1, 3]. */
|
|
22
|
+
weight?: RandomRange;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Construit une `Cause` aléatoire : 2 à 7 composantes (orientations yin/yang
|
|
26
|
+
* alternées), chacune avec des ODD distincts tirés parmi les 17 — la couleur
|
|
27
|
+
* de chaque arc est donc celle de l'ODD officiel — et un nombre aléatoire de
|
|
28
|
+
* facettes par ODD (scores et poids aléatoires).
|
|
29
|
+
*
|
|
30
|
+
* À passer telle quelle à `createYinYangFilmSvg`, `mountYinYang`, etc.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createRandomCause(options?: RandomCauseOptions): Cause;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types/api.d.ts
CHANGED
|
@@ -46,3 +46,6 @@ export declare function createYinYangSvg(config: YinYangSvgConfig): SVGSVGElemen
|
|
|
46
46
|
export declare function createYinYangSvgs(configs: YinYangSvgConfig[]): (SVGSVGElement | null)[];
|
|
47
47
|
export { createYinYangFilmSvg, createYinYangFilmSvgAsync } from "./api-film";
|
|
48
48
|
export type { YinYangFilmConfig, YinYangFilmAsyncOptions } from "./api-film";
|
|
49
|
+
export { createRandomCause } from "./api-random";
|
|
50
|
+
export type { RandomCauseOptions, RandomRange } from "./api-random";
|
|
51
|
+
export { getYasuniCause } from "./adapters/yasuniCauseAdapter";
|
package/package.json
CHANGED