@turnipxenon/pineapple 2.1.1 → 2.3.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/.env +5 -0
- package/.eslintignore +16 -0
- package/.eslintrc.cjs +20 -0
- package/.gitignore +14 -0
- package/.idea/.gitignore +5 -0
- package/.idea/codeStyles/Project.xml +65 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/discord.xml +7 -0
- package/.idea/inspectionProfiles/Project_Default.xml +22 -0
- package/.idea/modules.xml +8 -0
- package/.idea/pineapple.iml +14 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/workspace.xml +663 -0
- package/.npmrc +1 -0
- package/.prettierignore +17 -0
- package/.prettierrc +9 -0
- package/.svelte-kit/__package__/app.postcss +153 -0
- package/.svelte-kit/__package__/assets/bg_tiled/bg_tiled_ares.png +0 -0
- package/.svelte-kit/__package__/assets/bg_tiled/bg_tiled_corn.png +0 -0
- package/.svelte-kit/__package__/assets/bg_tiled/bg_tiled_pineapple.png +0 -0
- package/.svelte-kit/__package__/assets/bg_tiled/bg_tiled_reinhard.png +0 -0
- package/.svelte-kit/__package__/assets/bg_tiled/bg_tiled_tomato.png +0 -0
- package/.svelte-kit/__package__/assets/bg_tiled/bg_tiled_turnip.png +0 -0
- package/.svelte-kit/__package__/assets/characters/ares/ares_blushing.webp +0 -0
- package/.svelte-kit/__package__/assets/characters/ares/ares_disappointed.webp +0 -0
- package/.svelte-kit/__package__/assets/characters/ares/ares_happy.webp +0 -0
- package/.svelte-kit/__package__/assets/characters/ares/ares_lets_go.webp +0 -0
- package/.svelte-kit/__package__/assets/characters/ares/ares_logo.webp +0 -0
- package/.svelte-kit/__package__/assets/characters/ares/ares_mad.webp +0 -0
- package/.svelte-kit/__package__/assets/characters/ares/ares_neutral.webp +0 -0
- package/.svelte-kit/__package__/assets/characters/ares/ares_slightly_mad.webp +0 -0
- package/.svelte-kit/__package__/assets/characters/ares/ares_surprised.webp +0 -0
- package/.svelte-kit/__package__/assets/characters/ares/ares_yay.webp +0 -0
- package/.svelte-kit/__package__/assets/game_dev/footage-chef-wings.gif +0 -0
- package/.svelte-kit/__package__/assets/game_dev/footage-depreciation.webm +0 -0
- package/.svelte-kit/__package__/assets/game_dev/footage-thinking-of-flowers.webm +0 -0
- package/.svelte-kit/__package__/assets/game_dev/screenshot-game-jam-mama.png +0 -0
- package/.svelte-kit/__package__/assets/game_dev/screenshot-string-hop.png +0 -0
- package/.svelte-kit/__package__/assets/game_dev/screenshot-wet-ass-road.png +0 -0
- package/.svelte-kit/__package__/assets/icons/bitbucket-icon.svg +1 -0
- package/.svelte-kit/__package__/assets/icons/chat-cursor.svg +47 -0
- package/.svelte-kit/__package__/assets/icons/external-link.svg +50 -0
- package/.svelte-kit/__package__/assets/icons/github-mark.svg +1 -0
- package/.svelte-kit/__package__/assets/icons/link-icon.svg +1 -0
- package/.svelte-kit/__package__/assets/icons/linkedin.svg +1 -0
- package/.svelte-kit/__package__/assets/icons/mail.svg +1 -0
- package/.svelte-kit/__package__/assets/others/seaweed-showcase.mp4 +0 -0
- package/.svelte-kit/__package__/assets/others/weaver-footage.gif +0 -0
- package/.svelte-kit/__package__/assets/others/window-set.png +0 -0
- package/.svelte-kit/__package__/assets/placeholder/placeholder_circle.png +0 -0
- package/.svelte-kit/__package__/assets/temp/background-image.jpg +0 -0
- package/.svelte-kit/__package__/assets/temp/bitbucket-logo.png +0 -0
- package/.svelte-kit/__package__/assets/temp/github-logo.png +0 -0
- package/.svelte-kit/__package__/assets/temp/header-hep-cat.mp4 +0 -0
- package/.svelte-kit/__package__/assets/temp/header-hep-cat.ogg +0 -0
- package/.svelte-kit/__package__/assets/temp/header-hep-cat.webm +0 -0
- package/.svelte-kit/__package__/assets/temp/header-pengi.mp4 +0 -0
- package/.svelte-kit/__package__/assets/temp/header-pengi.webm +0 -0
- package/.svelte-kit/__package__/assets/temp/header-soulwork.mp4 +0 -0
- package/.svelte-kit/__package__/assets/temp/header-soulwork.ogg +0 -0
- package/.svelte-kit/__package__/assets/temp/header-soulwork.webm +0 -0
- package/.svelte-kit/__package__/components/Card.svelte +31 -0
- package/.svelte-kit/__package__/components/Card.svelte.d.ts +35 -0
- package/.svelte-kit/__package__/components/CarouselElement.svelte +21 -0
- package/.svelte-kit/__package__/components/CarouselElement.svelte.d.ts +19 -0
- package/.svelte-kit/__package__/components/Chip.svelte +12 -0
- package/.svelte-kit/__package__/components/Chip.svelte.d.ts +27 -0
- package/.svelte-kit/__package__/components/DialogOverlay.svelte +95 -0
- package/.svelte-kit/__package__/components/DialogOverlay.svelte.d.ts +14 -0
- package/.svelte-kit/__package__/components/ElementVisbilityDetector.svelte +18 -0
- package/.svelte-kit/__package__/components/ElementVisbilityDetector.svelte.d.ts +18 -0
- package/.svelte-kit/__package__/components/LazyAsset.svelte +96 -0
- package/.svelte-kit/__package__/components/LazyAsset.svelte.d.ts +20 -0
- package/.svelte-kit/__package__/components/LazyAssetType.d.ts +10 -0
- package/.svelte-kit/__package__/components/LazyAssetType.js +12 -0
- package/.svelte-kit/__package__/components/OnElementVisbilityChanged.d.ts +1 -0
- package/.svelte-kit/__package__/components/OnElementVisbilityChanged.js +1 -0
- package/.svelte-kit/__package__/components/RandomizedBackground.svelte +64 -0
- package/.svelte-kit/__package__/components/RandomizedBackground.svelte.d.ts +16 -0
- package/.svelte-kit/__package__/components/RandomizedImage.svelte +37 -0
- package/.svelte-kit/__package__/components/RandomizedImage.svelte.d.ts +17 -0
- package/.svelte-kit/__package__/components/SocialSection.svelte +160 -0
- package/.svelte-kit/__package__/components/SocialSection.svelte.d.ts +29 -0
- package/.svelte-kit/__package__/components/StickyElement.svelte +36 -0
- package/.svelte-kit/__package__/components/StickyElement.svelte.d.ts +18 -0
- package/.svelte-kit/__package__/components/ToggleableContent.svelte +66 -0
- package/.svelte-kit/__package__/components/ToggleableContent.svelte.d.ts +19 -0
- package/.svelte-kit/__package__/components/ToggleableContentType.d.ts +4 -0
- package/.svelte-kit/__package__/components/ToggleableContentType.js +5 -0
- package/.svelte-kit/__package__/components/dialog_manager/DialogManager.d.ts +77 -0
- package/.svelte-kit/__package__/components/dialog_manager/DialogManager.js +239 -0
- package/.svelte-kit/__package__/components/dialog_manager/DialogManagerStore.d.ts +41 -0
- package/.svelte-kit/__package__/components/dialog_manager/DialogManagerStore.js +45 -0
- package/.svelte-kit/__package__/components/dialog_manager/DialogProcessor.d.ts +13 -0
- package/.svelte-kit/__package__/components/dialog_manager/DialogProcessor.js +62 -0
- package/.svelte-kit/__package__/components/dialog_manager/DialogUtils.d.ts +5 -0
- package/.svelte-kit/__package__/components/dialog_manager/DialogUtils.js +8 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/core/BTreeUtils.d.ts +15 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/core/BTreeUtils.js +34 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/core/BaseBehaviorResult.d.ts +4 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/core/BaseBehaviorResult.js +1 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/core/BehaviorNode.d.ts +3 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/core/BehaviorNode.js +1 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/core/BehaviorStatus.d.ts +5 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/core/BehaviorStatus.js +6 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/core/SelectorNode.d.ts +12 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/core/SelectorNode.js +22 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionArguments.d.ts +5 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionArguments.js +1 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionBehaviorNode.d.ts +4 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionBehaviorNode.js +1 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionEvaluator.d.ts +15 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionEvaluator.js +220 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionResult.d.ts +5 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionResult.js +1 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionSelectorNode.d.ts +8 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionSelectorNode.js +15 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionState.d.ts +3 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/ExpressionState.js +1 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/OperandNode.d.ts +10 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/OperandNode.js +15 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/OperatorNode.d.ts +11 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/OperatorNode.js +30 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/CommandExpressionNode.d.ts +6 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/CommandExpressionNode.js +21 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/CommandLogicNode.d.ts +9 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/CommandLogicNode.js +19 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/CommandMap.d.ts +9 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/CommandMap.js +18 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/RandomRangeCommand.d.ts +15 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/RandomRangeCommand.js +24 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/VisitedCommand.d.ts +20 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/VisitedCommand.js +32 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/VisitedCountCommand.d.ts +13 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/commands/VisitedCountCommand.js +25 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/AndOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/AndOperator.js +15 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/EqualityOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/EqualityOperator.js +14 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/GreaterThanEqualOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/GreaterThanEqualOperator.js +12 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/GreaterThanOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/GreaterThanOperator.js +12 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/InequalityOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/InequalityOperator.js +12 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/LessThanEqualOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/LessThanEqualOperator.js +12 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/LessThanOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/LessThanOperator.js +12 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/NegationOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/NegationOperator.js +13 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/OperatorLogicNode.d.ts +17 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/OperatorLogicNode.js +32 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/OperatorMap.d.ts +9 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/OperatorMap.js +47 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/OrOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/OrOperator.js +13 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/XorOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/XorOperator.js +17 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/arithmetic/DivisionOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/arithmetic/DivisionOperator.js +14 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MinusOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MinusOperator.js +14 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MultiplicationOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MultiplicationOperator.js +12 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/arithmetic/PlusOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/arithmetic/PlusOperator.js +14 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/arithmetic/RemainderDivisionOperator.d.ts +7 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/expression/operators/arithmetic/RemainderDivisionOperator.js +14 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_core/LineBehaviorNode.d.ts +4 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_core/LineBehaviorNode.js +1 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_core/LineBehaviorResult.d.ts +6 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_core/LineBehaviorResult.js +1 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_core/LineNodeArguments.d.ts +6 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_core/LineNodeArguments.js +1 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_core/LineSelectorNode.d.ts +8 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_core/LineSelectorNode.js +15 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/BehaviorState.d.ts +5 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/BehaviorState.js +5 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/ElseIfNode.d.ts +11 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/ElseIfNode.js +53 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/ElseNode.d.ts +11 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/ElseNode.js +49 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/EndIfNode.d.ts +11 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/EndIfNode.js +23 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/IfMode.d.ts +6 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/IfMode.js +8 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/IfNode.d.ts +12 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/IfNode.js +43 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/IgnoreGuardNode.d.ts +11 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/IgnoreGuardNode.js +25 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/IgnoreJumpNode.d.ts +6 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/IgnoreJumpNode.js +18 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/LineCommentNode.d.ts +6 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/LineCommentNode.js +17 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/NormalLineProcessorNode.d.ts +10 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/NormalLineProcessorNode.js +38 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/SetVariableNode.d.ts +11 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/SetVariableNode.js +31 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/commands/DeclareCommand.d.ts +8 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/commands/DeclareCommand.js +39 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.d.ts +8 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.js +40 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/commands/UnvisitCommand.d.ts +9 -0
- package/.svelte-kit/__package__/components/dialog_manager/behavior_tree/line_processors/commands/UnvisitCommand.js +28 -0
- package/.svelte-kit/__package__/components/layouts/LayoutConstants.d.ts +1 -0
- package/.svelte-kit/__package__/components/layouts/LayoutConstants.js +1 -0
- package/.svelte-kit/__package__/components/layouts/PineappleBaseLayout.svelte +189 -0
- package/.svelte-kit/__package__/components/layouts/PineappleBaseLayout.svelte.d.ts +18 -0
- package/.svelte-kit/__package__/components/layouts/SeaweedBaseLayout.svelte +95 -0
- package/.svelte-kit/__package__/components/layouts/SeaweedBaseLayout.svelte.d.ts +23 -0
- package/.svelte-kit/__package__/consts.d.ts +2 -0
- package/.svelte-kit/__package__/consts.js +2 -0
- package/.svelte-kit/__package__/index.d.ts +9 -0
- package/.svelte-kit/__package__/index.js +9 -0
- package/.svelte-kit/__package__/scripts/SetDefaultEnvironment.d.ts +1 -0
- package/.svelte-kit/__package__/scripts/SetDefaultEnvironment.js +41 -0
- package/.svelte-kit/__package__/scripts/pineapple_fiber/PineappleWeaver.d.ts +9 -0
- package/.svelte-kit/__package__/scripts/pineapple_fiber/PineappleWeaver.js +201 -0
- package/.svelte-kit/__package__/scripts/util/FileManagement.d.ts +7 -0
- package/.svelte-kit/__package__/scripts/util/FileManagement.js +35 -0
- package/.svelte-kit/__package__/scripts/util/ManualCheck.d.ts +1 -0
- package/.svelte-kit/__package__/scripts/util/ManualCheck.js +28 -0
- package/.svelte-kit/__package__/scripts/util/ManualCheckRun.d.ts +1 -0
- package/.svelte-kit/__package__/scripts/util/ManualCheckRun.js +6 -0
- package/.svelte-kit/__package__/store.d.ts +17 -0
- package/.svelte-kit/__package__/store.js +17 -0
- package/.svelte-kit/__package__/styles/DefaultGridContainer.css +61 -0
- package/.svelte-kit/__package__/styles/global.css +1 -0
- package/.svelte-kit/__package__/template/SeaweedTemplate.svelte +907 -0
- package/.svelte-kit/__package__/template/SeaweedTemplate.svelte.d.ts +19 -0
- package/.svelte-kit/__package__/theme.postcss +116 -0
- package/.svelte-kit/__package__/types/BlogBlurbMeta.d.ts +11 -0
- package/.svelte-kit/__package__/types/BlogBlurbMeta.js +16 -0
- package/.svelte-kit/__package__/types/BreadcrumbData.d.ts +4 -0
- package/.svelte-kit/__package__/types/BreadcrumbData.js +1 -0
- package/.svelte-kit/__package__/types/pineapple_fiber/DialogDetail.d.ts +6 -0
- package/.svelte-kit/__package__/types/pineapple_fiber/DialogDetail.js +1 -0
- package/.svelte-kit/__package__/types/pineapple_fiber/DialogState.d.ts +5 -0
- package/.svelte-kit/__package__/types/pineapple_fiber/DialogState.js +6 -0
- package/.svelte-kit/__package__/types/pineapple_fiber/DialogVariableStore.d.ts +2 -0
- package/.svelte-kit/__package__/types/pineapple_fiber/DialogVariableStore.js +20 -0
- package/.svelte-kit/__package__/types/pineapple_fiber/PortraitType.d.ts +11 -0
- package/.svelte-kit/__package__/types/pineapple_fiber/PortraitType.js +12 -0
- package/.svelte-kit/__package__/util/create_go_to_function.d.ts +1 -0
- package/.svelte-kit/__package__/util/create_go_to_function.js +5 -0
- package/.svelte-kit/__package__/util/stable_random.d.ts +2 -0
- package/.svelte-kit/__package__/util/stable_random.js +15 -0
- package/.svelte-kit/ambient.d.ts +398 -0
- package/.svelte-kit/generated/client/app.js +28 -0
- package/.svelte-kit/generated/client/matchers.js +1 -0
- package/.svelte-kit/generated/client/nodes/0.js +1 -0
- package/.svelte-kit/generated/client/nodes/1.js +1 -0
- package/.svelte-kit/generated/client/nodes/2.js +1 -0
- package/.svelte-kit/generated/client/nodes/3.js +1 -0
- package/.svelte-kit/generated/client/nodes/4.js +1 -0
- package/.svelte-kit/generated/client/nodes/5.js +1 -0
- package/.svelte-kit/generated/client/nodes/6.js +1 -0
- package/.svelte-kit/generated/client-optimized/app.js +28 -0
- package/.svelte-kit/generated/client-optimized/matchers.js +1 -0
- package/.svelte-kit/generated/client-optimized/nodes/0.js +1 -0
- package/.svelte-kit/generated/client-optimized/nodes/1.js +1 -0
- package/.svelte-kit/generated/client-optimized/nodes/2.js +1 -0
- package/.svelte-kit/generated/client-optimized/nodes/3.js +1 -0
- package/.svelte-kit/generated/client-optimized/nodes/4.js +1 -0
- package/.svelte-kit/generated/client-optimized/nodes/5.js +1 -0
- package/.svelte-kit/generated/client-optimized/nodes/6.js +1 -0
- package/.svelte-kit/generated/root.svelte +64 -0
- package/.svelte-kit/generated/server/internal.js +34 -0
- package/.svelte-kit/non-ambient.d.ts +25 -0
- package/.svelte-kit/output/client/.vite/manifest.json +360 -0
- package/.svelte-kit/output/client/_app/immutable/assets/0.B_SY1GJM.css +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/4.B8rxJaIe.css +1 -0
- package/.svelte-kit/output/client/_app/immutable/assets/PineappleBaseLayout.zNkuL9Xf.css +1 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ProgressBar.CaHExdkQ.css +1 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ProgressBar.DmpmGWm6.css +1 -0
- package/.svelte-kit/output/client/_app/immutable/assets/SeaweedTemplate.DNE9SdPz.css +1 -0
- package/.svelte-kit/output/client/_app/immutable/assets/_layout.B_SY1GJM.css +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/_page.B8rxJaIe.css +1 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ares_blushing.B6Q0SsBp.webp +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ares_disappointed.LOpkh7Q7.webp +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ares_happy.Cz9WhdwO.webp +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ares_lets_go.BxjJjKUv.webp +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ares_logo.C_a3ZQAP.webp +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ares_mad.DofDLDmM.webp +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ares_neutral.Hp923t8N.webp +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ares_slightly_mad.DdwOp6J5.webp +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ares_surprised.BxbNH_w8.webp +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/ares_yay.EM2SNr0e.webp +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_ares.DTcFskeK.png +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_corn.D22ZwTZ0.png +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_pineapple.D28N65_A.png +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_reinhard.D22NV0xw.png +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_tomato.O9Z7_E07.png +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_turnip.DMU0uHH4.png +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/footage-chef-wings.dVBm8Uit.gif +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/header-hep-cat.DcyPS3Oy.mp4 +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/header-pengi.DWAOeO4q.mp4 +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/header-soulwork.BQRWmhTu.mp4 +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/placeholder_circle.Ij3bN7bI.png +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/seaweed-showcase.TTVTTC5m.mp4 +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/store.y2fRW0z7.css +1 -0
- package/.svelte-kit/output/client/_app/immutable/assets/weaver-footage.sjDEbkrX.gif +0 -0
- package/.svelte-kit/output/client/_app/immutable/assets/window-set.IpgsYUna.png +0 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/DialogManagerStore.CGTbGbVf.js +3 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/PineappleBaseLayout.BEmcdUbJ.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/ProgressBar.svelte_svelte_type_style_lang.CmgCUata.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/SeaweedTemplate.Dn5ajBSa.js +98 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/entry.DjOrlFF-.js +3 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/index.CvmYViMX.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/index.DcUpu3_h.js +4 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/index.Duksw40K.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/public.kPGcNb8-.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/scheduler.DXwjFp5a.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/store.lTf0RalW.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/chunks/transitions.BzalH0R-.js +3 -0
- package/.svelte-kit/output/client/_app/immutable/entry/app.gjWLgY1c.js +7 -0
- package/.svelte-kit/output/client/_app/immutable/entry/start.D1fQHQ70.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/nodes/0.Dp97myFE.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/nodes/1.I7DMxkG1.js +4 -0
- package/.svelte-kit/output/client/_app/immutable/nodes/2.BDQ3d4fl.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/nodes/3.IkK-Vp1t.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/nodes/4.C0MZnSyC.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/nodes/5.BjbBqeg5.js +1 -0
- package/.svelte-kit/output/client/_app/immutable/nodes/6.ifg4QDG7.js +1 -0
- package/.svelte-kit/output/client/_app/version.json +1 -0
- package/.svelte-kit/output/client/default-card.png +0 -0
- package/.svelte-kit/output/client/favicon.png +0 -0
- package/.svelte-kit/output/client/robots.txt +5 -0
- package/.svelte-kit/output/prerendered/dependencies/portfolio/__data.json +1 -0
- package/.svelte-kit/output/prerendered/pages/portfolio.html +225 -0
- package/.svelte-kit/output/server/.vite/manifest.json +324 -0
- package/.svelte-kit/output/server/_app/immutable/assets/PineappleBaseLayout.zNkuL9Xf.css +1 -0
- package/.svelte-kit/output/server/_app/immutable/assets/ProgressBar.CaHExdkQ.css +1 -0
- package/.svelte-kit/output/server/_app/immutable/assets/SeaweedTemplate.DNE9SdPz.css +1 -0
- package/.svelte-kit/output/server/_app/immutable/assets/_layout.B_SY1GJM.css +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/_page.B8rxJaIe.css +1 -0
- package/.svelte-kit/output/server/_app/immutable/assets/ares_blushing.B6Q0SsBp.webp +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/ares_disappointed.LOpkh7Q7.webp +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/ares_happy.Cz9WhdwO.webp +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/ares_lets_go.BxjJjKUv.webp +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/ares_logo.C_a3ZQAP.webp +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/ares_mad.DofDLDmM.webp +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/ares_neutral.Hp923t8N.webp +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/ares_slightly_mad.DdwOp6J5.webp +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/ares_surprised.BxbNH_w8.webp +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/ares_yay.EM2SNr0e.webp +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_ares.DTcFskeK.png +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_corn.D22ZwTZ0.png +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_pineapple.D28N65_A.png +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_reinhard.D22NV0xw.png +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_tomato.O9Z7_E07.png +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_turnip.DMU0uHH4.png +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/footage-chef-wings.dVBm8Uit.gif +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/header-hep-cat.DcyPS3Oy.mp4 +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/header-pengi.DWAOeO4q.mp4 +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/header-soulwork.BQRWmhTu.mp4 +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/placeholder_circle.Ij3bN7bI.png +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/seaweed-showcase.TTVTTC5m.mp4 +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/store.y2fRW0z7.css +1 -0
- package/.svelte-kit/output/server/_app/immutable/assets/weaver-footage.sjDEbkrX.gif +0 -0
- package/.svelte-kit/output/server/_app/immutable/assets/window-set.IpgsYUna.png +0 -0
- package/.svelte-kit/output/server/chunks/DialogManagerStore.js +1269 -0
- package/.svelte-kit/output/server/chunks/PineappleBaseLayout.js +94 -0
- package/.svelte-kit/output/server/chunks/ProgressBar.svelte_svelte_type_style_lang.js +60 -0
- package/.svelte-kit/output/server/chunks/SeaweedTemplate.js +597 -0
- package/.svelte-kit/output/server/chunks/exports.js +200 -0
- package/.svelte-kit/output/server/chunks/index.js +52 -0
- package/.svelte-kit/output/server/chunks/index2.js +83 -0
- package/.svelte-kit/output/server/chunks/index3.js +7 -0
- package/.svelte-kit/output/server/chunks/internal.js +247 -0
- package/.svelte-kit/output/server/chunks/prod-ssr.js +6 -0
- package/.svelte-kit/output/server/chunks/public.js +4 -0
- package/.svelte-kit/output/server/chunks/ssr.js +308 -0
- package/.svelte-kit/output/server/chunks/store.js +292 -0
- package/.svelte-kit/output/server/entries/pages/_error.svelte.js +29 -0
- package/.svelte-kit/output/server/entries/pages/_layout.svelte.js +279 -0
- package/.svelte-kit/output/server/entries/pages/_page.svelte.js +18 -0
- package/.svelte-kit/output/server/entries/pages/personal/_layout.svelte.js +13 -0
- package/.svelte-kit/output/server/entries/pages/personal/_page.svelte.js +13 -0
- package/.svelte-kit/output/server/entries/pages/portfolio/_page.server.ts.js +8 -0
- package/.svelte-kit/output/server/entries/pages/portfolio/_page.svelte.js +12 -0
- package/.svelte-kit/output/server/entries/pages/portfolio/actual/_page.svelte.js +18 -0
- package/.svelte-kit/output/server/index.js +2955 -0
- package/.svelte-kit/output/server/internal.js +13 -0
- package/.svelte-kit/output/server/manifest-full.js +60 -0
- package/.svelte-kit/output/server/manifest.js +52 -0
- package/.svelte-kit/output/server/nodes/0.js +8 -0
- package/.svelte-kit/output/server/nodes/1.js +8 -0
- package/.svelte-kit/output/server/nodes/2.js +8 -0
- package/.svelte-kit/output/server/nodes/3.js +8 -0
- package/.svelte-kit/output/server/nodes/4.js +8 -0
- package/.svelte-kit/output/server/nodes/5.js +10 -0
- package/.svelte-kit/output/server/nodes/6.js +8 -0
- package/.svelte-kit/tsconfig.json +50 -0
- package/.svelte-kit/types/route_meta_data.json +8 -0
- package/.svelte-kit/types/src/routes/$types.d.ts +22 -0
- package/.svelte-kit/types/src/routes/personal/$types.d.ts +22 -0
- package/.svelte-kit/types/src/routes/portfolio/$types.d.ts +24 -0
- package/.svelte-kit/types/src/routes/portfolio/actual/$types.d.ts +17 -0
- package/.svelte-kit/types/src/routes/portfolio/proxy+page.server.ts +46 -0
- package/.svelte-kit/vercel-tmp/index.js +46 -0
- package/.svelte-kit/vercel-tmp/manifest.js +52 -0
- package/.vercel/output/config.json +34 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/DialogManagerStore.js +1269 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/PineappleBaseLayout.js +94 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/ProgressBar.svelte_svelte_type_style_lang.js +60 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/SeaweedTemplate.js +597 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/exports.js +200 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/index.js +52 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/index2.js +83 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/index3.js +7 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/internal.js +247 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/prod-ssr.js +6 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/public.js +4 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/ssr.js +308 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/chunks/store.js +292 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/entries/pages/_error.svelte.js +29 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/entries/pages/_layout.svelte.js +279 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/entries/pages/_page.svelte.js +18 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/entries/pages/personal/_layout.svelte.js +13 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/entries/pages/personal/_page.svelte.js +13 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/entries/pages/portfolio/actual/_page.svelte.js +18 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/index.js +2955 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/nodes/0.js +8 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/nodes/1.js +8 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/nodes/2.js +8 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/nodes/3.js +8 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/nodes/4.js +8 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/output/server/nodes/6.js +8 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/vercel-tmp/index.js +46 -0
- package/.vercel/output/functions/fn.func/.svelte-kit/vercel-tmp/manifest.js +52 -0
- package/.vercel/output/functions/fn.func/.vc-config.json +6 -0
- package/.vercel/output/functions/fn.func/package.json +1 -0
- package/.vercel/output/static/_app/immutable/assets/0.B_SY1GJM.css +0 -0
- package/.vercel/output/static/_app/immutable/assets/4.B8rxJaIe.css +1 -0
- package/.vercel/output/static/_app/immutable/assets/PineappleBaseLayout.zNkuL9Xf.css +1 -0
- package/.vercel/output/static/_app/immutable/assets/ProgressBar.CaHExdkQ.css +1 -0
- package/.vercel/output/static/_app/immutable/assets/ProgressBar.DmpmGWm6.css +1 -0
- package/.vercel/output/static/_app/immutable/assets/SeaweedTemplate.CjiLUExY.css +1 -0
- package/.vercel/output/static/_app/immutable/assets/_layout.B_SY1GJM.css +0 -0
- package/.vercel/output/static/_app/immutable/assets/_page.B8rxJaIe.css +1 -0
- package/.vercel/output/static/_app/immutable/assets/ares_blushing.B6Q0SsBp.webp +0 -0
- package/.vercel/output/static/_app/immutable/assets/ares_disappointed.LOpkh7Q7.webp +0 -0
- package/.vercel/output/static/_app/immutable/assets/ares_happy.Cz9WhdwO.webp +0 -0
- package/.vercel/output/static/_app/immutable/assets/ares_lets_go.BxjJjKUv.webp +0 -0
- package/.vercel/output/static/_app/immutable/assets/ares_logo.C_a3ZQAP.webp +0 -0
- package/.vercel/output/static/_app/immutable/assets/ares_mad.DofDLDmM.webp +0 -0
- package/.vercel/output/static/_app/immutable/assets/ares_neutral.Hp923t8N.webp +0 -0
- package/.vercel/output/static/_app/immutable/assets/ares_slightly_mad.DdwOp6J5.webp +0 -0
- package/.vercel/output/static/_app/immutable/assets/ares_surprised.BxbNH_w8.webp +0 -0
- package/.vercel/output/static/_app/immutable/assets/ares_yay.EM2SNr0e.webp +0 -0
- package/.vercel/output/static/_app/immutable/assets/bg_tiled_ares.DTcFskeK.png +0 -0
- package/.vercel/output/static/_app/immutable/assets/bg_tiled_corn.D22ZwTZ0.png +0 -0
- package/.vercel/output/static/_app/immutable/assets/bg_tiled_pineapple.D28N65_A.png +0 -0
- package/.vercel/output/static/_app/immutable/assets/bg_tiled_reinhard.D22NV0xw.png +0 -0
- package/.vercel/output/static/_app/immutable/assets/bg_tiled_tomato.O9Z7_E07.png +0 -0
- package/.vercel/output/static/_app/immutable/assets/bg_tiled_turnip.DMU0uHH4.png +0 -0
- package/.vercel/output/static/_app/immutable/assets/footage-chef-wings.dVBm8Uit.gif +0 -0
- package/.vercel/output/static/_app/immutable/assets/header-hep-cat.DcyPS3Oy.mp4 +0 -0
- package/.vercel/output/static/_app/immutable/assets/header-pengi.DWAOeO4q.mp4 +0 -0
- package/.vercel/output/static/_app/immutable/assets/header-soulwork.BQRWmhTu.mp4 +0 -0
- package/.vercel/output/static/_app/immutable/assets/placeholder_circle.Ij3bN7bI.png +0 -0
- package/.vercel/output/static/_app/immutable/assets/seaweed-showcase.TTVTTC5m.mp4 +0 -0
- package/.vercel/output/static/_app/immutable/assets/store.y2fRW0z7.css +1 -0
- package/.vercel/output/static/_app/immutable/assets/weaver-footage.sjDEbkrX.gif +0 -0
- package/.vercel/output/static/_app/immutable/assets/window-set.IpgsYUna.png +0 -0
- package/.vercel/output/static/_app/immutable/chunks/DialogManagerStore.CGTbGbVf.js +3 -0
- package/.vercel/output/static/_app/immutable/chunks/PineappleBaseLayout.Juc0v1b7.js +1 -0
- package/.vercel/output/static/_app/immutable/chunks/ProgressBar.svelte_svelte_type_style_lang.CmgCUata.js +1 -0
- package/.vercel/output/static/_app/immutable/chunks/SeaweedTemplate.DS-Z3LcL.js +98 -0
- package/.vercel/output/static/_app/immutable/chunks/entry.BViziCKK.js +3 -0
- package/.vercel/output/static/_app/immutable/chunks/index.CvmYViMX.js +1 -0
- package/.vercel/output/static/_app/immutable/chunks/index.DcUpu3_h.js +4 -0
- package/.vercel/output/static/_app/immutable/chunks/index.Duksw40K.js +1 -0
- package/.vercel/output/static/_app/immutable/chunks/public.kPGcNb8-.js +1 -0
- package/.vercel/output/static/_app/immutable/chunks/scheduler.DXwjFp5a.js +1 -0
- package/.vercel/output/static/_app/immutable/chunks/store.D47Cl8J0.js +1 -0
- package/.vercel/output/static/_app/immutable/chunks/transitions.BzalH0R-.js +3 -0
- package/.vercel/output/static/_app/immutable/entry/app.hYBk6umV.js +7 -0
- package/.vercel/output/static/_app/immutable/entry/start.bPtW9zOj.js +1 -0
- package/.vercel/output/static/_app/immutable/nodes/0.Dp97myFE.js +1 -0
- package/.vercel/output/static/_app/immutable/nodes/1.I7DMxkG1.js +4 -0
- package/.vercel/output/static/_app/immutable/nodes/2.C7G9m2NJ.js +1 -0
- package/.vercel/output/static/_app/immutable/nodes/3.D9NOS4Wy.js +1 -0
- package/.vercel/output/static/_app/immutable/nodes/4.C0MZnSyC.js +1 -0
- package/.vercel/output/static/_app/immutable/nodes/5.ARW_iEad.js +1 -0
- package/.vercel/output/static/_app/immutable/nodes/6.CJVGAs6D.js +1 -0
- package/.vercel/output/static/_app/version.json +1 -0
- package/.vercel/output/static/default-card.png +0 -0
- package/.vercel/output/static/favicon.png +0 -0
- package/.vercel/output/static/portfolio/__data.json +1 -0
- package/.vercel/output/static/portfolio.html +225 -0
- package/.vercel/output/static/robots.txt +5 -0
- package/dev/.gitignore +1 -0
- package/dev/README.md +9 -0
- package/dev/repo_list.txt +1 -0
- package/dev/update_all_repos.sh +16 -0
- package/dist/app.postcss +153 -0
- package/dist/assets/bg_tiled/bg_tiled_ares.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_corn.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_pineapple.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_reinhard.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_tomato.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_turnip.png +0 -0
- package/dist/assets/characters/ares/ares_blushing.webp +0 -0
- package/dist/assets/characters/ares/ares_disappointed.webp +0 -0
- package/dist/assets/characters/ares/ares_happy.webp +0 -0
- package/dist/assets/characters/ares/ares_lets_go.webp +0 -0
- package/dist/assets/characters/ares/ares_logo.webp +0 -0
- package/dist/assets/characters/ares/ares_mad.webp +0 -0
- package/dist/assets/characters/ares/ares_neutral.webp +0 -0
- package/dist/assets/characters/ares/ares_slightly_mad.webp +0 -0
- package/dist/assets/characters/ares/ares_surprised.webp +0 -0
- package/dist/assets/characters/ares/ares_yay.webp +0 -0
- package/dist/assets/game_dev/footage-chef-wings.gif +0 -0
- package/dist/assets/game_dev/footage-depreciation.webm +0 -0
- package/dist/assets/game_dev/footage-thinking-of-flowers.webm +0 -0
- package/dist/assets/game_dev/screenshot-game-jam-mama.png +0 -0
- package/dist/assets/game_dev/screenshot-string-hop.png +0 -0
- package/dist/assets/game_dev/screenshot-wet-ass-road.png +0 -0
- package/dist/assets/icons/bitbucket-icon.svg +1 -0
- package/dist/assets/icons/chat-cursor.svg +47 -0
- package/dist/assets/icons/external-link.svg +50 -0
- package/dist/assets/icons/github-mark.svg +1 -0
- package/dist/assets/icons/link-icon.svg +1 -0
- package/dist/assets/icons/linkedin.svg +1 -0
- package/dist/assets/icons/mail.svg +1 -0
- package/dist/assets/others/seaweed-showcase.mp4 +0 -0
- package/dist/assets/others/weaver-footage.gif +0 -0
- package/dist/assets/others/window-set.png +0 -0
- package/dist/assets/placeholder/placeholder_circle.png +0 -0
- package/dist/assets/temp/background-image.jpg +0 -0
- package/dist/assets/temp/bitbucket-logo.png +0 -0
- package/dist/assets/temp/github-logo.png +0 -0
- package/dist/assets/temp/header-hep-cat.mp4 +0 -0
- package/dist/assets/temp/header-hep-cat.ogg +0 -0
- package/dist/assets/temp/header-hep-cat.webm +0 -0
- package/dist/assets/temp/header-pengi.mp4 +0 -0
- package/dist/assets/temp/header-pengi.webm +0 -0
- package/dist/assets/temp/header-soulwork.mp4 +0 -0
- package/dist/assets/temp/header-soulwork.ogg +0 -0
- package/dist/assets/temp/header-soulwork.webm +0 -0
- package/dist/components/Card.svelte +31 -0
- package/dist/components/Card.svelte.d.ts +35 -0
- package/dist/components/CarouselElement.svelte +21 -0
- package/dist/components/CarouselElement.svelte.d.ts +19 -0
- package/dist/components/Chip.svelte +12 -0
- package/dist/components/Chip.svelte.d.ts +27 -0
- package/dist/components/DialogOverlay.svelte +95 -0
- package/dist/components/DialogOverlay.svelte.d.ts +14 -0
- package/dist/components/ElementVisbilityDetector.svelte +18 -0
- package/dist/components/ElementVisbilityDetector.svelte.d.ts +18 -0
- package/dist/components/LazyAsset.svelte +96 -0
- package/dist/components/LazyAsset.svelte.d.ts +20 -0
- package/dist/components/LazyAssetType.d.ts +10 -0
- package/dist/components/LazyAssetType.js +12 -0
- package/dist/components/OnElementVisbilityChanged.d.ts +1 -0
- package/dist/components/OnElementVisbilityChanged.js +1 -0
- package/dist/components/RandomizedBackground.svelte +64 -0
- package/dist/components/RandomizedBackground.svelte.d.ts +16 -0
- package/dist/components/RandomizedImage.svelte +37 -0
- package/dist/components/RandomizedImage.svelte.d.ts +17 -0
- package/dist/components/SocialSection.svelte +160 -0
- package/dist/components/SocialSection.svelte.d.ts +29 -0
- package/dist/components/StickyElement.svelte +36 -0
- package/dist/components/StickyElement.svelte.d.ts +18 -0
- package/dist/components/ToggleableContent.svelte +66 -0
- package/dist/components/ToggleableContent.svelte.d.ts +19 -0
- package/dist/components/ToggleableContentType.d.ts +4 -0
- package/dist/components/ToggleableContentType.js +5 -0
- package/dist/components/dialog_manager/DialogManager.d.ts +77 -0
- package/dist/components/dialog_manager/DialogManager.js +239 -0
- package/dist/components/dialog_manager/DialogManagerStore.d.ts +41 -0
- package/dist/components/dialog_manager/DialogManagerStore.js +45 -0
- package/dist/components/dialog_manager/DialogProcessor.d.ts +13 -0
- package/dist/components/dialog_manager/DialogProcessor.js +62 -0
- package/dist/components/dialog_manager/DialogUtils.d.ts +5 -0
- package/dist/components/dialog_manager/DialogUtils.js +8 -0
- package/dist/components/dialog_manager/behavior_tree/core/BTreeUtils.d.ts +15 -0
- package/dist/components/dialog_manager/behavior_tree/core/BTreeUtils.js +34 -0
- package/dist/components/dialog_manager/behavior_tree/core/BaseBehaviorResult.d.ts +4 -0
- package/dist/components/dialog_manager/behavior_tree/core/BaseBehaviorResult.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorNode.d.ts +3 -0
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorNode.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorStatus.d.ts +5 -0
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorStatus.js +6 -0
- package/dist/components/dialog_manager/behavior_tree/core/SelectorNode.d.ts +12 -0
- package/dist/components/dialog_manager/behavior_tree/core/SelectorNode.js +22 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionArguments.d.ts +5 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionArguments.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionBehaviorNode.d.ts +4 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionBehaviorNode.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionEvaluator.d.ts +15 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionEvaluator.js +220 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionResult.d.ts +5 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionResult.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionSelectorNode.d.ts +8 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionSelectorNode.js +15 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionState.d.ts +3 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionState.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/expression/OperandNode.d.ts +10 -0
- package/dist/components/dialog_manager/behavior_tree/expression/OperandNode.js +15 -0
- package/dist/components/dialog_manager/behavior_tree/expression/OperatorNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/expression/OperatorNode.js +30 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandExpressionNode.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandExpressionNode.js +21 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandLogicNode.d.ts +9 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandLogicNode.js +19 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandMap.d.ts +9 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandMap.js +18 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/RandomRangeCommand.d.ts +15 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/RandomRangeCommand.js +24 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCommand.d.ts +20 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCommand.js +32 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCountCommand.d.ts +13 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCountCommand.js +25 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/AndOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/AndOperator.js +15 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/EqualityOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/EqualityOperator.js +14 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanEqualOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanEqualOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/InequalityOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/InequalityOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanEqualOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanEqualOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/NegationOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/NegationOperator.js +13 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorLogicNode.d.ts +17 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorLogicNode.js +32 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorMap.d.ts +9 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorMap.js +47 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OrOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OrOperator.js +13 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/XorOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/XorOperator.js +17 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/DivisionOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/DivisionOperator.js +14 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MinusOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MinusOperator.js +14 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MultiplicationOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MultiplicationOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/PlusOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/PlusOperator.js +14 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/RemainderDivisionOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/RemainderDivisionOperator.js +14 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorNode.d.ts +4 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorNode.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorResult.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorResult.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineNodeArguments.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineNodeArguments.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineSelectorNode.d.ts +8 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineSelectorNode.js +15 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/BehaviorState.d.ts +5 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/BehaviorState.js +5 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseIfNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseIfNode.js +53 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseNode.js +49 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/EndIfNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/EndIfNode.js +23 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfMode.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfMode.js +8 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfNode.d.ts +12 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfNode.js +43 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreGuardNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreGuardNode.js +25 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreJumpNode.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreJumpNode.js +18 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/LineCommentNode.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/LineCommentNode.js +17 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/NormalLineProcessorNode.d.ts +10 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/NormalLineProcessorNode.js +38 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/SetVariableNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/SetVariableNode.js +31 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/DeclareCommand.d.ts +8 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/DeclareCommand.js +39 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.d.ts +8 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.js +40 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/UnvisitCommand.d.ts +9 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/UnvisitCommand.js +28 -0
- package/dist/components/layouts/LayoutConstants.d.ts +1 -0
- package/dist/components/layouts/LayoutConstants.js +1 -0
- package/dist/components/layouts/PineappleBaseLayout.svelte +189 -0
- package/dist/components/layouts/PineappleBaseLayout.svelte.d.ts +18 -0
- package/dist/components/layouts/SeaweedBaseLayout.svelte +95 -0
- package/dist/components/layouts/SeaweedBaseLayout.svelte.d.ts +23 -0
- package/dist/consts.d.ts +2 -0
- package/dist/consts.js +2 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +9 -0
- package/dist/scripts/SetDefaultEnvironment.d.ts +1 -0
- package/dist/scripts/SetDefaultEnvironment.js +41 -0
- package/dist/scripts/pineapple_fiber/PineappleWeaver.d.ts +9 -0
- package/dist/scripts/pineapple_fiber/PineappleWeaver.js +201 -0
- package/dist/scripts/util/FileManagement.d.ts +7 -0
- package/dist/scripts/util/FileManagement.js +35 -0
- package/dist/scripts/util/ManualCheck.d.ts +1 -0
- package/dist/scripts/util/ManualCheck.js +28 -0
- package/dist/scripts/util/ManualCheckRun.d.ts +1 -0
- package/dist/scripts/util/ManualCheckRun.js +6 -0
- package/dist/store.d.ts +17 -0
- package/dist/store.js +17 -0
- package/dist/styles/DefaultGridContainer.css +61 -0
- package/dist/styles/global.css +1 -0
- package/dist/template/SeaweedTemplate.svelte +907 -0
- package/dist/template/SeaweedTemplate.svelte.d.ts +19 -0
- package/dist/theme.postcss +116 -0
- package/dist/types/BlogBlurbMeta.d.ts +11 -0
- package/dist/types/BlogBlurbMeta.js +16 -0
- package/dist/types/BreadcrumbData.d.ts +4 -0
- package/dist/types/BreadcrumbData.js +1 -0
- package/dist/types/pineapple_fiber/DialogDetail.d.ts +6 -0
- package/dist/types/pineapple_fiber/DialogDetail.js +1 -0
- package/dist/types/pineapple_fiber/DialogState.d.ts +5 -0
- package/dist/types/pineapple_fiber/DialogState.js +6 -0
- package/dist/types/pineapple_fiber/DialogVariableStore.d.ts +2 -0
- package/dist/types/pineapple_fiber/DialogVariableStore.js +20 -0
- package/dist/types/pineapple_fiber/PortraitType.d.ts +11 -0
- package/dist/types/pineapple_fiber/PortraitType.js +12 -0
- package/dist/util/create_go_to_function.d.ts +1 -0
- package/dist/util/create_go_to_function.js +5 -0
- package/dist/util/stable_random.d.ts +2 -0
- package/dist/util/stable_random.js +15 -0
- package/docs/GroupLazyLoad.md +34 -0
- package/docs/PineappleFiberSpec.md +356 -0
- package/docs/Workflow.md +5 -0
- package/docs/images/figure-ares-happy.png +0 -0
- package/docs/images/figure-yarn-spinner.png +0 -0
- package/package.json +14 -11
- package/postcss.config.cjs +6 -0
- package/src/lib/index.ts +1 -0
- package/src/lib/template/SeaweedTemplate.svelte +2 -1
- package/src/routes/+layout.svelte +19 -19
- package/src/routes/portfolio/+page.server.ts +44 -44
- package/src/routes/portfolio/.gitignore +1 -0
- package/svelte.config.js +25 -0
- package/tailwind.config.ts +29 -0
- package/tsconfig.json +22 -0
- package/vite.config.ts +6 -0
- package/vite.config.ts.timestamp-1709797261217-7fe7973433269.mjs +10 -0
- package/vite.config.ts.timestamp-1709801575567-e7eed430338b.mjs +10 -0
- package/vite.config.ts.timestamp-1710003919548-e3e0deafd6ef6.mjs +10 -0
- package/yarn.lock +2797 -0
- /package/src/{routes/portfolio → lib/components}/SocialSection.svelte +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DialogManager is the object we want to interact with in Svelte
|
|
3
|
+
*/
|
|
4
|
+
/// <reference types="svelte" />
|
|
5
|
+
import type { DialogDetail } from "../../types/pineapple_fiber/DialogDetail";
|
|
6
|
+
import { DialogState } from "../../types/pineapple_fiber/DialogState";
|
|
7
|
+
import { DialogProcessor } from "./DialogProcessor";
|
|
8
|
+
export type OnSetDialogChoiceCallback = (newMessage: DialogDetail) => void;
|
|
9
|
+
export declare class DialogManager {
|
|
10
|
+
dialogMessageMap: Map<string, DialogDetail>;
|
|
11
|
+
dialogMessageList: DialogDetail[];
|
|
12
|
+
fullCurrentMessage: string;
|
|
13
|
+
currentMessageMeta: DialogDetail;
|
|
14
|
+
currentMessage: import("svelte/store").Writable<string>;
|
|
15
|
+
currentIndex: number;
|
|
16
|
+
previousTimestamp: number;
|
|
17
|
+
isDoneTransition: boolean;
|
|
18
|
+
currentPortrait: import("svelte/store").Writable<unknown>;
|
|
19
|
+
portraitMap: Map<string, any>;
|
|
20
|
+
currentState: DialogState;
|
|
21
|
+
hidePercent: import("svelte/motion").Tweened<number>;
|
|
22
|
+
skipNextActiveTime: number;
|
|
23
|
+
dialogProcessor: DialogProcessor;
|
|
24
|
+
_setDialogChoiceQueue: DialogDetail[];
|
|
25
|
+
_setDialogChoiceMutex: boolean;
|
|
26
|
+
onSetDialogListeners: OnSetDialogChoiceCallback[];
|
|
27
|
+
constructor();
|
|
28
|
+
/**
|
|
29
|
+
* when users interact with the dialog, they can skip the transition like in a game
|
|
30
|
+
* note that there is a cool down to this, check out skipNextActiveTime
|
|
31
|
+
*/
|
|
32
|
+
skipAnimation: () => void;
|
|
33
|
+
/**
|
|
34
|
+
* hides or shows the dialog UI
|
|
35
|
+
* @param shouldEnable
|
|
36
|
+
*/
|
|
37
|
+
enableDialog: (shouldEnable: boolean) => void;
|
|
38
|
+
/**
|
|
39
|
+
* sets the possible dialog that might appear on the Dialog UI
|
|
40
|
+
* note that it overwrites the previous tree and does not append on it due to the possibility
|
|
41
|
+
* of node name conflicts
|
|
42
|
+
* @param newMessageList
|
|
43
|
+
*/
|
|
44
|
+
setDialogTree: (newMessageList: DialogDetail[]) => void;
|
|
45
|
+
/**
|
|
46
|
+
* Remember to call this before SetDialogTree
|
|
47
|
+
* and unsubscribe during onDestroy
|
|
48
|
+
* @param callback
|
|
49
|
+
*/
|
|
50
|
+
subscribeToSetDialogChoice: (callback: OnSetDialogChoiceCallback) => void;
|
|
51
|
+
/**
|
|
52
|
+
* Remember to call this during onDestroy
|
|
53
|
+
* @param callback
|
|
54
|
+
* todo: double check if this works???
|
|
55
|
+
*/
|
|
56
|
+
unsubscribeToSetDialogChoice: (callback: OnSetDialogChoiceCallback) => void;
|
|
57
|
+
/**
|
|
58
|
+
* Sets the next dialog to show depending on which special choice a href link the user
|
|
59
|
+
* has interacted with
|
|
60
|
+
* @param newMessage
|
|
61
|
+
*
|
|
62
|
+
* you can listen to this!
|
|
63
|
+
*/
|
|
64
|
+
setDialogChoice: (newMessage: DialogDetail | undefined) => void;
|
|
65
|
+
_setDialogChoice: () => void;
|
|
66
|
+
setDialogToDefault: () => void;
|
|
67
|
+
/**
|
|
68
|
+
* updates the information and detail frame by frame
|
|
69
|
+
* you can think of this like the main game loop
|
|
70
|
+
*
|
|
71
|
+
* @param timestamp
|
|
72
|
+
*
|
|
73
|
+
* todo: this might be too big we might want to refactor this method for better readability
|
|
74
|
+
* ISSUE #81 https://github.com/TurnipXenon/pineapple/issues/81
|
|
75
|
+
*/
|
|
76
|
+
update: (timestamp: number) => void;
|
|
77
|
+
}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DialogManager is the object we want to interact with in Svelte
|
|
3
|
+
*/
|
|
4
|
+
import { writable } from "svelte/store";
|
|
5
|
+
import { DialogState } from "../../types/pineapple_fiber/DialogState";
|
|
6
|
+
import { tweened } from "svelte/motion";
|
|
7
|
+
import { cubicOut } from "svelte/easing";
|
|
8
|
+
import { PortraitType } from "../../types/pineapple_fiber/PortraitType";
|
|
9
|
+
import AresHappy from "../../assets/characters/ares/ares_happy.webp";
|
|
10
|
+
import AresBlushing from "../../assets/characters/ares/ares_blushing.webp";
|
|
11
|
+
import AresDisappointed from "../../assets/characters/ares/ares_disappointed.webp";
|
|
12
|
+
import AresLetsGo from "../../assets/characters/ares/ares_lets_go.webp";
|
|
13
|
+
import AresMad from "../../assets/characters/ares/ares_mad.webp";
|
|
14
|
+
import AresNeutral from "../../assets/characters/ares/ares_neutral.webp";
|
|
15
|
+
import AresSlightlyMad from "../../assets/characters/ares/ares_slightly_mad.webp";
|
|
16
|
+
import AresSurprised from "../../assets/characters/ares/ares_surprised.webp";
|
|
17
|
+
import AresYay from "../../assets/characters/ares/ares_yay.webp";
|
|
18
|
+
import { defaultDialogMessage, dialogVariableStore, enableDialogueOverlay, updateRate } from "./DialogManagerStore";
|
|
19
|
+
import { DialogProcessor } from "./DialogProcessor";
|
|
20
|
+
const shouldDebugYarn = false;
|
|
21
|
+
export class DialogManager {
|
|
22
|
+
dialogMessageMap = new Map();
|
|
23
|
+
dialogMessageList = [];
|
|
24
|
+
fullCurrentMessage = defaultDialogMessage[0].textContent;
|
|
25
|
+
currentMessageMeta = defaultDialogMessage[0];
|
|
26
|
+
currentMessage = writable("");
|
|
27
|
+
currentIndex = 0;
|
|
28
|
+
previousTimestamp = 0;
|
|
29
|
+
isDoneTransition = false;
|
|
30
|
+
currentPortrait = writable();
|
|
31
|
+
portraitMap = new Map();
|
|
32
|
+
currentState = DialogState.Visible;
|
|
33
|
+
hidePercent = tweened(100, {
|
|
34
|
+
duration: 400,
|
|
35
|
+
easing: cubicOut
|
|
36
|
+
}); // 100 = 100%
|
|
37
|
+
skipNextActiveTime = 0;
|
|
38
|
+
dialogProcessor = new DialogProcessor();
|
|
39
|
+
// for queueing actions
|
|
40
|
+
_setDialogChoiceQueue = [];
|
|
41
|
+
_setDialogChoiceMutex = false;
|
|
42
|
+
onSetDialogListeners = [];
|
|
43
|
+
constructor() {
|
|
44
|
+
enableDialogueOverlay.subscribe((value) => {
|
|
45
|
+
// todo: investigate why we cant put setDialogDefault inside the then clause
|
|
46
|
+
// ISSUE #82 https://github.com/TurnipXenon/pineapple/issues/82
|
|
47
|
+
if (value) {
|
|
48
|
+
this.hidePercent.set(0);
|
|
49
|
+
this.setDialogToDefault();
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.hidePercent.set(100);
|
|
53
|
+
this.setDialogTree([{ textContent: "" }]);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* when users interact with the dialog, they can skip the transition like in a game
|
|
59
|
+
* note that there is a cool down to this, check out skipNextActiveTime
|
|
60
|
+
*/
|
|
61
|
+
skipAnimation = () => {
|
|
62
|
+
if (this.previousTimestamp > this.skipNextActiveTime &&
|
|
63
|
+
this.currentState == DialogState.Visible &&
|
|
64
|
+
!this.isDoneTransition // crucial for dynamic links!
|
|
65
|
+
) {
|
|
66
|
+
this.currentIndex = this.fullCurrentMessage.length - 1;
|
|
67
|
+
this.currentMessage.update(() => this.fullCurrentMessage.slice(0, this.currentIndex));
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* hides or shows the dialog UI
|
|
72
|
+
* @param shouldEnable
|
|
73
|
+
*/
|
|
74
|
+
enableDialog = (shouldEnable) => {
|
|
75
|
+
enableDialogueOverlay.update(() => shouldEnable);
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* sets the possible dialog that might appear on the Dialog UI
|
|
79
|
+
* note that it overwrites the previous tree and does not append on it due to the possibility
|
|
80
|
+
* of node name conflicts
|
|
81
|
+
* @param newMessageList
|
|
82
|
+
*/
|
|
83
|
+
setDialogTree = (newMessageList) => {
|
|
84
|
+
this.dialogMessageList = newMessageList;
|
|
85
|
+
this.dialogMessageMap.clear();
|
|
86
|
+
newMessageList.map((value) => {
|
|
87
|
+
if (value.dialogId) {
|
|
88
|
+
this.dialogMessageMap.set(value.dialogId, value);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
// lazy load map
|
|
92
|
+
if (this.portraitMap.size == 0) {
|
|
93
|
+
this.portraitMap.set(PortraitType.AresHappy.toString(), AresHappy);
|
|
94
|
+
this.portraitMap.set(PortraitType.AresBlushing.toString(), AresBlushing);
|
|
95
|
+
this.portraitMap.set(PortraitType.AresDisappointed.toString(), AresDisappointed);
|
|
96
|
+
this.portraitMap.set(PortraitType.AresLetsGo.toString(), AresLetsGo);
|
|
97
|
+
this.portraitMap.set(PortraitType.AresMad.toString(), AresMad);
|
|
98
|
+
this.portraitMap.set(PortraitType.AresNeutral.toString(), AresNeutral);
|
|
99
|
+
this.portraitMap.set(PortraitType.AresSlightlyMad.toString(), AresSlightlyMad);
|
|
100
|
+
this.portraitMap.set(PortraitType.AresSurprised.toString(), AresSurprised);
|
|
101
|
+
this.portraitMap.set(PortraitType.AresYay.toString(), AresYay);
|
|
102
|
+
}
|
|
103
|
+
this.setDialogChoice(newMessageList[0]);
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Remember to call this before SetDialogTree
|
|
107
|
+
* and unsubscribe during onDestroy
|
|
108
|
+
* @param callback
|
|
109
|
+
*/
|
|
110
|
+
subscribeToSetDialogChoice = (callback) => {
|
|
111
|
+
this.onSetDialogListeners.push(callback);
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Remember to call this during onDestroy
|
|
115
|
+
* @param callback
|
|
116
|
+
* todo: double check if this works???
|
|
117
|
+
*/
|
|
118
|
+
unsubscribeToSetDialogChoice = (callback) => {
|
|
119
|
+
// from: https://stackoverflow.com/a/5767357/17836168
|
|
120
|
+
const index = this.onSetDialogListeners.indexOf(callback);
|
|
121
|
+
if (index > -1) {
|
|
122
|
+
// only splice array when item is found
|
|
123
|
+
this.onSetDialogListeners.splice(index, 1); // 2nd parameter means remove one item only
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Sets the next dialog to show depending on which special choice a href link the user
|
|
128
|
+
* has interacted with
|
|
129
|
+
* @param newMessage
|
|
130
|
+
*
|
|
131
|
+
* you can listen to this!
|
|
132
|
+
*/
|
|
133
|
+
setDialogChoice = (newMessage) => {
|
|
134
|
+
if (!newMessage || !newMessage.textContent) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
this._setDialogChoiceQueue.push(newMessage);
|
|
138
|
+
if (!this._setDialogChoiceMutex) {
|
|
139
|
+
this._setDialogChoiceMutex = true; // not a true mutex but this will do
|
|
140
|
+
this._setDialogChoice();
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
_setDialogChoice = () => {
|
|
144
|
+
const newMessage = this._setDialogChoiceQueue.shift();
|
|
145
|
+
if (newMessage === undefined) {
|
|
146
|
+
this._setDialogChoiceMutex = false; // set it free!
|
|
147
|
+
this.onSetDialogListeners.forEach((listener) => {
|
|
148
|
+
listener(this.currentMessageMeta);
|
|
149
|
+
});
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
this.currentMessageMeta = newMessage;
|
|
153
|
+
// set the portrait
|
|
154
|
+
let portraitValue = AresHappy;
|
|
155
|
+
if (this.currentMessageMeta.portraitType) {
|
|
156
|
+
portraitValue = this.portraitMap.get(this.currentMessageMeta.portraitType);
|
|
157
|
+
}
|
|
158
|
+
if (portraitValue) {
|
|
159
|
+
this.currentPortrait.update(() => portraitValue);
|
|
160
|
+
}
|
|
161
|
+
// process the dialogue here line-by-line
|
|
162
|
+
this.fullCurrentMessage = this.dialogProcessor.processDialog(this.currentMessageMeta);
|
|
163
|
+
this.currentMessage.update(() => "");
|
|
164
|
+
this.currentIndex = 0;
|
|
165
|
+
this.skipNextActiveTime = this.previousTimestamp + 1000; // guard
|
|
166
|
+
this.isDoneTransition = false; // must be after the guard
|
|
167
|
+
if (shouldDebugYarn) {
|
|
168
|
+
console.info(`Currently processing node: ${this.currentMessageMeta.dialogId}`);
|
|
169
|
+
}
|
|
170
|
+
// save that we visited AND processed the node
|
|
171
|
+
if (this.currentMessageMeta.dialogId) {
|
|
172
|
+
const key = `+${this.currentMessageMeta.dialogId}`;
|
|
173
|
+
const value = Number(dialogVariableStore.getItem(key));
|
|
174
|
+
if (isNaN(value)) {
|
|
175
|
+
dialogVariableStore.setItem(key, "1");
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
dialogVariableStore.setItem(key, `${value + 1}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// reloop this to process all messages
|
|
182
|
+
this._setDialogChoice();
|
|
183
|
+
};
|
|
184
|
+
setDialogToDefault = () => {
|
|
185
|
+
this.setDialogTree(defaultDialogMessage);
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* updates the information and detail frame by frame
|
|
189
|
+
* you can think of this like the main game loop
|
|
190
|
+
*
|
|
191
|
+
* @param timestamp
|
|
192
|
+
*
|
|
193
|
+
* todo: this might be too big we might want to refactor this method for better readability
|
|
194
|
+
* ISSUE #81 https://github.com/TurnipXenon/pineapple/issues/81
|
|
195
|
+
*/
|
|
196
|
+
update = (timestamp) => {
|
|
197
|
+
if (this.currentState == DialogState.Invisible || this.currentState == DialogState.Busy) {
|
|
198
|
+
window.requestAnimationFrame(this.update);
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
// if visible
|
|
202
|
+
// text transition loop
|
|
203
|
+
if (!this.isDoneTransition && this.currentIndex > this.fullCurrentMessage.length) {
|
|
204
|
+
const elementList = document.getElementsByClassName("dialog-choice");
|
|
205
|
+
for (const el of elementList) {
|
|
206
|
+
el.addEventListener("click", (event) => {
|
|
207
|
+
// todo: make more robust; for now we're assuming first class is our choice
|
|
208
|
+
const choice = el.classList[0].split("-")[1];
|
|
209
|
+
this.setDialogChoice(this.dialogMessageMap.get(choice));
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
this.isDoneTransition = true;
|
|
213
|
+
}
|
|
214
|
+
// guard: skip if done or if not yet time to update
|
|
215
|
+
if (this.currentIndex > this.fullCurrentMessage.length ||
|
|
216
|
+
this.previousTimestamp + updateRate > timestamp) {
|
|
217
|
+
window.requestAnimationFrame(this.update);
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
this.previousTimestamp = timestamp;
|
|
221
|
+
// check if valid text
|
|
222
|
+
// there is an assumption that previous character is valid
|
|
223
|
+
// let validCharacterIndex = this.currentLength - 1;
|
|
224
|
+
// validCharacterIndex++;
|
|
225
|
+
// the code above is just to show you how it looks like but let's assume
|
|
226
|
+
// that currentLength = validCharacter + 1
|
|
227
|
+
while (this.fullCurrentMessage[this.currentIndex] == "<" &&
|
|
228
|
+
this.currentIndex + 1 < this.fullCurrentMessage.length) {
|
|
229
|
+
// find valid character, trap with closing
|
|
230
|
+
this.currentIndex = this.fullCurrentMessage.indexOf(">", this.currentIndex) + 1;
|
|
231
|
+
// normalize
|
|
232
|
+
this.currentIndex = Math.min(this.currentIndex, this.fullCurrentMessage.length - 1);
|
|
233
|
+
}
|
|
234
|
+
this.currentMessage.update(() => this.fullCurrentMessage.slice(0, this.currentIndex));
|
|
235
|
+
// increment
|
|
236
|
+
++this.currentIndex;
|
|
237
|
+
window.requestAnimationFrame(this.update);
|
|
238
|
+
};
|
|
239
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DialogManagerStore is for variables that will be used as a Svelte store
|
|
3
|
+
* or is saved in local storage
|
|
4
|
+
*/
|
|
5
|
+
/// <reference types="svelte" />
|
|
6
|
+
import type { DialogMapStore } from "../../types/pineapple_fiber/DialogVariableStore";
|
|
7
|
+
import type { DialogDetail } from "../../types/pineapple_fiber/DialogDetail";
|
|
8
|
+
import { DialogManager } from "./DialogManager";
|
|
9
|
+
/**
|
|
10
|
+
* Enables the dialogue overlay
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* When updating to false, remember to restore the value to true, our default value, onDestroy.
|
|
14
|
+
* Avoid async to prevent weird flashes of updates!
|
|
15
|
+
* ```
|
|
16
|
+
* import {enableDialogueOverlay} from "../../store.ts";
|
|
17
|
+
* enableDialogueOverlay.update(() => false);
|
|
18
|
+
*
|
|
19
|
+
* onDestroy(() => {
|
|
20
|
+
* enableDialogueOverlay.update(() => true);
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare const enableDialogueOverlay: import("svelte/store").Writable<boolean>;
|
|
25
|
+
export declare const dialogVariableStore: DialogMapStore;
|
|
26
|
+
export declare const updateRate: number;
|
|
27
|
+
export declare const defaultDialogMessage: DialogDetail[];
|
|
28
|
+
/**
|
|
29
|
+
* strictly must be declared last! or you might receive a weird error that looks like:
|
|
30
|
+
*
|
|
31
|
+
* 2:04:21 AM [vite] Error when evaluating SSR module /src/lib/components/dialog_manager/DialogManagerStore.ts:
|
|
32
|
+
* |- TypeError: Cannot read properties of undefined (reading '0')
|
|
33
|
+
* at <instance_members_initializer> (/src/lib/components/dialog_manager/DialogManager.ts:38:67)
|
|
34
|
+
* at new DialogManager (/src/lib/components/dialog_manager/DialogManager.ts:53:14)
|
|
35
|
+
* at eval (/src/lib/components/dialog_manager/DialogManagerStore.ts:15:23)
|
|
36
|
+
* at async instantiateModule (file:///C:/Users/Pumpkin/Projects/Web/pineapple/node_modules/vite/dist/node/chunks/dep-934dbc7c.js:54360:9)
|
|
37
|
+
*
|
|
38
|
+
* what this means is that one member of dialogManager cannot be initialized. in our case, it was the
|
|
39
|
+
* defaultDialogMessage not yet being initialized
|
|
40
|
+
*/
|
|
41
|
+
export declare const dialogManager: DialogManager;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DialogManagerStore is for variables that will be used as a Svelte store
|
|
3
|
+
* or is saved in local storage
|
|
4
|
+
*/
|
|
5
|
+
import { createNewMapStore } from "../../types/pineapple_fiber/DialogVariableStore";
|
|
6
|
+
import { writable } from "svelte/store";
|
|
7
|
+
import { DialogManager } from "./DialogManager";
|
|
8
|
+
/**
|
|
9
|
+
* Enables the dialogue overlay
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* When updating to false, remember to restore the value to true, our default value, onDestroy.
|
|
13
|
+
* Avoid async to prevent weird flashes of updates!
|
|
14
|
+
* ```
|
|
15
|
+
* import {enableDialogueOverlay} from "../../store.ts";
|
|
16
|
+
* enableDialogueOverlay.update(() => false);
|
|
17
|
+
*
|
|
18
|
+
* onDestroy(() => {
|
|
19
|
+
* enableDialogueOverlay.update(() => true);
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export const enableDialogueOverlay = writable(true);
|
|
24
|
+
export const dialogVariableStore = createNewMapStore();
|
|
25
|
+
export const updateRate = 40 / 1000; // *at least* 40ms per letter
|
|
26
|
+
// todo: if we go through doing yarn to typescript, move this!
|
|
27
|
+
export const defaultDialogMessage = [
|
|
28
|
+
{
|
|
29
|
+
textContent: `<p>Have you drank water? Or perhaps, you've checked out <a target="_blank" class="external-link" href="http://crouton.net">one of the best webpages</a> out there?`
|
|
30
|
+
}
|
|
31
|
+
];
|
|
32
|
+
/**
|
|
33
|
+
* strictly must be declared last! or you might receive a weird error that looks like:
|
|
34
|
+
*
|
|
35
|
+
* 2:04:21 AM [vite] Error when evaluating SSR module /src/lib/components/dialog_manager/DialogManagerStore.ts:
|
|
36
|
+
* |- TypeError: Cannot read properties of undefined (reading '0')
|
|
37
|
+
* at <instance_members_initializer> (/src/lib/components/dialog_manager/DialogManager.ts:38:67)
|
|
38
|
+
* at new DialogManager (/src/lib/components/dialog_manager/DialogManager.ts:53:14)
|
|
39
|
+
* at eval (/src/lib/components/dialog_manager/DialogManagerStore.ts:15:23)
|
|
40
|
+
* at async instantiateModule (file:///C:/Users/Pumpkin/Projects/Web/pineapple/node_modules/vite/dist/node/chunks/dep-934dbc7c.js:54360:9)
|
|
41
|
+
*
|
|
42
|
+
* what this means is that one member of dialogManager cannot be initialized. in our case, it was the
|
|
43
|
+
* defaultDialogMessage not yet being initialized
|
|
44
|
+
*/
|
|
45
|
+
export const dialogManager = new DialogManager();
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DialogDetail } from "../../types/pineapple_fiber/DialogDetail";
|
|
2
|
+
import { LineSelectorNode } from "./behavior_tree/line_core/LineSelectorNode";
|
|
3
|
+
/**
|
|
4
|
+
* DialogProcessor processes dialogs
|
|
5
|
+
*/
|
|
6
|
+
export declare class DialogProcessor {
|
|
7
|
+
processingTree: LineSelectorNode;
|
|
8
|
+
/**
|
|
9
|
+
* process the dialog line by line and return a presentable string
|
|
10
|
+
* @param dialogDetail
|
|
11
|
+
*/
|
|
12
|
+
processDialog: (dialogDetail: DialogDetail) => string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { BehaviorState } from "./behavior_tree/line_processors/BehaviorState";
|
|
2
|
+
import { IfNode } from "./behavior_tree/line_processors/IfNode";
|
|
3
|
+
import { EndIfNode } from "./behavior_tree/line_processors/EndIfNode";
|
|
4
|
+
import { ElseNode } from "./behavior_tree/line_processors/ElseNode";
|
|
5
|
+
import { ElseIfNode } from "./behavior_tree/line_processors/ElseIfNode";
|
|
6
|
+
import { SetVariableNode } from "./behavior_tree/line_processors/SetVariableNode";
|
|
7
|
+
import { IgnoreGuardNode } from "./behavior_tree/line_processors/IgnoreGuardNode";
|
|
8
|
+
import { NormalLineProcessorNode } from "./behavior_tree/line_processors/NormalLineProcessorNode";
|
|
9
|
+
import { LineSelectorNode } from "./behavior_tree/line_core/LineSelectorNode";
|
|
10
|
+
import { browser } from "$app/environment";
|
|
11
|
+
import { LineCommentNode } from "./behavior_tree/line_processors/LineCommentNode";
|
|
12
|
+
import { DeclareCommand } from "./behavior_tree/line_processors/commands/DeclareCommand";
|
|
13
|
+
import { JumpCommand } from "./behavior_tree/line_processors/commands/JumpCommand";
|
|
14
|
+
import { IgnoreJumpNode } from "./behavior_tree/line_processors/IgnoreJumpNode";
|
|
15
|
+
import { UnvisitCommand } from "./behavior_tree/line_processors/commands/UnvisitCommand";
|
|
16
|
+
/**
|
|
17
|
+
* DialogProcessor processes dialogs
|
|
18
|
+
*/
|
|
19
|
+
export class DialogProcessor {
|
|
20
|
+
processingTree = new LineSelectorNode([
|
|
21
|
+
/*region comment based formats*/
|
|
22
|
+
new IgnoreJumpNode(), // must be prioritized above line comment node
|
|
23
|
+
new LineCommentNode(),
|
|
24
|
+
/*endregion commend based formats*/
|
|
25
|
+
new EndIfNode(),
|
|
26
|
+
new ElseIfNode(),
|
|
27
|
+
new ElseNode(),
|
|
28
|
+
new IfNode(),
|
|
29
|
+
new IgnoreGuardNode(),
|
|
30
|
+
/*region commands*/
|
|
31
|
+
new SetVariableNode(),
|
|
32
|
+
new DeclareCommand(),
|
|
33
|
+
new JumpCommand(),
|
|
34
|
+
new UnvisitCommand(),
|
|
35
|
+
/*endregion commands*/
|
|
36
|
+
new NormalLineProcessorNode()
|
|
37
|
+
]);
|
|
38
|
+
/**
|
|
39
|
+
* process the dialog line by line and return a presentable string
|
|
40
|
+
* @param dialogDetail
|
|
41
|
+
*/
|
|
42
|
+
processDialog = (dialogDetail) => {
|
|
43
|
+
if (!browser) {
|
|
44
|
+
return ""; // don't process any line in the server
|
|
45
|
+
}
|
|
46
|
+
let currentState = new BehaviorState();
|
|
47
|
+
// split each yarn line
|
|
48
|
+
return dialogDetail.textContent
|
|
49
|
+
.trim()
|
|
50
|
+
.split("\n")
|
|
51
|
+
.map((line_, index) => {
|
|
52
|
+
const result = this.processingTree.process({
|
|
53
|
+
initState: currentState,
|
|
54
|
+
line: line_.trim(),
|
|
55
|
+
lineIndex: index
|
|
56
|
+
});
|
|
57
|
+
currentState = result.nextState;
|
|
58
|
+
return result.renderedLine;
|
|
59
|
+
})
|
|
60
|
+
.join("\n"); // combine all processed lines
|
|
61
|
+
};
|
|
62
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { dialogVariableStore } from "./DialogManagerStore";
|
|
2
|
+
class _DialogUtils {
|
|
3
|
+
isNodeVisited = (dialogId) => {
|
|
4
|
+
const value = Number(dialogVariableStore.getItem(`+${dialogId}`));
|
|
5
|
+
return !isNaN(value) && value > 0;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export const DialogUtils = new _DialogUtils();
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare class BTreeUtils {
|
|
2
|
+
/**
|
|
3
|
+
* peek the top of a stack object with the assumption it's not an empty stack
|
|
4
|
+
* todo: add possible protection like an assertion
|
|
5
|
+
* @param stack
|
|
6
|
+
* @return top of the stack
|
|
7
|
+
*/
|
|
8
|
+
peek: <T>(stack: T[]) => T;
|
|
9
|
+
removeQuotes: (value: string) => string;
|
|
10
|
+
simplifyToken: (oldToken: string) => string;
|
|
11
|
+
isTrue: (value: string) => boolean;
|
|
12
|
+
isFalse: (value: string) => boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const btreeUtils: BTreeUtils;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
class BTreeUtils {
|
|
2
|
+
/**
|
|
3
|
+
* peek the top of a stack object with the assumption it's not an empty stack
|
|
4
|
+
* todo: add possible protection like an assertion
|
|
5
|
+
* @param stack
|
|
6
|
+
* @return top of the stack
|
|
7
|
+
*/
|
|
8
|
+
peek = (stack) => {
|
|
9
|
+
return stack[stack.length - 1];
|
|
10
|
+
};
|
|
11
|
+
removeQuotes = (value) => {
|
|
12
|
+
return value
|
|
13
|
+
.replace(/^"/, "") // remove possible " at the start: https://stackoverflow.com/a/2182602
|
|
14
|
+
.replace(/"$/, ""); // remove possible " at the end: https://stackoverflow.com/a/12249011
|
|
15
|
+
};
|
|
16
|
+
simplifyToken = (oldToken) => {
|
|
17
|
+
if (oldToken[0] == "$") {
|
|
18
|
+
const value = localStorage.getItem(oldToken);
|
|
19
|
+
if (value) {
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
console.error(`Value obtained in local storage false: ${oldToken}`);
|
|
23
|
+
return "";
|
|
24
|
+
}
|
|
25
|
+
return btreeUtils.removeQuotes(oldToken);
|
|
26
|
+
};
|
|
27
|
+
isTrue = (value) => {
|
|
28
|
+
return value.trim().toLowerCase() === "true";
|
|
29
|
+
};
|
|
30
|
+
isFalse = (value) => {
|
|
31
|
+
return value.trim().toLowerCase() === "false";
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export const btreeUtils = new BTreeUtils();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var BehaviorStatus;
|
|
2
|
+
(function (BehaviorStatus) {
|
|
3
|
+
BehaviorStatus[BehaviorStatus["Running"] = 0] = "Running";
|
|
4
|
+
BehaviorStatus[BehaviorStatus["Success"] = 1] = "Success";
|
|
5
|
+
BehaviorStatus[BehaviorStatus["Failure"] = 2] = "Failure";
|
|
6
|
+
})(BehaviorStatus || (BehaviorStatus = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BehaviorNode } from "./BehaviorNode";
|
|
2
|
+
import type { BaseBehaviorResult } from "./BaseBehaviorResult";
|
|
3
|
+
/**
|
|
4
|
+
* Selector is a composite behavior node where it tries to process everything until it
|
|
5
|
+
* finds a non-failing node
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class SelectorNode<Argument, Result extends BaseBehaviorResult> implements BehaviorNode<Argument, Result> {
|
|
8
|
+
nodeList: BehaviorNode<Argument, Result>[];
|
|
9
|
+
abstract defaultResult: () => Result;
|
|
10
|
+
protected constructor(nodeList: BehaviorNode<Argument, Result>[]);
|
|
11
|
+
process(nodeArgs: Argument): Result;
|
|
12
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BehaviorStatus } from "./BehaviorStatus";
|
|
2
|
+
/**
|
|
3
|
+
* Selector is a composite behavior node where it tries to process everything until it
|
|
4
|
+
* finds a non-failing node
|
|
5
|
+
*/
|
|
6
|
+
export class SelectorNode {
|
|
7
|
+
nodeList;
|
|
8
|
+
constructor(nodeList) {
|
|
9
|
+
this.nodeList = nodeList;
|
|
10
|
+
}
|
|
11
|
+
process(nodeArgs) {
|
|
12
|
+
let finalResult = this.defaultResult();
|
|
13
|
+
for (const node of this.nodeList) {
|
|
14
|
+
const currentResult = node.process(nodeArgs);
|
|
15
|
+
if (currentResult.status !== BehaviorStatus.Failure) {
|
|
16
|
+
finalResult = currentResult;
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return finalResult;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BehaviorNode } from "../core/BehaviorNode";
|
|
2
|
+
import type { ExpressionArguments } from "./ExpressionArguments";
|
|
3
|
+
import type { ExpressionResult } from "./ExpressionResult";
|
|
4
|
+
export type ExpressionBehaviorNode = BehaviorNode<ExpressionArguments, ExpressionResult>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ExpressionSelectorNode } from "./ExpressionSelectorNode";
|
|
2
|
+
declare class ExpressionEvaluator {
|
|
3
|
+
evaluatorTree: ExpressionSelectorNode;
|
|
4
|
+
isNumeric: (str: string) => boolean;
|
|
5
|
+
getPrecedence: (token: string) => number;
|
|
6
|
+
evaluateFreeform: (line: string, prefix: string) => string[];
|
|
7
|
+
/**
|
|
8
|
+
* evaluates a yarn if or elseif statement
|
|
9
|
+
* @param line is the current line being evaluated
|
|
10
|
+
* @param prefix is either "<<if" or "<<elseif"
|
|
11
|
+
*/
|
|
12
|
+
evaluate: (line: string, prefix: string) => boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const expressionEvaluator: ExpressionEvaluator;
|
|
15
|
+
export {};
|