M365 Show -  Microsoft 365 Digital Workplace Daily
M365 Show with Mirko Peters - Microsoft 365 Digital Workplace Daily
3D Objects Are the Ultimate Test of Fabric Governance | Catalyst E3
0:00
-20:32

3D Objects Are the Ultimate Test of Fabric Governance | Catalyst E3

Introduction: Why 3D Objects Matter to Governance

You think spreadsheets are messy? Cute. 3D photorealistic objects and digital twins are data on nightmare mode—multi-gigabyte textures, meshes, materials, physics, versions, usage rights, and lineage that spans cameras, LiDAR, GPUs, and clouds. If your governance breaks here, it will break everywhere. The truth? 3D assets expose every weak assumption you’ve made about identity, security, lifecycle, and compliance. And that’s why they’re the perfect stress test for Microsoft Fabric. Handle the heaviest, weirdest data in a single architecture with consistent policy—and suddenly everything else in your enterprise looks trivial. So today, I’m going to show you why Fabric’s unified governance isn’t “nice to have.” It’s the difference between scalable reality and an expensive art project.

Defining Fabric Governance: The Foundation of Trust

Let’s get precise. Governance in Fabric isn’t a stack of policies you forget to enforce. It’s the operating system for your data life: identity, permissioning, lineage, classification, policy, and monitoring—wired into OneLake, workspaces, items, and compute, not duct-taped after the fact. It’s not just a database; it’s the spine of your data estate.

Why this matters with 3D: a single asset isn’t “a file.” It’s a constellation—high-res photogrammetry images, point clouds, meshes, textures, materials, rigging metadata, simulation parameters, and derived variants for AR, robotics, and training. Each piece has different sensitivity, owners, licenses, and allowable uses. The average user tries to shove that into folders. You need deterministic control.

Enter Fabric’s core. Security starts with Microsoft Entra ID—consistent identity across producers, processors, and consumers. That means when an artist, a data engineer, or a robotics team touches an object, access is role-bound and auditable. No mystery shares, no “who sent me this ZIP?” chaos. Row-and-column security isn’t the hero here—object-level and workspace scoping are. You gate entire artifacts and their derivatives with the same identity fabric.

Now, the thing most people miss: governance without lineage is theater. Fabric’s built-in lineage maps how a raw capture flowed into a processed mesh, into a compressed LOD set, into a robot training simulation, and finally into a KPI dashboard showing training efficiency. You see sources, transformations, and downstream consumers. If a source scan is recalled due to rights restrictions, you don’t guess where it went—you follow the lineage and revoke, reprocess, or quarantine everything it contaminated. That’s trust you can act on.

Classification and labels are your next lever. Sensitive, licensed, export-controlled, internal-only—the tag follows the asset as it moves. Not as a sticky note, as metadata the platform respects. Policy enforces labels: share blocks, cross-geo controls, retention, and encryption at rest/in transit. With 3D, this is non-negotiable. That “free” texture pack? If it’s not licensed for commercial digital twins, your policy should stop it at the gate. Yes, proactively. Because you like not getting sued.

Storage gravity kills most architectures. OneLake flips it: a single logical data lake with open formats and shortcut semantics so you don’t spawn fifteen brittle copies. For 3D, that means canonical assets live once, with derived views for teams and tools. Compute comes to the data—Spark for processing, pipelines for orchestration, notebooks for transformation—while governance remains consistent. Compare that to “download, edit locally, re-upload, hope nobody else changed it.” Amateur hour.

And yes, monitoring. Activity logs, access audits, data movement reports. If a 90GB mesh starts exfiltrating to an unknown region, you don’t wait for a quarterly review. Alerts fire, policies trigger. The platform behaves like it knows your risk tolerance—because you taught it.

Let me show you exactly how this lands in a real workflow. Capture teams dump raw scans into an ingestion workspace with strict contributor roles and automatic classification: Licensed, Source, Region=EU. Pipelines validate schema and rights metadata; anything noncompliant gets quarantined. Processing runs on governed compute—Spark jobs tag outputs with lineage, versioning, and usage rights. Publishing promotes approved derivatives to a shared Product workspace via shortcuts—no duplication. Consumers—robotics, training, analytics—get read access to only the derivatives their roles allow. If legal updates a policy—say, “no export of assets with Origin=SiteA”—Fabric retroactively blocks share links, marks affected items, and surfaces the dependency graph so owners patch or replace.

The reason this works is simple: governance isn’t separate from productivity; it’s fused to it. People do the right thing by default because the platform translates policy into the path of least resistance. When the hardest data type you own—3D twins—flows cleanly through identity, lineage, classification, policy, and monitoring, every spreadsheet, CSV, and parquet file falls in line. Refusing unified governance is like refusing updates. And yes, they require restarts… because Microsoft is not performing magic tricks.

The Complexity Barrier: Why 3D Data Breaks Traditional Systems

Here’s the uncomfortable truth: traditional data stacks were built for rows and columns and, at their most adventurous, a few chunky files in a shared drive. 3D data laughs at that. A single photoreal object is not “a file.” It’s a high-poly mesh, multiple levels of detail, displacement and normal maps, PBR material graphs, HDRI lighting references, thousands of source photos, LiDAR point clouds, rigging metadata, physics constraints, simulation parameters, and half a dozen derivative exports for game engines, robotics, and AR. That’s not storage; that’s a supply chain.

Now, try versioning it. “v2-final-final” dies here. You need semantic versioning across interdependent components: mesh v3.4 compatible with texture set v2.1 and rig v1.9, plus a provenance trail back to source captures. Without lineage, you’re shipping Franken-assets that render beautifully until a robot arm clips through a hinge because the collision mesh didn’t update with the material. The average user shrugs. Your safety team doesn’t.

Identity and permissioning? Folder ACLs crumble. Artists, scan techs, simulation engineers, ML teams, and legal all need different rights on different parts of the same object at different times. Write on staging, read on published, deny export from restricted geos, allow parameter edits but not texture swaps—this is policy-as-graph, not policy-as-folder. Anything less and you’ll either block the work or leak the crown jewels. Usually both.

Licensing and compliance are where most organizations quietly set themselves on fire. Third-party scans, museum collections, prop houses, and open libraries come with usage clauses: non-commercial, attribution, geo-restricted, time-bound, or export-controlled. Glue that to every derivative and enforce it across tools—or watch an innocent “test render” wander into an ad campaign. With 3D, downstream misuse isn’t theoretical; it’s embedded into pipelines, previews, and caches. If your platform doesn’t carry rights metadata end-to-end, you’ve built a lawsuit generator.

Performance and scale add insult to injury. These assets are heavy. Moving gigabytes across regions to placate a tool that insists on local copies is a cost and risk multiplier. Traditional “copy to project” workflows explode storage, fragment truth, and bury governance under duplicate snowdrifts. You think you have three bus models; you have nineteen, all slightly wrong.

Then there’s temporal truth. Digital twins aren’t static museum pieces; they change. Wear patterns, replaced parts, sensor calibrations, environment updates—time becomes a first-class dimension. Traditional systems fake this with folders named “Archive_2024_07.” Cute. Real governance tracks state changes as lineage events, preserves historical queries, and allows conditional policy: allow export of pre-2023 variants, quarantine post-2023 scans from SiteB pending audit.

Tool diversity is the final nail. Reality capture, DCC tools, game engines, simulation frameworks, ML training rigs—each speaks its own file dialect and metadata religion. If your governance requires every tool to behave, you’ve already lost. The platform must standardize identity, policy, and lineage above the tool layer, so Blender, Omniverse, Unity, and Spark can disagree about everything except who can do what, to which asset, where, and when.

This clicked for me when a team tried to “go fast” by bypassing policy to meet a demo date. They shipped a gorgeous model. Then legal discovered the base scan carried a non-export license. The fix wasn’t an apology; it was a full asset recall across four regions, retraining of a model that had ingested previews, and purging every derivative. Days lost because governance was optional. The thing most people miss is that 3D doesn’t tolerate optional. Either your platform enforces identity, lineage, classification, and policy by default, or the complexity will enforce chaos for you.

Versioning and Provenance: Tracking the Life Cycle of a Digital Twin

Versioning 3D twins isn’t renaming folders and hoping. It’s a governed narrative of cause and effect. The truth? Without tight provenance, you’re not iterating—you’re randomizing. So let’s wire this properly in Fabric, where identity, lineage, and policy ride along every change like a black box flight recorder.

Start with a canonical object definition—call it the Twin Manifest. It’s not a pretty PDF; it’s structured metadata in OneLake that references components by immutable IDs: source captures, mesh, textures, materials, rig, physics, and simulation parameters. Each component gets semantic versioning—major for breaking changes, minor for compatible improvements, build metadata for environment and toolchain. Mesh 3.4 works with Material Graph 2.1 and Collider 1.9. That compatibility table lives in the manifest, not in someone’s memory. Yes, average user, this is more work up front. It’s called engineering.

Now the provenance chain. Fabric lineage captures ingestion events from capture rigs into the Raw workspace—tagged with capture method (LiDAR, photogrammetry), device IDs, operator, location, and rights metadata. That’s your origin story. Processing pipelines promote to Staging with deterministic transformations: decimation, retopology, UV unwrap, baking, and LOD generation. Every step emits lineage edges: RawScan v1.2 → Mesh v.9 → LODSet v.3. When you publish, the manifest pins the exact graph state. If you rebuild with a new retopo algorithm, you don’t “overwrite.” You branch, you compare, you decide.

Here’s the shortcut nobody teaches: treat rights as versioned state, too. The license you captured under at SiteA v2023.10 is a component. When legal updates terms, you don’t scramble through drives; you query Fabric: show me all manifests referencing License:SiteA:2023.10. The dependency graph lights up. You bulk demote affected twins from Published to Quarantine, trigger reprocessing with allowed substitutions, and republish. Governance didn’t slow you down; it prevented weeks of forensic archaeology.

Let me show you exactly how teams work with this. Artists open the Staging shortcut in their DCC tool. They can bump Texture 2.1 to 2.2, but policy blocks changing the collision mesh in Published. Simulation engineers can tweak physics parameters within guarded ranges; crossing a threshold forces a new minor version with an approval workflow. Robotics consumes a frozen manifest via a shortcut—no downloading 90GB locally—so their build is reproducible. Analytics pulls lineage to explain why training performance jumped on Twin 3.4: the decimator improved edge preservation, not magic.

Common mistakes? Two classics. First, “final render” without pinning sources. You ship a Published twin pointing at “latest meshes.” Later, a mesh update breaks a compatibility contract. Result: beautiful demo, broken production. Pin exact versions in the manifest; “latest” is a ticking bomb. Second, silent toolchain drift. Someone updates a plugin; exports change. Embed toolchain hashes in build metadata and enforce them at pipeline time. If hashes don’t match, the job fails loudly. Painful now, cheaper than a recall.

Temporal reality matters. Twins age. Replace a part in the physical asset; you branch the digital twin. Fabric lets you annotate the manifest with effective dates and states: Pre-Repair, Post-Repair. Policies can then allow downstream use only for time-appropriate variants. Training models don’t accidentally learn obsolete geometry.

Finally, auditability. Fabric activity logs plus lineage produce a human-readable provenance: who changed what, when, why, and with which inputs. That’s defensible compliance and, frankly, professional hygiene. If you remember nothing else: version the manifest, pin dependencies, and treat rights as first-class, versioned components. The rest of your governance will stop feeling like theater and start behaving like engineering.

Interoperability and Rights Management in the Metaverse

Let’s address the fantasy first. You think “the metaverse” is one place. Incorrect. It’s a patchwork of engines, viewers, devices, file dialects, and business models that barely agree on gravity. Interoperability isn’t a feature; it’s survival. And rights management isn’t a footer on a contract; it’s the guardrail that keeps your assets from being cloned, remixed, and monetized by everyone except you.

The truth? If your 3D twin can’t move between Omniverse, Unity, Unreal, WebGL viewers, and downstream analytics without breaking identity, lineage, or licensing, you don’t have a metaverse strategy—you have vendor lock-in with extra steps. Fabric’s job is not to make Blender behave. Fabric’s job is to standardize identity, policy, and provenance above the tool layer so any engine can render, simulate, or stream while governance remains intact.

Enter open formats and logical storage. Keep canonical assets in OneLake; expose them through shortcuts and governed APIs. Use interoperable scene descriptions—OpenUSD where appropriate—so you exchange structure, materials, and references without exporting chaos. But remember: format doesn’t equal governance. The platform must inject labels, license terms, and usage constraints as first-class metadata that rides with the asset, is queryable, and is enforceable. Not a README. Enforceable.

Here’s the shortcut nobody teaches: rights as code. Model rights as machine-readable policies—who, where, when, how long, and for which derivative purposes. Tag the asset: License=Commercial; Territory=EU+US; Duration=2025-12-31; Derivatives=Render+Sim; Prohibit=Resale+Rehost. Fabric evaluates those claims at access time. Unity scene wants to pull the textures from Japan? Denied. A web viewer requests a downsampled stream for public display? Allowed if watermarking is enabled and attribution is injected. The policy isn’t a PDF that humans ignore; it’s a runtime decision.

Now, the interop dance. Engines expect local files; we don’t copy 90GB to every workstation like it’s 2012. Use cloud mounts, signed URLs, and streaming decoders that fetch only the needed LODs and tiles. Fabric issues time-bound tokens tied to identity and policy. When the token expires, the faucet closes. If legal revokes a license, lineage identifies every manifest and scene using that asset, the tokens are invalidated, previews are purged, and CI pipelines fail fast with human-readable reasons. Compare that to “We’ll fix it next sprint.” Lawyers love that phrase.

Attribution is not optional. Embed creator, source, and license in the manifest and enforce overlay attribution in viewers that support it. For engines that don’t, gate distribution behind a renderer or packaging step that bakes in credits or watermarks at the edges of allowed use. Fragile? No. Pragmatic. The average user thinks attribution is a checkbox. It’s a right.

Cross-platform identity is next. You authenticate with Entra ID. External partners federate via B2B, get scoped access to specific workspaces, and never see raw canonical stores. Platform-level scopes map to engine-level roles: Viewer, SceneAuthor, AssetPublisher. If a contractor leaves, access disappears without scrubbing shared drives for zombie files.

Common mistakes? Three favorites. One: exporting “just for a demo,” forgetting that demos leak. Two: handing partners ZIPs because “the pipeline is complicated,” which is how you lose control. Three: assuming OpenUSD alone solves rights. It doesn’t. It carries structure; Fabric carries law.

Finally, future-proofing. Your asset will live longer than any engine you use today. Keep truth in OneLake, treat engines as ephemeral clients, and codify rights so when the next platform arrives, you don’t re-litigate your library. If you remember nothing else: interop without rights is piracy with better UX; rights without interop is a museum. Fabric gives you both.

The Ultimate Test: Applying Governance Frameworks to Real-Time 3D Assets

Let’s graduate from theory to stress test. Real-time 3D isn’t “nice renders.” It’s dynamic, streamed, multi-user, policy-constrained interaction with high-fidelity objects—inside engines that expect speed, not paperwork. If Fabric governance holds here, it holds everywhere.

Start with the ingestion frontier. Capture rigs land thousands of images and LiDAR scans into a Raw workspace. Auto-classification applies: Source, Licensed, Region=EU, Origin=SiteB. A validation pipeline checks rights manifests, camera EXIF, sensor IDs, and hash integrity. Anything missing goes to Quarantine with a reason code humans can understand. That’s your first gate: quality, legality, and provenance enforced before anyone even opens a viewer.

Next, deterministic processing. Spark pipelines retopologize meshes, bake texture sets, generate LODs, and produce collider variants. Every step stamps lineage edges and pins toolchain hashes. Outputs are versioned, labeled Internal-Only until policy checks pass. The platform emits compatibility metadata—Mesh 3.4 ↔ Materials 2.1 ↔ Collider 1.9—into the manifest. You don’t rely on memory; you rely on metadata that compiles.

Publishing isn’t copying files to someone’s desktop. The canonical asset stays in OneLake. Teams get shortcuts into a Product workspace with curated derivatives: realtime-ready meshes, texture atlases, simplified colliders, and a governance-friendly OpenUSD scene. Access is role-scoped: Authors can update staging, Consumers read published, Partners get time-bound, region-bound reads via B2B federation. No mystery ZIPs. No “I’ll wetransfer it.” You either pass through the gate, or you wait outside.

Now the real-time pivot: streaming and tokens. Engines like Unity, Unreal, and Omniverse pull only what they need when they need it. Fabric mints signed URLs tied to Entra ID and policy claims: who, where, purpose, duration, derivative allowances. A scene requests LOD1 for a close-up? Allowed if attribution overlay is enabled and watermark present. A texture request originates from a blocked region? Denied with an explicit error and a lineage link. This is rights as code in motion—decisions at access time, not after a compliance meeting.

Multi-user collaboration turns governance into choreography. Two designers in different geos, one robotics engineer in a lab, and a producer on a laptop—editing the same digital twin. Session orchestration checks compatibility locks at the manifest layer. You can tweak physics within guardrails; you can’t swap a material that would violate export controls. If legal updates a license during the session, the change propagates. Tokens expire, assets are demoted, and the UI surfaces a clear reason. Not a silent failure—an enforced policy with receipts.

Performance is not an excuse to break governance. Stream tiled textures and mesh chunks; don’t duplicate canonical stores. Cache with eviction and respect labels. Pre-bake variants explicitly allowed by policy. If your scene creator “needs” a local copy of the 90GB source set to feel safe, the answer is no. You want real-time? Use streaming. You want compliance? Use metadata and tokens. You want both? Fabric.

Let’s make it painfully specific. Safety training scenario: a digital twin of an electric bus, 1:1 fidelity, with PPE inspection flow. The session pulls a Published manifest pinned to Mesh 3.4, Materials 2.1, Collider 1.9, Physics 1.2, License=Commercial, Territory=US+EU, Duration=2025-12-31. A trainee in Europe authenticates via Entra; the viewer requests needed assets. Fabric allows streaming with a public-display subset if watermarking is enabled. The trainer in the US edits an annotation, which writes to a governed Delta table referenced by the scene—lineage ties it to the session. An auditor later queries, “who viewed post-repair variant in Q2?” Answer arrives in seconds with a lineage graph, not a forensics novel.

Common pitfalls and the fix. Pitfall one: “preview assets” that bypass manifests. Fix: disable unsigned access, require manifests for any Published retrieval, and make the authoring tools fetch through the same APIs as viewers. Pitfall two: partner handoffs via ZIP. Fix: provision B2B identities, scope workspaces, and require tokenized access; build a one-click package that emits signed bundles with embedded licenses and timeouts if you truly need offline review. Pitfall three: ghost derivatives. Fix: pipelines must register outputs in a catalog item with retention and labels; unregistered files are auto-deleted or quarantined by policy.

Testing governance is non-negotiable. Build tabletop drills: revoke a license mid-sprint; rotate a region restriction; expire a token during a live session; push a breaking mesh update. Success isn’t “we found the email.” Success is the platform enforcing intent without heroics. Measure mean time to quarantine, percent of unauthorized requests correctly blocked, lineage completeness score, and delta between Published manifest and session-resolved assets. If those numbers aren’t boringly consistent, you’re not production-ready.

Finally, the loop back to analytics. Real-time scenes aren’t black boxes. Usage logs feed Fabric’s monitoring workspace. You learn which LODs cost you, which geos trigger denials, which partners push the limits, and which policies cause friction. You adjust—not by whisper network, but by iterating policies, manifests, and pipelines with data. Essentially, you govern the governance.

You want the one sentence version? Stream the twin, not the chaos. Tokens, manifests, lineage, and labels do the heavy lifting. If the hardest, highest-fidelity, real-time use case runs clean, every lesser workload will obediently follow.

Conclusion: The Future of Digital Trust

Here’s the blunt takeaway: digital trust isn’t a promise; it’s enforcement at runtime, with receipts. Real-time 3D just forces you to admit it. If identity, lineage, rights-as-code, and streaming governance can hold a 1:1 digital twin together under load, everything else you run is trivial by comparison.

So do the grown-up thing. Pin manifests. Treat licenses as versioned components. Stream with tokens. Federate partners. Drill revocations. And measure the boring metrics that prove policy isn’t theater. If this saved you time, repay the debt: subscribe, share this with the person still emailing ZIPs, and watch the next episode on Fabric policy patterns. Proceed.

Discussion about this episode

User's avatar