Repository navigation
Expand file tree
/
Copy pathpackage.json
More file actions
130 lines (130 loc) · 10.4 KB
/
Copy pathpackage.json
File metadata and controls
130 lines (130 loc) · 10.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
{
"name": "threenative",
"version": "0.1.0",
"private": true,
"license": "MIT",
"type": "module",
"packageManager": "pnpm@10.25.0",
"engines": {
"node": ">=20.19.0",
"pnpm": ">=10.0.0"
},
"scripts": {
"alpha:bar": "tsx scripts/alpha-bar.ts",
"api:surface:check": "tsx scripts/check-api-surface.ts",
"api:surface:sync": "tsx scripts/check-api-surface.ts --update && biome format --write scripts/api-surface.json",
"bake:delete-test": "sh scripts/xvfb.sh tsx scripts/bake-delete-test.ts",
"bench:engines": "tsx scripts/engine-load-test/cli.ts",
"bench:engines:report": "tsx scripts/engine-load-test/cli.ts --compare",
"bench:engines:monitor": "tsx scripts/engine-load-test/monitor.ts",
"bench:scoreboard": "sh scripts/engine-load-test/scoreboard.sh",
"budgets": "tsx scripts/workspace-packages.ts && tsx scripts/check-version-pins.ts && tsx scripts/check-native-shims.ts && tsx scripts/check-core-boundary.ts && tsx scripts/check-template-conventions.ts && tsx scripts/check-capability-docs.ts --census && pnpm caps:recall && tsx scripts/check-evidence-budget.ts && tsx scripts/vfx-niagara-coverage.ts && tsx scripts/check-budgets.ts && tsx scripts/generate-ctx-surface-table.ts --check && tsx scripts/generate-capability-reference.ts --check && tsx scripts/realism-effects-docs.ts --check && tsx scripts/realism-effects-conformance.ts && tsx scripts/realism-effects-matrix.ts && tsx scripts/detect-capability-duplicates.ts examples --strict && tsx scripts/check-template-quality.ts && tsx scripts/sync-mcp-configs.ts --check",
"build": "tsx scripts/build-capability-manifest.ts && tsx scripts/generate-ctx-surface-table.ts && tsx scripts/generate-capability-reference.ts && tsx scripts/realism-effects-docs.ts && pnpm -r --if-present run build",
"capabilities:check": "tsx scripts/build-capability-manifest.ts --check",
"capabilities:sync": "tsx scripts/build-capability-manifest.ts && tsx scripts/generate-ctx-surface-table.ts && tsx scripts/generate-capability-reference.ts",
"caps:recall": "tsx scripts/capability-recall.ts",
"census": "tsx scripts/generate-native-census.ts",
"check:docs": "tsx scripts/check-doc-links.ts",
"check:flight-cost": "tsx scripts/check-flight-cost.ts --max-mean-ms 0.35",
"ci:fast": "bash scripts/ci-fast.sh",
"ci:local": "bash scripts/ci-local.sh",
"coverage": "vitest run --coverage",
"gate:doctor": "tsx scripts/gate-cli.ts doctor",
"gate:resume": "tsx scripts/gate-cli.ts resume",
"gate:status": "tsx scripts/gate-cli.ts status",
"hooks:install": "git config core.hooksPath githooks",
"lint": "biome check .",
"native:build": "pnpm --filter @threenative/runtime-native native:build",
"native:qualify:physical": "pnpm --filter @threenative/runtime-native native:qualify:physical",
"native:verify:desktop": "pnpm --filter threenative-native-smoke test && pnpm --filter @threenative/runtime-native native:verify:desktop",
"native:verify:android:artifact": "node packages/runtime-native/scripts/check-android-16kb-alignment.mjs",
"native:verify:windows:installer": "node packages/runtime-native/scripts/verify-windows-installer.mjs",
"native:verify:ui": "tsx packages/runtime-native/scripts/verify-ui-cadence.ts",
"parity": "sh scripts/xvfb.sh node packages/runtime-native/conformance/run-conformance.mjs",
"parity:ledger": "tsx scripts/check-parity-ledger.ts",
"prd:progress": "tsx scripts/prd-progress.ts",
"prepare": "git config core.hooksPath githooks",
"profile:native-cpu": "tsx scripts/profile-native-cpu.ts",
"profile:native-cpu:fox": "sh scripts/xvfb.sh pnpm profile:native-cpu -- --visual-evidence fox-scale --allow-software",
"profile:production": "node packages/runtime-native/scripts/profile-production.mjs",
"profile:starter": "tsx scripts/profile-starter.ts",
"publish:check": "tsx scripts/check-publish-state.ts",
"quality": "tsx scripts/check-quality.ts",
"regen": "bash scripts/regen.sh",
"release": "tsx scripts/release.ts",
"release:native": "tsx scripts/release-native-local.ts",
"release:prepare": "tsx scripts/prepare-release.ts",
"round:deletions": "tsx scripts/round-deletions.ts",
"round:next": "tsx scripts/round-next.ts",
"sandbox": "tsx scripts/make-sandbox.ts",
"stamp:template-loading": "tsx scripts/stamp-template-loading.ts",
"stamp:template-render": "tsx scripts/stamp-template-render.ts",
"sweep:archive": "tsx scripts/sweep-archive.ts",
"sweep:capture": "sh scripts/xvfb.sh tsx scripts/sweep-capture.ts",
"sweep:delta": "tsx scripts/sweep-delta.ts",
"sweep:judge": "tsx scripts/sweep-judge.ts",
"sweep:measure": "tsx scripts/measure-sandbox.ts",
"sweep:pair": "tsx scripts/sweep-pair.ts",
"sweep:proof": "tsx scripts/sweep-proof.ts",
"sync:agents": "tsx scripts/sync-agent-docs.ts",
"sync:mcp": "tsx scripts/sync-mcp-configs.ts",
"test": "bash scripts/run-test-suite.sh",
"test:ui-native": "tsx packages/runtime-native/scripts/verify-native-ui-input.ts",
"test:browser": "pnpm --filter @threenative/playtest build && sh scripts/xvfb.sh playwright test --config=playwright.config.ts",
"test:browser:ci": "test -f packages/playtest/dist/runner/cli.js || { echo 'TN_PREBUILT_PLAYWRIGHT_RUNNER_MISSING: packages/playtest/dist/runner/cli.js' >&2; exit 1; }; command -v playwright >/dev/null 2>&1 || { echo 'TN_PREBUILT_PLAYWRIGHT_CLI_MISSING: playwright is not installed' >&2; exit 1; }; test -n \"${THREENATIVE_PACKED_PACKAGES:-}\" && test -d \"$THREENATIVE_PACKED_PACKAGES\" && test -s \"$THREENATIVE_PACKED_PACKAGES/specs\" || { echo 'TN_PREBUILT_WORKSPACE_ARCHIVE_MISSING: THREENATIVE_PACKED_PACKAGES must point to a verified archive directory' >&2; exit 1; }; test -n \"$(find \"$THREENATIVE_PACKED_PACKAGES\" -maxdepth 1 -type f -name '*.tgz' -print -quit 2>/dev/null)\" || { echo 'TN_PREBUILT_WORKSPACE_ARCHIVE_MISSING: no workspace archive was found' >&2; exit 1; }; sh scripts/xvfb.sh playwright test --config=playwright.config.ts",
"test:ci": "TN_SUITE_PREBUILT=1 bash scripts/run-test-suite.sh",
"test:playtest": "pnpm --filter @threenative/playtest build && sh scripts/xvfb.sh node packages/playtest/dist/runner/cli.js --scenario examples/abyss-framework/playtest/moves.json --scenario examples/abyss-framework/playtest/camera.json --scenario examples/abyss-framework/playtests/movement-axis.playtest.json --scenario examples/abyss-framework/playtests/zoom-input.playtest.json --url http://127.0.0.1:5180 --server-command 'pnpm --filter abyss-framework dev --host 127.0.0.1 --port 5180 --strictPort' --browser-recipe webgpu --headed && sh scripts/xvfb.sh node packages/playtest/dist/runner/cli.js --scenario examples/abyss-framework/playtests/navigation.playtest.json --url 'http://127.0.0.1:5180/?navigation' --server-command 'pnpm --filter abyss-framework dev --host 127.0.0.1 --port 5180 --strictPort' --browser-recipe webgpu --headed && sh scripts/xvfb.sh node packages/playtest/dist/runner/cli.js --scenario examples/abyss-framework/playtests/streaming.playtest.json --url 'http://127.0.0.1:5180/?streaming' --server-command 'pnpm --filter abyss-framework dev --host 127.0.0.1 --port 5180 --strictPort' --browser-recipe webgpu --headed",
"test:playtest:ci": "test -f packages/playtest/dist/runner/cli.js || { echo 'TN_PREBUILT_PLAYWRIGHT_RUNNER_MISSING: packages/playtest/dist/runner/cli.js' >&2; exit 1; }; sh scripts/xvfb.sh node packages/playtest/dist/runner/cli.js --scenario examples/abyss-framework/playtest/moves.json --scenario examples/abyss-framework/playtest/camera.json --scenario examples/abyss-framework/playtests/movement-axis.playtest.json --scenario examples/abyss-framework/playtests/zoom-input.playtest.json --url http://127.0.0.1:5180 --server-command 'pnpm --filter abyss-framework dev --host 127.0.0.1 --port 5180 --strictPort' --browser-recipe webgpu --headed --allow-software && sh scripts/xvfb.sh node packages/playtest/dist/runner/cli.js --scenario examples/abyss-framework/playtests/navigation.playtest.json --url 'http://127.0.0.1:5180/?navigation' --server-command 'pnpm --filter abyss-framework dev --host 127.0.0.1 --port 5180 --strictPort' --browser-recipe webgpu --headed --allow-software",
"test:templates": "sh scripts/xvfb.sh tsx scripts/verify-template-playtests.ts",
"test:vfx-gallery": "pnpm --filter @threenative/playtest build && pnpm --filter @threenative/core build && pnpm --filter vfx-gallery build && tsx scripts/vfx-gallery-visual.ts",
"typecheck": "tsc --noEmit -p tsconfig.json && pnpm -r --if-present run typecheck",
"verify:golden-path": "sh scripts/xvfb.sh tsx scripts/verify-golden-path.ts",
"visuals": "sh scripts/xvfb.sh tsx scripts/visual-gate.ts",
"visuals:ab": "sh scripts/xvfb.sh tsx scripts/visual-ab.ts",
"visuals:baseline": "sh scripts/xvfb.sh tsx scripts/template-baseline.ts",
"visuals:realism-effects": "sh scripts/xvfb.sh tsx scripts/realism-effects-visual.ts",
"worktree:cleanup": "tsx scripts/worktree-lifecycle.ts cleanup",
"worktree:status": "tsx scripts/worktree-lifecycle.ts status",
"census:content": "tsx scripts/content-census.ts",
"bench:host-boundary": "timeout 240 packages/runtime-native/build/tn-linux/mystral run packages/runtime-native/scripts/bench-host-boundary.js --headless"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@gltf-transform/core": "catalog:",
"@gltf-transform/extensions": "catalog:",
"@gltf-transform/functions": "catalog:",
"@playwright/test": "1.62.1",
"@types/node": "20.19.43",
"@types/pngjs": "6.0.5",
"@vitest/coverage-v8": "catalog:",
"draco3dgltf": "^1.5.7",
"es-module-lexer": "catalog:",
"meshoptimizer": "1.1.1",
"pngjs": "7.0.0",
"tsx": "4.23.5",
"typescript": "catalog:",
"vitest": "4.1.10"
},
"description": "ThreeNative is an application framework for games whose same vanilla Three.js source runs in the browser on WebGPU and on an owned C++ runtime for desktop and Android. It uses Godot-shaped node names, React and Tailwind for UI, and vanilla `three` underneath on every surface.",
"pnpm": {
"overrides": {
"sharp": ">=0.35.4"
}
},
"main": "index.js",
"directories": {
"doc": "docs",
"example": "examples",
"test": "tests"
},
"repository": {
"type": "git",
"url": "git+https://github.com/ThreeNativeHQ/threenative.git"
},
"keywords": [],
"author": "",
"bugs": {
"url": "https://github.com/ThreeNativeHQ/threenative/issues"
},
"homepage": "https://github.com/ThreeNativeHQ/threenative#readme"
}