Skip to content

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

@ogyrec-o

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

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

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions