---
title: "David Mkrtchian (@davidmcarati) | Hashnode"
description: "Game Focused, Tech Guy"
url: "https://hashnode.com/@davidmcarati"
---

@davidmcarati

# David Mkrtchian

@davidmcarati · Yerevan, Armenia · Joined August 2026

### [A State Machine With a Border Running Through It](https://boundarylayer.hashnode.dev/a-state-machine-with-a-border-running-through-it?utm_source=hashnode&utm_medium=feed)

Ten phases per step, split across a JavaScript orchestrator and a C# runtime, with three completely different ways of finishing

10 min read · [boundarylayer.hashnode.dev](https://boundarylayer.hashnode.dev/a-state-machine-with-a-border-running-through-it?utm_source=hashnode&utm_medium=feed)

[Aug 13](https://hashnode.com/posts/a-state-machine-with-a-border-running-through-it/6a7d9f7f772d43acd8e5e40f)

### [A Constraint Solver With No Equations](https://boundarylayer.hashnode.dev/a-constraint-solver-with-no-equations?utm_source=hashnode&utm_medium=feed)

How a scene written as intent becomes exact metres and degrees — sixteen pure functions, one priority ladder, and no simultaneous system anywhere

16 min read · [boundarylayer.hashnode.dev](https://boundarylayer.hashnode.dev/a-constraint-solver-with-no-equations?utm_source=hashnode&utm_medium=feed)

[Aug 13](https://hashnode.com/posts/a-constraint-solver-with-no-equations/6a7d9ee1d04374322865e2d9)

### [An Engine Inside the Engine](https://boundarylayer.hashnode.dev/an-engine-inside-the-engine?utm_source=hashnode&utm_medium=feed)

One Unity WebGL binary serves a lab player and a 3D scene editor. The trick was not unifying them — it was knowing which layer to share and which to leave alone.

8 min read · [boundarylayer.hashnode.dev](https://boundarylayer.hashnode.dev/an-engine-inside-the-engine?utm_source=hashnode&utm_medium=feed)

[Aug 13](https://hashnode.com/posts/an-engine-inside-the-engine/6a7d37fc2066cf5a2251e884)

### [Eighty Lines Instead of a Container](https://boundarylayer.hashnode.dev/eighty-lines-instead-of-a-container?utm_source=hashnode&utm_medium=feed)

Our Unity WebGL build resolves its services through a static locator — the textbook anti-pattern. Here is the derivation that got us there, and why I think the derivation matters more than the answer.

12 min read · [boundarylayer.hashnode.dev](https://boundarylayer.hashnode.dev/eighty-lines-instead-of-a-container?utm_source=hashnode&utm_medium=feed)

[Aug 13](https://hashnode.com/posts/eighty-lines-instead-of-a-container/6a7d371d5dffa7ffd0ebaf97)

### [Two Float Arrays and a Function Call](https://boundarylayer.hashnode.dev/two-float-arrays-and-a-function-call?utm_source=hashnode&utm_medium=feed)

I spent a long stretch building the layer where a Unity WebGL build meets the JavaScript that drives the interface around it. Unity WebGL means Unity compiled to WebAssembly, which is the fact this en

15 min read · [boundarylayer.hashnode.dev](https://boundarylayer.hashnode.dev/two-float-arrays-and-a-function-call?utm_source=hashnode&utm_medium=feed)

[Aug 13](https://hashnode.com/posts/two-float-arrays-and-a-function-call/6a7d35f1d69d1362f5113f71)
