Skip to content

[Standalone/Distribution] Design product distribution metadata for store/export targets #73

Description

@ogyrec-o

Summary

Design the future product distribution metadata layer for generated standalone products.

This issue should happen after the generated repo and product-boundary packaging path are established. It exists to avoid losing the long-term need for store/export metadata, but it should not block the immediate buildable-repo and packaging work.

Motivation

Standalone products will eventually need distribution metadata that is product-owned and separate from engine/devkit identity.

Examples of future metadata areas:

  • package display name
  • publisher/developer name
  • app id / store id
  • version
  • icon paths
  • license/credits bundle policy
  • platform-specific package metadata
  • channel metadata:
    • local dev
    • release zip
    • Steam-like distribution
    • itch.io-like distribution
    • direct server/client package

This should be designed after Freven has product-owned packaging from generated repos, not before.

Requirements

  • Keep metadata product-owned.
  • Keep metadata separate from engine/devkit identity.
  • Do not require a specific store platform in the core schema.
  • Support optional platform/store-specific sections.
  • Support zero-store local zip releases.
  • Preserve deterministic package output.
  • Define how metadata relates to product.toml.
  • Define which fields belong in core product identity vs distribution identity.
  • Document which fields are required, optional, or future-reserved.

Acceptance criteria

This is done when:

  • product distribution metadata model is documented
  • relationship to product.toml is clear
  • packaging/export follow-up can consume the metadata
  • local zip/export remains possible without store metadata
  • Steam/itch.io-like metadata is possible without hardcoding one store into Freven core

Non-goals

  • Do not implement store upload/publishing automation here.
  • Do not implement editor/catalog/publishing backend here.
  • Do not require signing/notarization support here.
  • Do not block basic generated product packaging on this issue.

Related context

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    component:bootfreven-boot: launcher, instance bootstrap, boot flows, packaging entrypoints.component:devkitDevkit-level / cross-repo work: manifests, integration glue, release shell, repo-wide coordination.component:docsDocumentation, guides, READMEs, architecture docs, examples docs.component:packagingBuild artifacts, zips, release packaging, manifests, distribution layout.future-foundationLong-term foundation, not necessarily blocking rc10.priority:p1High priority. Important and near-term.status:confirmedConfirmed bug/request. Reproduced, accepted, or clearly valid.type:architectureLong-term structural / contract / system design work, not just isolated implementation.

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions