🚀 Auto-deploy: melhoria no snap e medição AR em 31/05/2026 01:24:49
This commit is contained in:
+3
-3
@@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<!-- TODO: Set the document title to the name of your application -->
|
||||
<title>TrackSteelXR</title>
|
||||
<title>SteelXR</title>
|
||||
<meta name="description" content="VR tool inspection industrial Q.C.">
|
||||
<meta name="author" content="Lovable" />
|
||||
<link rel="icon" type="image/png" href="/iconeXR_transparente.png" />
|
||||
@@ -19,8 +19,8 @@
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:site" content="@Lovable" />
|
||||
<meta name="twitter:image" content="https://storage.googleapis.com/gpt-engineer-file-uploads/attachments/og-images/a850c4e4-56e7-4358-91d7-b33ddcd600ac?Expires=1772161962&GoogleAccessId=go-api-on-aws%40gpt-engineer-390607.iam.gserviceaccount.com&Signature=Q%2B%2F2EsHIygjuVQKvjQWWytqElhVjmehhRIdWJ1eYRremdUzoUIv36NuXp042g0lBzszDBa14EbkCTYykUEMpqrclTioA2035aKEY%2BR39jqYm7oBKXCm2rs2vopnW2ahZYf8SjX5SPqxwFzaO%2FvJt71rMU0A6PzihBNRa96ezpIhxGqzpbZe9zP4PtyRhg03aCp5sJytJp9bBOphzXb9YGeY58XWWqjAqEO1tctOGh25hZsYLgEU61wy3xnehDc8kZ%2FK0MpRpxuGibae5ypjDtGbXf9G5LjSWYecVY5pWOjnO6ZSo1CL8DaWtD%2FU3V0MszZ8f4SETk7fQAh0GR4b8Sg%3D%3D">
|
||||
<meta property="og:title" content="TrackSteelXR">
|
||||
<meta name="twitter:title" content="TrackSteelXR">
|
||||
<meta property="og:title" content="SteelXR">
|
||||
<meta name="twitter:title" content="SteelXR">
|
||||
<meta property="og:description" content="VR tool inspection industrial Q.C.">
|
||||
<meta name="twitter:description" content="VR tool inspection industrial Q.C.">
|
||||
</head>
|
||||
|
||||
@@ -16,7 +16,7 @@ import { addRecentFile } from '@/lib/recentFiles';
|
||||
const DEFAULT_URL = 'https://store.tracksteel.com.br/demo.ifc';
|
||||
|
||||
const PRESETS: { label: string; url: string }[] = [
|
||||
{ label: 'Demo IFC (TrackSteel)', url: DEFAULT_URL },
|
||||
{ label: 'Demo IFC (SteelXR)', url: DEFAULT_URL },
|
||||
];
|
||||
|
||||
/** Normaliza URLs de Dropbox / OneDrive para apontar ao binário direto. */
|
||||
|
||||
@@ -58,7 +58,7 @@ export function LandingContent() {
|
||||
<section className="px-4 text-center space-y-6">
|
||||
<div className="rounded-2xl border border-border bg-gradient-to-b from-card to-muted/20 p-8 md:p-12">
|
||||
<p className="text-muted-foreground max-w-2xl mx-auto text-base md:text-lg leading-relaxed">
|
||||
Atrasos por erros de medição, retrabalho por falhas de comunicação e perdas por não conformidade são o pesadelo de qualquer gestão de produção metalmecânica ou obra civil. O TrackSteelXR coloca o modelo 3D IFC no canteiro — em AR — para que engenheiros e gestores tomem decisões precisas no momento certo. <span className="font-semibold text-foreground">Menos retrabalho, mais produtividade, entregas dentro do prazo.</span>
|
||||
Atrasos por erros de medição, retrabalho por falhas de comunicação e perdas por não conformidade são o pesadelo de qualquer gestão de produção metalmecânica ou obra civil. O SteelXR coloca o modelo 3D IFC no canteiro — em AR — para que engenheiros e gestores tomem decisões precisas no momento certo. <span className="font-semibold text-foreground">Menos retrabalho, mais produtividade, entregas dentro do prazo.</span>
|
||||
</p>
|
||||
<div className="mt-8 flex justify-center gap-4">
|
||||
<Button size="lg" className="gap-2">
|
||||
|
||||
@@ -130,7 +130,7 @@ export function ShareButton({ variant = 'default', autoOpen, onHandleChange, onV
|
||||
if (navigator.share) {
|
||||
try {
|
||||
await navigator.share({
|
||||
title: 'TrackSteelXR — Sessão ao vivo',
|
||||
title: 'SteelXR — Sessão ao vivo',
|
||||
text: 'Acompanhe a inspeção ao vivo:',
|
||||
url: link,
|
||||
});
|
||||
|
||||
@@ -245,7 +245,7 @@ function FloatingPanel({
|
||||
<XR3DPanel size={[W, H]}>
|
||||
<Text position={[-W / 2 + 0.012, H / 2 - 0.018, 0.002]} fontSize={0.011} color="#3b82f6"
|
||||
anchorX="left" anchorY="middle">
|
||||
TrackSteelXR · HUD AR
|
||||
SteelXR · HUD AR
|
||||
</Text>
|
||||
{/* Pin / Drag / Recenter — anchored to top-right, kept inside the panel.
|
||||
Group origin is at the right edge with margin; buttons extend leftward. */}
|
||||
|
||||
@@ -75,7 +75,7 @@ export function startRecording() {
|
||||
const url = URL.createObjectURL(blob);
|
||||
const a = document.createElement('a');
|
||||
a.href = url;
|
||||
a.download = `tracksteel-AR-${new Date().toISOString().replace(/[:.]/g, '-')}.${ext}`;
|
||||
a.download = `steelxr-AR-${new Date().toISOString().replace(/[:.]/g, '-')}.${ext}`;
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
document.body.removeChild(a);
|
||||
@@ -123,7 +123,7 @@ export function captureScreenshot(): string | null {
|
||||
// Trigger download
|
||||
const a = document.createElement('a');
|
||||
a.href = dataUrl;
|
||||
a.download = `tracksteel-AR-${new Date().toISOString().replace(/[:.]/g, '-')}.png`;
|
||||
a.download = `steelxr-AR-${new Date().toISOString().replace(/[:.]/g, '-')}.png`;
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
document.body.removeChild(a);
|
||||
|
||||
+1
-1
@@ -348,7 +348,7 @@ const Index = () => {
|
||||
|
||||
{/* Footer */}
|
||||
<p className="mt-16 text-center font-mono text-xs text-muted-foreground/50">
|
||||
TrackSteelXR v1.10 — Q.C. Inspection
|
||||
SteelXR v1.10 — Q.C. Inspection
|
||||
</p>
|
||||
|
||||
{showLogs && (
|
||||
|
||||
@@ -1387,7 +1387,7 @@ export default function MeetingRoom() {
|
||||
<Button variant="ghost" size="icon" onClick={() => navigate('/')} className="text-muted-foreground hover:text-foreground">
|
||||
<Home className="h-5 w-5" />
|
||||
</Button>
|
||||
<span className="font-mono text-xs uppercase tracking-widest text-muted-foreground">TrackSteelXR</span>
|
||||
<span className="font-mono text-xs uppercase tracking-widest text-muted-foreground">SteelXR</span>
|
||||
</div>
|
||||
|
||||
<div className="w-full max-w-4xl rounded-2xl border border-border bg-card/65 p-6 md:p-10 shadow-2xl backdrop-blur-md animate-in fade-in zoom-in-95 duration-200">
|
||||
|
||||
@@ -282,7 +282,7 @@ const Viewer = () => {
|
||||
<div className="flex items-center gap-2">
|
||||
<Box className="h-5 w-5 text-primary" />
|
||||
<h1 className="font-mono text-sm font-semibold text-foreground">
|
||||
TrackSteel<span className="text-primary">XR</span>
|
||||
Steel<span className="text-primary">XR</span>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -78,7 +78,7 @@ export default function Watch() {
|
||||
<div className="min-h-screen bg-background flex flex-col">
|
||||
<header className="border-b bg-card/50 backdrop-blur px-4 py-3 flex items-center justify-between">
|
||||
<Link to="/" className="font-mono text-sm font-bold text-foreground">
|
||||
TrackSteel<span className="text-primary">XR</span>
|
||||
Steel<span className="text-primary">XR</span>
|
||||
</Link>
|
||||
<div className="flex items-center gap-3">
|
||||
<span className="font-mono text-[10px] text-muted-foreground">SALA</span>
|
||||
@@ -159,7 +159,7 @@ export default function Watch() {
|
||||
<footer className="border-t bg-card/50 backdrop-blur px-4 py-2 flex items-center justify-center gap-2">
|
||||
<Eye className="h-3 w-3 text-muted-foreground" />
|
||||
<span className="font-mono text-[10px] text-muted-foreground">
|
||||
Modo somente visualização · TrackSteelXR
|
||||
Modo somente visualização · SteelXR
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
@@ -1074,7 +1074,7 @@ const XRSession = () => {
|
||||
const url = await generateMarkerDownloadURL();
|
||||
const a = document.createElement('a');
|
||||
a.href = url;
|
||||
a.download = 'TrackSteelXR_Marker.png';
|
||||
a.download = 'SteelXR_Marker.png';
|
||||
a.click();
|
||||
URL.revokeObjectURL(url);
|
||||
toast.success('Marcador baixado — Imprima em 15×15cm');
|
||||
|
||||
Reference in New Issue
Block a user