@micheeeeel/yinyangapp 2.0.5 → 2.1.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.
|
@@ -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;
|
|
@@ -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