Teams Overlay β Collaboration & Universal Optics (ALPHA)¶
β DEMONSTRATOR β NOT OFFICIAL. Every screen and generated chart in this guide carries the
CONTOH β TIDAK RASMI/SAMPLE β NOT OFFICIALwatermark. The names, documents and numbers are illustrative demo values β this is a demonstrator, not a production collaboration system.
The Teams overlay turns any surface β the Modeller, the Viewer, or Kernel-ERP β into a collaborative one. It is not a separate app. One toggle paints who-did-what onto the screens you already have: coloured dots on the very rows and elements you work with, a history you can read, a chat that is the signed log, and dashboard graphs β the same overlay, the same grammar, whether you are authoring a building or posting an invoice.
One signed op-log Β· a few optics, each answering one question Β· the same overlay on every surface.
This is a task-oriented manual. If you just want to use it, read Getting started and Common tasks. If you want to know how it works (or why every number is trustworthy), read Under the hood.
Getting started (about 2 minutes)¶
The overlay is off by default β until you turn it on, the screen is byte-for-byte unchanged.
- Open any surface. A Kernel-ERP window (e.g. Accounts Receivable), a building in the Viewer, or the Modeller β the overlay works the same on all three.
- Find the Teams pill. Look on the toolbar for the share glyph (three linked nodes). It is the host's own icon β the overlay borrows the app's icon set, it never imposes its own.
- Toggle it on. The pill lights with the host's active colour and a side pane β the Teams Outliner β
slides in. Coloured who-dots appear on each row: one dot per person who touched it, the colour is that
person's identity, the letters are their initials, and a
+Ncollapses a crowd. - Toggle it off. Tap the pill again. Every dot and the pane are removed and the screen returns to the exact state it started in β the overlay never leaves residue.

That's the whole interaction model: open β pill β who-dots + Outliner β toggle off. Everything below is a variation on it.
Common tasks¶
See who is on each document (or element)¶
Turn the overlay on. Each row grows a cluster of identity dots after its status chip:
| You see | Meaning |
|---|---|
| a coloured dot with initials | a person who touched this record; the colour is that person (same person, same colour, everywhere) |
| several dots on one row | everyone currently on it β hover a dot for name Β· last action Β· when |
a +N badge |
the crowd overflowed β N more people are on this record than the row shows |
Nothing is invented: every dot is a real author of a real signed operation. A record with no activity has no dots.
Read the history β the Tree tab¶
The Outliner opens on Tree β one row per record with who last touched it, the action, and when (blame). It is a pure replay of the log, so the same read always gives the same answer; there is no separate audit table.
The chat that is the log β the Chat tab¶
Switch to Chat. Every line is a signed operation rendered as a message β author Β· verb Β· target. The badge on the tab counts them. There is no side-channel chat to fall out of sync: the conversation and the ledger are the same object.
Read the numbers β the Dashboard tab & graphs¶
Switch to Dashboard, or read the graph gadgets on the ERP dashboard itself. Each is a read-only fold of the same signed log β never a hand-entered figure:
| Graph | Answers | Colour language |
|---|---|---|
| Involvement (bar) | how many people are on each document | host blue #1c5fa8 |
| Flow (bar) | average dwell per process step β the bottleneck is red | blue, bottleneck #c62828 |
| Gate ladder (doughnut) | the verdict mix across the work | green #2e7d32 Β· orange #f9a825 Β· red #c62828 Β· provisional #9e9e9e |
| Post-it aging (doughnut) | open notes by age | <1d #2e7d32 Β· 1-3d #f9a825 Β· 3-7d #fb8c00 Β· >7d #c62828 |

On a building β who-dots on the rooms¶
In the Viewer's Find panel, the same overlay lands on the Storey β Rooms result rows: the who-dots
append after each room's state chip, and each storey header rolls up a +N density of the people active
below it. It is the identical engine as the ERP rows β only the anchor changes (a room's guid instead of a
document id).

Pin a note β post-its¶
Any dot or row can carry a post-it: a signed note pinned to a universal anchor (a document, a field, a room, an element). Notes are private-first and promote to shared in one operation; they age into the Dashboard's post-it aging doughnut using the same colour language as the rest of the platform.
Explore a "what-if" β branches & the merge gate¶
The overlay carries git-style branches over the one log β "you build that wing, I build this, then we join up." When two branches merge, a gate checks them for you, and the gate is the right one for the surface:
- On the Modeller / Viewer building side β a spatial gate: it flags where two branches' elements clash in space.
- On the schedule side β a PERT gate: it flags dependency violations (a task starting before its predecessor finishes), dependency cycles, and resource double-bookings (one crane, two overlapping jobs).
The branch/merge/history machinery is universal; only the gate differs by surface. Elements resolve to the same colour ladder β red (a real conflict) beats orange (over budget / soft) beats green (clean), with stale when the trunk has moved on since you branched.
The same overlay β on the building, too¶
Everything above is the ERP view. Open the Modeller or Viewer and the identical overlay renders over the 3D model: the tabbed Outliner (Tree / Chat / Dashboard), identity-coloured dots on elements, and the colour ladder β one grammar, two surfaces.

The optics at a glance (reference)¶
| Optic | The one question | Where |
|---|---|---|
| Who-dots | Who is on this record / element? | on every row and element β colour = person, +N = crowd |
| Tree | Who last touched it, and when? | Outliner tab β blame, a pure log replay |
| Chat | What's the conversation? | Outliner tab β the chat is the signed log |
| Dashboard | Give me the numbers. | Outliner tab + ERP graph gadgets β folds, never hand-typed |
| Find placement | Who is active in this room / storey? | Viewer Find panel β dots on rooms, +N per storey |
| Merge gate | Do these two branches conflict? | on merge β spatial clash (building) or PERT dep/resource (schedule) |
Off by default, always. Until you toggle the pill, the overlay adds zero DOM β the host screen is pixel-identical. Toggle off and it reverts exactly.
It speaks the host's language. The pill is built from the host's icon set, the pane is the host's own
panel shell, and every colour resolves the host's design tokens (iDempiere blue #1c5fa8, the .bim-panel
chrome) β so the overlay reads as a native part of whichever app you're in, never a bolt-on.
Under the hood β why every dot is trustworthy¶
You don't need this to use the overlay, but it explains why two people always see the same thing.
-
One signed op-log. Everything β an edit, a post, a post-it, a schedule change β is an append-only signed operation. Each op chains to the previous (
verifyChain); amending one breaks the chain. Every optic is a pure fold (replay) of this log β so a dot, a blame line, a graph bar and a gate verdict are all computed, never stored, and two reads are bit-identical. -
Colour = identity, deterministically. A person's dot colour is a pure hash of their signer key β same person, same colour, on every surface, with no palette table to drift. Identity colour is deliberately kept out of the state palette, so "who" never reads as "status".
-
NON-INVENT, everywhere. Every dot is a real op's author; every graph series is read from the fold; a record with no activity shows nothing. Where an operation refers to a room or element the overlay can't find, it is honestly reported as un-placed β never painted onto a random row to look busy.
-
Two merge gates, one engine. Branch / merge / diff / blame is universal git over the op-log. The only per-surface plug-in is the gate: a spatial clash check for the building, a PERT dependency/resource check for the schedule. Both fold deterministically and resolve to the same red > orange > green ladder.
-
Three distinct timelines β kept separate on purpose. β the 4D Gantt Time Machine (the construction schedule, tasks Γ calendar β it lives in the Viewer); β‘ the World/History op-log (who/what/when events β the Teams core, powering blame and replay); β’ the What-If Blue-dot (git branches over the log). They are never conflated: the World/History timeline is the substrate, not the Gantt.
Troubleshooting¶
| Symptom | What it means | What to do |
|---|---|---|
| No Teams pill | The surface isn't wired for the overlay yet (it's off-by-default and rolls out per surface). | Use a surface where it's enabled (the ERP AR demo, the standalone showcase). |
| A row has no dots | No signed operation has touched that record. | Expected β the overlay never fabricates activity to fill a row. |
| A dot's colour looks like a status | It shouldn't β identity hues are kept out of the state palette. | Hover it: a dot always shows name Β· action Β· when; status lives in the chip, not the dot. |
| The pane looks foreign to the app | A styling token didn't resolve. | The overlay consumes host tokens (--idmp-* / .bim-panel); on a host that exposes them it matches exactly β report the surface if it doesn't. |
| Toggled off and something stayed | The overlay removes all its DOM on toggle-off (proven pixel-identical). | Toggle again; a residue would be a bug β report it. |
Related¶
The Teams overlay supplies the collaboration + optics layer; the surfaces supply the work:
- The HR / Tenancy / Operate module is the operate-phase cousin β room-level lenses on the building. Teams and HR coexist as separate overlays over the same model; on a room row you may see HR's occupancy wash and Teams' who-dots, each answering its own question.
- BIM Viewer Guide Β· DAGeVu Modeller Guide Β· Kernel-ERP Guide β the three surfaces the overlay rides on.
Back to the User Guide.