Skip to content

PoC 16mb affordances in the UI and schema at the uf2 level - #373

Draft
philmillman wants to merge 1 commit into
mainfrom
feature/add-card-type
Draft

PoC 16mb affordances in the UI and schema at the uf2 level#373
philmillman wants to merge 1 commit into
mainfrom
feature/add-card-type

Conversation

@philmillman

Copy link
Copy Markdown
Collaborator

add flash field to uf2, all cards are implicitly 2mb, a card with a sole uf2 that's 16mb is 16mb only

adds a 16mb filter:
image

image

@github-actions

Copy link
Copy Markdown

⚠️ Program card PR validation succeeded with warnings

PR validation is intended for maintainers, not card authors. If you're a card author and don't understand this report, don't worry about it!

2 info.yaml file(s) checked · 0 error(s) · 22 warning(s)

Triggered by:

  • M documentation/info.yaml.md
  • M releases/42_backyard_rain/info.yaml
  • M releases/77_PunkConfusion/info.yaml
  • M tools/sitegen/assets/js/catalogue-filters.js
  • M tools/sitegen/assets/style.css
  • M tools/sitegen/src/build.js
  • M tools/sitegen/src/discover/downloads.js
  • M tools/sitegen/src/model/card.js
  • M tools/sitegen/src/render/cardPage.js
  • M tools/sitegen/src/render/discovery.js
  • M tools/sitegen/src/render/filterBar.js
  • M tools/sitegen/src/schema/infoYamlJsonSchema.js
  • M tools/sitegen/src/schema/schemaDefinition.js
  • A tools/sitegen/src/utils/flash.js
  • M tools/sitegen/src/utils/previewFirmware.js
  • M tools/sitegen/src/validate/rules/index.js
  • M tools/sitegen/test/card.test.js
  • M tools/sitegen/test/discovery.test.js
  • M tools/sitegen/test/preview-firmware.test.js
  • M tools/sitegen/test/render.test.js
  • M tools/sitegen/test/utils.test.js
  • M tools/sitegen/test/validate.test.js

Affected release directories: 42_backyard_rain, 77_PunkConfusion

42_backyard_rain/info.yaml

✅ This file validates cleanly.

77_PunkConfusion/info.yaml

Severity Field Rule Message
⚠️ Warning contact metadata-completeness Metadata field "contact" is missing.

Other rules

Severity Affected path Rule Message
⚠️ Warning releases multiple-release-directories Changes affect 2 release directories: 42_backyard_rain, 77_PunkConfusion.
⚠️ Warning documentation/info.yaml.md change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/assets/js/catalogue-filters.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/assets/style.css change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/src/build.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/src/discover/downloads.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/src/model/card.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/src/render/cardPage.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/src/render/discovery.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/src/render/filterBar.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/src/schema/infoYamlJsonSchema.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/src/schema/schemaDefinition.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/src/utils/flash.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/src/utils/previewFirmware.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/src/validate/rules/index.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/test/card.test.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/test/discovery.test.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/test/preview-firmware.test.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/test/render.test.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/test/utils.test.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.
⚠️ Warning tools/sitegen/test/validate.test.js change-outside-release-directory Card submissions must not include changes outside releases/<card>/ directories.

@dessertplanet

Copy link
Copy Markdown
Collaborator

I'm not 100% sure on the right altitude for the filter. My gut is does it need to be more important than a tag? Scenarios I'm imagining:

  • I just bought this 16MB card, what should I run on it??
  • I want to try this new card, do I need a 16MB card for it??

The former sounds like maybe tag altitude, latter is representing it visibly in metadata without clobbering the existing experience

@philmillman

Copy link
Copy Markdown
Collaborator Author

I'm not 100% sure on the right altitude for the filter. My gut is does it need to be more important than a tag? Scenarios I'm imagining:

  • I just bought this 16MB card, what should I run on it??
  • I want to try this new card, do I need a 16MB card for it??

The former sounds like maybe tag altitude, latter is representing it visibly in metadata without clobbering the existing experience

Yeah I'm not 100% on the current UI but I do think in a world with so many tags, the "quickly show me which cards are designed for my special 16mb card" is slightly more important than any random tag

@dessertplanet

Copy link
Copy Markdown
Collaborator

I think the current pattern you have works. My 2c:

Maybe use flash-size in schema and include size on the filter label for clarity and differentiation from the "flashable" property on UF2s?

Maybe use a different color for 16MB UF2 tiles?

Maybe have a card level indicator as well as UF2 level indicator on details to show compatibility? Not sure if needs to be on both in schema- thinking maybe only on UF2s and the card in inherits one size, the other, or both?

I think we probably need to explicitly show 2MB as a filter/property throughout as well so users can hide 16MB-only cards if they don't have any?

@dessertplanet

dessertplanet commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Ach I guess one UF2 with support for both also needs to be covered

EDIT: a central question I guess. Does any indicator of flash size in schema/site indicate card size compatibility? Or this ONLY works on this size? If it's the former then maybe both is kind of the default

@philmillman

Copy link
Copy Markdown
Collaborator Author

I think the current pattern you have works. My 2c:

Maybe use flash-size in schema and include size on the filter label for clarity and differentiation from the "flashable" property on UF2s?

Maybe use a different color for 16MB UF2 tiles?

Maybe have a card level indicator as well as UF2 level indicator on details to show compatibility? Not sure if needs to be on both in schema- thinking maybe only on UF2s and the card in inherits one size, the other, or both?

I think we probably need to explicitly show 2MB as a filter/property throughout as well so users can hide 16MB-only cards if they don't have any?

I don't think it needs to exist, on both the uf2 and the card level, I think it should just inherit since it's (ostensibly) tied to the uf2 and nothing else.

I agree we can be more explicit about 2mb, 16mb, or both. Where that gets muddy is if there are ever any other size options (maybe never so not an issue?).

I have some thoughts on a "tag-like" UI that can help differentiate though. I'll update the PR today when I have a minute.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants