@holoscript/core 8.0.12 → 8.0.14
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.
- package/README.md +14 -0
- package/bin/holo-decision.mjs +133 -0
- package/dist/{GLTFPipeline-L76YTXKA.js → GLTFPipeline-6LS3UDYX.js} +6 -6
- package/dist/{GLTFPipeline-ZWJN7GI6.cjs → GLTFPipeline-VTI6PRRQ.cjs} +10 -10
- package/dist/{HoloCompositionParser-FLBZKFD3.js → HoloCompositionParser-GILABNN3.js} +5 -5
- package/dist/{HoloCompositionParser-3XEC7IJC.cjs → HoloCompositionParser-ZVRYVEA5.cjs} +12 -12
- package/dist/{HoloScriptPlusParser-RNUCHOAJ.cjs → HoloScriptPlusParser-WTPRPRPR.cjs} +8 -8
- package/dist/{HoloScriptPlusParser-55AY4MUF.js → HoloScriptPlusParser-ZP53ECSL.js} +5 -5
- package/dist/{SceneIRCompiler-KWUFHZ4O.cjs → SceneIRCompiler-7KQ5NKAU.cjs} +11 -11
- package/dist/{SceneIRCompiler-63KA3M2F.js → SceneIRCompiler-VX75RB6H.js} +6 -6
- package/dist/{chunk-EM2OGPYE.js → chunk-2GKF7JQ6.js} +3 -3
- package/dist/{chunk-HVX7QQYK.js → chunk-3KHRZTNW.js} +3 -3
- package/dist/{chunk-UTUD6GJI.js → chunk-42Z3SVHQ.js} +3 -3
- package/dist/{chunk-Z4IUBW46.js → chunk-47XZ62KM.js} +112 -55
- package/dist/{chunk-GGR7QUKK.cjs → chunk-4CRMVEON.cjs} +37 -37
- package/dist/{chunk-QBY7LRN2.js → chunk-4NEPHK2K.js} +3 -3
- package/dist/{chunk-65S62L4D.cjs → chunk-5B2AJKA5.cjs} +20 -20
- package/dist/{chunk-PJFTTSKE.js → chunk-5T6BWIB7.js} +4 -4
- package/dist/{chunk-KFVNCW4Q.js → chunk-62OYZT6Q.js} +3 -3
- package/dist/{chunk-3KMANSQJ.cjs → chunk-645EWDZW.cjs} +4 -4
- package/dist/{chunk-BP4KTMLY.js → chunk-6FCNMTL5.js} +4 -4
- package/dist/{chunk-77QI552M.js → chunk-73EDVY5D.js} +3 -3
- package/dist/{chunk-7IDJDMPU.cjs → chunk-7FYSSI3C.cjs} +27 -2
- package/dist/{chunk-WNYXT4TE.cjs → chunk-7ITJP33Q.cjs} +3 -3
- package/dist/chunk-7ZKQ32XK.js +1571 -0
- package/dist/{chunk-P7JEKJTZ.cjs → chunk-B6JHTTMR.cjs} +25 -14
- package/dist/{chunk-FG6PYGIZ.js → chunk-BLCWQ225.js} +4 -4
- package/dist/{chunk-7NPZZZD7.js → chunk-C73GVAYC.js} +16 -9
- package/dist/{chunk-RMOEL2GD.cjs → chunk-CESMPUEZ.cjs} +3794 -1137
- package/dist/{chunk-SQXAZHDG.js → chunk-CHIZSMWD.js} +3 -3
- package/dist/{chunk-G35CAQ7I.cjs → chunk-D44CEFY4.cjs} +5 -5
- package/dist/chunk-ERYKKPHW.cjs +1884 -0
- package/dist/{chunk-TYNRXRHF.js → chunk-EYHPTJ3F.js} +3695 -1045
- package/dist/{chunk-J3UHV5T4.cjs → chunk-FGXJPJ3W.cjs} +4 -4
- package/dist/{chunk-IJU6AS67.cjs → chunk-FHR2AVMA.cjs} +23 -23
- package/dist/{chunk-LMB555QB.cjs → chunk-FOM36K5I.cjs} +18 -18
- package/dist/{chunk-JBYBMBMW.js → chunk-FWKEY4LD.js} +3 -2
- package/dist/{chunk-ZRPALBQB.cjs → chunk-GGH3ZYDB.cjs} +5 -5
- package/dist/{chunk-2BYAUHBO.js → chunk-GI5YYZH6.js} +3 -3
- package/dist/{chunk-VTEXJOSD.cjs → chunk-GYJLP4BO.cjs} +30 -30
- package/dist/{chunk-OC6GV5QH.cjs → chunk-HCONR4J6.cjs} +38 -38
- package/dist/{chunk-B3CWTCK2.js → chunk-IA7FCSRY.js} +27 -2
- package/dist/{chunk-5FYMCVBY.js → chunk-IXFNA5TT.js} +4 -4
- package/dist/{chunk-G6KACNMO.js → chunk-JCVSCKUH.js} +4 -4
- package/dist/{chunk-FHVPN7BN.js → chunk-JQCXLKAU.js} +3 -3
- package/dist/{chunk-F3YT6GUF.cjs → chunk-KLM6QD6D.cjs} +14 -14
- package/dist/{chunk-UGQ3QNV6.js → chunk-KOGPVAP6.js} +24 -8
- package/dist/{chunk-CKV5NYAE.js → chunk-KYJD2UMV.js} +4 -4
- package/dist/{chunk-LB3ZZMKT.cjs → chunk-L4DBUX3N.cjs} +10 -10
- package/dist/{chunk-RXQNRZ5F.js → chunk-LGRKBTPM.js} +3 -3
- package/dist/{chunk-OMNHTCS4.cjs → chunk-LHUDAJQT.cjs} +3 -2
- package/dist/{chunk-PDXX5UI4.cjs → chunk-LQNL3IYV.cjs} +38 -38
- package/dist/{chunk-WWNCM473.js → chunk-M7XR3F53.js} +4 -4
- package/dist/{chunk-IFW5IW4L.cjs → chunk-ML4V5PVU.cjs} +670 -627
- package/dist/{chunk-656IAS7B.cjs → chunk-N7IYRAFG.cjs} +21 -14
- package/dist/chunk-N7MIIDLI.cjs +1605 -0
- package/dist/{chunk-USOUXQYD.js → chunk-NWKARJM2.js} +130 -22
- package/dist/{chunk-VVAAZITA.cjs → chunk-OOP4S3GU.cjs} +5 -5
- package/dist/{chunk-TX6ZBIF4.js → chunk-ORBVCOTC.js} +3 -3
- package/dist/{chunk-RRQIAJLQ.cjs → chunk-OSKGCXAQ.cjs} +5 -5
- package/dist/{chunk-QEDMOGF3.cjs → chunk-P65OIMJT.cjs} +7 -7
- package/dist/{chunk-QM7FJB5W.js → chunk-PSWCJQS4.js} +4 -4
- package/dist/{chunk-7N63JHUN.cjs → chunk-PZ46WRHX.cjs} +8 -8
- package/dist/{chunk-AATYYLYK.js → chunk-Q4J2K7FI.js} +16 -5
- package/dist/chunk-QLPRI3QW.js +1875 -0
- package/dist/{chunk-WTH23ISI.js → chunk-R5VKLUMR.js} +4 -4
- package/dist/{chunk-NQN5LFN4.cjs → chunk-REN3LHO6.cjs} +19 -19
- package/dist/{chunk-JEJ7TT54.js → chunk-RVN7OPCP.js} +4 -4
- package/dist/{chunk-ZK7KX5CD.cjs → chunk-SE2Y5BSL.cjs} +6 -6
- package/dist/{chunk-2X3IPCBK.cjs → chunk-SKVBUGMC.cjs} +7 -7
- package/dist/{chunk-GZPUA2TL.cjs → chunk-SNMQUWIO.cjs} +10 -10
- package/dist/{chunk-OIBRWLPY.cjs → chunk-TKDDIE3T.cjs} +54 -3
- package/dist/{chunk-5H5GFBMG.cjs → chunk-TMNAKNV2.cjs} +112 -55
- package/dist/{chunk-5LVFTGKH.js → chunk-TZQKJOPC.js} +3 -3
- package/dist/{chunk-TSTFYGGX.js → chunk-UKEK2NZJ.js} +3 -3
- package/dist/{chunk-3IUHTGDD.cjs → chunk-VA7THINF.cjs} +38 -38
- package/dist/{chunk-Z557DVYN.js → chunk-VMCR5QVI.js} +4 -4
- package/dist/{chunk-IS7NTKY5.cjs → chunk-VTFLKSJL.cjs} +14 -14
- package/dist/{chunk-VO52AJD5.js → chunk-VXHB6ZHY.js} +4 -4
- package/dist/{chunk-S4O7CFHQ.cjs → chunk-VZI7S7P6.cjs} +7 -7
- package/dist/{chunk-BQJ3YBF3.js → chunk-W4AJMMQR.js} +667 -628
- package/dist/{chunk-2KKOYZYI.cjs → chunk-XZC75AJ4.cjs} +5 -5
- package/dist/{chunk-FWCHPCD4.js → chunk-Y2OCKXVD.js} +4 -4
- package/dist/{chunk-EI5G5JLY.cjs → chunk-YBM34FUJ.cjs} +134 -22
- package/dist/{chunk-DUG3OQAS.js → chunk-YDSNDCV3.js} +3 -3
- package/dist/{chunk-566ZB4LZ.cjs → chunk-YM7UUYR5.cjs} +5 -5
- package/dist/{chunk-BCP4E7MD.cjs → chunk-YMI3ED3B.cjs} +26 -10
- package/dist/{chunk-CP7V3ATL.js → chunk-Z7NUL73U.js} +51 -4
- package/dist/cli/holoscript-runner.cjs +11 -11
- package/dist/cli/holoscript-runner.js +4 -4
- package/dist/compiler/agent-inference.cjs +8 -8
- package/dist/compiler/agent-inference.js +4 -4
- package/dist/compiler/android-xr.cjs +7 -7
- package/dist/compiler/android-xr.js +5 -5
- package/dist/compiler/android.cjs +6 -6
- package/dist/compiler/android.js +4 -4
- package/dist/compiler/context.cjs +6 -6
- package/dist/compiler/context.js +3 -3
- package/dist/compiler/daimon-seed.cjs +9 -9
- package/dist/compiler/daimon-seed.js +4 -4
- package/dist/compiler/domain-block-utils.cjs +165 -165
- package/dist/compiler/domain-block-utils.js +4 -4
- package/dist/compiler/dtdl.cjs +7 -7
- package/dist/compiler/dtdl.js +4 -4
- package/dist/compiler/gltf-pipeline.cjs +8 -8
- package/dist/compiler/gltf-pipeline.js +1 -1
- package/dist/compiler/godot.cjs +6 -6
- package/dist/compiler/godot.js +5 -5
- package/dist/compiler/incremental.cjs +8 -8
- package/dist/compiler/incremental.js +3 -3
- package/dist/compiler/index.cjs +871 -207
- package/dist/compiler/index.d.ts +21 -1
- package/dist/compiler/index.js +696 -60
- package/dist/compiler/ios.cjs +6 -6
- package/dist/compiler/ios.js +4 -4
- package/dist/compiler/llm-provider-capabilities.cjs +6 -6
- package/dist/compiler/llm-provider-capabilities.js +3 -3
- package/dist/compiler/openxr.cjs +6 -6
- package/dist/compiler/openxr.js +5 -5
- package/dist/compiler/sdf.cjs +7 -7
- package/dist/compiler/sdf.js +5 -5
- package/dist/compiler/state.cjs +6 -6
- package/dist/compiler/state.js +4 -4
- package/dist/compiler/trait-composition.cjs +7 -7
- package/dist/compiler/trait-composition.js +3 -3
- package/dist/compiler/unity.cjs +6 -6
- package/dist/compiler/unity.js +5 -5
- package/dist/compiler/unreal.cjs +7 -7
- package/dist/compiler/unreal.js +5 -5
- package/dist/compiler/urdf.cjs +14 -14
- package/dist/compiler/urdf.js +5 -5
- package/dist/compiler/usd-physics.cjs +7 -7
- package/dist/compiler/usd-physics.js +4 -4
- package/dist/compiler/visionos.cjs +6 -6
- package/dist/compiler/visionos.js +5 -5
- package/dist/compiler/vrchat.cjs +7 -7
- package/dist/compiler/vrchat.js +5 -5
- package/dist/compiler/wasm.cjs +10 -10
- package/dist/compiler/wasm.js +5 -5
- package/dist/compiler/webgpu.cjs +6 -6
- package/dist/compiler/webgpu.js +5 -5
- package/dist/constants.cjs +3 -3
- package/dist/constants.js +1 -1
- package/dist/entries/scripting.cjs +6 -6
- package/dist/entries/scripting.js +2 -2
- package/dist/evolution/index.cjs +21 -17
- package/dist/evolution/index.d.ts +9 -0
- package/dist/evolution/index.js +6 -6
- package/dist/index.cjs +930 -703
- package/dist/index.d.ts +70 -5
- package/dist/index.js +192 -109
- package/dist/parser.cjs +19 -19
- package/dist/parser.js +5 -5
- package/dist/reconstruction/index.cjs +127 -38
- package/dist/reconstruction/index.d.ts +159 -0
- package/dist/reconstruction/index.js +11 -2
- package/dist/runtime.d.ts +1 -0
- package/dist/traitDocs/traitDocs.cjs +8 -8
- package/dist/traitDocs/traitDocs.js +2 -2
- package/dist/traits/index.cjs +566 -471
- package/dist/traits/index.js +93 -11
- package/package.json +25 -41
- package/dist/chunk-G3BM3CT4.cjs +0 -639
- package/dist/chunk-KEYG7HGY.js +0 -1062
- package/dist/chunk-QX34ELJ7.js +0 -625
- package/dist/chunk-W2GA3EQB.cjs +0 -1065
|
@@ -2,9 +2,9 @@ import { computeHoloMapReplayFingerprint } from './chunk-WNNE3PO3.js';
|
|
|
2
2
|
import { isWebGpuEnvironmentPresent, HOLOMAP_SIMULATION_CONTRACT_KIND } from './chunk-K56UVEXV.js';
|
|
3
3
|
|
|
4
4
|
// src/version.ts
|
|
5
|
-
var HOLOSCRIPT_VERSION = "8.0.
|
|
6
|
-
var GIT_COMMIT_SHA = "
|
|
7
|
-
var BUILD_TIMESTAMP = "2026-07-
|
|
5
|
+
var HOLOSCRIPT_VERSION = "8.0.14" ;
|
|
6
|
+
var GIT_COMMIT_SHA = "cac71253a" ;
|
|
7
|
+
var BUILD_TIMESTAMP = "2026-07-12T00:05:58.992Z" ;
|
|
8
8
|
function getVersionString() {
|
|
9
9
|
const sha = `+${GIT_COMMIT_SHA}` ;
|
|
10
10
|
return `${HOLOSCRIPT_VERSION}${sha}`;
|
|
@@ -1811,9 +1811,12 @@ function createPagedKVCache(config) {
|
|
|
1811
1811
|
const freePhysicalPages = Array.from({ length: config.maxResidentPages }, (_, i) => i).reverse();
|
|
1812
1812
|
const appendKernel = config.device ? createPagedKVAppendKernel(config.device) : null;
|
|
1813
1813
|
const lookupKernel = config.device ? createPagedKVLookupKernel(config.device) : null;
|
|
1814
|
+
const residentPageStates = /* @__PURE__ */ new Set();
|
|
1814
1815
|
let disposed = false;
|
|
1815
1816
|
let nextPageId = 0;
|
|
1816
1817
|
let accessClock = 0;
|
|
1818
|
+
let devicePageCount = 0;
|
|
1819
|
+
let hostPageCount = 0;
|
|
1817
1820
|
function assertLive() {
|
|
1818
1821
|
if (disposed) throw new Error("PagedKVCache has been disposed.");
|
|
1819
1822
|
}
|
|
@@ -1848,9 +1851,7 @@ function createPagedKVCache(config) {
|
|
|
1848
1851
|
valuePages.fill(0, offset, end);
|
|
1849
1852
|
}
|
|
1850
1853
|
function residentPages() {
|
|
1851
|
-
return
|
|
1852
|
-
(layer) => Array.from(layer.pages.values()).filter((page) => page.residency === "device")
|
|
1853
|
-
);
|
|
1854
|
+
return Array.from(residentPageStates);
|
|
1854
1855
|
}
|
|
1855
1856
|
function evictPage(page) {
|
|
1856
1857
|
if (page.physicalPage === null) return pageSnapshot(page);
|
|
@@ -1863,6 +1864,9 @@ function createPagedKVCache(config) {
|
|
|
1863
1864
|
page.hostKeys = hostKeys;
|
|
1864
1865
|
page.hostValues = hostValues;
|
|
1865
1866
|
page.residency = "host";
|
|
1867
|
+
residentPageStates.delete(page);
|
|
1868
|
+
devicePageCount -= 1;
|
|
1869
|
+
hostPageCount += 1;
|
|
1866
1870
|
return pageSnapshot(page);
|
|
1867
1871
|
}
|
|
1868
1872
|
function evictOldestInternal(count, protectedPage) {
|
|
@@ -1888,7 +1892,10 @@ function createPagedKVCache(config) {
|
|
|
1888
1892
|
}
|
|
1889
1893
|
const physicalPage = allocatePhysicalPage(page);
|
|
1890
1894
|
page.physicalPage = physicalPage;
|
|
1895
|
+
if (page.residency === "host") hostPageCount -= 1;
|
|
1891
1896
|
page.residency = "device";
|
|
1897
|
+
residentPageStates.add(page);
|
|
1898
|
+
devicePageCount += 1;
|
|
1892
1899
|
page.lastAccess = ++accessClock;
|
|
1893
1900
|
if (page.hostKeys) {
|
|
1894
1901
|
keyPages.set(page.hostKeys, pageOffset(physicalPage));
|
|
@@ -1918,6 +1925,8 @@ function createPagedKVCache(config) {
|
|
|
1918
1925
|
lastAccess: ++accessClock
|
|
1919
1926
|
};
|
|
1920
1927
|
layerState.pages.set(logicalPage, page);
|
|
1928
|
+
residentPageStates.add(page);
|
|
1929
|
+
devicePageCount += 1;
|
|
1921
1930
|
return page;
|
|
1922
1931
|
}
|
|
1923
1932
|
function buildPageTable(layer, logicalPages) {
|
|
@@ -1935,27 +1944,32 @@ function createPagedKVCache(config) {
|
|
|
1935
1944
|
}
|
|
1936
1945
|
return pageTable;
|
|
1937
1946
|
}
|
|
1938
|
-
function
|
|
1939
|
-
const out = new Float32Array(pages);
|
|
1947
|
+
function appendCpuInPlace(pages, touchedPages, vectors, startToken) {
|
|
1940
1948
|
const numVecs = vectors.length / config.hiddenDim;
|
|
1941
1949
|
for (let v = 0; v < numVecs; v += 1) {
|
|
1942
|
-
const
|
|
1943
|
-
const
|
|
1944
|
-
const
|
|
1950
|
+
const token = startToken + v;
|
|
1951
|
+
const logicalPage = Math.floor(token / config.pageSize);
|
|
1952
|
+
const inPage = token % config.pageSize;
|
|
1953
|
+
const physicalPage = touchedPages.get(logicalPage)?.physicalPage;
|
|
1954
|
+
if (physicalPage === void 0 || physicalPage === null) {
|
|
1955
|
+
throw new Error(`PagedKVCache append misses resident logical page ${logicalPage}.`);
|
|
1956
|
+
}
|
|
1945
1957
|
const base = physicalPage * config.pageSize * config.hiddenDim;
|
|
1946
1958
|
for (let d = 0; d < config.hiddenDim; d += 1) {
|
|
1947
|
-
|
|
1959
|
+
pages[base + inPage * config.hiddenDim + d] = vectors[v * config.hiddenDim + d];
|
|
1948
1960
|
}
|
|
1949
1961
|
}
|
|
1950
|
-
return out;
|
|
1951
1962
|
}
|
|
1952
|
-
function
|
|
1963
|
+
function lookupCpuDirect(pages, layerState, tokenCount, startToken) {
|
|
1953
1964
|
const out = new Float32Array(tokenCount * config.hiddenDim);
|
|
1954
1965
|
for (let v = 0; v < tokenCount; v += 1) {
|
|
1955
1966
|
const logicalSlot = startToken + v;
|
|
1956
1967
|
const logicalPage = Math.floor(logicalSlot / config.pageSize);
|
|
1957
1968
|
const inPage = logicalSlot % config.pageSize;
|
|
1958
|
-
const physicalPage =
|
|
1969
|
+
const physicalPage = layerState.pages.get(logicalPage)?.physicalPage;
|
|
1970
|
+
if (physicalPage === void 0 || physicalPage === null) {
|
|
1971
|
+
throw new Error(`PagedKVCache lookup misses resident logical page ${logicalPage}.`);
|
|
1972
|
+
}
|
|
1959
1973
|
const base = physicalPage * config.pageSize * config.hiddenDim;
|
|
1960
1974
|
for (let d = 0; d < config.hiddenDim; d += 1) {
|
|
1961
1975
|
out[v * config.hiddenDim + d] = pages[base + inPage * config.hiddenDim + d];
|
|
@@ -1977,7 +1991,7 @@ function createPagedKVCache(config) {
|
|
|
1977
1991
|
residentPagesForLayer(layer) {
|
|
1978
1992
|
assertLive();
|
|
1979
1993
|
validateLayer(layer);
|
|
1980
|
-
return Array.from(
|
|
1994
|
+
return Array.from(residentPageStates).filter((page) => page.layer === layer).sort((a, b) => a.firstToken - b.firstToken).map((page) => pageSnapshot(page));
|
|
1981
1995
|
},
|
|
1982
1996
|
evictOldest(count) {
|
|
1983
1997
|
assertLive();
|
|
@@ -1988,23 +2002,18 @@ function createPagedKVCache(config) {
|
|
|
1988
2002
|
},
|
|
1989
2003
|
memoryUsage() {
|
|
1990
2004
|
assertLive();
|
|
1991
|
-
let devicePages = 0;
|
|
1992
|
-
let hostPages = 0;
|
|
1993
|
-
for (const layer of layers) {
|
|
1994
|
-
for (const page of layer.pages.values()) {
|
|
1995
|
-
if (page.residency === "device") devicePages += 1;
|
|
1996
|
-
if (page.residency === "host") hostPages += 1;
|
|
1997
|
-
}
|
|
1998
|
-
}
|
|
1999
2005
|
return {
|
|
2000
|
-
device:
|
|
2001
|
-
host:
|
|
2006
|
+
device: devicePageCount * pageBytes * 2,
|
|
2007
|
+
host: hostPageCount * pageBytes * 2
|
|
2002
2008
|
};
|
|
2003
2009
|
},
|
|
2004
2010
|
async dispose() {
|
|
2005
2011
|
disposed = true;
|
|
2006
2012
|
for (const layer of layers) layer.pages.clear();
|
|
2013
|
+
residentPageStates.clear();
|
|
2007
2014
|
freePhysicalPages.length = 0;
|
|
2015
|
+
devicePageCount = 0;
|
|
2016
|
+
hostPageCount = 0;
|
|
2008
2017
|
},
|
|
2009
2018
|
async append(layer, keyVectors, valueVectors = keyVectors, firstToken) {
|
|
2010
2019
|
assertLive();
|
|
@@ -2024,14 +2033,11 @@ function createPagedKVCache(config) {
|
|
|
2024
2033
|
throw new Error(`PagedKVCache append firstToken must be non-negative, got ${startToken}`);
|
|
2025
2034
|
}
|
|
2026
2035
|
const touchedPages = /* @__PURE__ */ new Map();
|
|
2027
|
-
const slotMap = new Uint32Array(tokenCount);
|
|
2028
2036
|
const requiredPages = /* @__PURE__ */ new Set();
|
|
2029
2037
|
for (let i = 0; i < tokenCount; i += 1) {
|
|
2030
2038
|
const token = startToken + i;
|
|
2031
2039
|
const logicalPage = Math.floor(token / config.pageSize);
|
|
2032
|
-
const slot = token % config.pageSize;
|
|
2033
2040
|
requiredPages.add(logicalPage);
|
|
2034
|
-
slotMap[i] = logicalPage << 16 | slot;
|
|
2035
2041
|
}
|
|
2036
2042
|
if (requiredPages.size > config.maxResidentPages) {
|
|
2037
2043
|
throw new Error(
|
|
@@ -2042,8 +2048,15 @@ function createPagedKVCache(config) {
|
|
|
2042
2048
|
const page = allocatePageInternal(layer, logicalPage);
|
|
2043
2049
|
touchedPages.set(logicalPage, page);
|
|
2044
2050
|
}
|
|
2045
|
-
const pageTable = buildPageTable(layer, touchedPages.keys());
|
|
2046
2051
|
if (appendKernel) {
|
|
2052
|
+
const slotMap = new Uint32Array(tokenCount);
|
|
2053
|
+
for (let i = 0; i < tokenCount; i += 1) {
|
|
2054
|
+
const token = startToken + i;
|
|
2055
|
+
const logicalPage = Math.floor(token / config.pageSize);
|
|
2056
|
+
const slot = token % config.pageSize;
|
|
2057
|
+
slotMap[i] = logicalPage << 16 | slot;
|
|
2058
|
+
}
|
|
2059
|
+
const pageTable = buildPageTable(layer, touchedPages.keys());
|
|
2047
2060
|
keyPages.set(
|
|
2048
2061
|
await appendKernel.run(
|
|
2049
2062
|
keyPages,
|
|
@@ -2065,8 +2078,8 @@ function createPagedKVCache(config) {
|
|
|
2065
2078
|
)
|
|
2066
2079
|
);
|
|
2067
2080
|
} else {
|
|
2068
|
-
|
|
2069
|
-
|
|
2081
|
+
appendCpuInPlace(keyPages, touchedPages, keyVectors, startToken);
|
|
2082
|
+
appendCpuInPlace(valuePages, touchedPages, valueVectors, startToken);
|
|
2070
2083
|
}
|
|
2071
2084
|
for (const page of touchedPages.values()) page.lastAccess = ++accessClock;
|
|
2072
2085
|
layers[layer].nextToken = Math.max(layers[layer].nextToken, startToken + tokenCount);
|
|
@@ -2103,8 +2116,8 @@ function createPagedKVCache(config) {
|
|
|
2103
2116
|
for (const logicalPage of requiredPages) {
|
|
2104
2117
|
ensurePageResident(layers[layer].pages.get(logicalPage));
|
|
2105
2118
|
}
|
|
2106
|
-
const pageTable = buildPageTable(layer, requiredPages);
|
|
2107
2119
|
if (lookupKernel) {
|
|
2120
|
+
const pageTable = buildPageTable(layer, requiredPages);
|
|
2108
2121
|
return {
|
|
2109
2122
|
keys: await lookupKernel.run(
|
|
2110
2123
|
keyPages,
|
|
@@ -2125,8 +2138,8 @@ function createPagedKVCache(config) {
|
|
|
2125
2138
|
};
|
|
2126
2139
|
}
|
|
2127
2140
|
return {
|
|
2128
|
-
keys:
|
|
2129
|
-
values:
|
|
2141
|
+
keys: lookupCpuDirect(keyPages, layers[layer], tokenCount, startToken),
|
|
2142
|
+
values: lookupCpuDirect(valuePages, layers[layer], tokenCount, startToken)
|
|
2130
2143
|
};
|
|
2131
2144
|
}
|
|
2132
2145
|
};
|
|
@@ -2204,6 +2217,9 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
2204
2217
|
*/
|
|
2205
2218
|
this.globalPosSum = [0, 0, 0];
|
|
2206
2219
|
this.globalConfSum = 0;
|
|
2220
|
+
this.globalPrincipalMomentXX = 0;
|
|
2221
|
+
this.globalPrincipalMomentZZ = 0;
|
|
2222
|
+
this.globalPrincipalMomentXZ = 0;
|
|
2207
2223
|
/** Previous frame camera pose (centroid of that frame's points). */
|
|
2208
2224
|
this.prevPose = null;
|
|
2209
2225
|
/** Previous full camera pose, including scan-derived principal-axis rotation. */
|
|
@@ -2455,6 +2471,15 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
2455
2471
|
const yaw = 0.5 * Math.atan2(2 * xz, xx - zz);
|
|
2456
2472
|
return _HoloMapRuntimeImpl.yawToQuaternion(yaw);
|
|
2457
2473
|
}
|
|
2474
|
+
static estimatePrincipalAxisRotationFromMoments(momentXX, momentZZ, momentXZ, pointCount, centroid) {
|
|
2475
|
+
if (pointCount < 2) return [0, 0, 0, 1];
|
|
2476
|
+
const xx = momentXX - pointCount * centroid[0] * centroid[0];
|
|
2477
|
+
const zz = momentZZ - pointCount * centroid[2] * centroid[2];
|
|
2478
|
+
const xz = momentXZ - pointCount * centroid[0] * centroid[2];
|
|
2479
|
+
if (xx + zz < 1e-12) return [0, 0, 0, 1];
|
|
2480
|
+
const yaw = 0.5 * Math.atan2(2 * xz, xx - zz);
|
|
2481
|
+
return _HoloMapRuntimeImpl.yawToQuaternion(yaw);
|
|
2482
|
+
}
|
|
2458
2483
|
static yawToQuaternion(yaw) {
|
|
2459
2484
|
const half = yaw / 2;
|
|
2460
2485
|
return [0, Math.sin(half), 0, Math.cos(half)];
|
|
@@ -2490,17 +2515,23 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
2490
2515
|
anchorDescriptor[3] ?? 0
|
|
2491
2516
|
]);
|
|
2492
2517
|
}
|
|
2493
|
-
static cloneTrajectoryKeyframes(keyframes) {
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2518
|
+
static cloneTrajectoryKeyframes(keyframes, maxCount = keyframes.length) {
|
|
2519
|
+
const start = Math.max(0, keyframes.length - Math.max(0, maxCount));
|
|
2520
|
+
const out = [];
|
|
2521
|
+
for (let i = start; i < keyframes.length; i += 1) {
|
|
2522
|
+
const keyframe = keyframes[i];
|
|
2523
|
+
out.push({
|
|
2524
|
+
frameIndex: keyframe.frameIndex,
|
|
2525
|
+
timestampMs: keyframe.timestampMs,
|
|
2526
|
+
pose: {
|
|
2527
|
+
position: [...keyframe.pose.position],
|
|
2528
|
+
rotation: [...keyframe.pose.rotation],
|
|
2529
|
+
confidence: keyframe.pose.confidence
|
|
2530
|
+
},
|
|
2531
|
+
embedding: new Float32Array(keyframe.embedding)
|
|
2532
|
+
});
|
|
2533
|
+
}
|
|
2534
|
+
return out;
|
|
2504
2535
|
}
|
|
2505
2536
|
pushTrajectoryKeyframe(keyframe) {
|
|
2506
2537
|
this.trajectoryKeyframes.push(keyframe);
|
|
@@ -2543,6 +2574,9 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
2543
2574
|
this.trajectoryKeyframes.length = 0;
|
|
2544
2575
|
this.globalPosSum = [0, 0, 0];
|
|
2545
2576
|
this.globalConfSum = 0;
|
|
2577
|
+
this.globalPrincipalMomentXX = 0;
|
|
2578
|
+
this.globalPrincipalMomentZZ = 0;
|
|
2579
|
+
this.globalPrincipalMomentXZ = 0;
|
|
2546
2580
|
this.lastAcceptedFrameTimestampMs = null;
|
|
2547
2581
|
this.sessionStartMs = performance.now();
|
|
2548
2582
|
this.perfMetrics = {
|
|
@@ -2811,9 +2845,15 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
2811
2845
|
this.totalPointCount -= evictedPoints;
|
|
2812
2846
|
const ep = evicted.points.positions;
|
|
2813
2847
|
for (let i = 0; i < ep.length; i += 3) {
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2848
|
+
const x = ep[i];
|
|
2849
|
+
const y = ep[i + 1];
|
|
2850
|
+
const z = ep[i + 2];
|
|
2851
|
+
this.globalPosSum[0] -= x;
|
|
2852
|
+
this.globalPosSum[1] -= y;
|
|
2853
|
+
this.globalPosSum[2] -= z;
|
|
2854
|
+
this.globalPrincipalMomentXX -= x * x;
|
|
2855
|
+
this.globalPrincipalMomentZZ -= z * z;
|
|
2856
|
+
this.globalPrincipalMomentXZ -= x * z;
|
|
2817
2857
|
}
|
|
2818
2858
|
const ec = evicted.points.confidence;
|
|
2819
2859
|
for (let i = 0; i < ec.length; i += 1) this.globalConfSum -= ec[i];
|
|
@@ -2898,6 +2938,9 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
2898
2938
|
let centroidY = 0;
|
|
2899
2939
|
let centroidZ = 0;
|
|
2900
2940
|
let confidenceSum = 0;
|
|
2941
|
+
let framePrincipalMomentXX = 0;
|
|
2942
|
+
let framePrincipalMomentZZ = 0;
|
|
2943
|
+
let framePrincipalMomentXZ = 0;
|
|
2901
2944
|
for (let t = 0; t < numPoints; t += 1) {
|
|
2902
2945
|
const { meanColor, centerUv, texture, latent, rawDepthSignal } = encodedTiles[t];
|
|
2903
2946
|
const [latentX, latentY, latentZ] = latent;
|
|
@@ -2956,6 +2999,9 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
2956
2999
|
centroidX += px;
|
|
2957
3000
|
centroidY += py;
|
|
2958
3001
|
centroidZ += pz;
|
|
3002
|
+
framePrincipalMomentXX += px * px;
|
|
3003
|
+
framePrincipalMomentZZ += pz * pz;
|
|
3004
|
+
framePrincipalMomentXZ += px * pz;
|
|
2959
3005
|
}
|
|
2960
3006
|
const inv = 1 / Math.max(1, numPoints);
|
|
2961
3007
|
const poseX = centroidX * inv;
|
|
@@ -3037,6 +3083,9 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
3037
3083
|
this.globalPosSum[1] += centroidY;
|
|
3038
3084
|
this.globalPosSum[2] += centroidZ;
|
|
3039
3085
|
this.globalConfSum += confidenceSum;
|
|
3086
|
+
this.globalPrincipalMomentXX += framePrincipalMomentXX;
|
|
3087
|
+
this.globalPrincipalMomentZZ += framePrincipalMomentZZ;
|
|
3088
|
+
this.globalPrincipalMomentXZ += framePrincipalMomentXZ;
|
|
3040
3089
|
const totalPoints = this.totalPointCount + numPoints;
|
|
3041
3090
|
const ginv = 1 / Math.max(1, totalPoints);
|
|
3042
3091
|
const anchorCenter = [
|
|
@@ -3049,8 +3098,11 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
3049
3098
|
const extentX = b.max[0] - b.min[0];
|
|
3050
3099
|
const extentY = b.max[1] - b.min[1];
|
|
3051
3100
|
const extentZ = b.max[2] - b.min[2];
|
|
3052
|
-
const anchorRotation = _HoloMapRuntimeImpl.
|
|
3053
|
-
|
|
3101
|
+
const anchorRotation = _HoloMapRuntimeImpl.estimatePrincipalAxisRotationFromMoments(
|
|
3102
|
+
this.globalPrincipalMomentXX,
|
|
3103
|
+
this.globalPrincipalMomentZZ,
|
|
3104
|
+
this.globalPrincipalMomentXZ,
|
|
3105
|
+
totalPoints,
|
|
3054
3106
|
anchorCenter
|
|
3055
3107
|
);
|
|
3056
3108
|
const anchorDescriptor = new Float32Array([extentX, extentY, extentZ, globalMeanConfidence]);
|
|
@@ -3066,7 +3118,8 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
3066
3118
|
)
|
|
3067
3119
|
});
|
|
3068
3120
|
const trajectoryKeyframes = _HoloMapRuntimeImpl.cloneTrajectoryKeyframes(
|
|
3069
|
-
this.trajectoryKeyframes
|
|
3121
|
+
this.trajectoryKeyframes,
|
|
3122
|
+
_HoloMapRuntimeImpl.TRAJECTORY_STEP_SNAPSHOT_CAP
|
|
3070
3123
|
);
|
|
3071
3124
|
const step = {
|
|
3072
3125
|
frame,
|
|
@@ -3084,7 +3137,7 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
3084
3137
|
revision: frame.index + 1
|
|
3085
3138
|
},
|
|
3086
3139
|
anchor: {
|
|
3087
|
-
anchorFrameIndex: trajectoryKeyframes[0]?.frameIndex ?? frame.index,
|
|
3140
|
+
anchorFrameIndex: this.trajectoryKeyframes[0]?.frameIndex ?? frame.index,
|
|
3088
3141
|
anchorPose: {
|
|
3089
3142
|
position: anchorCenter,
|
|
3090
3143
|
rotation: anchorRotation,
|
|
@@ -3206,6 +3259,9 @@ var _HoloMapRuntimeImpl = class _HoloMapRuntimeImpl {
|
|
|
3206
3259
|
this.trajectoryKeyframes.length = 0;
|
|
3207
3260
|
this.globalPosSum = [0, 0, 0];
|
|
3208
3261
|
this.globalConfSum = 0;
|
|
3262
|
+
this.globalPrincipalMomentXX = 0;
|
|
3263
|
+
this.globalPrincipalMomentZZ = 0;
|
|
3264
|
+
this.globalPrincipalMomentXZ = 0;
|
|
3209
3265
|
this.boundsValid = false;
|
|
3210
3266
|
this.lastAcceptedFrameTimestampMs = null;
|
|
3211
3267
|
this.perfMetrics = {
|
|
@@ -3221,6 +3277,7 @@ _HoloMapRuntimeImpl.LOOP_CLOSURE_MIN_GAP = 3;
|
|
|
3221
3277
|
_HoloMapRuntimeImpl.LOOP_CLOSURE_RADIUS = 0.05;
|
|
3222
3278
|
_HoloMapRuntimeImpl.POSE_HISTORY_CAP = 512;
|
|
3223
3279
|
_HoloMapRuntimeImpl.TRAJECTORY_KEYFRAME_CAP = 512;
|
|
3280
|
+
_HoloMapRuntimeImpl.TRAJECTORY_STEP_SNAPSHOT_CAP = 64;
|
|
3224
3281
|
/** Maps normalized measured depth [0=near,1=far] to a point Z range matching
|
|
3225
3282
|
* the monocular estimate's spread (±~0.17), so sensor and estimate paths
|
|
3226
3283
|
* produce geometry in the same coordinate scale. */
|
|
@@ -3247,5 +3304,5 @@ function createHoloMapRuntime(_config) {
|
|
|
3247
3304
|
}
|
|
3248
3305
|
|
|
3249
3306
|
export { BUILD_TIMESTAMP, GIT_COMMIT_SHA, HOLOMAP_DEFAULTS, HOLOMAP_DENSE_PROOF_DEFAULTS, HOLOSCRIPT_VERSION, anchorReconstructionManifest, assertWeightCid, computeReconstructionManifestDigest, createHoloMapMicroEncoder, createHoloMapRunId, createHoloMapRuntime, createPagedKVCache, deserializeMicroWeights, frameToMicroImage, getCachedWeightBlob, getVersionInfo, getVersionString, loadHoloMapWeightBlob, logHoloMapEvent, mergeAnchoredProvenance, normalizeWeightCidDigest, putCachedWeightBlob, resetHoloMapTelemetryForTests, runHoloMapMicroEncoderCpu, selfAttestReconstructionManifest, serializeMicroWeights, stripAnchoredProvenance, tryCreateHoloMapEncoderDevice };
|
|
3250
|
-
//# sourceMappingURL=chunk-
|
|
3251
|
-
//# sourceMappingURL=chunk-
|
|
3307
|
+
//# sourceMappingURL=chunk-47XZ62KM.js.map
|
|
3308
|
+
//# sourceMappingURL=chunk-47XZ62KM.js.map
|
|
@@ -6,9 +6,9 @@ var chunkQQFB4RT2_cjs = require('./chunk-QQFB4RT2.cjs');
|
|
|
6
6
|
var chunkENZCIQZC_cjs = require('./chunk-ENZCIQZC.cjs');
|
|
7
7
|
var chunkV6GXFSK7_cjs = require('./chunk-V6GXFSK7.cjs');
|
|
8
8
|
var chunkTZCFKZ6Z_cjs = require('./chunk-TZCFKZ6Z.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunkP65OIMJT_cjs = require('./chunk-P65OIMJT.cjs');
|
|
10
10
|
var chunkVHORVGCG_cjs = require('./chunk-VHORVGCG.cjs');
|
|
11
|
-
var
|
|
11
|
+
var chunkSE2Y5BSL_cjs = require('./chunk-SE2Y5BSL.cjs');
|
|
12
12
|
var chunkHCX4SMFK_cjs = require('./chunk-HCX4SMFK.cjs');
|
|
13
13
|
|
|
14
14
|
// src/compiler/SceneIRCompiler.ts
|
|
@@ -589,10 +589,10 @@ function registerAllPresets() {
|
|
|
589
589
|
registerAllPresets();
|
|
590
590
|
|
|
591
591
|
// src/compiler/SceneIRCompiler.ts
|
|
592
|
-
|
|
592
|
+
chunkP65OIMJT_cjs.init_DomainBlockCompilerMixin();
|
|
593
593
|
chunkTZCFKZ6Z_cjs.init_PlatformConditionalCompilerMixin();
|
|
594
|
-
|
|
595
|
-
|
|
594
|
+
chunkSE2Y5BSL_cjs.init_AgentRBAC();
|
|
595
|
+
chunkSE2Y5BSL_cjs.init_CompilerBase();
|
|
596
596
|
|
|
597
597
|
// src/animation/stagger.ts
|
|
598
598
|
function staggerOffsets(count, step, from = 0) {
|
|
@@ -2442,7 +2442,7 @@ var QUALITY_TIER_SCALES = {
|
|
|
2442
2442
|
var SceneIRCompiler = class {
|
|
2443
2443
|
constructor(options = {}) {
|
|
2444
2444
|
// ─── RBAC Enforcement ─────────────────────────────────────────────────
|
|
2445
|
-
this.rbac =
|
|
2445
|
+
this.rbac = chunkSE2Y5BSL_cjs.getRBAC();
|
|
2446
2446
|
this.compilerName = options.compilerName ?? "SceneIRCompiler";
|
|
2447
2447
|
this.qualityTier = options.qualityTier ?? "high";
|
|
2448
2448
|
this.tierScales = QUALITY_TIER_SCALES[this.qualityTier];
|
|
@@ -2474,7 +2474,7 @@ var SceneIRCompiler = class {
|
|
|
2474
2474
|
expectedWorkflowStep: "generate_assembly" /* GENERATE_ASSEMBLY */
|
|
2475
2475
|
});
|
|
2476
2476
|
if (!astDecision.allowed) {
|
|
2477
|
-
throw new
|
|
2477
|
+
throw new chunkSE2Y5BSL_cjs.UnauthorizedCompilerAccessError(astDecision, "AST access", this.compilerName);
|
|
2478
2478
|
}
|
|
2479
2479
|
const codeDecision = this.rbac.checkAccess({
|
|
2480
2480
|
token: agentToken,
|
|
@@ -2483,7 +2483,7 @@ var SceneIRCompiler = class {
|
|
|
2483
2483
|
expectedWorkflowStep: "generate_assembly" /* GENERATE_ASSEMBLY */
|
|
2484
2484
|
});
|
|
2485
2485
|
if (!codeDecision.allowed) {
|
|
2486
|
-
throw new
|
|
2486
|
+
throw new chunkSE2Y5BSL_cjs.UnauthorizedCompilerAccessError(codeDecision, "code generation", this.compilerName);
|
|
2487
2487
|
}
|
|
2488
2488
|
if (outputPath) {
|
|
2489
2489
|
const outputDecision = this.rbac.checkAccess({
|
|
@@ -2494,7 +2494,7 @@ var SceneIRCompiler = class {
|
|
|
2494
2494
|
expectedWorkflowStep: "serialize" /* SERIALIZE */
|
|
2495
2495
|
});
|
|
2496
2496
|
if (!outputDecision.allowed) {
|
|
2497
|
-
throw new
|
|
2497
|
+
throw new chunkSE2Y5BSL_cjs.UnauthorizedCompilerAccessError(
|
|
2498
2498
|
outputDecision,
|
|
2499
2499
|
`output write to '${outputPath}'`,
|
|
2500
2500
|
this.compilerName
|
|
@@ -2644,15 +2644,15 @@ var SceneIRCompiler = class {
|
|
|
2644
2644
|
this.injectDefaultLighting(root);
|
|
2645
2645
|
const domainBlocks = ast.domainBlocks ?? [];
|
|
2646
2646
|
if (domainBlocks.length > 0) {
|
|
2647
|
-
const compiled =
|
|
2647
|
+
const compiled = chunkP65OIMJT_cjs.compileDomainBlocks(
|
|
2648
2648
|
domainBlocks,
|
|
2649
2649
|
{
|
|
2650
2650
|
material: (block) => {
|
|
2651
|
-
const mat =
|
|
2651
|
+
const mat = chunkP65OIMJT_cjs.compileMaterialBlock(block);
|
|
2652
2652
|
return {
|
|
2653
2653
|
type: "DomainBlockOutput",
|
|
2654
2654
|
props: {
|
|
2655
|
-
__raw:
|
|
2655
|
+
__raw: chunkP65OIMJT_cjs.materialToR3F(mat, this.tierScales),
|
|
2656
2656
|
__domain: "material",
|
|
2657
2657
|
__name: mat.name
|
|
2658
2658
|
},
|
|
@@ -2660,11 +2660,11 @@ var SceneIRCompiler = class {
|
|
|
2660
2660
|
};
|
|
2661
2661
|
},
|
|
2662
2662
|
physics: (block) => {
|
|
2663
|
-
const phys =
|
|
2663
|
+
const phys = chunkP65OIMJT_cjs.compilePhysicsBlock(block);
|
|
2664
2664
|
return {
|
|
2665
2665
|
type: "DomainBlockOutput",
|
|
2666
2666
|
props: {
|
|
2667
|
-
__raw:
|
|
2667
|
+
__raw: chunkP65OIMJT_cjs.physicsToR3F(phys),
|
|
2668
2668
|
__domain: "physics",
|
|
2669
2669
|
__name: phys.name || phys.keyword
|
|
2670
2670
|
},
|
|
@@ -2672,11 +2672,11 @@ var SceneIRCompiler = class {
|
|
|
2672
2672
|
};
|
|
2673
2673
|
},
|
|
2674
2674
|
vfx: (block) => {
|
|
2675
|
-
const ps =
|
|
2675
|
+
const ps = chunkP65OIMJT_cjs.compileParticleBlock(block);
|
|
2676
2676
|
return {
|
|
2677
2677
|
type: "DomainBlockOutput",
|
|
2678
2678
|
props: {
|
|
2679
|
-
__raw:
|
|
2679
|
+
__raw: chunkP65OIMJT_cjs.particlesToR3F(ps, this.tierScales),
|
|
2680
2680
|
__domain: "vfx",
|
|
2681
2681
|
__name: ps.name
|
|
2682
2682
|
},
|
|
@@ -2684,11 +2684,11 @@ var SceneIRCompiler = class {
|
|
|
2684
2684
|
};
|
|
2685
2685
|
},
|
|
2686
2686
|
postfx: (block) => {
|
|
2687
|
-
const pp =
|
|
2687
|
+
const pp = chunkP65OIMJT_cjs.compilePostProcessingBlock(block);
|
|
2688
2688
|
return {
|
|
2689
2689
|
type: "DomainBlockOutput",
|
|
2690
2690
|
props: {
|
|
2691
|
-
__raw:
|
|
2691
|
+
__raw: chunkP65OIMJT_cjs.postProcessingToR3F(pp),
|
|
2692
2692
|
__domain: "postfx",
|
|
2693
2693
|
__name: pp.name || "PostProcessing"
|
|
2694
2694
|
},
|
|
@@ -2696,19 +2696,19 @@ var SceneIRCompiler = class {
|
|
|
2696
2696
|
};
|
|
2697
2697
|
},
|
|
2698
2698
|
audio: (block) => {
|
|
2699
|
-
const audio =
|
|
2699
|
+
const audio = chunkP65OIMJT_cjs.compileAudioSourceBlock(block);
|
|
2700
2700
|
return {
|
|
2701
2701
|
type: "DomainBlockOutput",
|
|
2702
|
-
props: { __raw:
|
|
2702
|
+
props: { __raw: chunkP65OIMJT_cjs.audioSourceToR3F(audio), __domain: "audio", __name: audio.name },
|
|
2703
2703
|
children: []
|
|
2704
2704
|
};
|
|
2705
2705
|
},
|
|
2706
2706
|
weather: (block) => {
|
|
2707
|
-
const weather =
|
|
2707
|
+
const weather = chunkP65OIMJT_cjs.compileWeatherBlock(block);
|
|
2708
2708
|
return {
|
|
2709
2709
|
type: "DomainBlockOutput",
|
|
2710
2710
|
props: {
|
|
2711
|
-
__raw:
|
|
2711
|
+
__raw: chunkP65OIMJT_cjs.weatherToR3F(weather),
|
|
2712
2712
|
__domain: "weather",
|
|
2713
2713
|
__name: weather.name || "Weather"
|
|
2714
2714
|
},
|
|
@@ -2716,11 +2716,11 @@ var SceneIRCompiler = class {
|
|
|
2716
2716
|
};
|
|
2717
2717
|
},
|
|
2718
2718
|
simulation: (block) => {
|
|
2719
|
-
const sim =
|
|
2719
|
+
const sim = chunkP65OIMJT_cjs.compileSimulationBlock(block);
|
|
2720
2720
|
return {
|
|
2721
2721
|
type: "DomainBlockOutput",
|
|
2722
2722
|
props: {
|
|
2723
|
-
__raw:
|
|
2723
|
+
__raw: chunkP65OIMJT_cjs.simulationToR3F(sim),
|
|
2724
2724
|
__domain: "simulation",
|
|
2725
2725
|
__name: sim.name || "Simulation"
|
|
2726
2726
|
},
|
|
@@ -2792,7 +2792,7 @@ var SceneIRCompiler = class {
|
|
|
2792
2792
|
const group = this.createNode(
|
|
2793
2793
|
"group",
|
|
2794
2794
|
{},
|
|
2795
|
-
world.name ?
|
|
2795
|
+
world.name ? chunkSE2Y5BSL_cjs.escapeStringValue(world.name, "JSX") : void 0
|
|
2796
2796
|
);
|
|
2797
2797
|
group.children = [...nodes, ...childNodes];
|
|
2798
2798
|
return [group];
|
|
@@ -2831,7 +2831,7 @@ var SceneIRCompiler = class {
|
|
|
2831
2831
|
* - Placement is flat (y=0); slope/terrain-conforming placement is out of scope.
|
|
2832
2832
|
*/
|
|
2833
2833
|
compileProceduralScatterNode(block) {
|
|
2834
|
-
const proc =
|
|
2834
|
+
const proc = chunkP65OIMJT_cjs.compileProceduralBlock(block);
|
|
2835
2835
|
const props = block.properties ?? {};
|
|
2836
2836
|
let scatterNode;
|
|
2837
2837
|
if (Array.isArray(props.nodes)) {
|
|
@@ -3061,7 +3061,7 @@ var SceneIRCompiler = class {
|
|
|
3061
3061
|
const r3fNode = sceneIRNodePool.acquire();
|
|
3062
3062
|
r3fNode.type = type;
|
|
3063
3063
|
const rawId = node.id || node.name;
|
|
3064
|
-
r3fNode.id = rawId ?
|
|
3064
|
+
r3fNode.id = rawId ? chunkSE2Y5BSL_cjs.escapeStringValue(rawId, "JSX") : void 0;
|
|
3065
3065
|
r3fNode.props = this.compileProperties(node, rawProps);
|
|
3066
3066
|
r3fNode.children = [];
|
|
3067
3067
|
r3fNode.traits = /* @__PURE__ */ new Map();
|
|
@@ -3100,7 +3100,7 @@ var SceneIRCompiler = class {
|
|
|
3100
3100
|
}
|
|
3101
3101
|
const root = sceneIRNodePool.acquire();
|
|
3102
3102
|
root.type = "group";
|
|
3103
|
-
root.id = composition.name ?
|
|
3103
|
+
root.id = composition.name ? chunkSE2Y5BSL_cjs.escapeStringValue(composition.name, "JSX") : void 0;
|
|
3104
3104
|
root.props = {};
|
|
3105
3105
|
root.children = [];
|
|
3106
3106
|
root.traits = /* @__PURE__ */ new Map();
|
|
@@ -3265,7 +3265,7 @@ var SceneIRCompiler = class {
|
|
|
3265
3265
|
}
|
|
3266
3266
|
const r3fNode = sceneIRNodePool.acquire();
|
|
3267
3267
|
r3fNode.type = type;
|
|
3268
|
-
r3fNode.id = light.name ?
|
|
3268
|
+
r3fNode.id = light.name ? chunkSE2Y5BSL_cjs.escapeStringValue(light.name, "JSX") : void 0;
|
|
3269
3269
|
r3fNode.props = props;
|
|
3270
3270
|
r3fNode.children = [];
|
|
3271
3271
|
r3fNode.traits = /* @__PURE__ */ new Map();
|
|
@@ -4174,7 +4174,7 @@ var SceneIRCompiler = class {
|
|
|
4174
4174
|
entries.push(this.createNode("TimelineEntry", entryProps));
|
|
4175
4175
|
}
|
|
4176
4176
|
}
|
|
4177
|
-
const safeName = timeline.name ?
|
|
4177
|
+
const safeName = timeline.name ? chunkSE2Y5BSL_cjs.escapeStringValue(timeline.name, "JSX") : void 0;
|
|
4178
4178
|
const timelineNode = this.createNode(
|
|
4179
4179
|
"Timeline",
|
|
4180
4180
|
{ autoplay: timeline.autoplay, loop: timeline.loop },
|
|
@@ -4212,7 +4212,7 @@ var SceneIRCompiler = class {
|
|
|
4212
4212
|
}
|
|
4213
4213
|
}
|
|
4214
4214
|
const props = node.properties || {};
|
|
4215
|
-
const safeName = node.name ?
|
|
4215
|
+
const safeName = node.name ? chunkSE2Y5BSL_cjs.escapeStringValue(node.name, "JSX") : void 0;
|
|
4216
4216
|
const timelineNode = this.createNode(
|
|
4217
4217
|
"Timeline",
|
|
4218
4218
|
{ autoplay: props.autoplay, loop: props.loop },
|
|
@@ -4245,7 +4245,7 @@ var SceneIRCompiler = class {
|
|
|
4245
4245
|
}
|
|
4246
4246
|
}
|
|
4247
4247
|
}
|
|
4248
|
-
const safeName = audio.name ?
|
|
4248
|
+
const safeName = audio.name ? chunkSE2Y5BSL_cjs.escapeStringValue(audio.name, "JSX") : void 0;
|
|
4249
4249
|
return this.createNode("Audio", props, safeName);
|
|
4250
4250
|
}
|
|
4251
4251
|
compileZoneBlock(zone) {
|
|
@@ -4264,7 +4264,7 @@ var SceneIRCompiler = class {
|
|
|
4264
4264
|
})
|
|
4265
4265
|
);
|
|
4266
4266
|
}
|
|
4267
|
-
const safeName = zone.name ?
|
|
4267
|
+
const safeName = zone.name ? chunkSE2Y5BSL_cjs.escapeStringValue(zone.name, "JSX") : void 0;
|
|
4268
4268
|
return this.createNode("Zone", props, safeName);
|
|
4269
4269
|
}
|
|
4270
4270
|
compileUIBlock(ui) {
|
|
@@ -4281,7 +4281,7 @@ var SceneIRCompiler = class {
|
|
|
4281
4281
|
}
|
|
4282
4282
|
}
|
|
4283
4283
|
}
|
|
4284
|
-
const safeElName = el.name ?
|
|
4284
|
+
const safeElName = el.name ? chunkSE2Y5BSL_cjs.escapeStringValue(el.name, "JSX") : void 0;
|
|
4285
4285
|
children.push(this.createNode("UIElement", elProps, safeElName));
|
|
4286
4286
|
}
|
|
4287
4287
|
}
|
|
@@ -4296,7 +4296,7 @@ var SceneIRCompiler = class {
|
|
|
4296
4296
|
props[prop.key] = prop.value;
|
|
4297
4297
|
}
|
|
4298
4298
|
}
|
|
4299
|
-
const safeName = transition.name ?
|
|
4299
|
+
const safeName = transition.name ? chunkSE2Y5BSL_cjs.escapeStringValue(transition.name, "JSX") : void 0;
|
|
4300
4300
|
return this.createNode("Transition", props, safeName);
|
|
4301
4301
|
}
|
|
4302
4302
|
compileConditionalBlock(cond, templateMap) {
|
|
@@ -4720,5 +4720,5 @@ exports.QUALITY_TIER_SCALES = QUALITY_TIER_SCALES;
|
|
|
4720
4720
|
exports.SceneIRCompiler = SceneIRCompiler;
|
|
4721
4721
|
exports.UI_COMPONENT_PRESETS = UI_COMPONENT_PRESETS;
|
|
4722
4722
|
exports.registerAllPresets = registerAllPresets;
|
|
4723
|
-
//# sourceMappingURL=chunk-
|
|
4724
|
-
//# sourceMappingURL=chunk-
|
|
4723
|
+
//# sourceMappingURL=chunk-4CRMVEON.cjs.map
|
|
4724
|
+
//# sourceMappingURL=chunk-4CRMVEON.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { init_jsonLogic, matchesRule, evaluateJsonLogic } from './chunk-JBQXZIWB.js';
|
|
2
|
-
import { init_CompilerBase, CompilerBase } from './chunk-
|
|
2
|
+
import { init_CompilerBase, CompilerBase } from './chunk-YDSNDCV3.js';
|
|
3
3
|
import { __export, __esm } from './chunk-W4GABFCR.js';
|
|
4
4
|
import { createHash } from 'crypto';
|
|
5
5
|
import { ANSCapabilityPath } from '@holoscript/core-types/ans';
|
|
@@ -277,5 +277,5 @@ var init_DaimonSeedCompiler = __esm({
|
|
|
277
277
|
});
|
|
278
278
|
|
|
279
279
|
export { DaimonSeedCompiler, DaimonSeedCompiler_default, DaimonSeedCompiler_exports, computeExportFidelity, createDaimonSeedCompiler, init_DaimonSeedCompiler, runHysteresisExp2 };
|
|
280
|
-
//# sourceMappingURL=chunk-
|
|
281
|
-
//# sourceMappingURL=chunk-
|
|
280
|
+
//# sourceMappingURL=chunk-4NEPHK2K.js.map
|
|
281
|
+
//# sourceMappingURL=chunk-4NEPHK2K.js.map
|