Skip to content

Commit 5a6352c

Browse files
author
DavidQ
committed
Remove future-only import hint fields
- Remove non-required importDestination/importName-style defaults - Stop presenting future paths or filenames as expected tool data - Keep Asset Browser states explicit without silent fallback - Require import destinations only at actual import action time
1 parent 0190349 commit 5a6352c

11 files changed

Lines changed: 335 additions & 351 deletions

File tree

docs/dev/codex_commands.md

Lines changed: 54 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,54 @@
1-
# CODEX COMMANDS
2-
3-
model: gpt-5.3-codex
4-
reasoning: medium
5-
6-
Apply PR_10_24_SAMPLE_JSON_DESTINATION_NORMALIZATION.
7-
8-
Required:
9-
- Check all JSON files under samples/ for misleading destination hints.
10-
- Replace any sample-owned `games/<project>/...` destination with sample-local paths.
11-
- Remove/replace sample destination hints that point to nonexistent `config/` folders.
12-
- Specifically fix sample 1413 Asset Browser / Import Hub suggested destination from `games/<project>/config/` to a valid sample-local path.
13-
- Preserve asset catalogs, source paths, IDs, schemas, and tool identities.
14-
- Do not modify game-owned JSON under games/.
15-
- Do not modify start_of_day folders.
16-
- Add validation report at docs/dev/reports/PR_10_24_SAMPLE_JSON_DESTINATION_NORMALIZATION_report.md.
17-
- Return ZIP artifact at tmp/PR_10_24_SAMPLE_JSON_DESTINATION_NORMALIZATION_delta.zip.
1+
MODEL: GPT-5.3-codex
2+
REASONING: low
3+
4+
PR purpose:
5+
Remove future/advisory import hint fields that are not required for current tool operation.
6+
7+
User decision:
8+
If it is not required now, remove it. Do not keep future intent fields like importDestination/importName that point to non-existing files/folders.
9+
10+
Target fields:
11+
- importDestination
12+
- importName
13+
- destinationFolder
14+
- future-only import plan defaults
15+
- fields only used to prefill advisory/manual import plans
16+
17+
Scope:
18+
- Asset Browser metadata
19+
- Import Hub metadata
20+
- tool launch presets
21+
- sample tool manifests
22+
- active-project manifest tool sections
23+
- docs explaining these fields as expected behavior
24+
25+
Do not modify:
26+
- KOTI gameplay
27+
- runtime game engine files
28+
- start_of_day folders
29+
30+
Rules:
31+
- Remove fields if not required for current load/display/edit/validate/export.
32+
- Do not replace with another future hint.
33+
- Do not introduce fallback data.
34+
- If a destination/name is required for an actual import action, require it at action time with validation.
35+
- Asset Browser 0204 and 1505 must still show clear empty/missing/invalid state.
36+
37+
Validation:
38+
- rg "importDestination|importName|destinationFolder" tools samples docs
39+
- Explain remaining hits.
40+
- node --check changed JS files only.
41+
- Target browser validation for Asset Browser 0204 and 1505.
42+
- Do not run full sample suite.
43+
44+
Create report:
45+
docs/dev/reports/PR_tool_remove_future_import_hints_report.md
46+
47+
Report must include:
48+
- PASS/FAIL
49+
- changed files
50+
- fields removed
51+
- remaining search hits and why they remain
52+
- validation commands/results
53+
- confirmation no start_of_day changes
54+
- confirmation no runtime engine changes

docs/dev/commit_comment.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,6 @@
1-
Normalize sample JSON destination hints to sample-local paths - PR 10.24
1+
Remove future-only import hint fields
2+
3+
- Remove non-required importDestination/importName-style defaults
4+
- Stop presenting future paths or filenames as expected tool data
5+
- Keep Asset Browser states explicit without silent fallback
6+
- Require import destinations only at actual import action time
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# PR — Remove Future Import Hint Fields
2+
3+
## Purpose
4+
Remove confusing future/advisory import hint fields from tool manifests and import workflows when they are not required for current tool operation.
5+
6+
This PR is tools-cleanup only.
7+
8+
---
9+
10+
## Problem
11+
Fields such as `importDestination` and `importName` are future/advisory hints for a non-destructive import plan.
12+
13+
That creates confusion because they can reference:
14+
- folders that do not exist
15+
- filenames that do not exist
16+
- future artifacts not currently present on disk
17+
18+
This conflicts with current tool UX rules:
19+
- no silent assumptions
20+
- no hidden future data
21+
- no non-required fields that look like missing/broken data
22+
23+
---
24+
25+
## Decision
26+
If a field is not required for current tool operation, remove it.
27+
28+
Do not keep future intent fields just because a later import workflow might use them.
29+
30+
---
31+
32+
## Target Fields
33+
Audit and remove non-required advisory fields such as:
34+
35+
- `importDestination`
36+
- `importName`
37+
- `destinationFolder`
38+
- future-only import plan defaults
39+
- any field whose only purpose is to prefill a future manual/advisory plan
40+
41+
Only keep fields that are required to load, display, edit, validate, or export current assets/layouts.
42+
43+
---
44+
45+
## Scope
46+
Search current tool/sample metadata for future/advisory import hints.
47+
48+
Likely areas:
49+
- Asset Browser metadata
50+
- Import Hub metadata
51+
- tool launch presets
52+
- sample tool manifests
53+
- active-project manifest tool sections
54+
- docs that describe these fields as expected behavior
55+
56+
Do not modify:
57+
- King of the Iceberg gameplay
58+
- runtime game engine files
59+
- `start_of_day` folders
60+
61+
Sample metadata may be changed only when removing confusing unused future-hint fields.
62+
63+
---
64+
65+
## Required Behavior After Removal
66+
Asset Browser / Import Hub must not show or rely on future-only defaults.
67+
68+
If a user wants to import/create an asset, the tool must require explicit current input at the time of action.
69+
70+
If a destination is required for an actual import action:
71+
- ask/show required field then
72+
- validate it then
73+
- show actionable error if missing
74+
75+
Do not predeclare future paths/filenames in sample metadata.
76+
77+
---
78+
79+
## Validation Rules
80+
After cleanup:
81+
82+
- No `importDestination` remains unless proven required for current execution.
83+
- No `importName` remains unless proven required for current execution.
84+
- No generated UI explains non-existing future paths as expected behavior.
85+
- Asset Browser empty/missing states remain explicit.
86+
- Sample `0204` and `1505` do not rely on future import hints.
87+
- No silent fallback data is introduced.
88+
89+
---
90+
91+
## Acceptance Criteria
92+
- Future/advisory import hint fields are removed wherever not required.
93+
- Remaining import-related fields are documented as required current inputs.
94+
- Any removed field does not break tool launch.
95+
- Asset Browser still reports empty/missing/invalid data clearly.
96+
- Import Hub/Asset Browser do not imply future non-existing files are normal data.
97+
- Targeted validation passes.
98+
- No `start_of_day` changes.
99+
- No runtime game engine changes.
100+
101+
---
102+
103+
## Targeted Validation
104+
Do not run full sample suite.
105+
106+
Run targeted checks only:
107+
108+
```powershell
109+
node --check "tools/Asset Browser/main.js"
110+
```
111+
112+
If Import Hub JS changes, run `node --check` on that file too.
113+
114+
Run targeted browser/sample checks:
115+
- Asset Browser sample `0204`
116+
- Asset Browser sample `1505`
117+
- Any Import Hub sample touched by the cleanup
118+
119+
Search validation:
120+
121+
```powershell
122+
rg "importDestination|importName|destinationFolder" tools samples docs
123+
```
124+
125+
Remaining hits must be either:
126+
- required current behavior
127+
- migration/cleanup documentation
128+
- explicit tests
129+
130+
---
131+
132+
## Required Report
133+
Create:
134+
135+
```txt
136+
docs/dev/reports/PR_tool_remove_future_import_hints_report.md
137+
```
138+
139+
Include:
140+
- PASS/FAIL
141+
- changed files
142+
- fields removed
143+
- remaining search hits and why they remain
144+
- targeted validation results
145+
- confirmation no `start_of_day` changes
146+
- confirmation no runtime game engine changes
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# PR Tool Remove Future Import Hints Report
2+
3+
## Result
4+
PASS
5+
6+
## Changed Files
7+
- tools/Asset Browser/main.js
8+
- tools/templates/starter-project-template/config/starter.project.json
9+
- samples/phase-02/0204/sample.0204.asset-browser.json
10+
- samples/phase-14/1413/sample.1413.asset-browser.json
11+
- samples/phase-15/1505/sample.1505.asset-browser.json
12+
- tests/runtime/SampleStandaloneToolDataFlow.test.mjs
13+
14+
## Fields Removed
15+
- Removed `assetBrowserPreset.importDestination` from sample-owned presets:
16+
- `samples/phase-02/0204/sample.0204.asset-browser.json`
17+
- `samples/phase-14/1413/sample.1413.asset-browser.json`
18+
- `samples/phase-15/1505/sample.1505.asset-browser.json`
19+
- Removed sample/tool preset `importName` persistence from starter template tool state:
20+
- `tools/templates/starter-project-template/config/starter.project.json` (`tools.asset-browser.importName` removed)
21+
- Removed runtime reliance on prefilled destination-path hints in Asset Browser:
22+
- `tools/Asset Browser/main.js` now uses destination IDs + explicit action-time selection, not `games/<project>/...` path defaults
23+
- Removed runtime/project snapshot persistence of advisory import defaults:
24+
- `tools/Asset Browser/main.js` no longer persists/rehydrates `importDestination` or `importName`
25+
- Removed test contract expectation that destination is auto-populated from preset:
26+
- `tests/runtime/SampleStandaloneToolDataFlow.test.mjs` now asserts explicit action-time destination selection is required
27+
28+
## Remaining Search Hits And Why They Remain
29+
Command run:
30+
31+
```text
32+
rg -n "importDestination|importName|destinationFolder" tools samples docs
33+
```
34+
35+
Remaining hits are expected and fall into these categories:
36+
- Tool UI control IDs and action-time validation logic:
37+
- `tools/Asset Browser/main.js`
38+
- `tools/Asset Browser/index.html`
39+
- These are live UI/input identifiers (`importDestinationSelect`, `importNameInput`) and validation wiring, not persisted advisory preset fields.
40+
- Historical docs and prior reports/evidence artifacts:
41+
- `docs/dev/codex_commands.md`, `docs/dev/commit_comment.txt`, `docs/dev/next_command.txt`
42+
- `docs/dev/reports/level_10_6*`, `docs/dev/reports/PR_10_23_*`, `docs/dev/reports/PR_10_24_*`
43+
- `docs/pr/PR_10_23_*`, `docs/pr/PR_10_24_*`
44+
- These capture historical command text/evidence and are not active runtime/tool configuration contracts.
45+
46+
Additional scope check:
47+
48+
```text
49+
rg -n "importDestination|importName|destinationFolder" samples
50+
```
51+
52+
Result: no hits in `samples/`.
53+
54+
## Validation Commands And Results
55+
- `rg -n "importDestination|importName|destinationFolder" tools samples docs` -> PASS (only expected tool-UI + historical-doc hits remain)
56+
- `rg -n "importDestination|importName|destinationFolder" samples` -> PASS (no matches)
57+
- `node --check "tools/Asset Browser/main.js"` -> PASS
58+
- `node --check tests/runtime/SampleStandaloneToolDataFlow.test.mjs` -> PASS
59+
- `node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=0204-0204` -> PASS (`0204`)
60+
- `node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=1505-1505` -> PASS (`1505`)
61+
- `npm run test:sample-standalone:data-flow` -> PASS
62+
63+
## Asset Browser 0204/1505 Targeted Validation
64+
- Sample `0204` launch smoke: PASS
65+
- Sample `1505` launch smoke: PASS
66+
- Data-flow contract run: PASS for targeted Asset Browser entries (`0204`, `1505`) with preset load signal present and no preset load failure.
67+
68+
## Constraint Confirmations
69+
- No `start_of_day` folders changed.
70+
- No runtime engine files changed.
71+
- No fallback/demo/default hidden data added.

0 commit comments

Comments
 (0)