@aura3d/editor-runtime 1.5.2 → 2.0.1

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.
Files changed (42) hide show
  1. package/dist/AnimationSceneEditor.d.ts +5 -5
  2. package/dist/AssetDropZone.d.ts +2 -2
  3. package/dist/CameraPathEditor.d.ts +3 -3
  4. package/dist/CommandHistory.d.ts +1 -1
  5. package/dist/CurveEditor.d.ts +3 -3
  6. package/dist/EditorRuntime.d.ts +13 -13
  7. package/dist/EditorStateModel.d.ts +1 -1
  8. package/dist/Gizmo.d.ts +2 -2
  9. package/dist/HierarchyModel.d.ts +1 -1
  10. package/dist/InspectorModel.d.ts +1 -1
  11. package/dist/InteractiveTransformGizmo.d.ts +1 -1
  12. package/dist/KeyframeEditor.d.ts +2 -2
  13. package/dist/NonlinearAnimationEditor.d.ts +3 -3
  14. package/dist/ProjectSerializer.d.ts +2 -2
  15. package/dist/PropertyPanel.d.ts +2 -2
  16. package/dist/RotateGizmo.d.ts +1 -1
  17. package/dist/ScaleGizmo.d.ts +1 -1
  18. package/dist/SceneOutliner.d.ts +3 -3
  19. package/dist/TimelineEditorController.d.ts +4 -4
  20. package/dist/TimelineRuntimeBridge.d.ts +2 -2
  21. package/dist/TimelineTrackTypes.d.ts +1 -1
  22. package/dist/TimelineUI.d.ts +1 -1
  23. package/dist/TranslateGizmo.d.ts +1 -1
  24. package/dist/VisualReviewDashboard.d.ts +1 -1
  25. package/dist/commands/CreateNodeCommand.d.ts +1 -1
  26. package/dist/commands/DeleteNodeCommand.d.ts +2 -2
  27. package/dist/commands/ReparentNodeCommand.d.ts +1 -1
  28. package/dist/commands/SetPropertyCommand.d.ts +1 -1
  29. package/dist/commands/TransformCommand.d.ts +1 -1
  30. package/dist/index.d.ts +79 -81
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +0 -1
  33. package/dist/index.js.map +1 -1
  34. package/package.json +7 -4
  35. package/dist/CartoonSceneEditor.d.ts +0 -111
  36. package/dist/CartoonSceneEditor.d.ts.map +0 -1
  37. package/dist/CartoonSceneEditor.js +0 -285
  38. package/dist/CartoonSceneEditor.js.map +0 -1
  39. package/dist/LocalizationAccessibilityFixtures.d.ts +0 -70
  40. package/dist/LocalizationAccessibilityFixtures.d.ts.map +0 -1
  41. package/dist/LocalizationAccessibilityFixtures.js +0 -275
  42. package/dist/LocalizationAccessibilityFixtures.js.map +0 -1
@@ -1,275 +0,0 @@
1
- const sourceFiles = [
2
- "origin/master:src/localization/LocalizationManager.ts",
3
- "origin/master:src/localization/StringTable.ts",
4
- "origin/master:src/localization/Locale.ts",
5
- "origin/master:src/localization/Pluralization.ts",
6
- "origin/master:src/localization/loaders/JSONLocaleLoader.ts",
7
- "origin/master:src/localization/loaders/CSVLocaleLoader.ts",
8
- "origin/master:src/ui/UIAccessibility.ts"
9
- ];
10
- const blockedClaims = [
11
- "full localization pipeline",
12
- "ICU MessageFormat parity",
13
- "bidirectional text shaping parity",
14
- "screen-reader certification",
15
- "WCAG conformance certification",
16
- "Unity UI Toolkit parity",
17
- "Unreal UMG parity"
18
- ];
19
- const locales = [
20
- {
21
- code: "en-US",
22
- displayName: "English (United States)",
23
- direction: "ltr",
24
- currencySymbol: "$",
25
- decimalSeparator: ".",
26
- thousandsSeparator: ",",
27
- currencyPosition: "before"
28
- },
29
- {
30
- code: "es-ES",
31
- displayName: "Spanish (Spain)",
32
- direction: "ltr",
33
- currencySymbol: "EUR",
34
- decimalSeparator: ",",
35
- thousandsSeparator: ".",
36
- currencyPosition: "after"
37
- },
38
- {
39
- code: "ar-SA",
40
- displayName: "Arabic (Saudi Arabia)",
41
- direction: "rtl",
42
- currencySymbol: "SAR",
43
- decimalSeparator: ".",
44
- thousandsSeparator: ",",
45
- currencyPosition: "after"
46
- }
47
- ];
48
- const stringTables = {
49
- "en-US": {
50
- "editor.title": "Aura3D Editor",
51
- "assets.count.one": "{count} imported asset",
52
- "assets.count.other": "{count} imported assets",
53
- "status.saved": "Saved",
54
- "panel.inspector": "Inspector"
55
- },
56
- "es-ES": {
57
- "editor.title": "Editor Aura3D",
58
- "assets.count.one": "{count} recurso importado",
59
- "assets.count.other": "{count} recursos importados",
60
- "status.saved": "Guardado"
61
- },
62
- "ar-SA": {
63
- "editor.title": "Aura3D RTL Editor",
64
- "assets.count.zero": "no imported assets",
65
- "assets.count.one": "{count} imported asset",
66
- "assets.count.two": "{count} imported assets",
67
- "assets.count.few": "{count} imported assets",
68
- "assets.count.many": "{count} imported assets",
69
- "assets.count.other": "{count} imported assets",
70
- "status.saved": "Saved RTL"
71
- }
72
- };
73
- const accessibilityElements = [
74
- createAccessibilityElement("command-menu", "navigation", "Command menu", 1, "#f7fafc", "#101820"),
75
- createAccessibilityElement("viewport", "status", "Editor WebGL viewport", 2, "#f5f7fb", "#07111c", "polite"),
76
- createAccessibilityElement("inspector-name", "textbox", "Selected node name", 3, "#111827", "#f9fafb"),
77
- createAccessibilityElement("timeline-scrub", "slider", "Timeline scrub time", 4, "#0f172a", "#e0f2fe"),
78
- createAccessibilityElement("export-project", "button", "Export Project", 5, "#ffffff", "#1d4ed8")
79
- ];
80
- export function sampleLocalizationAccessibilityFixture(options = {}) {
81
- const assetCount = Math.max(0, Math.floor(options.assetCount ?? 2));
82
- const hotSwapFrom = options.hotSwapFrom ?? "en-US";
83
- const hotSwapTo = options.hotSwapTo ?? "ar-SA";
84
- const fromLocale = requireLocale(hotSwapFrom);
85
- const toLocale = requireLocale(hotSwapTo);
86
- const listenerNotifications = [fromLocale.code, toLocale.code];
87
- const samples = locales.map((locale) => sampleLocale(locale, assetCount));
88
- const missingKeys = findMissingKeys(stringTables["en-US"] ?? {}, stringTables["es-ES"] ?? {});
89
- const focusOrder = accessibilityElements
90
- .filter((element) => element.focusable && !element.disabled)
91
- .sort((left, right) => left.tabIndex - right.tabIndex)
92
- .map((element) => element.id);
93
- const focusWalk = [focusOrder[0], focusOrder[1], focusOrder[2], focusOrder[1]].filter((id) => Boolean(id));
94
- const minContrastRatio = Math.min(...accessibilityElements.map((element) => element.contrastRatio));
95
- const fixtureWithoutHash = {
96
- source: "origin-master-localization-ui-accessibility-adapted",
97
- sourceFiles,
98
- localeCount: locales.length,
99
- rtlLocaleCount: locales.filter((locale) => locale.direction === "rtl").length,
100
- tableKeyCount: Object.values(stringTables).reduce((sum, table) => sum + Object.keys(table).length, 0),
101
- jsonLoaderValidated: validateJsonTableShape(stringTables),
102
- csvLoaderValidated: validateCsvTableShape(toCsv(stringTables)),
103
- hotSwapLocale: {
104
- from: fromLocale.code,
105
- to: toLocale.code,
106
- directionChanged: fromLocale.direction !== toLocale.direction,
107
- listenerNotifications
108
- },
109
- samples,
110
- missingKeys,
111
- accessibility: {
112
- elementCount: accessibilityElements.length,
113
- labelledControls: accessibilityElements.filter((element) => element.label.trim().length > 0).length,
114
- focusOrder,
115
- focusWalk,
116
- liveRegionAnnouncements: ["Focused: Command menu", "Focused: Editor WebGL viewport", "Saved"],
117
- highContrastMode: true,
118
- minContrastRatio,
119
- aaContrastPasses: accessibilityElements.every((element) => element.contrastPassesAA)
120
- },
121
- blockedClaims,
122
- claimBoundary: "This fixture ports bounded old localization and UI accessibility concepts into deterministic editor-runtime evidence. It does not certify WCAG compliance, native assistive technology behavior, ICU parity, or Unity/Unreal UI parity."
123
- };
124
- return {
125
- ...fixtureWithoutHash,
126
- hash: stableHash(JSON.stringify(fixtureWithoutHash))
127
- };
128
- }
129
- function sampleLocale(locale, assetCount) {
130
- const pluralCategory = cardinalPluralCategory(locale.code, assetCount);
131
- const table = stringTables[locale.code] ?? {};
132
- const fallback = stringTables["en-US"] ?? {};
133
- return {
134
- locale: locale.code,
135
- direction: locale.direction,
136
- title: lookup(table, fallback, "editor.title", {}),
137
- assetCount: lookup(table, fallback, `assets.count.${pluralCategory}`, { count: assetCount }),
138
- fallbackTitle: lookup(table, fallback, "panel.inspector", {}),
139
- missingKey: lookup(table, fallback, "missing.key", {}),
140
- formattedNumber: formatNumber(locale, 1234.5, 2),
141
- formattedCurrency: formatCurrency(locale, 1234.5),
142
- pluralCategory
143
- };
144
- }
145
- function lookup(table, fallback, key, params) {
146
- const template = table[key] ?? fallback[key];
147
- if (!template)
148
- return `[${key}]`;
149
- return template.replace(/\{([^}]+)\}/g, (match, name) => String(params[name] ?? match));
150
- }
151
- function cardinalPluralCategory(localeCode, count) {
152
- const language = localeCode.split("-")[0] ?? localeCode;
153
- if (language === "ar") {
154
- if (count === 0)
155
- return "zero";
156
- if (count === 1)
157
- return "one";
158
- if (count === 2)
159
- return "two";
160
- if (count % 100 >= 3 && count % 100 <= 10)
161
- return "few";
162
- if (count % 100 >= 11 && count % 100 <= 99)
163
- return "many";
164
- return "other";
165
- }
166
- return count === 1 ? "one" : "other";
167
- }
168
- function formatNumber(locale, value, decimals) {
169
- const fixed = value.toFixed(decimals);
170
- const [integer = "0", decimal = ""] = fixed.split(".");
171
- const grouped = integer.replace(/\B(?=(\d{3})+(?!\d))/g, locale.thousandsSeparator);
172
- return decimal.length > 0 ? `${grouped}${locale.decimalSeparator}${decimal}` : grouped;
173
- }
174
- function formatCurrency(locale, value) {
175
- const formatted = formatNumber(locale, value, 2);
176
- return locale.currencyPosition === "before" ? `${locale.currencySymbol}${formatted}` : `${formatted} ${locale.currencySymbol}`;
177
- }
178
- function findMissingKeys(reference, target) {
179
- return Object.keys(reference).filter((key) => target[key] === undefined).sort();
180
- }
181
- function requireLocale(code) {
182
- const locale = locales.find((candidate) => candidate.code === code);
183
- if (!locale)
184
- throw new Error(`Unknown editor locale fixture: ${code}`);
185
- return locale;
186
- }
187
- function validateJsonTableShape(tables) {
188
- return Object.values(tables).every((table) => Object.values(table).every((value) => typeof value === "string" && value.length > 0));
189
- }
190
- function validateCsvTableShape(csv) {
191
- const rows = csv.split("\n").filter((line) => line.trim().length > 0);
192
- if (rows.length < 2)
193
- return false;
194
- const expectedColumns = parseCsvLine(rows[0] ?? "").length;
195
- return expectedColumns >= 2 && rows.slice(1).every((line) => parseCsvLine(line).length === expectedColumns);
196
- }
197
- function toCsv(tables) {
198
- const localeCodes = Object.keys(tables).sort();
199
- const keys = [...new Set(localeCodes.flatMap((locale) => Object.keys(tables[locale] ?? {})))].sort();
200
- return [
201
- ["Key", ...localeCodes].join(","),
202
- ...keys.map((key) => [key, ...localeCodes.map((locale) => escapeCsv(tables[locale]?.[key] ?? ""))].join(","))
203
- ].join("\n");
204
- }
205
- function parseCsvLine(line) {
206
- const columns = [];
207
- let current = "";
208
- let quoted = false;
209
- for (let index = 0; index < line.length; index += 1) {
210
- const char = line[index];
211
- const next = line[index + 1];
212
- if (char === "\"") {
213
- if (quoted && next === "\"") {
214
- current += "\"";
215
- index += 1;
216
- }
217
- else {
218
- quoted = !quoted;
219
- }
220
- }
221
- else if (char === "," && !quoted) {
222
- columns.push(current);
223
- current = "";
224
- }
225
- else {
226
- current += char;
227
- }
228
- }
229
- columns.push(current);
230
- return columns;
231
- }
232
- function escapeCsv(value) {
233
- return value.includes(",") || value.includes("\"") || value.includes("\n") ? `"${value.replace(/"/g, "\"\"")}"` : value;
234
- }
235
- function createAccessibilityElement(id, role, label, tabIndex, foreground, background, ariaLive) {
236
- const contrastRatio = Number(contrast(foreground, background).toFixed(2));
237
- return {
238
- id,
239
- role,
240
- label,
241
- tabIndex,
242
- focusable: true,
243
- ...(ariaLive ? { ariaLive } : {}),
244
- contrastRatio,
245
- contrastPassesAA: contrastRatio >= 4.5
246
- };
247
- }
248
- function contrast(foreground, background) {
249
- const foregroundLum = luminance(hexToRgb(foreground));
250
- const backgroundLum = luminance(hexToRgb(background));
251
- const light = Math.max(foregroundLum, backgroundLum);
252
- const dark = Math.min(foregroundLum, backgroundLum);
253
- return (light + 0.05) / (dark + 0.05);
254
- }
255
- function hexToRgb(hex) {
256
- const normalized = hex.replace("#", "");
257
- return [
258
- Number.parseInt(normalized.slice(0, 2), 16) / 255,
259
- Number.parseInt(normalized.slice(2, 4), 16) / 255,
260
- Number.parseInt(normalized.slice(4, 6), 16) / 255
261
- ];
262
- }
263
- function luminance(rgb) {
264
- const [r, g, b] = rgb.map((channel) => channel <= 0.03928 ? channel / 12.92 : ((channel + 0.055) / 1.055) ** 2.4);
265
- return 0.2126 * (r ?? 0) + 0.7152 * (g ?? 0) + 0.0722 * (b ?? 0);
266
- }
267
- function stableHash(value) {
268
- let hash = 0x811c9dc5;
269
- for (let index = 0; index < value.length; index += 1) {
270
- hash ^= value.charCodeAt(index);
271
- hash = Math.imul(hash, 0x01000193);
272
- }
273
- return (hash >>> 0).toString(16).padStart(8, "0");
274
- }
275
- //# sourceMappingURL=LocalizationAccessibilityFixtures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalizationAccessibilityFixtures.js","sourceRoot":"","sources":["../../../../packages/editor-runtime/src/LocalizationAccessibilityFixtures.ts"],"names":[],"mappings":"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"}