@bardway/trpg-pixi 0.0.0-stage → 0.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.
Files changed (111) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +10 -0
  3. package/NOTICE.md +1 -0
  4. package/README.md +25 -2
  5. package/dist/AnimationMilestones.d.ts +17 -0
  6. package/dist/BattleActionMotionMath.d.ts +24 -0
  7. package/dist/BattleActionPresentationRecipes.d.ts +11 -0
  8. package/dist/BattleFxLibrary.d.ts +16 -0
  9. package/dist/BattlePresentationEngine.d.ts +26 -0
  10. package/dist/BattlePresentationPoseRegistry.d.ts +25 -0
  11. package/dist/BattlePresentationRecipe.d.ts +48 -0
  12. package/dist/BattleSequenceScheduler.d.ts +11 -0
  13. package/dist/DisplayEventQueue.d.ts +24 -0
  14. package/dist/PixiAnimationActivity.d.ts +7 -0
  15. package/dist/PixiAnimationDirector.d.ts +21 -0
  16. package/dist/PixiApplicationFactory.d.ts +17 -0
  17. package/dist/PixiAssetManager.d.ts +70 -0
  18. package/dist/PixiBattleActionRecipes.d.ts +75 -0
  19. package/dist/PixiBattleCinematicSurface.d.ts +23 -0
  20. package/dist/PixiBattleEntryTransition.d.ts +87 -0
  21. package/dist/PixiBattleFieldSurface.d.ts +125 -0
  22. package/dist/PixiBattleFxResources.d.ts +154 -0
  23. package/dist/PixiBattleGrid.d.ts +13 -0
  24. package/dist/PixiBattleHudPorts.d.ts +192 -0
  25. package/dist/PixiBattleHudSurface.d.ts +159 -0
  26. package/dist/PixiBattleLightningResources.d.ts +57 -0
  27. package/dist/PixiBattleMapDissolve.d.ts +38 -0
  28. package/dist/PixiBattleSceneTransition.d.ts +30 -0
  29. package/dist/PixiBattleTokenLifecycleCoordinator.d.ts +44 -0
  30. package/dist/PixiBattleVisualLayout.d.ts +284 -0
  31. package/dist/PixiBattleWhipGeometry.d.ts +18 -0
  32. package/dist/PixiBattleWhipMotion.d.ts +63 -0
  33. package/dist/PixiBattleWhipResources.d.ts +53 -0
  34. package/dist/PixiCameraFocusController.d.ts +40 -0
  35. package/dist/PixiCombatMotion.d.ts +223 -0
  36. package/dist/PixiCurrentActorCardGlow.d.ts +37 -0
  37. package/dist/PixiCurrentActorHalo.d.ts +55 -0
  38. package/dist/PixiDirectionalMotionBlur.d.ts +12 -0
  39. package/dist/PixiDisplayRenderer.d.ts +85 -0
  40. package/dist/PixiEffectPlugin.d.ts +25 -0
  41. package/dist/PixiEndingSurface.d.ts +104 -0
  42. package/dist/PixiInvestigatorDossierInsanityFilter.d.ts +14 -0
  43. package/dist/PixiLocalGlowMesh.d.ts +38 -0
  44. package/dist/PixiMapEdgeShadow.d.ts +36 -0
  45. package/dist/PixiMapMediaSurface.d.ts +71 -0
  46. package/dist/PixiMapWorldUtils.d.ts +24 -0
  47. package/dist/PixiMediaBreathRuntime.d.ts +69 -0
  48. package/dist/PixiMotion.d.ts +42 -0
  49. package/dist/PixiObjectiveBreathingGlow.d.ts +39 -0
  50. package/dist/PixiPartyHudSurface.d.ts +58 -0
  51. package/dist/PixiPersistentEffectTransition.d.ts +23 -0
  52. package/dist/PixiPortraitResourceCard.d.ts +147 -0
  53. package/dist/PixiPreludeStoryTransition.d.ts +35 -0
  54. package/dist/PixiPreludeSurface.d.ts +203 -0
  55. package/dist/PixiProgressCinematic.d.ts +65 -0
  56. package/dist/PixiResultEffectSurface.d.ts +101 -0
  57. package/dist/PixiRetainedMeterAnimator.d.ts +44 -0
  58. package/dist/PixiRuntimeContext.d.ts +21 -0
  59. package/dist/PixiSceneGraph.d.ts +42 -0
  60. package/dist/PixiSceneMotion.d.ts +41 -0
  61. package/dist/PixiSceneMotionPorts.d.ts +83 -0
  62. package/dist/PixiScenePresentationDirector.d.ts +118 -0
  63. package/dist/PixiSessionLayout.d.ts +61 -0
  64. package/dist/PixiSessionSkin.d.ts +30 -0
  65. package/dist/PixiShaderRuntime.d.ts +191 -0
  66. package/dist/PixiStageFontLoader.d.ts +2 -0
  67. package/dist/PixiStageMetrics.d.ts +25 -0
  68. package/dist/PixiStageTheme.d.ts +26 -0
  69. package/dist/PixiStoryArchiveMotion.d.ts +19 -0
  70. package/dist/PixiStoryCardCut.d.ts +58 -0
  71. package/dist/PixiStorySurface.d.ts +285 -0
  72. package/dist/PixiStoryWorkspaceSurface.d.ts +64 -0
  73. package/dist/PixiSummaryBoardSurface.d.ts +112 -0
  74. package/dist/PixiSystemHudSurface.d.ts +73 -0
  75. package/dist/PixiTeamCheckCinematic.d.ts +34 -0
  76. package/dist/PixiTextTransitionEffect.d.ts +54 -0
  77. package/dist/PixiTokenPersistentStatus.d.ts +101 -0
  78. package/dist/PixiTokenWorld.d.ts +170 -0
  79. package/dist/PixiTypography.d.ts +96 -0
  80. package/dist/PixiVideoRuntime.d.ts +61 -0
  81. package/dist/PixiViewportController.d.ts +25 -0
  82. package/dist/ResultEffectTuning.d.ts +57 -0
  83. package/dist/RetainedStageSurface.d.ts +50 -0
  84. package/dist/SessionFieldEffectRuntime.d.ts +45 -0
  85. package/dist/SessionSceneHistory.d.ts +10 -0
  86. package/dist/SessionSceneRegistry.d.ts +31 -0
  87. package/dist/StoryEventCoordinator.d.ts +61 -0
  88. package/dist/effects/PixiEffectLayerRegistry.d.ts +54 -0
  89. package/dist/effects/PixiEffectScope.d.ts +20 -0
  90. package/dist/effects/PixiStableRandom.d.ts +2 -0
  91. package/dist/index.d.ts +92 -0
  92. package/dist/index.js +24184 -0
  93. package/dist/index.js.map +7 -0
  94. package/dist/recipes/EffectPrimitiveRuntimeRegistry.d.ts +28 -0
  95. package/dist/recipes/EffectRecipeExecutor.d.ts +73 -0
  96. package/dist/recipes/primitives.d.ts +39 -0
  97. package/dist/recipes/registry.d.ts +57 -0
  98. package/dist/recipes/schema.d.ts +93 -0
  99. package/dist/recipes.d.ts +5 -0
  100. package/dist/recipes.js +1384 -0
  101. package/dist/recipes.js.map +7 -0
  102. package/dist/story/PixiStoryPresentationEngine.d.ts +90 -0
  103. package/dist/story/StoryContentSurface.d.ts +34 -0
  104. package/dist/story/StoryImageFilter.d.ts +15 -0
  105. package/dist/story/StoryTimelineClock.d.ts +22 -0
  106. package/dist/story/StoryVisualMath.d.ts +6 -0
  107. package/dist/tuning/SessionTuningResolver.d.ts +1 -0
  108. package/dist/tuning/SessionTuningTypes.d.ts +1 -0
  109. package/dist/ui/PixiStagePrimitives.d.ts +36 -0
  110. package/dist/uniforms.d.ts +1 -0
  111. package/package.json +44 -4
@@ -0,0 +1,61 @@
1
+ import type { StoryCuePlaybackControls } from './story/StoryContentSurface.js';
2
+ export interface StoryEventCoordinatorScheduler {
3
+ setTimeout(callback: () => void, delayMs: number): unknown;
4
+ clearTimeout(handle: unknown): void;
5
+ }
6
+ export interface StoryPresentationPort<TCue> {
7
+ playCue: (cue: TCue, controls: StoryCuePlaybackControls) => void;
8
+ }
9
+ export interface StoryEventCoordinatorCallbacks<TState, TCue> extends StoryPresentationPort<TCue> {
10
+ applyState: (state: TState) => void;
11
+ }
12
+ export interface StoryEventCoordinatorOptions<TState, TCue> {
13
+ createInitialState: () => TState;
14
+ callbacks: StoryEventCoordinatorCallbacks<TState, TCue>;
15
+ pendingStateTimeoutMs?: number;
16
+ dedupeLimit?: number;
17
+ scheduler?: StoryEventCoordinatorScheduler;
18
+ }
19
+ export interface CoordinatedStoryCue<TState> {
20
+ eventId: string;
21
+ targetRevision: number;
22
+ finalState: TState;
23
+ }
24
+ export declare class StoryEventCoordinator<TState extends {
25
+ revision: number;
26
+ }, TCue extends CoordinatedStoryCue<TState>> {
27
+ private readonly options;
28
+ private readonly callbacks;
29
+ private readonly pendingStateTimeoutMs;
30
+ private readonly dedupeLimit;
31
+ private readonly scheduler;
32
+ private currentState;
33
+ private pendingState;
34
+ private deferredState;
35
+ private activeBlockingCue;
36
+ private readonly blockingCueQueue;
37
+ private readonly activeCueControllers;
38
+ private readonly seenEventIds;
39
+ private readonly seenEventOrder;
40
+ constructor(options: StoryEventCoordinatorOptions<TState, TCue>);
41
+ replaceSnapshot(state: TState): void;
42
+ handleState(event: {
43
+ eventId: string;
44
+ state: TState;
45
+ }): void;
46
+ handleSnapshot(state: TState): void;
47
+ private handleIncomingState;
48
+ handleCue(cue: TCue): void;
49
+ abort(reason?: string): void;
50
+ reset(reason?: string): void;
51
+ private handleBlockingCue;
52
+ private startNextBlockingCue;
53
+ private schedulePendingState;
54
+ private applyState;
55
+ private flushDeferredState;
56
+ private clearPendingState;
57
+ private abortActiveCues;
58
+ private abortCueController;
59
+ private releaseCueController;
60
+ private rememberEventId;
61
+ }
@@ -0,0 +1,54 @@
1
+ import type { Container } from 'pixi.js';
2
+ import { PixiEffectScope } from './PixiEffectScope.js';
3
+ import type { PixiContainerConstructor, PixiSceneGraph } from '../PixiSceneGraph.js';
4
+ export type PixiEffectLayerName = 'worldUnderlayFxLayer' | 'worldOverlayFxLayer' | 'cinematicLayer' | 'presentationLayer' | 'screenFxLayer' | 'modalLayer' | 'fieldFxLayer' | 'battlePictureFxLayer' | 'comboFxLayer' | 'globalFxLayer';
5
+ export type PixiEffectLayerOwner = 'battle-world' | 'battle-action' | 'battle-cinematic' | 'scene-transition' | 'story-presentation' | 'story-reveal' | 'story-dice-result' | 'battle-summary' | 'session-field' | 'battle-picture' | 'combo' | 'session-global';
6
+ export interface PixiEffectLayerOwnerByLayer {
7
+ worldUnderlayFxLayer: 'battle-world' | 'battle-action';
8
+ worldOverlayFxLayer: 'battle-action';
9
+ cinematicLayer: 'battle-cinematic';
10
+ presentationLayer: 'scene-transition';
11
+ screenFxLayer: 'story-presentation' | 'scene-transition';
12
+ modalLayer: 'story-reveal' | 'story-dice-result' | 'battle-summary' | 'scene-transition';
13
+ fieldFxLayer: 'session-field';
14
+ battlePictureFxLayer: 'battle-picture';
15
+ comboFxLayer: 'combo';
16
+ globalFxLayer: 'session-global';
17
+ }
18
+ export type PixiEffectLayerOverrides = {
19
+ [Layer in PixiEffectLayerName]?: PixiEffectLayerOwnerByLayer[Layer];
20
+ };
21
+ /** A stable renderer-owned branch. Reset releases transient scopes without destroying the branch. */
22
+ export declare class PixiEffectLayerOwnerHandle {
23
+ readonly owner: PixiEffectLayerOwner;
24
+ private readonly layers;
25
+ private readonly scopes;
26
+ private destroyed;
27
+ constructor(owner: PixiEffectLayerOwner, layers: ReadonlyMap<PixiEffectLayerName, Container>);
28
+ getLayer(layer: PixiEffectLayerName): Container;
29
+ createScope(): PixiEffectScope;
30
+ reset(): void;
31
+ destroy(): void;
32
+ }
33
+ /** Owns the fixed child branches inside the renderer's shared physical effect layers. */
34
+ export declare class PixiEffectLayerRegistry {
35
+ private readonly handles;
36
+ private destroyed;
37
+ constructor(scene: PixiSceneGraph, ContainerConstructor: PixiContainerConstructor);
38
+ get(owner: PixiEffectLayerOwner): PixiEffectLayerOwnerHandle;
39
+ createSceneView(scene: PixiSceneGraph, overrides: PixiEffectLayerOverrides): PixiSceneGraph;
40
+ reset(): void;
41
+ destroy(): void;
42
+ }
43
+ export declare const PIXI_EFFECT_LAYER_OWNER_ORDER: {
44
+ readonly battlePictureFxLayer: readonly "battle-picture"[];
45
+ readonly comboFxLayer: readonly "combo"[];
46
+ readonly fieldFxLayer: readonly "session-field"[];
47
+ readonly globalFxLayer: readonly "session-global"[];
48
+ readonly modalLayer: readonly ("scene-transition" | "story-reveal" | "story-dice-result" | "battle-summary")[];
49
+ readonly cinematicLayer: readonly "battle-cinematic"[];
50
+ readonly worldUnderlayFxLayer: readonly ("battle-world" | "battle-action")[];
51
+ readonly worldOverlayFxLayer: readonly "battle-action"[];
52
+ readonly presentationLayer: readonly "scene-transition"[];
53
+ readonly screenFxLayer: readonly ("scene-transition" | "story-presentation")[];
54
+ };
@@ -0,0 +1,20 @@
1
+ import type { Container, Filter, Ticker } from 'pixi.js';
2
+ import type { PixiAnimationActivity } from '../PixiAnimationActivity.js';
3
+ /**
4
+ * Owns every short-lived resource created by an effect. Releasing a scope is
5
+ * idempotent so reset, scene changes and context restoration share one path.
6
+ */
7
+ export declare class PixiEffectScope {
8
+ private readonly controller;
9
+ private readonly cleanups;
10
+ private released;
11
+ get signal(): AbortSignal;
12
+ addNode(node: Container): void;
13
+ addFilter(filter: Filter): void;
14
+ addTicker(ticker: Ticker, callback: (ticker: Ticker) => void): void;
15
+ addActivity(activity: PixiAnimationActivity, reason: string): void;
16
+ defer(cleanup: () => void): void;
17
+ reset(): void;
18
+ destroy(): void;
19
+ release(): void;
20
+ }
@@ -0,0 +1,2 @@
1
+ export declare const stableUnit: (seed: string, channel?: number) => number;
2
+ export declare const stableRange: (seed: string, min: number, max: number, channel?: number) => number;
@@ -0,0 +1,92 @@
1
+ export * from './PixiAnimationActivity.js';
2
+ export * from './PixiAnimationDirector.js';
3
+ export * from './PixiApplicationFactory.js';
4
+ export * from './PixiAssetManager.js';
5
+ export * from './PixiBattleCinematicSurface.js';
6
+ export * from './PixiBattleFxResources.js';
7
+ export * from './PixiBattleLightningResources.js';
8
+ export * from './PixiBattleMapDissolve.js';
9
+ export * from './PixiBattleSceneTransition.js';
10
+ export * from './PixiBattleTokenLifecycleCoordinator.js';
11
+ export * from './PixiBattleWhipGeometry.js';
12
+ export * from './PixiBattleWhipResources.js';
13
+ export * from './PixiCurrentActorCardGlow.js';
14
+ export * from './PixiCurrentActorHalo.js';
15
+ export * from './PixiDirectionalMotionBlur.js';
16
+ export * from './PixiInvestigatorDossierInsanityFilter.js';
17
+ export * from './PixiLocalGlowMesh.js';
18
+ export * from './PixiMapEdgeShadow.js';
19
+ export * from './PixiMediaBreathRuntime.js';
20
+ export * from './PixiMotion.js';
21
+ export * from './PixiObjectiveBreathingGlow.js';
22
+ export * from './PixiPersistentEffectTransition.js';
23
+ export * from './PixiPreludeStoryTransition.js';
24
+ export * from './PixiRetainedMeterAnimator.js';
25
+ export * from './PixiRuntimeContext.js';
26
+ export * from './PixiSceneGraph.js';
27
+ export * from './PixiStageMetrics.js';
28
+ export * from './PixiStoryArchiveMotion.js';
29
+ export * from './PixiTeamCheckCinematic.js';
30
+ export * from './PixiVideoRuntime.js';
31
+ export * from './PixiViewportController.js';
32
+ export * from './BattlePresentationPoseRegistry.js';
33
+ export * from './BattlePresentationRecipe.js';
34
+ export * from './BattleSequenceScheduler.js';
35
+ export * from './BattleActionPresentationRecipes.js';
36
+ export * from './PixiBattleActionRecipes.js';
37
+ export * from './effects/PixiEffectLayerRegistry.js';
38
+ export * from './effects/PixiEffectScope.js';
39
+ export * from './effects/PixiStableRandom.js';
40
+ export * from './story/StoryTimelineClock.js';
41
+ export * from './story/StoryImageFilter.js';
42
+ export * from './story/StoryVisualMath.js';
43
+ export * from './PixiShaderRuntime.js';
44
+ export * from './PixiStageTheme.js';
45
+ export * from './DisplayEventQueue.js';
46
+ export * from './AnimationMilestones.js';
47
+ export * from './PixiSessionLayout.js';
48
+ export * from './PixiMapWorldUtils.js';
49
+ export * from './PixiTypography.js';
50
+ export * from './ui/PixiStagePrimitives.js';
51
+ export * from './BattleFxLibrary.js';
52
+ export * from './BattlePresentationEngine.js';
53
+ export * from './PixiStageFontLoader.js';
54
+ export * from './PixiDisplayRenderer.js';
55
+ export * from './RetainedStageSurface.js';
56
+ export * from './BattleActionMotionMath.js';
57
+ export * from './PixiBattleVisualLayout.js';
58
+ export * from './PixiBattleEntryTransition.js';
59
+ export * from './PixiStoryCardCut.js';
60
+ export * from './PixiBattleWhipMotion.js';
61
+ export * from './story/PixiStoryPresentationEngine.js';
62
+ export * from './story/StoryContentSurface.js';
63
+ export * from './PixiEffectPlugin.js';
64
+ export * from './SessionSceneRegistry.js';
65
+ export * from './SessionSceneHistory.js';
66
+ export * from './PixiSessionSkin.js';
67
+ export * from './SessionFieldEffectRuntime.js';
68
+ export * from './PixiBattleGrid.js';
69
+ export * from './StoryEventCoordinator.js';
70
+ export * from './PixiTokenWorld.js';
71
+ export * from './PixiMapMediaSurface.js';
72
+ export * from './PixiCombatMotion.js';
73
+ export * from './PixiTokenPersistentStatus.js';
74
+ export * from './PixiEndingSurface.js';
75
+ export * from './PixiPreludeSurface.js';
76
+ export * from './PixiPortraitResourceCard.js';
77
+ export * from './PixiPartyHudSurface.js';
78
+ export * from './PixiStoryWorkspaceSurface.js';
79
+ export * from './PixiStorySurface.js';
80
+ export * from './PixiBattleFieldSurface.js';
81
+ export * from './ResultEffectTuning.js';
82
+ export * from './PixiResultEffectSurface.js';
83
+ export * from './PixiSummaryBoardSurface.js';
84
+ export * from './PixiBattleHudPorts.js';
85
+ export * from './PixiBattleHudSurface.js';
86
+ export * from './PixiScenePresentationDirector.js';
87
+ export * from './PixiSystemHudSurface.js';
88
+ export * from './PixiCameraFocusController.js';
89
+ export * from './PixiProgressCinematic.js';
90
+ export * from './PixiSceneMotionPorts.js';
91
+ export * from './PixiSceneMotion.js';
92
+ export * from './PixiTextTransitionEffect.js';