Update to Profectus 0.7 #1

Merged
thepaperpilot merged 110 commits from feat/board-feature-rewrite into main 2024-12-31 13:27:34 +00:00

110 commits

Author SHA1 Message Date
05dc162ec1 Merge remote-tracking branch 'template-fork/main' into feat/board-feature-rewrite
Some checks failed
Run Tests / test (pull_request) Failing after 2m29s
2024-12-31 07:20:15 -06:00
78394b83c4 Update changelog 2024-12-31 13:06:57 +00:00
2d880a215a Release Profectus 0.7.0 2024-12-31 13:06:57 +00:00
67ca253f5c Add docs and otherwise improve how docs will generate 2024-12-31 13:04:20 +00:00
be9f488aa2 Move board tests to match board file 2024-12-26 19:18:25 -06:00
1d6f09ce89 Release Profectus 0.7.0
Some checks failed
Run Tests / test (pull_request) Failing after 1m23s
2024-12-26 16:45:04 -06:00
91f1033dbb Merge pull request 'Implement Board and Feature Rewrites' (#88) from thepaperpilot/Profectus:feature/feat-and-board-rewrite into main 2024-12-26 21:58:59 +00:00
44cdb70919 Cleanup 2024-12-26 05:12:16 -06:00
595a4170b2 Fix error about pinned tooltips 2024-12-25 19:30:23 -06:00
9e65adee95 Lint 2024-12-25 11:26:34 -06:00
0a5f63ff04 Don't convert functions with parameters 2024-12-25 11:17:35 -06:00
8861707822 Don't convert functions with parameters
Some checks failed
Run Tests / test (pull_request) Failing after 1m34s
2024-12-25 11:13:29 -06:00
5bdb5ceed1 Change bonus mixin 2024-12-15 19:39:44 -06:00
07718f6c48 Change bonus mixin 2024-12-15 19:39:11 -06:00
b1cbbc4f00 Make board not use computed around jsx 2024-12-12 07:59:10 -06:00
5718abc013 Cleanup 2024-12-12 07:46:59 -06:00
7f2fa9cc27 Cleanup 2024-12-12 07:45:21 -06:00
3a69603031 Lint 2024-12-11 15:12:27 -06:00
c61bf64b15 Remove Grid 2024-12-11 14:29:10 -06:00
68da6c352e Complete the rewrite
Renderables no longer get wrapped in computed refs, because JSX.Elements don't like that (desyncs with the DOM)
Relatedly, a lot of display functions got fairly simplified, removing unnecessary local components
Added `MaybeGetter` utility type for something that may be a getter function or a static value (but not a ref)
Made Achievement.vue use a Renderable for the display. The object of components can still be passed to `createAchievement`
Made Challenge.vue use a Renderable for the display. The object of components can still be passed to `createChallenge`
Fixed some issues introduced by the rewrite that broke particles systems
2024-12-11 14:28:17 -06:00
4ce1b60a3d Merge remote-tracking branch 'template/feature/feat-and-board-rewrite' into feat/board-feature-rewrite 2024-12-11 14:27:38 -06:00
ff14443102 Complete the rewrite
Renderables no longer get wrapped in computed refs, because JSX.Elements don't like that (desyncs with the DOM)
Relatedly, a lot of display functions got fairly simplified, removing unnecessary local components
Added `MaybeGetter` utility type for something that may be a getter function or a static value (but not a ref)
Made Achievement.vue use a Renderable for the display. The object of components can still be passed to `createAchievement`
Made Challenge.vue use a Renderable for the display. The object of components can still be passed to `createChallenge`
Fixed some issues introduced by the rewrite that broke particles systems
2024-12-11 13:58:14 -06:00
ffd9529e9a Merge remote-tracking branch 'template/feature/feat-and-board-rewrite' into feat/board-feature-rewrite 2024-12-03 22:11:01 -06:00
83d41428eb Feature rewrite
- Removed `jsx()` and `JSXFunction`. You can now use `JSX.Element` like any other `Computable` value
- `joinJSX` now always requires a joiner. Just pass the array of elements or wrap them in `<>` and `</>` if there's no joiner
- Removed `coerceComponent`, `computeComponent`, and `computeOptionalComponent`; just use the `render` function now
- It's recommended to now do `<MyComponent />` instead of `<component :is="myComponent" />`
- All features no longer take the options as a type parameter, and all generic forms have been removed as a result
- Fixed `forceHideGoBack` not being respected
- Removed `deepUnref` as now things don't get unreffed before being passed into vue components by default
- Moved MarkNode to new wrapper, and removed existing `mark` properties
- Moved Tooltip to new wrapper, and made it take an options function instead of raw object
- VueFeature component now wraps all vue features, and applies styling, classes, and visibility in the wrapping div. It also adds the Node component so features don't need to
- `mergeAdjacent` now works with grids (perhaps should've used scss to reduce the amount of css this took)
- `CoercableComponent` renamed to `Renderable` since it should be used with `render`
- Replaced `isCoercableComponent` with `isJSXElement`
- Replaced `Computable` and `ProcessedComputable` with the vue built-ins `MaybeRefOrGetter` and `MaybeRef`
- `convertComputable` renamed to `processGetter`
- Also removed `GetComputableTypeWithDefault` and `GetComputableType`, which can similarly be replaced
- `dontMerge` is now a property on rows and columns rather than an undocumented css class you'd have to include on every feature within the row or column
- Fixed saves manager not being imported in addiction warning component
- Created `vueFeatureMixin` for simplifying the vue specific parts of a feature. Passes the component's properties in explicitly and directly from the feature itself
- All features should now return an object that includes props typed to omit the options object and satisfies the feature. This will ensure type correctness and pass-through custom properties. (see existing features for more thorough examples of changes)
- Replaced decorators with mixins, which won't require casting. Bonus amount decorators converted into generic bonus amount mixin. Removed effect decorator
- All `render` functions now return `JSX.Element`. The `JSX` variants (e.g. `renderJSX`) (except `joinJSX`) have been removed
- Moved all features that use the clickable component into the clickable folder
- Removed `small` property from clickable, since its a single css rule (`min-height: unset`) (you could add a small css class and pass small to any vue feature's classes property, though)
- Upgrades now use the clickable component
- Added ConversionType symbol
- Removed setDefault, just use `??=`
- Added isType function that uses a type symbol to check
- General cleanup
2024-11-29 08:02:24 -06:00
99511288c9 Merge branch 'feat/update-deps' into feat/board-rewrite 2024-11-29 07:52:52 -06:00
4987916900 Fix last lint issue 2024-10-20 13:51:31 -05:00
528e703c88 Ran lint:fix 2024-10-20 11:46:09 -05:00
6c8dd66677 Remove _props abstraction (fixes #2) 2024-10-20 06:27:24 -05:00
1e5411d279 Remove processedPropType and convert all components to composition API 2024-10-20 05:47:59 -05:00
ccd685cb9c Update node 2024-10-19 06:13:24 -05:00
5ce3e64f5d Remove node install 2024-10-19 06:08:12 -05:00
a676829d66 Add rollup for linux 2024-10-19 06:05:00 -05:00
3eeff40910 Update container version 2024-10-19 05:34:32 -05:00
052a01d3f7 Fix build issues 2024-10-18 09:26:10 -05:00
bd165da264 Update deps some more 2024-10-18 09:11:58 -05:00
c93418bfec Fix merge 2024-10-18 08:50:05 -05:00
88abd53faf Update eslint and prettier 2024-10-18 07:04:33 -05:00
80d7a743bc Update TS 2024-10-18 07:04:29 -05:00
2dab35f7cf Update vue 2024-10-18 07:04:26 -05:00
dc8d0ecc95 Update pixi (while staying at v6 until particle-emitter supports v8) 2024-10-18 07:04:20 -05:00
707aacc383 Update vitest 2024-10-18 07:04:19 -05:00
1e13da1129 Revert "Add link to docs in setupDraggableNode docstring"
This reverts commit 1c7824b550.
2024-10-18 07:02:34 -05:00
643bfccada Add link to docs in setupDraggableNode docstring 2024-10-18 07:02:34 -05:00
f9c59f7636 Revert changes in /data. Check the board-example branch for them instead 2024-10-18 07:02:34 -05:00
99227a2cb2 Move common board node CSS to class 2024-10-18 07:02:34 -05:00
e0da9588d2 Move board to src/game 2024-10-18 07:02:34 -05:00
46d0a9aa2e Add some tests for boards 2024-10-18 07:02:33 -05:00
c6035f9077 Document boards 2024-10-18 07:02:33 -05:00
8745304631 Fix upgrade purchasing on drag 2024-10-18 07:02:33 -05:00
5b33a0fceb Perf optimization 2024-10-18 07:02:33 -05:00
6a17bbc29c Use z-index to avoid changing render order 2024-10-18 07:02:33 -05:00
a75c8d81f8 Add cnodes 2024-10-18 07:02:32 -05:00
c64ac82a25 Add support for rendering VueFeatures in boards 2024-10-18 07:02:32 -05:00
1cbe97251c WIP on rewriting board 2024-10-18 07:02:32 -05:00
6ba25f9abd Removed dynamic imports 2024-10-18 07:02:32 -05:00
673f7790c7 Switch from CJS to ESM 2024-10-18 07:00:56 -05:00
ae45f9bc2f Bump some minor dependencies 2024-10-18 07:00:55 -05:00
8a9e106157 Update vite dependencies 2024-10-18 07:00:46 -05:00
90300ce848 Update fontsource dependencies 2024-10-18 07:00:08 -05:00
2b861c3fcf Fix Links.vue checking startNode twice instead of both nodes
Thanks escapee for reporting the issue!
2024-10-17 16:50:55 +00:00
9debfe6fb4 Unref hotkey descriptions 2024-10-17 16:28:04 +00:00
9f25d7f58f Fix more modal paths 2024-10-17 16:17:32 +00:00
239ae7c94a Update saves bank path 2024-10-17 16:17:32 +00:00
2d28be84a9 Add modal to take a mental health break 2024-10-17 16:17:32 +00:00
c6389317d0 Version Bump 2024-03-29 00:49:58 -05:00
b98f6db1c4 Move printFormula to Formula.stringify and add tests for it 2024-03-29 00:24:31 -05:00
563eaa7539 Lint 2024-03-29 00:19:57 -05:00
b88fa68874 Fix extends syntax 2024-03-28 23:40:47 -05:00
90d0307cf0 Add hotkey tests, make them pass
Includes updating vitest and supporting hotkeys with both ctrl+shift
2024-03-28 23:40:46 -05:00
dfb14acc6e Allow null and undefined values in persistent refs 2024-03-29 04:39:56 +00:00
68e6e3f37a Revert "Add link to docs in setupDraggableNode docstring"
This reverts commit 1c7824b550.
2024-03-12 21:52:19 -05:00
1c7824b550 Add link to docs in setupDraggableNode docstring 2024-03-10 09:37:02 -05:00
1b267edc32 Revert changes in /data. Check the board-example branch for them instead 2024-03-10 09:27:31 -05:00
0e7ca27e3b Move common board node CSS to class 2024-03-09 21:59:17 -06:00
2cfa450d96 Move board to src/game 2024-03-09 20:36:41 -06:00
ad421ac759 Add some tests for boards 2024-03-09 13:42:17 -06:00
68b1401c2a Document boards 2024-03-08 17:06:54 -06:00
c30724d907 Make disabled elements not eat up mouse events
Browsers make disabled elements eat events rather than let them bubble up
This allows containers with disabled elements to have listeners still
(Used specifically so after the board rewrite, purchased upgrades can still be dragged)
2024-03-08 12:19:52 +00:00
660528ea00 Update package-lock.json to new commit hash 2024-03-05 22:47:29 -06:00
b855139ab4 Fixed issues until it fully worked on Galaxy proper 2024-03-05 22:47:29 -06:00
c85bca110b Sync cloud saves every minute 2024-03-05 22:47:29 -06:00
d237201339 Update sdk 2024-03-05 22:47:29 -06:00
389e8ad1e1 Move unofficial sdk to repo 2024-03-05 22:47:28 -06:00
f6dec5c614 Sync deleting saves to cloud 2024-03-05 22:47:28 -06:00
af4229ebdd Attention grabber on saves manager when active save isn't synced 2024-03-05 22:47:28 -06:00
7a6f249f58 Add warning to saves manager when not all saves are synced 2024-03-05 22:47:28 -06:00
5c6ea01990 Add synced icon to saves in saves manager 2024-03-05 22:47:28 -06:00
f970b658ff Add "Keep Both" button 2024-03-05 22:47:28 -06:00
ece7ed2923 Add save conflict resolver 2024-03-05 22:47:27 -06:00
cfba55d2c6 Add galaxy api 2024-03-05 22:47:11 -06:00
b2d7a9ea1d Merge pull request 'Add eslint workflow action and CONTRIBUTING.md that says to lint first' (#66) from thepaperpilot/Profectus:feat/enforce-eslint into main
Reviewed-on: profectus/Profectus#66
Reviewed-by: Escapee <escapee@incremental.social>
2024-03-06 04:45:20 +00:00
17b878e3be Fix upgrade purchasing on drag 2024-03-03 22:31:20 -06:00
3fd8375031 Perf optimization 2024-03-03 22:17:16 -06:00
aca56f6af6 Use z-index to avoid changing render order 2024-03-03 22:17:06 -06:00
f0e831ee8f Add cnodes 2024-03-03 20:26:00 -06:00
1acfde134b Add support for rendering VueFeatures in boards 2024-03-03 19:59:26 -06:00
df9ba59a1a Merge branch 'main' into feat/enforce-eslint 2024-03-04 01:26:29 +00:00
424bde0cdd WIP on rewriting board 2024-02-28 23:19:11 -06:00
escapee
b40d4bef32 Allow both cases in shift+hotkeys 2024-02-21 19:21:18 +00:00
f7a8fbbb11 Lint 2024-02-20 22:38:49 -06:00
5f8e35478d Merge remote-tracking branch 'upstream/main' into feat/enforce-eslint 2024-02-20 22:37:17 -06:00
64fad5c74a PR Feedback 2024-02-20 22:17:01 -06:00
1f22f506dd Add tests for tree reset propagation 2024-02-21 04:15:49 +00:00
d3faec6a66 Add Nodes to the text that can disappear in projEntry 2024-02-21 04:08:59 +00:00
a39e65852d Remove unused imports 2024-02-21 01:25:52 +00:00
1e2b20a70f PR feedback 2024-02-21 01:25:52 +00:00
2e0e221010 Made modifier typing a lot less nasty 2024-02-21 01:25:52 +00:00
4092cd6d56 Add regression test for modifier.getFormula respecting enabled 2024-02-21 01:25:52 +00:00
fa2d7cb53a Merge branch 'main' into feat/enforce-eslint 2024-02-18 02:17:01 +00:00
143b0773e7 Add eslint workflow action and CONTRIBUTING.md that says to lint first 2024-02-17 20:16:00 -06:00