In order to add new kinds of graphical expressions to DrScheme, create a new snip that is the graphical representation of the value. If the snip is an expression that requires evaluation, implement Zodiac's zodiac:expands<%> interface. If the snip does not implement zodiac:expands<%>, it is treated as a value.
If the snip contains texts that have source text that may have errors, be sure to mix in drscheme:unit:program-editor-mixin.