<commit_before>package entities

import (
	"bitbucket.org/oakmoundstudio/oak/event"
	"bitbucket.org/oakmoundstudio/oak/render"
)

type Doodad struct {
	Point
	R   render.Renderable
	CID event.CID
}

func NewDoodad(x, y float64, r render.Renderable, CID event.CID) Doodad {
	if r != nil {
		r.SetPos(x, y)
	}
	return Doodad{
		Point: NewPoint(x, y),
		R:     r,
		CID:   CID,
	}
}

func (d *Doodad) Init() event.CID {
	cID := event.NextID(d)
	d.CID = cID
	return cID
}

func (d *Doodad) GetID() event.CID {
	return d.CID
}

func (d *Doodad) GetRenderable() render.Renderable {
	return d.R
}
<commit_msg>Compose doodads from event.CIDs so we can call .Bind directly on a doodad<commit_after>package entities

import (
	"bitbucket.org/oakmoundstudio/oak/event"
	"bitbucket.org/oakmoundstudio/oak/render"
)

type Doodad struct {
	Point
	event.CID
	R render.Renderable
}

func NewDoodad(x, y float64, r render.Renderable, CID event.CID) Doodad {
	if r != nil {
		r.SetPos(x, y)
	}
	return Doodad{
		Point: NewPoint(x, y),
		R:     r,
		CID:   CID,
	}
}

func (d *Doodad) Init() event.CID {
	cID := event.NextID(d)
	d.CID = cID
	return cID
}

func (d *Doodad) GetID() event.CID {
	return d.CID
}

func (d *Doodad) GetRenderable() render.Renderable {
	return d.R
}

{'fraction_non_alphanumeric': 0.13195548489666137, 'fraction_numerical': 0.003179650238473768, 'mean_word_length': 3.4645390070921986, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3468229', 'n_tokens_mistral': 581, 'n_tokens_neox': 570, 'n_words': 133}