@certe/atmos-editor 0.8.6 → 0.8.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -8,6 +8,13 @@ export interface PlayerConfig {
|
|
|
8
8
|
canvas?: HTMLCanvasElement;
|
|
9
9
|
/** Physics plugin (from createEditorPhysics()). */
|
|
10
10
|
physics?: EditorPhysicsPlugin;
|
|
11
|
+
/** Physics settings baked at build time from project-settings.json. */
|
|
12
|
+
physicsSettings?: {
|
|
13
|
+
gravity: [number, number, number];
|
|
14
|
+
fixedTimestep: number;
|
|
15
|
+
solverIterations: number;
|
|
16
|
+
substeps: number;
|
|
17
|
+
};
|
|
11
18
|
/** User script modules from import.meta.glob('./scripts/*.ts', { eager: true }). */
|
|
12
19
|
scriptModules?: Record<string, Record<string, unknown>>;
|
|
13
20
|
/** Base URL prefix for asset fetches (default: '/'). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-player.d.ts","sourceRoot":"","sources":["../../src/bootstrap/start-player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAA4D,MAAM,mBAAmB,CAAC;AAE5G,OAAO,EAKL,YAAY,EAOb,MAAM,uBAAuB,CAAC;AAU/B,OAAO,KAAK,EAAE,mBAAmB,EAAY,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,mDAAmD;IACnD,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"start-player.d.ts","sourceRoot":"","sources":["../../src/bootstrap/start-player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAA4D,MAAM,mBAAmB,CAAC;AAE5G,OAAO,EAKL,YAAY,EAOb,MAAM,uBAAuB,CAAC;AAU/B,OAAO,KAAK,EAAE,mBAAmB,EAAY,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,mDAAmD;IACnD,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,uEAAuE;IACvE,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3H,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAiM1E"}
|
|
@@ -9,7 +9,7 @@ import { discoverScripts } from '../script-discovery.js';
|
|
|
9
9
|
import { SimpleMaterialLoader } from '../simple-material-loader.js';
|
|
10
10
|
export async function startPlayer(config) {
|
|
11
11
|
const cleanups = [];
|
|
12
|
-
const assetBase = config.assetBase ?? '
|
|
12
|
+
const assetBase = config.assetBase ?? './';
|
|
13
13
|
// 1. Register builtins
|
|
14
14
|
registerCoreBuiltins();
|
|
15
15
|
registerRendererBuiltins();
|
|
@@ -134,7 +134,11 @@ export async function startPlayer(config) {
|
|
|
134
134
|
if (sceneData.postProcess) {
|
|
135
135
|
applyPostProcess(renderSystem, sceneData.postProcess);
|
|
136
136
|
}
|
|
137
|
-
// 14.
|
|
137
|
+
// 14. Apply project physics settings (baked into build entry by vite plugin)
|
|
138
|
+
if (config.physics && config.physicsSettings) {
|
|
139
|
+
config.physics.applyPhysicsSettings?.(config.physicsSettings);
|
|
140
|
+
}
|
|
141
|
+
// 15. Engine setup
|
|
138
142
|
if (physicsSystem)
|
|
139
143
|
physicsSystem.scene = loadedScene;
|
|
140
144
|
const engine = new Engine();
|
|
@@ -143,7 +147,7 @@ export async function startPlayer(config) {
|
|
|
143
147
|
engine.setPhysics(physicsSystem);
|
|
144
148
|
engine.input.attach(window);
|
|
145
149
|
cleanups.push(() => engine.input.detach());
|
|
146
|
-
//
|
|
150
|
+
// 16. Scene loader for runtime scene switching
|
|
147
151
|
Scene.setSceneLoader(async (name) => {
|
|
148
152
|
const scenePath = `scenes/${name}.scene.json`;
|
|
149
153
|
try {
|
|
@@ -174,7 +178,7 @@ export async function startPlayer(config) {
|
|
|
174
178
|
}
|
|
175
179
|
});
|
|
176
180
|
cleanups.push(() => Scene.setSceneLoader(null));
|
|
177
|
-
//
|
|
181
|
+
// 17. Start engine
|
|
178
182
|
engine.start(loadedScene);
|
|
179
183
|
return {
|
|
180
184
|
engine,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-player.js","sourceRoot":"","sources":["../../src/bootstrap/start-player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE5G,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,wBAAwB,EACxB,SAAS,EACT,UAAU,EACV,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"start-player.js","sourceRoot":"","sources":["../../src/bootstrap/start-player.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@certe/atmos-editor",
|
|
3
3
|
"description": "Browser-based Unity-style editor for the Atmos Engine — hierarchy, inspector, gizmos",
|
|
4
|
-
"version": "0.8.
|
|
4
|
+
"version": "0.8.8",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/certesolutions-cyber/atmos.git",
|
|
@@ -56,11 +56,11 @@
|
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@certe/atmos-animation": "^0.8.
|
|
60
|
-
"@certe/atmos-assets": "^0.8.
|
|
61
|
-
"@certe/atmos-core": "^0.8.
|
|
62
|
-
"@certe/atmos-math": "^0.8.
|
|
63
|
-
"@certe/atmos-renderer": "^0.8.
|
|
59
|
+
"@certe/atmos-animation": "^0.8.8",
|
|
60
|
+
"@certe/atmos-assets": "^0.8.8",
|
|
61
|
+
"@certe/atmos-core": "^0.8.8",
|
|
62
|
+
"@certe/atmos-math": "^0.8.8",
|
|
63
|
+
"@certe/atmos-renderer": "^0.8.8",
|
|
64
64
|
"react": "^19.0.0",
|
|
65
65
|
"react-dom": "^19.0.0"
|
|
66
66
|
},
|
package/vite-plugin.cjs
CHANGED
|
@@ -132,6 +132,9 @@ function atmosPlugin(options) {
|
|
|
132
132
|
generatedIndex = indexPath;
|
|
133
133
|
}
|
|
134
134
|
return {
|
|
135
|
+
// Default to relative paths so the build works in any subdirectory
|
|
136
|
+
// (e.g. GitHub Pages under /repo-name/). User can override with base in vite.config.
|
|
137
|
+
base: cfg.base ?? './',
|
|
135
138
|
build: {
|
|
136
139
|
target: cfg.build?.target ?? 'esnext',
|
|
137
140
|
rollupOptions: {
|
|
@@ -163,11 +166,13 @@ function atmosPlugin(options) {
|
|
|
163
166
|
load(id) {
|
|
164
167
|
if (id !== RESOLVED_BUILD_ENTRY) return;
|
|
165
168
|
let sceneName = 'main';
|
|
169
|
+
let physicsJson = 'undefined';
|
|
166
170
|
try {
|
|
167
171
|
const settingsPath = path.join(root, 'project-settings.json');
|
|
168
172
|
if (fs.existsSync(settingsPath)) {
|
|
169
173
|
const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
|
|
170
174
|
if (settings.defaultScene) sceneName = settings.defaultScene;
|
|
175
|
+
if (settings.physics) physicsJson = JSON.stringify(settings.physics);
|
|
171
176
|
}
|
|
172
177
|
} catch { /* use default */ }
|
|
173
178
|
return `
|
|
@@ -178,6 +183,7 @@ try {
|
|
|
178
183
|
const app = await startPlayer({
|
|
179
184
|
scene: 'scenes/${sceneName}.scene.json',
|
|
180
185
|
physics,
|
|
186
|
+
physicsSettings: ${physicsJson},
|
|
181
187
|
scriptModules,
|
|
182
188
|
});
|
|
183
189
|
} catch (err) {
|
|
@@ -224,6 +230,11 @@ try {
|
|
|
224
230
|
copyDirSync(src, path.join(outDir, dir));
|
|
225
231
|
}
|
|
226
232
|
}
|
|
233
|
+
// Copy project-settings.json (physics settings, default scene, etc.)
|
|
234
|
+
const settingsFile = path.resolve(root, 'project-settings.json');
|
|
235
|
+
if (fs.existsSync(settingsFile)) {
|
|
236
|
+
fs.copyFileSync(settingsFile, path.join(outDir, 'project-settings.json'));
|
|
237
|
+
}
|
|
227
238
|
},
|
|
228
239
|
|
|
229
240
|
configureServer(server) {
|
package/vite-plugin.mjs
CHANGED
|
@@ -132,6 +132,9 @@ export function atmosPlugin(options) {
|
|
|
132
132
|
generatedIndex = indexPath;
|
|
133
133
|
}
|
|
134
134
|
return {
|
|
135
|
+
// Default to relative paths so the build works in any subdirectory
|
|
136
|
+
// (e.g. GitHub Pages under /repo-name/). User can override with base in vite.config.
|
|
137
|
+
base: cfg.base ?? './',
|
|
135
138
|
build: {
|
|
136
139
|
target: cfg.build?.target ?? 'esnext',
|
|
137
140
|
rollupOptions: {
|
|
@@ -163,11 +166,13 @@ export function atmosPlugin(options) {
|
|
|
163
166
|
load(id) {
|
|
164
167
|
if (id !== RESOLVED_BUILD_ENTRY) return;
|
|
165
168
|
let sceneName = 'main';
|
|
169
|
+
let physicsJson = 'undefined';
|
|
166
170
|
try {
|
|
167
171
|
const settingsPath = path.join(root, 'project-settings.json');
|
|
168
172
|
if (fs.existsSync(settingsPath)) {
|
|
169
173
|
const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
|
|
170
174
|
if (settings.defaultScene) sceneName = settings.defaultScene;
|
|
175
|
+
if (settings.physics) physicsJson = JSON.stringify(settings.physics);
|
|
171
176
|
}
|
|
172
177
|
} catch { /* use default */ }
|
|
173
178
|
return `
|
|
@@ -178,6 +183,7 @@ try {
|
|
|
178
183
|
const app = await startPlayer({
|
|
179
184
|
scene: 'scenes/${sceneName}.scene.json',
|
|
180
185
|
physics,
|
|
186
|
+
physicsSettings: ${physicsJson},
|
|
181
187
|
scriptModules,
|
|
182
188
|
});
|
|
183
189
|
} catch (err) {
|
|
@@ -224,6 +230,11 @@ try {
|
|
|
224
230
|
copyDirSync(src, path.join(outDir, dir));
|
|
225
231
|
}
|
|
226
232
|
}
|
|
233
|
+
// Copy project-settings.json (physics settings, default scene, etc.)
|
|
234
|
+
const settingsFile = path.resolve(root, 'project-settings.json');
|
|
235
|
+
if (fs.existsSync(settingsFile)) {
|
|
236
|
+
fs.copyFileSync(settingsFile, path.join(outDir, 'project-settings.json'));
|
|
237
|
+
}
|
|
227
238
|
},
|
|
228
239
|
|
|
229
240
|
configureServer(server) {
|