Royalties

Every line knows where it came from.

When a turn ends, Craft credits what it wrote to the code it drew on: which functions, which files, and how much each one shaped the reply and the diff. Open any reply to see its sources.

From the codebase

Every reply opens onto a sheet like this. Here is the one for the fog Craft added to the bridge scene.

From the codebase

turn 1 · 5 of 8 sources credited · 6 passages · sceneFragment

Contribution
5/8Sources credited6Passages3Exact3By meaning2Read
Credited
Sources/Bridge/Shaders/Scene.metalread
Sources/Bridge/Shaders/Scene.metal:1–45
#include <metal_stdlib>using namespace metal; float3 shade(float3 albedo, float3 normal, float3 sun);
sceneFragment(VertexOut, constant SceneUniforms&)focus
Sources/Bridge/Shaders/Scene.metal:40–45
fragment float4 sceneFragment(VertexOut in [[stage_in]], constant SceneUniforms &uniforms [[buffer(1)]]) { float3 normal = normalize(in.normal); float3 lit = shade(in.albedo, normal, uniforms.sunDirection);
struct SceneUniformstype
Sources/Bridge/Renderer/SceneUniforms.swift:5–11
struct SceneUniforms { var viewProjection: float4x4 var cameraPosition: SIMD3<Float> var sunDirection: SIMD3<Float>
shade(float3, float3, float3)callee
Sources/Bridge/Shaders/Lighting.metal:5–8
float3 shade(float3 albedo, float3 normal, float3 sun) { float diffuse = max(dot(normal, sun), 0.0); return albedo * (0.18 + diffuse);}
absorb(float, float)relatedTidepool
Tidepool · Shaders/Water.metal:7–9 · score 0.81
float absorb(float depth, float coefficient) { return exp(-coefficient * depth);}
Consulted, not credited
Sources/Bridge/Shaders/Lighting.metalread
Sources/Bridge/Shaders/Lighting.metal:1–8
#include <metal_stdlib>using namespace metal; /// Lambert with a floor of ambient light, so the shadow side keeps its form.
Split a long shader into three small, pure functionsmemory
.craft/memories/2026-09-18-split-a-long-shader.md · score 0.77
---title: Split a long shader into three small, pure functionsask: sceneFragment is eighty lines. Break it up the way I'd write it.date: 2026-09-18
Not shown · over the pack’s budget
Renderer.draw(in:)related
Sources/Bridge/Renderer/Renderer.swift:19–32 · score 0.58
func draw(in view: MTKView) { guard let pass = view.currentRenderPassDescriptor, let buffer = queue.makeCommandBuffer(), let encoder = buffer.makeRenderCommandEncoder(descriptor: pass) else { return }

Credit you can check

Credit comes from matching names and lines, never from the model’s say-so. A name in the reply or on an added line goes to the source that declares it, and the lines an edit keeps or replaces ground it in the code they came from.

Shares by relevance

Each source earns its share by how much of the turn it accounts for: a part for every name it lent, half a part for every line it grounded. That share is the percentage and the bar beside it. What was read but not used is listed, uncredited.

Honest about guesses

A reply that names a function or a path your project doesn’t have says so plainly, “Not found in this project”, so an answer built on a guess never reads like one built on your code.

Your code, your royalty

Today Craft only draws on your own code: the project in front of you, the other projects you’ve opened in Craft, and its memories of work you did together. Every contribution is yours, so the royalty is 100% yours.

Where the royalty goes

Today100% yours

Bridge, this project, 93% · Tidepool, another of your projects, 7%

Illustration With other people’s code93% yours

The same turn, had absorb come from a library someone else contributed: 7% paid to its author, by the same names and lines.

Beyond your codebase

Soon, other people’s code, with their consent, and paid.

Retrieval will reach past your own projects into other people’s. Ask for fog and Craft could draw on a graphics engineer’s shader, a colleague’s service or the library you already depend on, with their consent, and pay them for what their code contributes to yours.

  1. Consent first

    Nothing is shared unless its author opts in, repository by repository, and they can take it back at any time.

  2. Paid by relevance

    When someone else’s function shapes your diff, they earn its share of the royalty, measured by the same names and lines as today.

  3. Always traceable

    Every turn keeps its credit, so each author can see where their code went and what it earned.

Drawing on other people’s code is on the way. Today Craft only draws from yours.

Reading earns royalties too, in Ambient