You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: admin/operations.html
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -32,8 +32,8 @@ <h2>Admin Operations</h2>
32
32
<detailsclass="vertical-accordion" open>
33
33
<summary>Project Packaging</summary>
34
34
<divclass="accordion-body content-stack">
35
-
<p>Package actions are routed through the Local API. Full .gfsp execution returns visible not implemented diagnostics until package tooling is completed.</p>
36
-
<p>Import Project Package requires explicit confirmation behavior before any overwrite can proceed.</p>
35
+
<p>Package actions are routed through the Local API. Export, Validate, and Import use the server-owned .gfsp package contract.</p>
36
+
<p>Import Project Package validates first and requires explicit confirmation before Replace Existing can proceed.</p>
Copy file name to clipboardExpand all lines: docs_build/codex/decisions/project-packages.md
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,30 @@
6
6
7
7
Game Foundry Studio project packages use an internal ZIP-based package format. The `.gfsp` extension identifies the package as a Game Foundry Studio Project while preserving the operational advantages of a ZIP container for export, import, validation, and inspection.
8
8
9
+
## Package Metadata Contract
10
+
11
+
The runtime package scaffold writes these required internal files:
12
+
13
+
-`metadata/package.json`
14
+
-`project/project.json`
15
+
-`assets/asset-references.json`
16
+
17
+
`metadata/package.json` owns the package identity and must include:
18
+
19
+
-`packageType`: `Game Foundry Studio Project`
20
+
-`extension`: `.gfsp`
21
+
-`contractVersion`
22
+
-`filename`
23
+
-`filenameFormat`
24
+
-`createdAt`
25
+
-`project.projectKey`
26
+
-`project.name`
27
+
-`requiredFiles`
28
+
29
+
`project/project.json` owns the exported Project Workspace project record. It must carry the API-owned project key, local record id, display name, owner key, and status.
30
+
31
+
`assets/asset-references.json` owns storage references only. Asset binary/object bytes stay in configured project asset storage and are referenced by storage object keys; package metadata must not include storage secrets or browser-owned product data.
0 commit comments