Skip to content

Sheet/New/thread-of-fate - #113

Open
MedicusFallstar wants to merge 1 commit into
Roll20:mainfrom
MedicusFallstar:sheet/thread-of-fate
Open

Sheet/New/thread-of-fate#113
MedicusFallstar wants to merge 1 commit into
Roll20:mainfrom
MedicusFallstar:sheet/thread-of-fate

Conversation

@MedicusFallstar

Copy link
Copy Markdown

Submission Checklist

  • The Pull Request title contains the short name of the sheet being submitted.
  • The Pull Request title states the type of change being submitted (New/Update/Bugfix/etc.).
  • I have authorization from the game's publisher to make this an official sheet on Roll20 with their name attached.
  • This game is not a traditionally published game, but a copy of the game rules can be found at: < https://homebrewery.naturalcrit.com/share/Q3yIsOwJBTFx >
  • This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

New Sheet Checklist

  • The full name of the game associated with the sheet is: Convergence TTRPG
  • The name of this game system/family associated with the sheet is: Convergence
  • The publisher of the game associated with the sheet is: Convergence Studios

Changes / Description

New Beacon sheet for the Convergence TTRPG (homebrew system by the submitter,
publishing as Convergence Studios). The sheet is a guided character builder plus an
interactive play sheet, with a Storyteller-side statblock/encounter tool bound to
per-character sheets. Build command: npm i && npm run build (emits sheet.js,
sheet.css, host.css; base path follows VITE_SHEET_PATH / VITE_SHEET_SHORT_NAME).

This is a private TEST release - "For Public Release" is intentionally not checked.
Tester access emails will be submitted through the Beacon Sheet Access Form.

@MedicusFallstar
MedicusFallstar requested a review from a team as a code owner August 8, 2026 22:55
@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 187 files, which is 87 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: d59c6961-a4f2-44a6-81d1-bd63e0baf500

📥 Commits

Reviewing files that changed from the base of the PR and between 588ba54 and 0684dce.

⛔ Files ignored due to path filters (44)
  • thread-of-fate/package-lock.json is excluded by !**/package-lock.json
  • thread-of-fate/preview.png is excluded by !**/*.png
  • thread-of-fate/public/art/env-castle.jpg is excluded by !**/*.jpg
  • thread-of-fate/public/art/env-city.jpg is excluded by !**/*.jpg
  • thread-of-fate/public/art/env-forest.jpg is excluded by !**/*.jpg
  • thread-of-fate/public/art/env-gargantuan.jpg is excluded by !**/*.jpg
  • thread-of-fate/public/art/env-layer.jpg is excluded by !**/*.jpg
  • thread-of-fate/public/art/env-pool.jpg is excluded by !**/*.jpg
  • thread-of-fate/public/art/env-ruins.jpg is excluded by !**/*.jpg
  • thread-of-fate/public/art/env-vista.jpg is excluded by !**/*.jpg
  • thread-of-fate/public/art/env-waterfall.jpg is excluded by !**/*.jpg
  • thread-of-fate/public/art/faction-archons.png is excluded by !**/*.png
  • thread-of-fate/public/art/faction-fallstar.png is excluded by !**/*.png
  • thread-of-fate/public/art/faction-lions.png is excluded by !**/*.png
  • thread-of-fate/public/art/hero-artemis.png is excluded by !**/*.png
  • thread-of-fate/public/art/hero-eden.png is excluded by !**/*.png
  • thread-of-fate/public/art/hero-medicus.png is excluded by !**/*.png
  • thread-of-fate/public/art/hero-mix.png is excluded by !**/*.png
  • thread-of-fate/public/art/hero-reno.png is excluded by !**/*.png
  • thread-of-fate/public/art/hero-roe.png is excluded by !**/*.png
  • thread-of-fate/public/art/icon-512.png is excluded by !**/*.png
  • thread-of-fate/public/art/item-potion.png is excluded by !**/*.png
  • thread-of-fate/public/art/logo.png is excluded by !**/*.png
  • thread-of-fate/public/art/naomi.png is excluded by !**/*.png
  • thread-of-fate/public/art/portrait-a.png is excluded by !**/*.png
  • thread-of-fate/public/art/portrait-b.png is excluded by !**/*.png
  • thread-of-fate/public/art/portrait-c.png is excluded by !**/*.png
  • thread-of-fate/public/art/portrait-d.png is excluded by !**/*.png
  • thread-of-fate/public/art/sheet-bio.png is excluded by !**/*.png
  • thread-of-fate/public/art/sheet-core.png is excluded by !**/*.png
  • thread-of-fate/public/art/sheet-inventory.png is excluded by !**/*.png
  • thread-of-fate/public/art/sheet-spells.png is excluded by !**/*.png
  • thread-of-fate/public/art/ui/attr-box.png is excluded by !**/*.png
  • thread-of-fate/public/art/ui/attr-button.png is excluded by !**/*.png
  • thread-of-fate/public/art/ui/attr-divider.png is excluded by !**/*.png
  • thread-of-fate/public/art/ui/chevron.png is excluded by !**/*.png
  • thread-of-fate/public/art/ui/hourglass.png is excluded by !**/*.png
  • thread-of-fate/public/art/ui/menu-box.png is excluded by !**/*.png
  • thread-of-fate/public/art/ui/moon.png is excluded by !**/*.png
  • thread-of-fate/public/art/ui/overview-divider.png is excluded by !**/*.png
  • thread-of-fate/public/art/ui/total-box.png is excluded by !**/*.png
  • thread-of-fate/public/favicon.ico is excluded by !**/*.ico
  • thread-of-fate/src/maker/data/artes.generated.ts is excluded by !**/*.generated.*
  • thread-of-fate/src/maker/data/disciplines.generated.ts is excluded by !**/*.generated.*
📒 Files selected for processing (187)
  • thread-of-fate/.env.production
  • thread-of-fate/.eslintrc.cjs
  • thread-of-fate/.gitignore
  • thread-of-fate/.prettierignore
  • thread-of-fate/.prettierrc.json
  • thread-of-fate/.tool-versions
  • thread-of-fate/README.md
  • thread-of-fate/env.d.ts
  • thread-of-fate/index.html
  • thread-of-fate/package.json
  • thread-of-fate/public/host.css
  • thread-of-fate/sheet.json
  • thread-of-fate/src/App.vue
  • thread-of-fate/src/common/scss/vars.scss
  • thread-of-fate/src/crucible/components/CrucibleActionComposer.vue
  • thread-of-fate/src/crucible/components/CrucibleAssumptionsPanel.vue
  • thread-of-fate/src/crucible/components/CrucibleBuilderShell.vue
  • thread-of-fate/src/crucible/components/CrucibleEncounterBuilder.vue
  • thread-of-fate/src/crucible/components/CrucibleEntitySheet.vue
  • thread-of-fate/src/crucible/components/CrucibleHome.vue
  • thread-of-fate/src/crucible/components/CrucibleLibrary.vue
  • thread-of-fate/src/crucible/components/CruciblePrompt.vue
  • thread-of-fate/src/crucible/components/CrucibleReview.vue
  • thread-of-fate/src/crucible/components/CrucibleRoll20Preview.vue
  • thread-of-fate/src/crucible/components/CrucibleSourceTrace.vue
  • thread-of-fate/src/crucible/components/CrucibleStatblockPreview.vue
  • thread-of-fate/src/crucible/components/CrucibleThreatPanel.vue
  • thread-of-fate/src/crucible/components/CrucibleTokenConfig.vue
  • thread-of-fate/src/crucible/components/CrucibleValidationPanel.vue
  • thread-of-fate/src/crucible/data/registries/creatureActions.registry.ts
  • thread-of-fate/src/crucible/data/registries/creatureRoles.registry.ts
  • thread-of-fate/src/crucible/data/registries/creatureSizes.registry.ts
  • thread-of-fate/src/crucible/data/registries/creatureTags.registry.ts
  • thread-of-fate/src/crucible/data/registries/creatureTemplates.registry.ts
  • thread-of-fate/src/crucible/data/registries/creatureTraits.registry.ts
  • thread-of-fate/src/crucible/data/registries/creatureTypes.registry.ts
  • thread-of-fate/src/crucible/data/registries/encounterEnvironments.registry.ts
  • thread-of-fate/src/crucible/data/registries/hazardTypes.registry.ts
  • thread-of-fate/src/crucible/data/registries/npcArchetypes.registry.ts
  • thread-of-fate/src/crucible/data/registries/npcMotivations.registry.ts
  • thread-of-fate/src/crucible/data/registries/threatBalance.registry.ts
  • thread-of-fate/src/crucible/engine/applyCrucibleTemplate.ts
  • thread-of-fate/src/crucible/engine/calculateEncounterDifficulty.ts
  • thread-of-fate/src/crucible/engine/calculateThreatBudget.ts
  • thread-of-fate/src/crucible/engine/calculateThreatRating.ts
  • thread-of-fate/src/crucible/engine/computeCrucibleDerived.ts
  • thread-of-fate/src/crucible/engine/convertEntityToRoll20.ts
  • thread-of-fate/src/crucible/engine/crucible.test.ts
  • thread-of-fate/src/crucible/engine/crucibleRolls.ts
  • thread-of-fate/src/crucible/engine/deployToCharacter.ts
  • thread-of-fate/src/crucible/engine/formatStatblock.ts
  • thread-of-fate/src/crucible/engine/generateEntityDraft.ts
  • thread-of-fate/src/crucible/engine/generateTokenActions.ts
  • thread-of-fate/src/crucible/engine/index.ts
  • thread-of-fate/src/crucible/engine/nameGenerator.ts
  • thread-of-fate/src/crucible/engine/parseCrucibleIntent.ts
  • thread-of-fate/src/crucible/engine/recommendCreatureStats.ts
  • thread-of-fate/src/crucible/engine/scaleCrucibleEntity.ts
  • thread-of-fate/src/crucible/engine/seededRandom.ts
  • thread-of-fate/src/crucible/engine/validateCrucibleEntity.ts
  • thread-of-fate/src/crucible/engine/vttParity.test.ts
  • thread-of-fate/src/crucible/schemas/crucibleAction.schema.ts
  • thread-of-fate/src/crucible/schemas/crucibleCommon.ts
  • thread-of-fate/src/crucible/schemas/crucibleEncounter.schema.ts
  • thread-of-fate/src/crucible/schemas/crucibleEntity.schema.ts
  • thread-of-fate/src/crucible/schemas/crucibleHazard.schema.ts
  • thread-of-fate/src/crucible/schemas/crucibleMonster.schema.ts
  • thread-of-fate/src/crucible/schemas/crucibleNpc.schema.ts
  • thread-of-fate/src/crucible/schemas/cruciblePhase.schema.ts
  • thread-of-fate/src/crucible/schemas/crucibleRoll20.schema.ts
  • thread-of-fate/src/crucible/schemas/crucibleThreat.schema.ts
  • thread-of-fate/src/crucible/schemas/crucibleTrait.schema.ts
  • thread-of-fate/src/crucible/schemas/crucibleValidation.ts
  • thread-of-fate/src/crucible/schemas/crucibleVehicle.schema.ts
  • thread-of-fate/src/crucible/schemas/index.ts
  • thread-of-fate/src/crucible/store/crucibleBuilder.store.ts
  • thread-of-fate/src/crucible/store/crucibleCharacter.store.ts
  • thread-of-fate/src/crucible/store/crucibleEncounter.store.ts
  • thread-of-fate/src/crucible/store/crucibleLibrary.store.ts
  • thread-of-fate/src/main.ts
  • thread-of-fate/src/maker/app.smoke.test.ts
  • thread-of-fate/src/maker/components/AttributeSidebar.vue
  • thread-of-fate/src/maker/components/EquipDoll.vue
  • thread-of-fate/src/maker/components/FeedbackModal.vue
  • thread-of-fate/src/maker/components/FlowerField.vue
  • thread-of-fate/src/maker/components/IntroCinematic.vue
  • thread-of-fate/src/maker/components/NaomiHelper.vue
  • thread-of-fate/src/maker/components/OvertureFinale.vue
  • thread-of-fate/src/maker/components/PlaySheet.vue
  • thread-of-fate/src/maker/components/ReferenceModal.vue
  • thread-of-fate/src/maker/components/SettingsModal.vue
  • thread-of-fate/src/maker/components/SpiderLily.vue
  • thread-of-fate/src/maker/components/StepTabs.vue
  • thread-of-fate/src/maker/components/StepWarnings.vue
  • thread-of-fate/src/maker/components/steps/ArtesStep.vue
  • thread-of-fate/src/maker/components/steps/BackgroundStep.vue
  • thread-of-fate/src/maker/components/steps/BioStep.vue
  • thread-of-fate/src/maker/components/steps/ClassStep.vue
  • thread-of-fate/src/maker/components/steps/EquipmentStep.vue
  • thread-of-fate/src/maker/components/steps/IntroStep.vue
  • thread-of-fate/src/maker/components/steps/PhilosophyStep.vue
  • thread-of-fate/src/maker/components/steps/RaceStep.vue
  • thread-of-fate/src/maker/components/steps/ReviewStep.vue
  • thread-of-fate/src/maker/components/steps/StatsStep.vue
  • thread-of-fate/src/maker/data/art.ts
  • thread-of-fate/src/maker/data/artes.ts
  • thread-of-fate/src/maker/data/aspects.ts
  • thread-of-fate/src/maker/data/attributes.ts
  • thread-of-fate/src/maker/data/backgrounds.ts
  • thread-of-fate/src/maker/data/classes.ts
  • thread-of-fate/src/maker/data/confluxes.ts
  • thread-of-fate/src/maker/data/constants.ts
  • thread-of-fate/src/maker/data/equipSlots.ts
  • thread-of-fate/src/maker/data/equipment.ts
  • thread-of-fate/src/maker/data/index.ts
  • thread-of-fate/src/maker/data/philosophies.ts
  • thread-of-fate/src/maker/data/races.ts
  • thread-of-fate/src/maker/data/reference.ts
  • thread-of-fate/src/maker/data/roles.ts
  • thread-of-fate/src/maker/draftModel.ts
  • thread-of-fate/src/maker/rules/aggregation.ts
  • thread-of-fate/src/maker/rules/arteMechanics.ts
  • thread-of-fate/src/maker/rules/backgroundPoints.ts
  • thread-of-fate/src/maker/rules/casting.ts
  • thread-of-fate/src/maker/rules/character.ts
  • thread-of-fate/src/maker/rules/dice.ts
  • thread-of-fate/src/maker/rules/pdfExport.test.ts
  • thread-of-fate/src/maker/rules/pdfExport.ts
  • thread-of-fate/src/maker/rules/play.test.ts
  • thread-of-fate/src/maker/rules/playState.ts
  • thread-of-fate/src/maker/rules/proficiency.ts
  • thread-of-fate/src/maker/rules/rolls.ts
  • thread-of-fate/src/maker/rules/rules.test.ts
  • thread-of-fate/src/maker/rules/selectors.ts
  • thread-of-fate/src/maker/rules/stats.ts
  • thread-of-fate/src/maker/rules/validation.ts
  • thread-of-fate/src/maker/rules/weapons.ts
  • thread-of-fate/src/maker/store/draftStore.ts
  • thread-of-fate/src/maker/store/prefsStore.ts
  • thread-of-fate/src/maker/styles/theme.scss
  • thread-of-fate/src/maker/types.ts
  • thread-of-fate/src/maker/util/image.ts
  • thread-of-fate/src/relay/handlers/computed.test.ts
  • thread-of-fate/src/relay/handlers/computed.ts
  • thread-of-fate/src/relay/handlers/crucibleActions.ts
  • thread-of-fate/src/relay/handlers/crucibleComputed.ts
  • thread-of-fate/src/relay/handlers/handlers.ts
  • thread-of-fate/src/relay/relay.ts
  • thread-of-fate/src/rolltemplates/expressions/capitalize.ts
  • thread-of-fate/src/rolltemplates/expressions/getDice.ts
  • thread-of-fate/src/rolltemplates/expressions/isArray.ts
  • thread-of-fate/src/rolltemplates/expressions/isEqual.ts
  • thread-of-fate/src/rolltemplates/expressions/isGreater.ts
  • thread-of-fate/src/rolltemplates/expressions/modifiers.ts
  • thread-of-fate/src/rolltemplates/expressions/sumComponents.ts
  • thread-of-fate/src/rolltemplates/partials/header.hbs
  • thread-of-fate/src/rolltemplates/partials/heroDie.hbs
  • thread-of-fate/src/rolltemplates/partials/keyValues.hbs
  • thread-of-fate/src/rolltemplates/partials/rollComponents.hbs
  • thread-of-fate/src/rolltemplates/partials/rollTotal.hbs
  • thread-of-fate/src/rolltemplates/partials/textContent.hbs
  • thread-of-fate/src/rolltemplates/partials/wrapper.hbs
  • thread-of-fate/src/rolltemplates/rolltemplates.ts
  • thread-of-fate/src/rolltemplates/styles/common.scss
  • thread-of-fate/src/rolltemplates/styles/host.scss
  • thread-of-fate/src/rolltemplates/templates/basicRoll.hbs
  • thread-of-fate/src/rolltemplates/templates/chat.hbs
  • thread-of-fate/src/sheet/scss/index.scss
  • thread-of-fate/src/sheet/scss/inputs.scss
  • thread-of-fate/src/sheet/scss/scale/ecv.scss
  • thread-of-fate/src/sheet/scss/scale/vtt.scss
  • thread-of-fate/src/sheet/stores/index.ts
  • thread-of-fate/src/sheet/stores/meta/metaStore.ts
  • thread-of-fate/src/sheet/stores/settings/settingsStore.test.ts
  • thread-of-fate/src/sheet/stores/settings/settingsStore.ts
  • thread-of-fate/src/system/levelTable.ts
  • thread-of-fate/src/utility/getRollResult.ts
  • thread-of-fate/src/utility/objectify.ts
  • thread-of-fate/src/utility/rollToChat.ts
  • thread-of-fate/src/utility/sendToChat.ts
  • thread-of-fate/src/utility/verifyHydate.ts
  • thread-of-fate/tsconfig.app.json
  • thread-of-fate/tsconfig.json
  • thread-of-fate/tsconfig.node.json
  • thread-of-fate/tsconfig.vitest.json
  • thread-of-fate/vite.config.ts
  • thread-of-fate/vitest.config.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@BronsonHall

Copy link
Copy Markdown
Contributor

Hey @MedicusFallstar

This looks great! Two small requests before this can be merged:
1st, if you haven't already, can you send an email over to licensing@roll20.net from Convergence Studios confirming this PR is official and publisher-supported? This is a bit of a formality step, but helps us both verify that official sheets are indeed official, and record up-to-date contact info for the publisher responsible for the sheet.

2nd, can you remove the advanced sheet sandbox port from your sheet.json? ("advancedPort": 7620,)

Beyond that, small clarification - I see the sheet & folder are given the name "Thread of Fate", being the term for the builder + sheet in general. How would you like the sheet to be named in the "Create Game" dropdown - just "Convergence TTRPG by Convergence Studios" still?

@BronsonHall BronsonHall added blocked Something needs to be addressed with this before it continues awaiting verification We're currently verifying that this sheet has official authorization from the publisher. labels Aug 11, 2026
@MedicusFallstar

Copy link
Copy Markdown
Author

Hey @BronsonHall, thanks for the quick review!

  1. Licensing email sent from Convergence Studios, you should have it at licensing@roll20.net.

  2. advancedPort removed from sheet.json the branch has been updated.

  3. "Convergence TTRPG by Convergence Studios" is exactly how it should appear in the Create Game dropdown. "The Thread of Fate" is the sheet's own title within the game line, so the folder/sheet keep that name while the dropdown lists the game system.

Let me know if anything else is needed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting verification We're currently verifying that this sheet has official authorization from the publisher. blocked Something needs to be addressed with this before it continues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants