export { Behaviour, BehaviourModule, createBehaviourWorld, type BehaviourWorld } from "./behaviour/behaviour.js"; export { type LaneRule } from "./board/laneBoard.js"; export { createCardPile, createCardPileState, draw, moveCards, peek, pileRng, shuffleWithRng, type CardPile, type CardPileState, } from "./cards/cardPile.js"; export { runPipeline } from "./cards/modifierPipeline.js"; export { type CropDef, type CropTileState } from "./crafting/crop.js"; export { advanceTransport, createProductionState, drainOutput, feedProduction, productionBuilding, resolvePowerGrid, tickProduction, } from "./crafting/production.js"; export { canCraft, craft, craftSeconds, createRecipeGraph, stationSatisfied, type RecipeDef, type RecipeItem, } from "./crafting/recipe.js"; export { createAuctionBook, type Auction, type AuctionSettlement } from "./economy/auctionBook.js"; export { createListingBook, type Listing } from "./economy/listingBook.js"; export { buildLoanSchedule, createLoanBook, type LoanAdvanceResult, type LoanBook, type LoanBookOptions, type LoanBookState, type LoanBookStats, type LoanPayment, type LoanRecord, type LoanRepayment, type LoanSchedule, type LoanState, type LoanTerms, } from "./economy/loanBook.js"; export { createMarket, type Market, type MarketConfig, type MarketGoodDef, type MarketGoodState, type MarketPriceInput, type MarketQuote, type MarketSale, type MarketSaleRejection, type MarketSaleResult, type MarketSnapshot, type MarketStats, } from "./economy/market.js"; export { createPriceHistory, type PriceStats, type SaleRecord } from "./economy/priceHistory.js"; export { addScheduledRule, advanceLedger, annotate, balanceOf, cancelRule, capAmount, createResourceLedger, curveScale, pauseRule, redirect, rejectWhen, resumeRule, taxFraction, thresholdScale, type AdvanceOptions, type AdvanceResult, type AppliedTransaction, type CatchUpPolicy, type LedgerEvent, type LedgerEventKind, type PolicyContext, type PolicyRead, type Precision, type ResourceLedger, type ResourcePolicy, type ResourceTransaction, type RuleCursor, type ScheduledRule, type ThresholdBand, } from "./economy/resourceLedger.js"; export { createShopStock, type ShopBuyRejection, type ShopBuyResult, type ShopPrice, type ShopSellRejection, type ShopSellResult, type ShopStock, type ShopStockConfig, type ShopStockEntry, type ShopStockSnapshot, } from "./economy/shopStock.js"; export { type TechNodeDef } from "./economy/techTree.js"; export { createTransactionLedger, type ChargeCursor, type LedgerAdvanceResult, type LedgerEntry, type LedgerEntryFilter, type LedgerPostInput, type LedgerPostResult, type LedgerState, type LedgerStats, type LedgerTotals, type RecurringCharge, type TransactionLedger, type TransactionLedgerOptions, } from "./economy/transactionLedger.js"; export { balance, canAfford, charge, chargeAll, createEmptyWallet, grant, isOverdrawn, type ChargeOptions, type ChargeResult, type Overdraft, } from "./economy/wallet.js"; export { createAchievementTracker, type AchievementDef, type AchievementSnapshot, type AchievementTracker, type AchievementTrackerOptions, type AchievementUnlock, type AchievementView, } from "./game/achievements.js"; export { DEFAULT_CHAT_BODY_LENGTH, DEFAULT_CHAT_HISTORY_LIMIT, DEFAULT_CHAT_RATE_LIMIT, createChatRateLimiter, type Chat, type ChatMessage, type ChatRateLimit, type ChatSendResult, } from "./game/chat.js"; export { createCodex, type Codex, type CodexEntryDef, type CodexEntryView, type CodexOptions, type CodexSnapshot, } from "./game/codex.js"; export { playControlsActive } from "./game/controlGate.js"; export { createCosmetics } from "./game/cosmetics.js"; export { type GameDefinition, type GameDefinitionConfig, type GameLifecycle, type GameLoop, type InventoryDeclaration, type LifecycleConfig, type PhysicsConfig, } from "./game/defineGame.js"; export { defineSystem, type SystemDefinition, type SystemEventHandlers, type SystemTick } from "./game/defineSystem.js"; export { createGameDialogue, dialogueSlot } from "./game/dialogue.js"; export { createDialogueRun, selectDialogueView, type DialogueGraph, type DialogueGraphChoice, type DialogueGraphNode, type DialogueGraphSnapshot, type DialogueGraphView, type DialogueRun, type DialogueRunOptions, } from "./game/dialogueGraph.js"; export { createEventTicker, type EventTicker, type EventTickerEntry, type EventTickerInput, type EventTickerOptions, type EventTickerSnapshot, type EventTickerView, } from "./game/eventTicker.js"; export { createGameEvents, type CombatTelegraphEvent, type CombatVfxEvent, type EntityDiedEvent, type EntityFloatTextEvent, type GameEventMap, type GameEvents, type RetainedVfxKind, type StatLevelUpEvent, type VfxKind, type VfxRef, } from "./game/events.js"; export { appendFeed, createGameFeed, pruneFeed, type FeedEntry, type FeedWindow, type TimedFeedEntry, } from "./game/feed.js"; export { gamePhase, setGamePhase, type GamePhase } from "./game/gamePhase.js"; export { GAME_SAVE_VERSION, createGameSave, gameSaveDigest, type GameSave, type GameSaveConfig, type GameSaveDocument, type GameSaveRng, type GameSaveRngState, type GameSaveSystem, } from "./game/gameSave.js"; export { createKeyValueStore, type KeyValueStorage } from "./game/keyValueStore.js"; export { createLeaderboard, type LeaderboardRow, type LeaderboardScope } from "./game/leaderboard.js"; export { medalFor, rankLeaderboard, type RankLeaderboardOptions, type RankableRow, type RankedEntry, type TieMode, } from "./game/leaderboardRank.js"; export { createLevelSequence, type LevelSequence } from "./game/levelSequence.js"; export { createLoadouts, type LoadoutDef } from "./game/loadout.js"; export { evaluateLootFilter, lootFilter, type LootFilterRule } from "./game/lootFilter.js"; export { timeScaledRarity, type TimeScaledRarityOptions } from "./game/lootModifiers.js"; export { createLootPipeline, defineLootPipeline, type LootDropProvenance, type LootModifier, type LootPipeline, type LootPipelineDef, type LootPipelineDeps, type LootPlanEntry, type LootResolution, type LootResolveContext, type LootRollPlan, type LootStage, type LootStageKind, type LootStageStatus, type LootStageTrace, } from "./game/lootPipeline.js"; export { createLootRegistry, lootTable, type Drop, type LootTableDef } from "./game/lootTable.js"; export { resolveOneShotClip } from "./game/modelAnimation.js"; export { createNotificationCenter, type NotificationCenterOptions, type NotificationEntry, type NotificationFilter, type NotificationInput, type NotificationStore, } from "./game/notifications.js"; export { evaluateObjective } from "./game/objectives.js"; export { createLayerRegistry, diffParams, orderLayers, resolveParams, resolveSelection, validateLayers, type LayerConflict, type LayerOps, type LayerRegistry, type LayerSelection, type ParamContribution, type ParamDelta, type ParamLayer, type ParamOp, type ParamSnapshot, } from "./game/paramLayers.js"; export { DEFAULT_PING_CATEGORIES, PING_FEED_ACTION, createPingSystem, type PingCategory, type PingSystem, } from "./game/ping.js"; export { CAMERA_FRUSTUM_DEFAULTS, worldHealthBarAllowsRole, type BackdropConfig, type CameraKeyframe, type CameraRigKind, type ChaseCameraConfig, type CinematicCameraConfig, type DirectionalLightingConfig, type EntitySpriteConfig, type FirstPersonCameraConfig, type FirstPersonCollisionConfig, type GameCameraConfig, type InspectionCameraConfig, type InspectionZoomAnchor, type LightingConfig, type LockOnCameraConfig, type ModelConfig, type ModelMaterialMaps, type ModelMaterialOverride, type ObjectStyle, type ObserverCameraConfig, type PlayableGame, type PointerConfig, type RtsCameraConfig, type ShoulderCameraConfig, type SideScrollCameraConfig, type TopDownCameraConfig, type WorldItemRenderConfig, type WorldOverlayProps, } from "./game/playableGame.js"; export { curve, evalCurve, leveling, type Curve, type LevelProgress, type LevelingConfig, type LevelingTrack, } from "./game/progression.js"; export { createQuestJournal, defaultObjectiveLabel, describeTrackedQuest, type QuestDef, type QuestInstance, type QuestRewards, type TrackedObjectiveView, type TrackedQuestView, } from "./game/quest.js"; export { RaceState, createLapTimer, createRaceState, finishRaceSession, firstPastPost, idleRaceSession, lapDurations, parDelta, placementOf, raceOutcomeOf, racePlacements, raceTrack, splitSegments, startRaceCountdown, tickRaceSession, } from "./game/race.js"; export { createRecordBook } from "./game/recordBook.js"; export { createRuleRegistry, rerollRules, selectRules, type RuleDef, type RuleRegistry, type RuleSelection, type RuleSelectionConfig, } from "./game/ruleSelection.js"; export { createRunDraft, type RunDraft, type RunModifierOffer } from "./game/runDraft.js"; export { createSaveSlots, type SaveSlotMeta, type SaveSlotWrite, type SaveSlots, type SaveSlotsConfig, type SaveSlotsSnapshot, } from "./game/saveSlots.js"; export { createSaveStore, localSaveBackend, memorySaveBackend, remoteSaveBackend, type SaveAutoConfig, type SaveBackend, type SaveStatus, type SaveStore, type SaveTimers, } from "./game/saveStore.js"; export { createSocial, type FriendEntry, type FriendRequestEntry, type Friends, type Party, type PartyInviteEntry, type PartyMemberEntry, type PresenceInfo, type Social, type SocialDeps, type WorldInvite, type WorldInviteTarget, } from "./game/social.js"; export { createSpawnPoints } from "./game/spawnPoints.js"; export { composeGameLoop } from "./game/systemRuntime.js"; export { DEFAULT_FIXED_STAGES, DEFAULT_FRAME_STAGES, compileSystemSchedule, type CompiledSystemSchedule, } from "./game/systemSchedule.js"; export { talentTreeView, talentTreeViewFrom, type TalentEdgeView, type TalentNodeState, type TalentNodeStatus, type TalentNodeView, type TalentPointTotals, type TalentTreeView, } from "./game/talentTreeView.js"; export { createTalentTree, type TalentNodeDef, type TalentTree } from "./game/talents.js"; export { appendToast, createToastQueue, pruneToasts, type Toast } from "./game/toasts.js"; export { createUnlockCatalog, createUnlocks, type UnlockDef } from "./game/unlocks.js"; export { createVfxInstanceStore, type CombatVfxInstanceEvent, type VfxInstancePatch, type VfxInstanceSpec, type VfxInstanceState, type VfxInstanceStopOptions, type VfxInstanceStore, type VfxInstanceStoreOptions, } from "./game/vfxInstance.js"; export { DEFAULT_PICKUP_RADIUS, WORLD_ITEM_ENTITY_NAME, type RarityStyle, type WorldItemRecord, } from "./game/worldItem.js"; export { type ActionCodes, type ActionCodesMap, type ActionStateTracker } from "./input/actionBindings.js"; export { NEUTRAL_AXIS, type AxisBindingMap, type AxisChannelConfig, type AxisInput } from "./input/axisInput.js"; export { applyBindingOverrides, clearBindingOverride, loadBindingOverrides, saveBindingOverride, type BindingOverrides, } from "./input/bindingOverrides.js"; export { createGestureSurfaceTracker } from "./input/gestureSurface.js"; export { aimToPoint, type PointerHit, type PointerVec3 } from "./input/pointer.js"; export { normalizePointerToAxis, type PointerAxisState } from "./input/pointerAxis.js"; export { createRebindSession, type RebindActionConfig, type RebindConflict, type RebindRow, type RebindSession, type RebindSessionActionsConfig, type RebindSessionConfig, type RebindSessionMapConfig, type RebindSessionSnapshot, } from "./input/rebindSession.js"; export { activeTouchControlsMode, setTouchControlsMode } from "./input/touchControlsMode.js"; export { createTouchGestureTracker } from "./input/touchGestures.js"; export { DEFAULT_TOUCH_STYLE, TOUCH_STYLES, TOUCH_STYLE_OPTIONS, deriveTouchScheme, touchButtonShape, touchCode, withTouchCodes, type TouchAnchor, type TouchButton, type TouchButtonShape, type TouchControlsConfig, type TouchControlsModeConfig, type TouchJoystick, type TouchScheme, type TouchStyle, } from "./input/touchScheme.js"; export { type InventorySlot, type InventoryState } from "./inventory/inventoryModel.js"; export { type Cell, type Rotation } from "./inventory/shapedGrid.js"; export { type SlotGrid } from "./inventory/slotModel.js"; export { createDeliveryQueue, insureLost, partitionOnDeath, resolveConsolation, type DeliveryEntry, type DeliveryQueue, type ScheduledDelivery, } from "./inventory/storageTier.js"; export { createAffixRoller, seededRng, type AffixPool } from "./item/affix.js"; export { applyWear, createDurability, createDurabilityTracker, durabilityFraction, isDisabled, repairQuote, wear, type DurabilitySpec, type DurabilityState, } from "./item/durability.js"; export { activeSetBonuses, applySetBonuses, candidateViolatesForbid, captureProvenance, countSetMembers, identityOf, isIdentityValid, matchesQuery, validateIdentity, type CandidatePlacement, type CompatibilityRule, type ConstraintViolation, type ForbidRule, type IdentityQuery, type ItemIdentity, type ItemProvenance, type RequireRule, type SetBonus, } from "./item/itemIdentity.js"; export { createItemInstanceRegistry, proceduralLootEntry } from "./item/itemInstanceRegistry.js"; export { generate, type GenChoiceRecord, type GenChoices, type GenDraft, type GenFieldRecord, type GenOption, type GenOutcome, type GenPool, type GenProvenance, type GenResult, type GenSchema, type GenStep, type GenTransform, type GenValidator, type GenerateOptions, type TransformApi, } from "./item/itemgen.js"; export { computeEffectiveStats, createModularItem, install, isComplete, missingRequiredSlots, partInSlot, slotAccepts, uninstall, type InstalledPart, type ModularItemDef, type MountSlotDef, type PartDef, } from "./item/modularItem.js"; export { createItemUse, type ItemUseHandler, type ItemUseInput } from "./item/use.js"; export { createUseBehaviorRegistry, type BehaviorConfig, type BehaviorState, type ComposedUse, type CompositionResult, type SerializedBehaviorState, type UseBehaviorContext, type UseBehaviorDef, type UseBehaviorOutcome, type UseBehaviorRef, type UseBehaviorRegistry, type UseBehaviorRejection, } from "./item/useBehavior.js"; export { createWeaponStats } from "./item/weapon.js"; export { MAX_LOOT_AFFIXES, assertLootCatalog, compareLootItems, createLootRoller, lootLevelScale, lootStatContributions, rollLoot, scoreLootStats, validateLootItem, type LootBaseDef, type LootCatalog, type LootComparison, type LootComparisonOptions, type LootInstalledPart, type LootIssueCode, type LootItem, type LootManufacturerDef, type LootPartDef, type LootRollOptions, type LootRoller, type LootRollerOptions, type LootRollerState, type LootStatDelta, type LootValidationIssue, } from "./loot/lootGen.js"; export { lootWeaponDefinition, type LootWeaponProjection, type LootWeaponStatMap } from "./loot/lootWeapon.js"; export { chaseMission, defendMission, escortMission, type ChaseMissionOptions, type ComposedMissionOptions, type DefendMissionOptions, type EscortMissionOptions, } from "./mission/compositions.js"; export { DEFAULT_ESCAPE_MULTIPLE, DEFAULT_MARKER_TOLERANCE, DEFAULT_PURSUE_DISTANCE, DEFAULT_REACH_RADIUS, MISSION_COUNTER_KINDS, applyMissionRewards, createMissionRuntime, isCounterObjective, validateMissionCatalog, type MissionActorFact, type MissionBranch, type MissionDef, type MissionEvent, type MissionEventFilter, type MissionFactCondition, type MissionFailCondition, type MissionFailDef, type MissionIssue, type MissionMarkerPlane, type MissionMarkerProximity, type MissionObjectiveDef, type MissionObjectiveKind, type MissionRewardAppliers, type MissionRewards, type MissionRuntime, type MissionRuntimeConfig, type MissionRuntimeSnapshot, type MissionState, type MissionStats, type MissionStatus, type MissionTickInput, type MissionValidationOptions, type MissionView, type MissionWorldEvent, type MissionWorldEventKind, } from "./mission/mission.js"; export { MISSION_TRIGGER_ACTIONS, createMissionTriggerBridge, missionMarkers, registerMissionTriggerActions, type MissionTriggerBridge, } from "./mission/triggers.js"; export { compareGearSets, gearScore, type GearScore, type GearScoreOptions, type GearSlotItem, } from "./progression/gearScore.js"; export { assertSkillTreeConfig, createSkillTree, type SkillActiveDef, type SkillNodeDef, type SkillRequirement, type SkillResolution, type SkillSpendReason, type SkillSpendResult, type SkillSynergyDef, type SkillTree, type SkillTreeConfig, type SkillTreeState, } from "./progression/skillTree.js"; export { createStatGraph, statModifierContributions, type StatContribution, type StatContributionStep, type StatDeriveContext, type StatDerivedDef, type StatExplanation, type StatGraph, type StatGraphDef, type StatInputDef, type StatModEntry, type StatOp, type StatSheet, type StatSheetState, } from "./progression/statGraph.js"; export { assertXpCurve, defineXpCurve, type XpCurve, type XpCurveDef, type XpGrowthRule, type XpLevelStep, } from "./progression/xpCurve.js"; export { type CellGrid } from "./puzzle/cellGrid.js"; export { type ShapeTable } from "./puzzle/fallingPiece.js"; export { createNameGenerator } from "./random/nameGen.js"; export { pickUniform, pickWeighted } from "./random/pick.js"; export { seededStreams } from "./random/rng.js"; export { addValue, clampValue, createPairKeyCodec, driftValue, getValue, setValue, towardValue, type NumericBounds, type PairKeyCodec, type PairKeyOptions, } from "./relation/keyedValues.js"; export { crossThresholds, tierAt, type CrossThresholdsOptions, type ThresholdBoundary, type ThresholdCrossing, type ThresholdDirection, } from "./relation/thresholds.js"; export { evaluatePredicate, readPath, type Predicate, type PredicateFacts, type PredicatePath, type PredicateValue, } from "./rules/predicate.js"; export { getRuleEffect, listRuleEffects, registerRuleEffect, type RuleEffectDefinition } from "./rules/ruleEffects.js"; export { createTriggeredRuleEngine, type ActiveEffect, type EffectRef, type FiringBlock, type RateLimit, type RuleEvent, type RuleFiring, type StackPolicy, type TargetRole, type TargetSelector, type TriggeredRule, type TriggeredRuleEngine, type TriggeredRuleState, } from "./rules/triggeredRules.js"; export { createRing, ringSampleAt, type Ring, type RingConfig, type RingPhase } from "./session/ring.js"; export { type RoleSpec } from "./session/roles.js"; export { type RoundConfig, type RoundSnapshot } from "./session/roundState.js"; export { createNearAgents, type NearAgentSnapshot, type NearAgentView, type NearAgentsOptions, type NearCrowdAgents, } from "./sim/nearAgents.js"; export { createNeedSet, type NeedDefinition, type NeedReading, type NeedSet, type NeedSnapshot } from "./sim/needs.js"; export { createOffScreenWorld, type NearAgents, type NearHandoff, type NearSpawn, type OffScreenAgentView, type OffScreenMode, type OffScreenOptions, type OffScreenPolicy, type OffScreenPolicyPatch, type OffScreenResidentSpec, type OffScreenSnapshot, type OffScreenStats, type OffScreenWorld, } from "./sim/offScreen.js"; export { createVisitorPopulation, type Visitor, type VisitorFlow, type VisitorPolicy, type VisitorPolicyPatch, type VisitorPopulation, type VisitorPopulationOptions, type VisitorPopulationSnapshot, type VisitorPopulationStats, type VisitorWorld, } from "./sim/population.js"; export { DEFAULT_QUEUE_SEED_SERVICE_SECONDS, DEFAULT_QUEUE_WINDOW, createWaitQueue, type QueueEntry, type QueueWait, type WaitQueue, type WaitQueueOptions, type WaitQueueSnapshot, } from "./sim/queue.js"; export { DEFAULT_RIDE_BREAKDOWN, DEFAULT_RIDE_FUN_CURVE, DEFAULT_RIDE_RATING_RANGE, createRideChooser, createRideSystem, rideAppeal, rideChoiceCandidates, rideChoiceOptions, rideQueueCostWeight, type RideBreakdown, type RideChoicePolicy, type RideChooser, type RideChooserConfig, type RideChooserSnapshot, type RideDefinition, type RidePhase, type RideQueueView, type RideRatingRange, type RideRatings, type RideRetune, type RideServiceResult, type RideStats, type RideSystem, type RideSystemConfig, type RideSystemSnapshot, type RideTaste, type RideTickSink, type RideView, type RideWaitSource, } from "./sim/rides.js"; export { resolveRoutine, type RoutineConfig, type RoutinePhase, type RoutineStop, type RoutineStopSpec, type RoutineTimeline, } from "./sim/routine.js"; export { createDecayMeterSet, decayMeterMoodles, decayMeterSnapshot, decayMeterState, decayMeters, initDecayMeters, refillMeter, type DecayMeterSet, type DecayMeterValues, type DecayModifier, } from "./survival/decayMeter.js"; export { createMoodleStack, stackMoodles, type Moodle, type MoodleStack } from "./survival/moodle.js"; export { createMultiRegionHealth, type MultiRegionHealth } from "./survival/regionHealth.js"; export { createCommitController } from "./turn/commit.js"; export { createIntentBoard } from "./turn/intent.js"; export { createTurnLoop, type TurnLoop } from "./turn/turnLoop.js"; export { dispatchExpedition, recallExpedition, returnExpeditionNow, settleExpedition, type ExpeditionConfig, type ExpeditionDispatch, type ExpeditionEvent, type ExpeditionHazard, type ExpeditionState, type ExpeditionSupplyRule, } from "./work/expedition.js"; export { activeJobs, cancelJob, createWorkQueue, enqueue, fifoOrdering, jobById, jobProgress, pauseJob, priorityOrdering, queueSize, queuedJobs, resumeJob, tick, type CancelResult, type EnqueueOptions, type EnqueueResult, type Job, type JobId, type JobOrdering, type JobStatus, type JobValidation, type TickResult, type WorkQueueConfig, type WorkQueueEvent, type WorkQueueState, } from "./work/jobQueue.js"; export { stationOutputRate, type StaffedStation, type StationRateTuning, type StationWorker, } from "./work/staffedStation.js"; export { unitTrainingConfig, type ResourceCost, type TrainableUnitDef, type UnitReservation, type UnitSpawnOrder, type UnitTrainingOptions, type UnitTrainingSpec, } from "./work/unitTraining.js";