in src/splats/Splat.ts [64:91]
saveToFile(name: string | null = null, format: "splat" | "ply" = "splat") {
if (!document) return;
if (!name) {
const now = new Date();
name = `splat-${now.getFullYear()}-${now.getMonth() + 1}-${now.getDate()}.${format}`;
}
const splatClone = this.clone();
splatClone.applyRotation();
splatClone.applyScale();
splatClone.applyPosition();
const data = splatClone.data.serialize();
let blob;
if (format === "ply") {
const plyData = Converter.SplatToPLY(data.buffer, splatClone.data.vertexCount);
blob = new Blob([plyData], { type: "application/octet-stream" });
} else {
blob = new Blob([data.buffer], { type: "application/octet-stream" });
}
const link = document.createElement("a");
link.download = name;
link.href = URL.createObjectURL(blob);
link.click();
}